Streamplan-Seite: interaktives Live-Radar statt schlichter Textkarten

Nutzer-Wunsch 20.08.2026: "diese seite vom streamplan soll viel geiler
und spezieller sein, ueberrasch mich."

Neues Herzstueck: ein 24-Stunden-Ziffernblatt (reines SVG, keine
Bild-Assets), das den festen 20-Uhr-Termin als dauerhaft leuchtenden
Fixpunkt zeigt (goldener Puls) und einen "Jetzt"-Zeiger in Echtzeit mit
der tatsaechlichen Uhrzeit der besuchenden Person mitbewegt (Babyblau,
DogFather-Markenfarbe). Nutzt denselben /live-status-Endpunkt wie die
Startseite:
- Offline: echter Sekunden-Countdown zum naechsten lokalen 20-Uhr-Termin.
- Live: komplettes Radar schaltet auf Rot/Puls um, zeigt den Stream-Titel
  und einen "Jetzt anschauen"-Knopf direkt zu TikTok.
Sanft rotierender Lichtschein fuer Atmosphaere, komplett augenschonend
(gedeckte Farben, respektiert prefers-reduced-motion vollstaendig).

Bugfix unterwegs gefunden (Playwright-Screenshot, dritte Wiederholung
desselben Musters heute): der "Jetzt anschauen"-Knopf blieb trotz
[hidden]-Attribut sichtbar, weil .btn selbst "display" setzt und damit
gleiche Spezifitaet wie die eingebaute [hidden]-Regel hat -- explizite
Regel ergaenzt.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-08-20 22:50:49 +02:00
co-authored by Claude Opus 5
parent b3e191d3ca
commit a5615331aa
38 changed files with 517 additions and 232 deletions
+6 -6
View File
@@ -18,10 +18,10 @@
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<meta name="robots" content="noindex" />
<title>Seite nicht gefunden — DOGFATHER UNIVERSE</title>
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body>
<div id="site-header"></div>
@@ -41,7 +41,7 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-404.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/i18n-404.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
</body>
</html>
+7 -7
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Unterstütze Dogfather dauerhaft mit der DogiCrew 🩵 und sammle exklusive Treueprämien — die Teddy-Kollektion entsteht in Kooperation mit VanVan." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
<style>
/* =====================================================================
Preis-/Anmelde-Kiste — komplett neu gestaltet (Nutzer-Feedback
@@ -454,9 +454,9 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-abonnieren.js?v=20260820f"></script>
<script src="assets/js/supporter.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/i18n-abonnieren.js?v=20260820g"></script>
<script src="assets/js/supporter.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
<script>
(function () {
const S = window.DogiSupporter;
+5 -5
View File
@@ -20,10 +20,10 @@
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<meta name="robots" content="noindex" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body>
<div id="site-header"></div>
@@ -134,6 +134,6 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820g"></script>
</body>
</html>
+7 -7
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Detailansicht einer Aktion oder eines Projekts von Team Dogi." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body>
<div id="site-header"></div>
@@ -51,9 +51,9 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/data-aktionen.js?v=20260820f"></script>
<script src="assets/js/i18n-aktion-detail.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/data-aktionen.js?v=20260820g"></script>
<script src="assets/js/i18n-aktion-detail.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
<script>
document.addEventListener("DOMContentLoaded", () => {
const params = new URLSearchParams(location.search);
+96
View File
@@ -3571,3 +3571,99 @@ body.start-seite .music-toggle:focus-visible {
margin: 1.5rem 0;
}
.todo-note strong { color: var(--accent-2); }
/* ===================================================================
Streamplan — "Live-Radar" (20.08.2026, Nutzer-Wunsch: "soll viel
geiler und spezieller sein, überrasch mich"). Ein 24-Stunden-Ziffernblatt
als SVG: der feste 20-Uhr-Termin leuchtet dauerhaft als Fixpunkt, ein
"Jetzt"-Zeiger bewegt sich in Echtzeit mit der tatsächlichen Uhrzeit,
ein sanft rotierender Lichtschein sorgt für Atmosphäre. Schaltet live
auf Rot/Puls um, sobald DogFather laut /live-status wirklich sendet —
sonst zählt ein echter Sekunden-Countdown zum nächsten 20-Uhr-Termin
runter. Bewusst augenschonend: gedeckte Farben, langsame, sanfte
Animation, kompletter Stillstand bei prefers-reduced-motion. ================================================================= */
.stream-radar-wrap { display: flex; flex-direction: column; align-items: center; margin: 1.4rem auto 0; }
.stream-radar {
position: relative;
width: min(300px, 70vw);
aspect-ratio: 1;
margin: 0 auto;
}
.stream-radar-sweep {
position: absolute;
inset: -6%;
border-radius: 50%;
background: conic-gradient(from 0deg,
transparent 0deg, rgba(143, 217, 234, .16) 40deg, transparent 90deg,
transparent 260deg, rgba(139, 92, 246, .14) 300deg, transparent 340deg, transparent 360deg);
animation: stream-radar-rotate 16s linear infinite;
pointer-events: none;
}
@keyframes stream-radar-rotate { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .stream-radar-sweep { animation: none; } }
.stream-radar-dial { position: relative; width: 100%; height: 100%; display: block; }
.radar-ring-outer { fill: none; stroke: rgba(255, 255, 255, .12); stroke-width: 1.5; }
.radar-ring-inner { fill: rgba(255, 255, 255, .02); stroke: rgba(255, 255, 255, .07); stroke-width: 1; }
.radar-tick { stroke: rgba(255, 255, 255, .22); stroke-width: 1.5; }
.radar-tick-major { stroke: rgba(255, 255, 255, .5); stroke-width: 2.2; }
.radar-tick-label { fill: var(--text-muted); font-size: 11px; font-family: var(--font-body, inherit); }
.radar-fixmarker-dot {
fill: #e8c465;
filter: drop-shadow(0 0 6px rgba(232, 196, 101, .9)) drop-shadow(0 0 14px rgba(232, 196, 101, .5));
animation: stream-radar-fixpuls 3.2s ease-in-out infinite;
}
@keyframes stream-radar-fixpuls { 0%, 100% { opacity: .75; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .radar-fixmarker-dot { animation: none; opacity: .9; } }
.radar-now-hand {
stroke: var(--accent);
stroke-width: 2.5;
stroke-linecap: round;
filter: drop-shadow(0 0 4px var(--accent));
transition: x2 .6s ease, y2 .6s ease;
}
.radar-now-dot {
fill: var(--accent);
filter: drop-shadow(0 0 6px var(--accent));
transition: cx .6s ease, cy .6s ease;
}
.stream-radar.ist-live .radar-now-hand,
.stream-radar.ist-live .radar-now-dot { stroke: #ff5c72; fill: #ff5c72; filter: drop-shadow(0 0 8px rgba(255, 92, 114, .8)); }
.radar-center-dot { fill: var(--text); opacity: .8; }
.stream-radar-center {
position: absolute;
inset: 24%;
border-radius: 50%;
background: rgba(8, 10, 14, .82);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
text-align: center;
padding: .5rem;
gap: .25rem;
}
.stream-radar-dot {
width: 10px; height: 10px;
border-radius: 50%;
background: var(--text-muted);
margin-bottom: .2rem;
}
.stream-radar.ist-live .stream-radar-dot { background: #ff5c72; box-shadow: 0 0 10px rgba(255, 92, 114, .8); animation: stream-radar-live-puls 1.4s ease-in-out infinite; }
@keyframes stream-radar-live-puls { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.35); opacity: .75; } }
@media (prefers-reduced-motion: reduce) { .stream-radar.ist-live .stream-radar-dot { animation: none; } }
.stream-radar-status { font-size: 1rem; font-weight: 800; color: var(--text); line-height: 1.25; }
.stream-radar-countdown {
font-variant-numeric: tabular-nums;
font-size: 1.55rem;
font-weight: 900;
letter-spacing: .02em;
color: var(--accent);
}
.stream-radar.ist-live .stream-radar-countdown { color: #ff5c72; }
.stream-radar-sub { font-size: .74rem; color: var(--text-muted); }
/* .btn setzt selbst "display", das schlägt bei gleicher Spezifität die
eingebaute [hidden]-Regel des Browsers (identisches Muster wie bei
.jahres-event-card weiter oben) — deshalb hier explizit. */
.stream-radar-watch-btn[hidden] { display: none; }
.stream-radar-watch-btn { margin-top: 1.1rem; }
.stream-radar-hinweis { margin-top: 1rem; opacity: .8; }
+30
View File
@@ -20,6 +20,36 @@ window.I18N_PAGE = {
de: "Zur Dogi TikTok-Seite", "de-CH": "Zur Dogi TikTok-Site",
en: "Go to Dogi's TikTok page", fr: "Voir la page TikTok de Dogi", pt: "Ir para a página TikTok do Dogi",
},
/* Live-Radar (20.08.2026) */
sp_radar_loading: {
de: "Lädt …", "de-CH": "Lädt …",
en: "Loading …", fr: "Chargement …", pt: "Carregando …",
},
sp_radar_offline: {
de: "Nächster Fix-Stream in", "de-CH": "Nächschte Fix-Stream in",
en: "Next fixed stream in", fr: "Prochain live fixe dans", pt: "Próxima live fixa em",
},
sp_radar_countdown_label: {
de: "täglich ab 20 Uhr", "de-CH": "täglich ab 20 Uhr",
en: "daily from 8 PM", fr: "chaque jour à 20h", pt: "diariamente às 20h",
},
sp_radar_live: {
de: "🔴 DogFather ist LIVE", "de-CH": "🔴 DogFather isch LIVE",
en: "🔴 DogFather is LIVE", fr: "🔴 DogFather est EN DIRECT", pt: "🔴 DogFather está AO VIVO",
},
sp_radar_live_generic: {
de: "Jetzt live auf TikTok", "de-CH": "Jetzt live uf TikTok",
en: "Live now on TikTok", fr: "En direct maintenant sur TikTok", pt: "Ao vivo agora no TikTok",
},
sp_radar_watch_btn: {
de: "🔴 Jetzt anschauen", "de-CH": "🔴 Jetzt aluege",
en: "🔴 Watch now", fr: "🔴 Regarder maintenant", pt: "🔴 Assistir agora",
},
sp_radar_hinweis: {
de: "Alle Zeiten in deiner Ortszeit.", "de-CH": "Alli Ziite in dinere Ortsziit.",
en: "All times shown in your local time.", fr: "Tous les horaires affichés dans ton fuseau local.", pt: "Todos os horários na sua hora local.",
},
sp_card1_tag: {
de: "Fixer Termin", "de-CH": "Fixe Termin",
en: "Fixed Time", fr: "Rendez-vous fixe", pt: "Horário Fixo",
+131
View File
@@ -0,0 +1,131 @@
/* =====================================================================
streamplan.js — "Live-Radar" NUR für streamplan.html (20.08.2026,
Nutzer-Wunsch: "soll viel geiler und spezieller sein, überrasch mich").
Ein 24-Stunden-Ziffernblatt (reines SVG, keine Bild-Assets nötig): der
feste 20-Uhr-Termin leuchtet dauerhaft als Fixpunkt, ein "Jetzt"-Zeiger
bewegt sich mit der echten Uhrzeit der besuchenden Person mit. Nutzt
denselben /live-status-Endpunkt wie die Startseite (main.js lädt
window.dogiUebersetzen/dogiSprache VOR dieser Datei, siehe <script>-
Reihenfolge in streamplan.html) — läuft DogFather laut TikTok gerade
wirklich, schaltet das ganze Radar auf Rot/Puls um und zeigt einen
"Jetzt anschauen"-Knopf, sonst zählt ein echter Sekunden-Countdown zum
nächsten lokalen 20-Uhr-Termin runter. ===================================================================== */
(function () {
const API_BASE_URL = "https://postfach.dogfather-universe.com";
const FIX_STUNDE = 20; // täglicher Fix-Termin, in der Ortszeit der besuchenden Person
const radar = document.getElementById("stream-radar");
if (!radar) return; // Datei ist nur auf streamplan.html eingebunden
const CX = 150, CY = 150, R_OUT = 130, R_TICK_IN = 116, R_TICK_MAJOR_IN = 106, R_HAND = 100;
const SVG_NS = "http://www.w3.org/2000/svg";
function polar(r, stundenAnteil) {
const winkel = (stundenAnteil / 24) * 360 - 90; // 0 Uhr oben, im Uhrzeigersinn
const rad = (winkel * Math.PI) / 180;
return { x: CX + r * Math.cos(rad), y: CY + r * Math.sin(rad) };
}
// ---------- 24 Stundenstriche (alle 6 Std. etwas länger/heller) ----------
const ticksHost = document.getElementById("radar-ticks");
for (let h = 0; h < 24; h++) {
const major = h % 6 === 0;
const p1 = polar(R_OUT, h);
const p2 = polar(major ? R_TICK_MAJOR_IN : R_TICK_IN, h);
const line = document.createElementNS(SVG_NS, "line");
line.setAttribute("x1", p1.x); line.setAttribute("y1", p1.y);
line.setAttribute("x2", p2.x); line.setAttribute("y2", p2.y);
line.setAttribute("class", major ? "radar-tick radar-tick-major" : "radar-tick");
ticksHost.appendChild(line);
}
// ---------- Fixmarkierung beim täglichen 20-Uhr-Termin ----------
const fixHost = document.getElementById("radar-fixmarker");
const fixPos = polar(R_OUT + 11, FIX_STUNDE);
const fixDot = document.createElementNS(SVG_NS, "circle");
fixDot.setAttribute("cx", fixPos.x); fixDot.setAttribute("cy", fixPos.y);
fixDot.setAttribute("r", 6.5);
fixDot.setAttribute("class", "radar-fixmarker-dot");
fixHost.appendChild(fixDot);
// ---------- "Jetzt"-Zeiger: bewegt sich mit der echten Uhrzeit mit ----------
const nowHand = document.getElementById("radar-now-hand");
const nowDot = document.getElementById("radar-now-dot");
function zeigerAktualisieren() {
const jetzt = new Date();
const stundenAnteil = jetzt.getHours() + jetzt.getMinutes() / 60 + jetzt.getSeconds() / 3600;
const spitze = polar(R_HAND, stundenAnteil);
nowHand.setAttribute("x2", spitze.x); nowHand.setAttribute("y2", spitze.y);
nowDot.setAttribute("cx", spitze.x); nowDot.setAttribute("cy", spitze.y);
}
zeigerAktualisieren();
setInterval(zeigerAktualisieren, 15000); // alle 15s reicht für eine sichtbare, ruhige Bewegung
// ---------- Countdown zum nächsten lokalen 20-Uhr-Termin ----------
function naechsterFixTermin() {
const jetzt = new Date();
const ziel = new Date(jetzt);
ziel.setHours(FIX_STUNDE, 0, 0, 0);
if (ziel <= jetzt) ziel.setDate(ziel.getDate() + 1);
return ziel;
}
function zweistellig(n) { return String(n).padStart(2, "0"); }
const countdownEl = document.getElementById("radar-countdown");
const statusText = document.getElementById("radar-status-text");
const statusSub = document.getElementById("radar-status-sub");
const watchBtn = document.getElementById("radar-watch-btn");
let istLive = false;
let letzterTitel = null;
function countdownTick() {
if (istLive) return; // im Live-Zustand zeigt der Countdown-Platz die Uhrzeit/den Titel, siehe unten
const diffMs = naechsterFixTermin() - new Date();
const gesamtSek = Math.max(0, Math.floor(diffMs / 1000));
const std = Math.floor(gesamtSek / 3600);
const min = Math.floor((gesamtSek % 3600) / 60);
const sek = gesamtSek % 60;
countdownEl.textContent = `${zweistellig(std)}:${zweistellig(min)}:${zweistellig(sek)}`;
}
setInterval(countdownTick, 1000);
function texteNeuSetzen() {
const t = window.dogiUebersetzen || ((k) => k);
if (istLive) {
statusText.textContent = t("sp_radar_live");
countdownEl.textContent = letzterTitel || t("sp_radar_live_generic");
statusSub.textContent = "";
watchBtn.hidden = false;
} else {
statusText.textContent = t("sp_radar_offline");
statusSub.textContent = t("sp_radar_countdown_label");
watchBtn.hidden = true;
countdownTick();
}
}
function liveStatusAnwenden(data) {
istLive = !!(data && data.live);
letzterTitel = data && data.title ? data.title : null;
radar.classList.toggle("ist-live", istLive);
texteNeuSetzen();
}
function liveStatusLaden() {
return fetch(`${API_BASE_URL}/live-status`, { cache: "no-store" })
.then((res) => res.json())
.then(liveStatusAnwenden)
.catch(() => {
istLive = false;
radar.classList.remove("ist-live");
texteNeuSetzen();
});
}
liveStatusLaden();
setInterval(liveStatusLaden, 30000);
document.addEventListener("visibilitychange", () => { if (!document.hidden) liveStatusLaden(); });
document.addEventListener("dogi-sprache-geaendert", texteNeuSetzen);
})();
+7 -7
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Du bist Streamer und suchst einen Manager? Bewirb dich als Creator bei Spicy Media." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-creator.jpg');--page-bg-mobile:url('/assets/img/bg-bewerben-creator-mobile.jpg');">
<div id="site-header"></div>
@@ -70,8 +70,8 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/forms.js?v=20260820f"></script>
<script src="assets/js/i18n-bewerben-creator.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/forms.js?v=20260820g"></script>
<script src="assets/js/i18n-bewerben-creator.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
</body>
</html>
+7 -7
View File
@@ -22,10 +22,10 @@
<meta name="twitter:description" content="Kooperationsanfrage an Manager DogFather / Spicy Media." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben.jpg');--page-bg-mobile:url('/assets/img/bg-bewerben-mobile.jpg');">
<div id="site-header"></div>
@@ -68,8 +68,8 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/forms.js?v=20260820f"></script>
<script src="assets/js/i18n-bewerben-kooperation.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/forms.js?v=20260820g"></script>
<script src="assets/js/i18n-bewerben-kooperation.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
</body>
</html>
+7 -7
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Werde Modi bei Team Dogi — DogFathers persönliches Community-Team." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-dogfather.jpg');--page-bg-mobile:url('/assets/img/bg-dogfather-mobile.jpg');">
<div id="site-header"></div>
@@ -79,8 +79,8 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/forms.js?v=20260820f"></script>
<script src="assets/js/i18n-bewerben-modi.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/forms.js?v=20260820g"></script>
<script src="assets/js/i18n-bewerben-modi.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
</body>
</html>
+7 -7
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Werde Scout für DogFather bei der Spicy Media Agentur — finde neue Talente." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-scouts.jpg');--page-bg-mobile:url('/assets/img/bg-scouts-mobile.jpg');">
<div id="site-header"></div>
@@ -71,8 +71,8 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/forms.js?v=20260820f"></script>
<script src="assets/js/i18n-bewerben-scout.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/forms.js?v=20260820g"></script>
<script src="assets/js/i18n-bewerben-scout.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
</body>
</html>
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Werde Teil vom Team: Modi bei Team Dogi, Scout oder Creator bei Spicy Media, oder Kooperation anfragen." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-split.jpg');--page-bg-mobile:url('/assets/img/bg-bewerben-split-mobile.jpg');">
<div id="site-header"></div>
@@ -85,7 +85,7 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-bewerben.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/i18n-bewerben.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
</body>
</html>
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Der Husky an DogFathers Seite — das tierische Gesicht der HasiDog-Welt." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-casper.jpg');--page-bg-mobile:url('/assets/img/bg-casper-mobile.jpg');">
<div id="site-header"></div>
@@ -85,7 +85,7 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-casper.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/i18n-casper.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
</body>
</html>
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Team Dogi ist Familie — die Community rund um DogFather und HasiDog." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-community.jpg');--page-bg-mobile:url('/assets/img/bg-community-mobile.jpg');">
<div id="site-header"></div>
@@ -84,7 +84,7 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-community.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/i18n-community.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
</body>
</html>
+7 -7
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Content Creator, die Teil von DogFather / Spicy Media sind." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-creator.jpg');--page-bg-mobile:url('/assets/img/bg-creator-mobile.jpg');">
<div id="site-header"></div>
@@ -59,9 +59,9 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/data-creator.js?v=20260820f"></script>
<script src="assets/js/i18n-creator.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/data-creator.js?v=20260820g"></script>
<script src="assets/js/i18n-creator.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
<script>
document.addEventListener("DOMContentLoaded", () => {
const grid = document.getElementById("creator-grid");
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Wer ist DogFather wirklich? Persönlichkeit, Werte und die Geschichte hinter dem Content." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-dogfather-person.jpg');--page-bg-mobile:url('/assets/img/bg-dogfather-person-mobile.jpg');">
<div id="site-header"></div>
@@ -158,7 +158,7 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-dogfather.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/i18n-dogfather.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
</body>
</html>
+2 -2
View File
@@ -26,8 +26,8 @@
<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="DogFather" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<style>
/* =====================================================================
Zugangsseite — bewusst kein braves Standard-Login-Formular, sondern
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="HasiDog: Maskottchen, Musikprojekt und die verspielte, familiäre Seite von Team Dogi." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-hasidog.jpg');--page-bg-mobile:url('/assets/img/bg-hasidog-mobile.jpg');">
<div id="site-header"></div>
@@ -182,7 +182,7 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-hasidog.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/i18n-hasidog.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
</body>
</html>
+9 -9
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="DOGFATHER UNIVERSE: die Heimat von DogFather als Streamer, der HasiDog-Community und Manager DogFather bei Spicy Media." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body class="start-seite">
<div id="site-header"></div>
@@ -293,11 +293,11 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/data-modis.js?v=20260820f"></script>
<script src="assets/js/data-scouts.js?v=20260820f"></script>
<script src="assets/js/data-aktionen.js?v=20260820f"></script>
<script src="assets/js/i18n-index.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/data-modis.js?v=20260820g"></script>
<script src="assets/js/data-scouts.js?v=20260820g"></script>
<script src="assets/js/data-aktionen.js?v=20260820g"></script>
<script src="assets/js/i18n-index.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
<script>
// Gleiche URL wie in assets/js/forms.js / postfach.html — läuft seit
// 05.08.2026 auf dem eigenen Server statt auf Cloudflare Workers.
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Kontakt, Impressum und Datenschutz von DOGFATHER UNIVERSE." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body>
<div id="site-header"></div>
@@ -126,7 +126,7 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-kontakt.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/i18n-kontakt.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
</body>
</html>
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Alle Social-Media- und Musik-Links von DogFather an einem Ort — plus QR-Codes." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
<style>
/* Rabattcodes: an das Supporter-Abo gekoppelt (Nutzer-Feedback
03.08.2026: "verbinde es mit dem Abo... wenn die Leute drauf drücken
@@ -140,8 +140,8 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-links.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/i18n-links.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
<script>
(function () {
document.addEventListener("DOMContentLoaded", function () {
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="DogFather als Manager bei der Spicy Media Agency: Scouts, Creator und faire Zusammenarbeit." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-manager.jpg');--page-bg-mobile:url('/assets/img/bg-manager-mobile.jpg');">
<div id="site-header"></div>
@@ -126,7 +126,7 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-manager.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/i18n-manager.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
</body>
</html>
+9 -9
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Fotos und Videos rund um Husky Casper an einem Ort." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body class="mit-hintergrund" data-welt="casper" style="--page-bg:url('/assets/img/bg-casper.jpg');--page-bg-mobile:url('/assets/img/bg-casper-mobile.jpg');">
<div id="site-header"></div>
@@ -59,10 +59,10 @@
</div>
<div id="site-footer"></div>
<script src="assets/js/data-media.js?v=20260820f"></script>
<script src="assets/js/data-videos.js?v=20260820f"></script>
<script src="assets/js/medien-welt.js?v=20260820f"></script>
<script src="assets/js/i18n-medien-casper.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/data-media.js?v=20260820g"></script>
<script src="assets/js/data-videos.js?v=20260820g"></script>
<script src="assets/js/medien-welt.js?v=20260820g"></script>
<script src="assets/js/i18n-medien-casper.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
</body>
</html>
+10 -10
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Fotos, Videos und Events aus DogFathers Welt an einem Ort." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body class="mit-hintergrund" data-welt="dogfather" style="--page-bg:url('/assets/img/bg-dogfather.jpg');--page-bg-mobile:url('/assets/img/bg-dogfather-mobile.jpg');">
<div id="site-header"></div>
@@ -65,11 +65,11 @@
</div>
<div id="site-footer"></div>
<script src="assets/js/data-media.js?v=20260820f"></script>
<script src="assets/js/data-videos.js?v=20260820f"></script>
<script src="assets/js/data-aktionen.js?v=20260820f"></script>
<script src="assets/js/medien-welt.js?v=20260820f"></script>
<script src="assets/js/i18n-medien-dogfather.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/data-media.js?v=20260820g"></script>
<script src="assets/js/data-videos.js?v=20260820g"></script>
<script src="assets/js/data-aktionen.js?v=20260820g"></script>
<script src="assets/js/medien-welt.js?v=20260820g"></script>
<script src="assets/js/i18n-medien-dogfather.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
</body>
</html>
+10 -10
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Fotos, Videos und Events aus der HasiDog-Welt an einem Ort." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body class="mit-hintergrund" data-welt="hasidog" style="--page-bg:url('/assets/img/bg-hasidog.jpg');--page-bg-mobile:url('/assets/img/bg-hasidog-mobile.jpg');">
<div id="site-header"></div>
@@ -65,11 +65,11 @@
</div>
<div id="site-footer"></div>
<script src="assets/js/data-media.js?v=20260820f"></script>
<script src="assets/js/data-videos.js?v=20260820f"></script>
<script src="assets/js/data-aktionen.js?v=20260820f"></script>
<script src="assets/js/medien-welt.js?v=20260820f"></script>
<script src="assets/js/i18n-medien-hasidog.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/data-media.js?v=20260820g"></script>
<script src="assets/js/data-videos.js?v=20260820g"></script>
<script src="assets/js/data-aktionen.js?v=20260820g"></script>
<script src="assets/js/medien-welt.js?v=20260820g"></script>
<script src="assets/js/i18n-medien-hasidog.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
</body>
</html>
+9 -9
View File
@@ -16,10 +16,10 @@
<meta name="twitter:card" content="summary_large_image" />
<meta name="robots" content="noindex" /> <!-- generische URL, echte Team-Seiten verlinken hierher -->
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
<style>
.profil-photo { aspect-ratio: 4/5; max-width: 420px; margin: 0 auto; }
.profil-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
@@ -130,11 +130,11 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/data-modis.js?v=20260820f"></script>
<script src="assets/js/data-scouts.js?v=20260820f"></script>
<script src="assets/js/data-creator.js?v=20260820f"></script>
<script src="assets/js/i18n-profil.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/data-modis.js?v=20260820g"></script>
<script src="assets/js/data-scouts.js?v=20260820g"></script>
<script src="assets/js/data-creator.js?v=20260820g"></script>
<script src="assets/js/i18n-profil.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
<script>
document.addEventListener("DOMContentLoaded", () => {
const slug = new URLSearchParams(location.search).get("p") || "";
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Rabattcodes von Dogis Partnern für Team Dogi — spar bares Geld bei ausgewählten Marken." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
<style>
/* Leere-Zustand-Kachel im "Gutschein"-Look: gestrichelter Rand wie ein
ausgeschnittener Coupon, damit auch OHNE echte Codes schon klar ist,
@@ -131,8 +131,8 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-rabattcodes.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/i18n-rabattcodes.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
<script>
(function () {
document.addEventListener("DOMContentLoaded", function () {
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Was die Community und das Team über DogFather sagen." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-stimmen.jpg');--page-bg-mobile:url('/assets/img/bg-stimmen-mobile.jpg');">
<div id="site-header"></div>
@@ -57,7 +57,7 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-stimmen.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/i18n-stimmen.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
</body>
</html>
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Die persönliche Geschichte hinter DogFather — Filipe, Streamer, Manager bei Spicy Media und Hundepapa von Husky Casper." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-streamer.jpg');--page-bg-mobile:url('/assets/img/bg-streamer-mobile.jpg');">
<div id="site-header"></div>
@@ -189,7 +189,7 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-streamer.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/i18n-streamer.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
</body>
</html>
+34 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Wann geht DogFather live? Streamplan und Livebereich." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-streamplan.jpg');--page-bg-mobile:url('/assets/img/bg-streamplan-mobile.jpg');">
<div id="site-header"></div>
@@ -34,6 +34,33 @@
<span class="eyebrow" data-i18n="sp_eyebrow">Welt 1 — DogFather</span>
<h1 data-i18n="sp_h1">Streamplan &amp; Livebereich</h1>
<p class="lead worlds" data-i18n="sp_lead">Wann ist DogFather live?</p>
<!-- Live-Radar (20.08.2026, Nutzer-Wunsch "geiler und spezieller"): 24h-Ziffernblatt
mit festem 20-Uhr-Leuchtpunkt + echtem "Jetzt"-Zeiger, schaltet live auf Rot/Puls
um, sonst zählt es zum nächsten 20-Uhr-Termin runter. Siehe assets/js/streamplan.js. -->
<div class="stream-radar-wrap">
<div class="stream-radar" id="stream-radar">
<div class="stream-radar-sweep" aria-hidden="true"></div>
<svg viewBox="0 0 300 300" class="stream-radar-dial" aria-hidden="true">
<circle cx="150" cy="150" r="130" class="radar-ring-outer"></circle>
<circle cx="150" cy="150" r="94" class="radar-ring-inner"></circle>
<g id="radar-ticks"></g>
<g id="radar-fixmarker"></g>
<line id="radar-now-hand" class="radar-now-hand" x1="150" y1="150" x2="150" y2="50"></line>
<circle id="radar-now-dot" class="radar-now-dot" cx="150" cy="50" r="5"></circle>
<circle cx="150" cy="150" r="4" class="radar-center-dot"></circle>
</svg>
<div class="stream-radar-center">
<span class="stream-radar-dot" id="radar-status-dot"></span>
<span class="stream-radar-status" id="radar-status-text" data-i18n="sp_radar_loading">Lädt …</span>
<span class="stream-radar-countdown" id="radar-countdown"></span>
<span class="stream-radar-sub" id="radar-status-sub"></span>
</div>
</div>
<a class="btn btn-primary stream-radar-watch-btn" id="radar-watch-btn" href="https://www.tiktok.com/@dogfather0804" target="_blank" rel="noopener" hidden data-i18n="sp_radar_watch_btn">🔴 Jetzt anschauen</a>
<p class="small muted stream-radar-hinweis" data-i18n="sp_radar_hinweis">Alle Zeiten in deiner Ortszeit.</p>
</div>
<div class="btn-row" style="justify-content:center;">
<a class="btn-tiktok" href="https://www.tiktok.com/@dogfather0804" target="_blank" rel="noopener"><span class="btn-tiktok-note" aria-hidden="true">♪</span><span class="btn-tiktok-text" data-i18n="sp_btn_tiktok">Zur Dogi TikTok-Seite</span></a>
</div>
@@ -60,7 +87,8 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-streamplan.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/i18n-streamplan.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
<script src="assets/js/streamplan.js?v=20260820g"></script>
</body>
</html>
+7 -7
View File
@@ -9,10 +9,10 @@
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#0b0d10" />
<meta name="robots" content="noindex" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
<style>
/* =====================================================================
Supporter-Bereich — komplett neu gestaltet (Nutzer-Feedback
@@ -416,9 +416,9 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-supporter.js?v=20260820f"></script>
<script src="assets/js/supporter.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/i18n-supporter.js?v=20260820g"></script>
<script src="assets/js/supporter.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
<script>
(function () {
const S = window.DogiSupporter;
+7 -7
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="VanVan, Diene, Funny, Miss und Marina — das Modi-/Core-Team von Team Dogi." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-dogfather.jpg');--page-bg-mobile:url('/assets/img/bg-dogfather-mobile.jpg');">
<div id="site-header"></div>
@@ -66,9 +66,9 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/data-modis.js?v=20260820f"></script>
<script src="assets/js/i18n-team-modis.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/data-modis.js?v=20260820g"></script>
<script src="assets/js/i18n-team-modis.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
<script>
document.addEventListener("DOMContentLoaded", () => {
const grid = document.getElementById("modis-grid");
+7 -7
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Die Scouts von Team Dogi bei Spicy Media." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-scouts.jpg');--page-bg-mobile:url('/assets/img/bg-scouts-mobile.jpg');">
<div id="site-header"></div>
@@ -49,9 +49,9 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/data-scouts.js?v=20260820f"></script>
<script src="assets/js/i18n-team-scouts.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/data-scouts.js?v=20260820g"></script>
<script src="assets/js/i18n-team-scouts.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
<script>
document.addEventListener("DOMContentLoaded", () => {
const grid = document.getElementById("scouts-grid");
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Eine persönliche Widmung von Dogi an Tili — seine TikTok-Muddi, die erste und bis heute einzige Streamerin, die ihm all die Zeit treu geblieben ist." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
<style>
/* Gleiche Anpassung wie vanvan.html: der site-weit etwas größere
Fließtext wirkt bei einem so langen persönlichen Brief zu wuchtig —
@@ -153,7 +153,7 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-tt-muddi.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/i18n-tt-muddi.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
</body>
</html>
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="VanVan erzählt ihre Geschichte: wie sie zu Team Dogi kam, wer sie ist und was DogFather und Team Dogi ihr bedeuten." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
<style>
/* Auf Wunsch: der site-weit vergrößerte Fließtext wirkte auf VanVans
eigener Seite zu groß (viel Text am Stück) — hier gezielt wieder
@@ -175,7 +175,7 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-vanvan.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/i18n-vanvan.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
</body>
</html>
+6 -6
View File
@@ -19,10 +19,10 @@
<link rel="apple-touch-icon" href="assets/img/apple-touch-icon-admin.png" />
<meta name="apple-mobile-web-app-title" content="DogiCrew-Verwaltung" />
<meta name="theme-color" content="#0e0a16" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
<style>
/* =====================================================================
verwaltung.html — Dogis privater Command-Center-Bereich.
@@ -977,8 +977,8 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/admin-auth.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820g"></script>
<script src="assets/js/admin-auth.js?v=20260820g"></script>
<script>
(function () {
const API_BASE_URL = "https://postfach.dogfather-universe.com";
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Die Werte, nach denen DogFather als Manager bei Spicy Media arbeitet." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-werte.jpg');--page-bg-mobile:url('/assets/img/bg-werte-mobile.jpg');">
<div id="site-header"></div>
@@ -113,7 +113,7 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-werte.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/i18n-werte.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
</body>
</html>
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Die Geschichte von DogFather in einer interaktiven Zeitleiste." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820f" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820g" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820g" />
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-zeitreise.jpg');--page-bg-mobile:url('/assets/img/bg-zeitreise-mobile.jpg');">
<div id="site-header"></div>
@@ -219,8 +219,8 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-zeitreise.js?v=20260820f"></script>
<script src="assets/js/main.js?v=20260820f"></script>
<script src="assets/js/i18n-zeitreise.js?v=20260820g"></script>
<script src="assets/js/main.js?v=20260820g"></script>
<script>
/* Wachstums-Reveal: Äste blenden sich beim Scrollen sanft ein — passt
zum "wachsenden Baum"-Konzept dieser Seite. Rein page-lokal, betrifft