Arbeitsschloss: zwei Sitzungen sehen sich jetzt

HEUTE ZWEIMAL NUR GUTGEGANGEN. Zwei Claude-Sitzungen arbeiteten
gleichzeitig in diesem Verzeichnis, ohne voneinander zu wissen.
Keine hat etwas falsch gemacht — sie konnten es nicht wissen.

  * Beide haben `git add -A` benutzt. Haette die eine
    unfestgeschriebene Arbeit der anderen im Baum gehabt, waere sie
    mitcommittet worden — unter fremdem Namen, in einer fremden
    Begruendung, und niemandem waere es aufgefallen. Nachgesehen:
    diesmal war nichts dabei.
  * Beide haben den Stempellauf gestartet. Der schreibt 45 Dateien
    um. Wer dort eine offen hatte, bekam sie unter den Haenden weg
    geaendert.

Dasselbe hat in RunOne am 03.09.2026 sieben Minuten Ausfall
gekostet. Dort gibt es seitdem `arbeitsschloss.sh`; diese Fassung
uebernimmt seine Lehren.

WAS ES IST UND WAS NICHT. Es ist kein Riegel — wer wirklich muss,
kommt vorbei. Es beantwortet die eine Frage, die heute niemand
beantworten konnte: „arbeitet hier gerade sonst jemand?"

Die teuren Fehler liegen bei einem Schloss alle in derselben
Richtung: Es blockiert zu viel und wird deshalb abgeschafft. Also:

  * Es blockiert NICHT, wenn das Schloss DEINES ist. RunOnes erste
    Fassung fragte „ist abgeschlossen" statt „haelt es jemand
    anders" — damit haette, wer ordentlich abschliesst, nie mehr
    ausliefern koennen. Dafuer gibt es `fremd`.
  * Es VERFAELLT nach zwei Stunden, und dass da jemand war, steht
    beim Uebernehmen dabei.
  * Es blockiert NICHT, wenn es selbst unlesbar ist — dritter
    Ausgang, kein Stillstand.
  * Notausgang: SCHLOSS_ZWANG=ja git commit …

DAS PROBLEM, AN DEM RUNONE HAENGT, IST HIER GELOEST. Dort faellt die
Kennung im Zweifel auf den Systembenutzer zurueck, und zwei
Claudian-Sitzungen laufen BEIDE als `claudian` — die Sicherung griff
ausgerechnet zwischen den zwei Faellen nicht, fuer die sie gebaut
wurde. Deshalb ist dort `export ARBEITER=…` Pflicht, und Pflicht
heisst: man vergisst es.

Hier steht `CLAUDE_CODE_SESSION_ID` in jeder Sitzung und ist je
Sitzung verschieden (nachgesehen, 36 Zeichen UUID). Zwei Sitzungen
auf demselben Windows-Benutzer unterscheiden sich damit von selbst,
ohne dass jemand etwas tun muss. Reihenfolge: ARBEITER, dann
Sitzungskennung, dann Benutzername MIT Warnung.

NIEMAND MUSS DARAN DENKEN:
  * die beiden Stempelwerkzeuge nehmen es selbst und geben es selbst
    frei — auch nach einem Absturz und bei Strg+C (wie `bauen.sh` im
    Shop; eines, an das man denken muss, wird vergessen und ab da
    umgangen)
  * `tools/git-haken/pre-commit` bricht jeden Commit ab, solange
    jemand ANDERS das Schloss haelt. Das ist die Stelle, die heute
    gefehlt hat: `git add -A` ist der Griff, den man ohne Nachdenken
    macht, und gegen einen Reflex hilft keine Regel auf Papier.
  * `core.hooksPath` statt `.git/hooks` — letzteres ist nicht
    versioniert und waere nach einem Klon genau dann leer, wenn es
    gebraucht wird.

GEPRUEFT, server/pruef-arbeitsschloss.mjs: 33 Pruefungen, 0 Fehler —
in einem WEGWERF-Verzeichnis mit eigenem git, damit kein echtes
Schloss angefasst wird. Darunter am echten git:

    ohne Schloss committen        -> geht      (0)
    mit dem EIGENEN Schloss       -> geht      (0)
    mit einem FREMDEN Schloss     -> bricht ab (1), nennt wer und warum
    und es stehen genau ZWEI Commits da, nicht drei
    SCHLOSS_ZWANG=ja              -> kommt vorbei
    ohne das Schloss-Werkzeug     -> laesst durch

Dazu: verfallenes Schloss laesst durch, mit laengerer Frist blockt
dasselbe Schloss wieder (Gegenprobe), unlesbarer Inhalt und
unlesbarer Zeitstempel blockieren nicht.

Portnummern nach der neuen Pruefdatei nachgemessen: Pruefbereich bis
5415, 462 Nummern, 0 Kollisionen. pruef-struktur 75/0,
pruef-fingermass 5/0, pruef-ports 10/0.

In DEPLOY.md steht es jetzt an erster Stelle — eine Sicherung, von
der nur der weiss, der sie gebaut hat, ist die erste, die umgangen
wird.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-10-01 20:04:28 +02:00
co-authored by Claude Opus 5
parent 1afb38258c
commit 603319a145
102 changed files with 1956 additions and 1199 deletions
+4
View File
@@ -137,3 +137,7 @@ tools/.dreh*
tools/.nach-*
tools/.messkopf.txt
# Das Arbeitsschloss gehoert dem Rechner, nicht dem Verlauf: Es sagt,
# wer GERADE arbeitet. Committet waere es eine Behauptung von gestern.
.arbeitsschloss
+8 -8
View File
@@ -3,8 +3,8 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -19,10 +19,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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
</head>
<body>
<div id="site-header"></div>
@@ -42,7 +42,7 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-404.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/i18n-404.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
</body>
</html>
+46
View File
@@ -1,5 +1,51 @@
# DOGFATHER UNIVERSE — Go-Live-Anleitung
## ⚠️ ARBEITET HIER GERADE SONST JEMAND? (seit 01.10.2026)
An diesem Tag arbeiteten **zwei Claude-Sitzungen gleichzeitig** in diesem Verzeichnis,
ohne voneinander zu wissen. Keine hat etwas falsch gemacht — sie konnten es nicht wissen.
Zweimal ist es nur gut gegangen:
* Beide haben `git add -A` benutzt. Hätte die eine unfestgeschriebene Arbeit der anderen
im Baum gehabt, wäre sie **mitcommittet** worden — unter fremdem Namen, in einer fremden
Begründung, und niemandem wäre es aufgefallen.
* Beide haben `tools/workspace-stempel.mjs` laufen lassen. Der schreibt 45 Dateien um. Wer
dort eine offen hatte, bekam sie **unter den Händen weg** geändert.
Dasselbe hat in RunOne am 03.09.2026 sieben Minuten Ausfall gekostet.
**Vor dem Arbeiten:**
```bash
node tools/arbeitsschloss.mjs ansehen # arbeitet hier jemand?
node tools/arbeitsschloss.mjs nehmen "was ich tue"
node tools/arbeitsschloss.mjs freigeben # am Ende
```
Du musst nichts von Hand tun, wenn du nur stempelst oder committest — die beiden
Stempelwerkzeuge nehmen das Schloss selbst, und ein **git-Haken** (`tools/git-haken/pre-commit`)
bricht jeden Commit ab, solange **jemand anders** das Schloss hält.
**Was es NICHT tut** — das ist der wichtigere Teil:
* Es blockiert **nicht**, wenn das Schloss **deines** ist. Wer ordentlich abschließt, soll
nicht bestraft werden.
* Es **verfällt nach zwei Stunden**. Ein Schloss, das man vergessen kann, blockiert sonst
dauerhaft — und wird beim ersten Ärger umgangen. Ab da ist es wertlos.
* Es blockiert **nicht**, wenn es selbst kaputt oder nicht lesbar ist.
* Notausgang, falls du trotzdem musst: `SCHLOSS_ZWANG=ja git commit …`
**Nach einem frischen Klon einmal:** `node tools/arbeitsschloss.mjs einrichten`
(setzt `core.hooksPath`; `.git/hooks` wird nicht versioniert und wäre sonst leer).
`node server/pruef-arbeitsschloss.mjs` sagt dir, ob alles sitzt — 33 Prüfungen,
darunter ein echter Commit gegen ein fremdes Schloss.
**Und bei zwei Claude-Sitzungen:** Das Schloss macht die Gleichzeitigkeit sichtbar, es
ersetzt das Reden nicht. `SendMessage` an die andere Sitzung kostet zehn Sekunden.
---
## ⚠️ ZUERST LESEN: Die echte Seite läuft auf dem NETCUP-SERVER, nicht auf Cloudflare
Seit dem öffentlichen Start (21.08.2026) wird `dogfather-universe.com` vom **eigenen
+12 -12
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>DogiCrew 🩵 — DOGFATHER UNIVERSE</title>
<meta name="description" content="Unterstütze Dogfather dauerhaft mit der DogiCrew 🩵 und sammle exklusive Treueprämien — die Teddy-Kollektion entsteht in Kooperation mit VanVan." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,10 +20,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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
<style>
/* =====================================================================
Preis-/Anmelde-Kiste — komplett neu gestaltet (Nutzer-Feedback
@@ -92,7 +92,7 @@
darunter sauber lesbar bleiben (Nutzer-Feedback: Logo lag vorher
über dem Namensfeld). */
position: absolute; top: 0; left: 0; right: 0; height: 420px; z-index: -1; pointer-events: none;
background-image: url('assets/img/logo-dogfather-transparent.png?v=202610011927');
background-image: url('assets/img/logo-dogfather-transparent.png?v=202610012001');
background-repeat: no-repeat;
background-position: center 6%;
background-size: min(62%, 320px) auto;
@@ -345,12 +345,12 @@
.abo-vorteile li::before { content: "👑"; flex-shrink: 0; }
</style>
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-abonnieren.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-abonnieren-mobile.jpg?v=202610011927');">
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-abonnieren.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-abonnieren-mobile.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-abonnieren.jpg?v=202610011927" alt="Dogfather Supporter-Abo" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-abonnieren.jpg?v=202610012001" alt="Dogfather Supporter-Abo" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="ab_eyebrow">👑 DogiCrew 🩵</span>
<h1 data-i18n="ab_h1">Mehr als ein Abo — deine Unterstützung wird Teil unserer Geschichte</h1>
@@ -604,9 +604,9 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-abonnieren.js?v=202610011927"></script>
<script src="assets/js/supporter.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/i18n-abonnieren.js?v=202610012001"></script>
<script src="assets/js/supporter.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
<script>
(function () {
const S = window.DogiSupporter;
+7 -7
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AGB — DogiCrew-Supporter-Abo — DOGFATHER UNIVERSE</title>
<meta name="description" content="Allgemeine Geschäftsbedingungen für das DogiCrew-Supporter-Abo von DOGFATHER UNIVERSE." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -21,10 +21,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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
</head>
<body>
<div id="site-header"></div>
@@ -135,6 +135,6 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610012001"></script>
</body>
</html>
+9 -9
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Aktion — DOGFATHER UNIVERSE</title>
<meta name="description" content="Detailansicht einer Aktion oder eines Projekts von Team Dogi." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,10 +20,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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
</head>
<body>
<div id="site-header"></div>
@@ -52,9 +52,9 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/data-aktionen.js?v=202610011927"></script>
<script src="assets/js/i18n-aktion-detail.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/data-aktionen.js?v=202610012001"></script>
<script src="assets/js/i18n-aktion-detail.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
<script>
document.addEventListener("DOMContentLoaded", () => {
const params = new URLSearchParams(location.search);
+1 -1
View File
@@ -863,7 +863,7 @@
Stand haben. Die Nummer wird zusammen mit CACHE_NAME in sw.js
hochgezaehlt -- beide gehoeren zusammen. */
navigator.serviceWorker
.register("/webdesign/sw.js?v=202610011927", { scope: "/webdesign/" })
.register("/webdesign/sw.js?v=202610012001", { scope: "/webdesign/" })
.catch(function () { /* still schlucken: ohne SW funktioniert alles weiter */ });
});
}
+11 -11
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Streamer gesucht — DOGFATHER UNIVERSE</title>
<meta name="description" content="Du bist Streamer und suchst einen Manager? Bewirb dich als Creator bei Spicy Media." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,17 +20,17 @@
<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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
</head>
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-creator.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-bewerben-creator-mobile.jpg?v=202610011927');">
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-creator.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-bewerben-creator-mobile.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-bewerben-creator.jpg?v=202610011927" alt="" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-bewerben-creator.jpg?v=202610012001" alt="" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="bwc_eyebrow">Manager DogFather — Agentur</span>
<h1 data-i18n="bwc_h1">Streamer? Ich such dich als Creator.</h1>
@@ -71,8 +71,8 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/forms.js?v=202610011927"></script>
<script src="assets/js/i18n-bewerben-creator.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/forms.js?v=202610012001"></script>
<script src="assets/js/i18n-bewerben-creator.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
</body>
</html>
+11 -11
View File
@@ -8,8 +8,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Kooperation anfragen — DOGFATHER UNIVERSE</title>
<meta name="description" content="Kooperationsanfrage an Manager DogFather / Spicy Media." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -23,17 +23,17 @@
<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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
</head>
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-bewerben-mobile.jpg?v=202610011927');">
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-bewerben-mobile.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-bewerben.jpg?v=202610011927" alt="" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-bewerben.jpg?v=202610012001" alt="" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="bwk_eyebrow">Manager DogFather — Agentur</span>
<h1 data-i18n="bwk_h1">Kooperation anfragen</h1>
@@ -69,8 +69,8 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/forms.js?v=202610011927"></script>
<script src="assets/js/i18n-bewerben-kooperation.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/forms.js?v=202610012001"></script>
<script src="assets/js/i18n-bewerben-kooperation.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
</body>
</html>
+11 -11
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Modi werden — DOGFATHER UNIVERSE</title>
<meta name="description" content="Werde Modi bei Team Dogi — DogFathers persönliches Community-Team." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,17 +20,17 @@
<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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
</head>
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-modi.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-bewerben-modi-mobile.jpg?v=202610011927');">
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-modi.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-bewerben-modi-mobile.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-bewerben-modi.jpg?v=202610011927" alt="" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-bewerben-modi.jpg?v=202610012001" alt="" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="bwm_eyebrow">🩵 Team Dogi — Community</span>
<h1 data-i18n="bwm_h1">Werde Modi bei Team Dogi</h1>
@@ -80,8 +80,8 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/forms.js?v=202610011927"></script>
<script src="assets/js/i18n-bewerben-modi.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/forms.js?v=202610012001"></script>
<script src="assets/js/i18n-bewerben-modi.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
</body>
</html>
+11 -11
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Scout werden — DOGFATHER UNIVERSE</title>
<meta name="description" content="Werde Scout für DogFather bei der Spicy Media Agentur — finde neue Talente." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,17 +20,17 @@
<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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
</head>
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-scout.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-bewerben-scout-mobile.jpg?v=202610011927');">
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-scout.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-bewerben-scout-mobile.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-bewerben-scout.jpg?v=202610011927" alt="" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-bewerben-scout.jpg?v=202610012001" alt="" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="bws_eyebrow">Manager DogFather — Agentur</span>
<h1 data-i18n="bws_h1">Werde Scout für DogFather</h1>
@@ -72,8 +72,8 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/forms.js?v=202610011927"></script>
<script src="assets/js/i18n-bewerben-scout.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/forms.js?v=202610012001"></script>
<script src="assets/js/i18n-bewerben-scout.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
</body>
</html>
+12 -12
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Bewerben — DOGFATHER UNIVERSE</title>
<meta name="description" content="Werde Teil vom Team: Modi bei Team Dogi, Scout oder Creator bei Spicy Media, oder Kooperation anfragen." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,17 +20,17 @@
<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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
</head>
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-split.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-bewerben-split-mobile.jpg?v=202610011927');">
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-split.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-bewerben-split-mobile.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-bewerben-split.jpg?v=202610011927" alt="" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-bewerben-split.jpg?v=202610012001" alt="" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="bw_eyebrow">Werde Teil vom Team</span>
<h1 data-i18n="bw_h1">Community oder Agentur — such dir deinen&nbsp;Weg</h1>
@@ -42,7 +42,7 @@
<div class="container">
<div class="bewerben-showcase">
<div class="bewerben-poster bewerben-poster-blau" aria-hidden="true">
<img src="assets/img/bewerben-poster-dogfather.jpg?v=202610011927" alt="" loading="lazy" />
<img src="assets/img/bewerben-poster-dogfather.jpg?v=202610012001" alt="" loading="lazy" />
</div>
<div class="bewerben-split">
@@ -78,7 +78,7 @@
</div>
<div class="bewerben-poster bewerben-poster-rot" aria-hidden="true">
<img src="assets/img/bewerben-poster-spicymedia.jpg?v=202610011927" alt="" loading="lazy" />
<img src="assets/img/bewerben-poster-spicymedia.jpg?v=202610012001" alt="" loading="lazy" />
</div>
</div>
</div>
@@ -86,7 +86,7 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-bewerben.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/i18n-bewerben.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
</body>
</html>
+15 -15
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Casper — DOGFATHER UNIVERSE</title>
<meta name="description" content="Der Husky an DogFathers Seite — das tierische Gesicht der HasiDog-Welt." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,17 +20,17 @@
<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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-casper.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-casper-mobile.jpg?v=202610011927');">
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-casper.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-casper-mobile.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-casper.jpg?v=202610011927" alt="" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-casper.jpg?v=202610012001" alt="" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="cas_eyebrow">Welt 2 — HasiDog</span>
<h1>Casper 🐾</h1>
@@ -41,7 +41,7 @@
<section class="section-tight">
<div class="container grid grid-2" style="align-items:center;">
<div class="collage-photo" style="aspect-ratio:4/3;border-radius:var(--radius);">
<img src="assets/img/casper-main.jpg?v=202610011927" alt="Casper — Husky im Sonnenuntergang" style="width:100%;height:100%;object-fit:cover;object-position:center 30%;" />
<img src="assets/img/casper-main.jpg?v=202610012001" alt="Casper — Husky im Sonnenuntergang" style="width:100%;height:100%;object-fit:cover;object-position:center 30%;" />
</div>
<div>
<h2 data-i18n="cas_wer_h2">Wer ist Casper?</h2>
@@ -73,10 +73,10 @@
<div class="container">
<h2 class="text-center" data-i18n="cas_galerie_h2">Casper-Galerie</h2>
<div class="grid grid-4">
<div class="collage-photo frame-lila" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/casper-3.jpg?v=202610011927" alt="Casper" style="width:100%;height:100%;object-fit:cover;object-position:center 20%;" /></div>
<div class="collage-photo frame-silver" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/casper-4.jpg?v=202610011927" alt="Casper" style="width:100%;height:100%;object-fit:cover;object-position:42% center;" /></div>
<div class="collage-photo frame-gold" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/dogfather-casper-2.jpg?v=202610011927" alt="DogFather und Casper" style="width:100%;height:100%;object-fit:cover;object-position:center 38%;" /></div>
<div class="collage-photo frame-tuerkis" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/hasidog-casper-book.jpg?v=202610011927" alt="HasiDog &amp; Casper Buch-Illustration" style="width:100%;height:100%;object-fit:cover;" /></div>
<div class="collage-photo frame-lila" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/casper-3.jpg?v=202610012001" alt="Casper" style="width:100%;height:100%;object-fit:cover;object-position:center 20%;" /></div>
<div class="collage-photo frame-silver" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/casper-4.jpg?v=202610012001" alt="Casper" style="width:100%;height:100%;object-fit:cover;object-position:42% center;" /></div>
<div class="collage-photo frame-gold" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/dogfather-casper-2.jpg?v=202610012001" alt="DogFather und Casper" style="width:100%;height:100%;object-fit:cover;object-position:center 38%;" /></div>
<div class="collage-photo frame-tuerkis" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/hasidog-casper-book.jpg?v=202610012001" alt="HasiDog &amp; Casper Buch-Illustration" style="width:100%;height:100%;object-fit:cover;" /></div>
</div>
<div class="btn-row" style="justify-content:center;">
<a class="btn btn-outline" href="medien-casper.html#fotos" data-i18n="cas_galerie_btn">Zur ganzen Galerie</a>
@@ -86,7 +86,7 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-casper.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/i18n-casper.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
</body>
</html>
+11 -11
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Die Community — DOGFATHER UNIVERSE</title>
<meta name="description" content="Team Dogi ist Familie — die Community rund um DogFather und HasiDog." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,17 +20,17 @@
<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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-community.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-community-mobile.jpg?v=202610011927');">
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-community.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-community-mobile.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-community.jpg?v=202610011927" alt="" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-community.jpg?v=202610012001" alt="" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="com_eyebrow">Welt 2 — HasiDog</span>
<h1 data-i18n="com_h1">Die Community</h1>
@@ -47,7 +47,7 @@
<a class="btn btn-primary" href="links.html" data-i18n="com_discord_btn">Discord beitreten</a>
</div>
<div class="collage-photo" style="aspect-ratio:3/4;border-radius:var(--radius);">
<img src="assets/img/community-team-dogi.jpg?v=202610011927" alt="Diene, Ghost, VanVan und Dogi bei einem gemeinsamen Treffen von Team Dogi" style="width:100%;height:100%;object-fit:cover;object-position:center 25%;" />
<img src="assets/img/community-team-dogi.jpg?v=202610012001" alt="Diene, Ghost, VanVan und Dogi bei einem gemeinsamen Treffen von Team Dogi" style="width:100%;height:100%;object-fit:cover;object-position:center 25%;" />
</div>
</div>
</section>
@@ -85,7 +85,7 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-community.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/i18n-community.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
</body>
</html>
+11 -11
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Creator im Team — DOGFATHER UNIVERSE</title>
<meta name="description" content="Content Creator, die Teil von DogFather / Spicy Media sind." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,17 +20,17 @@
<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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-creator.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-creator-mobile.jpg?v=202610011927');">
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-creator.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-creator-mobile.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-creator.jpg?v=202610011927" alt="" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-creator.jpg?v=202610012001" alt="" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="crt_eyebrow">Manager DogFather — Team</span>
<h1 data-i18n="crt_h1" data-site-text-key="seitentitel_creator">Creator im Team</h1>
@@ -61,9 +61,9 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/data-creator.js?v=202610011927"></script>
<script src="assets/js/i18n-creator.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/data-creator.js?v=202610012001"></script>
<script src="assets/js/i18n-creator.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
<script>
document.addEventListener("DOMContentLoaded", async () => {
const grid = document.getElementById("creator-grid");
+11 -11
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Die Person, die DogFather erschuf — DOGFATHER UNIVERSE</title>
<meta name="description" content="Wer ist DogFather wirklich? Persönlichkeit, Werte und die Geschichte hinter dem Content." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,17 +20,17 @@
<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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-dogfather-person.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-dogfather-person-mobile.jpg?v=202610011927');">
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-dogfather-person.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-dogfather-person-mobile.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-dogfather-person.jpg?v=202610011927" alt="" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-dogfather-person.jpg?v=202610012001" alt="" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="df_eyebrow">Welt 1 — DogFather</span>
<h1 data-i18n="df_h1">Die Person, die DogFather erschuf!</h1>
@@ -41,7 +41,7 @@
<section class="section-tight">
<div class="container grid grid-2" style="align-items:center;">
<div class="collage-photo" style="aspect-ratio:1/1;border-radius:var(--radius);">
<img src="assets/img/dogfather-main.jpg?v=202610011927" alt="DogFather" style="width:100%;height:100%;object-fit:cover;object-position:center 28%;" />
<img src="assets/img/dogfather-main.jpg?v=202610012001" alt="DogFather" style="width:100%;height:100%;object-fit:cover;object-position:center 28%;" />
</div>
<div>
<h2 data-i18n="df_wer_h2">Wer ist Filipe?</h2>
@@ -159,7 +159,7 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-dogfather.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/i18n-dogfather.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
</body>
</html>
+8 -8
View File
@@ -5,7 +5,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Zugang — DOGFATHER UNIVERSE</title>
<meta name="robots" content="noindex, nofollow" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<!-- BUGFIX (19.08.2026, Nutzer-Report vom Handy: "hab es installiert und klappt nicht"):
Diese Seite ist der ERSTE Bildschirm, den man ueberhaupt zu sehen bekommt (ohne gueltige
Sitzung leitet gate.js JEDEN Aufruf hierher um) -- also auch der Bildschirm, von dem aus
@@ -22,12 +22,12 @@
statt des Logos. Bewusst eine eigene Datei OHNE Transparenz: iOS ersetzt Alpha durch
Schwarz, und icon-512.png hat transparente Ecken (nachgemessen) -> haette schwarze
Ecken gegeben. -->
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<style>
/* =====================================================================
Zugangsseite — bewusst kein braves Standard-Login-Formular, sondern
@@ -200,8 +200,8 @@
border: 2px solid rgba(143,217,234,.6);
box-shadow: 0 0 18px rgba(143,217,234,.4), inset 0 0 10px rgba(255,255,255,.08);
}
.gate-card-icon--dogi { background-image: url('assets/img/vw-gate-dogi.jpg?v=202610011927'); }
.gate-card-icon--vanvan { background-image: url('assets/img/vw-gate-vanvan.jpg?v=202610011927'); }
.gate-card-icon--dogi { background-image: url('assets/img/vw-gate-dogi.jpg?v=202610012001'); }
.gate-card-icon--vanvan { background-image: url('assets/img/vw-gate-vanvan.jpg?v=202610012001'); }
.gate-card--vanvan .gate-card-icon { border-color: rgba(255,143,198,.65); }
.gate-card-name { font-size: 1.05rem; font-weight: 800; margin: 0 0 .8rem; color: var(--text); }
.gate-card--vanvan .gate-card-name { color: #ffd1e8; }
@@ -233,7 +233,7 @@
linear-gradient(110deg, #6ee7b7, #34d399, #d4af37, #6ee7b7) border-box;
box-shadow: 0 30px 70px -25px rgba(0,0,0,.75), 0 0 50px -20px rgba(52,211,153,.35);
}
.gate-card-icon--diene { background-image: url('assets/img/avatar-diene.jpg?v=202610011927'); }
.gate-card-icon--diene { background-image: url('assets/img/avatar-diene.jpg?v=202610012001'); }
.gate-card--diene .gate-card-icon { border-color: rgba(110,231,183,.65); }
.gate-card--diene .gate-card-name { color: #c7f5e3; }
.gate-card--diene input:focus { border-color: rgba(52,211,153,.7); box-shadow: 0 0 0 4px rgba(52,211,153,.16); }
@@ -299,7 +299,7 @@
<div class="gate-stage">
<div class="gate-logo-wrap" aria-hidden="true">
<div class="gate-logo-glow"></div>
<img class="gate-logo-img" src="assets/img/logo-dogfather-transparent.png?v=202610011927" alt="" width="472" height="476" />
<img class="gate-logo-img" src="assets/img/logo-dogfather-transparent.png?v=202610012001" alt="" width="472" height="476" />
</div>
<div class="card gate-box">
+13 -13
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>HasiDog-Welt — DOGFATHER UNIVERSE</title>
<meta name="description" content="HasiDog: Maskottchen, Musikprojekt und die verspielte, familiäre Seite von Team Dogi." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,17 +20,17 @@
<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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-hasidog.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-hasidog-mobile.jpg?v=202610011927');">
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-hasidog.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-hasidog-mobile.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-hasidog.jpg?v=202610011927" alt="" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-hasidog.jpg?v=202610012001" alt="" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="hd_eyebrow">Welt 2 — HasiDog</span>
<h1 data-i18n="hd_h1">Willkommen in der HasiDog-Welt</h1>
@@ -41,7 +41,7 @@
<section class="section-tight">
<div class="container grid grid-2" style="align-items:center;">
<div class="collage-photo" style="aspect-ratio:1/1;border-radius:var(--radius);background:#fff;">
<img src="assets/img/sticker-hasidog-casper.png?v=202610011927" alt="HasiDog &amp; Casper Sticker" style="width:100%;height:100%;object-fit:contain;padding:1rem;" />
<img src="assets/img/sticker-hasidog-casper.png?v=202610012001" alt="HasiDog &amp; Casper Sticker" style="width:100%;height:100%;object-fit:contain;padding:1rem;" />
</div>
<div>
<h2 data-i18n="hd_was_h2">Wer ist HasiDog?</h2>
@@ -67,7 +67,7 @@
<p style="text-align:right;"><strong>– HasiDog 🐰</strong></p>
</div>
<div class="collage-photo frame-lila" style="aspect-ratio:auto;border-radius:var(--radius);">
<img src="assets/img/char-hasidog.jpg?v=202610011927" alt="HasiDog — grauer Hase mit schwarzem Hoodie und Cap" style="width:100%;height:auto;display:block;" />
<img src="assets/img/char-hasidog.jpg?v=202610012001" alt="HasiDog — grauer Hase mit schwarzem Hoodie und Cap" style="width:100%;height:auto;display:block;" />
</div>
</div>
</section>
@@ -179,7 +179,7 @@
<h2 data-i18n="hd_schlaf_h2">„Schlaft schön.“ 🩵</h2>
<p class="lead" data-i18n="hd_schlaf_lead" style="max-width:50ch;margin:0 auto 1.4rem;">Eine Szene aus der HasiDog-&amp;-Casper-Welt, wie sie im Buch lebendig wird.</p>
<div class="collage-photo frame-lila" style="max-width:640px;margin:0 auto;border-radius:var(--radius);aspect-ratio:1200/654;">
<img src="assets/img/hasidog-casper-book.jpg?v=202610011927" alt="Schlaft schön — Team Dogi Illustration" style="width:100%;height:100%;object-fit:cover;" />
<img src="assets/img/hasidog-casper-book.jpg?v=202610012001" alt="Schlaft schön — Team Dogi Illustration" style="width:100%;height:100%;object-fit:cover;" />
</div>
</div>
</section>
@@ -187,7 +187,7 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-hasidog.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/i18n-hasidog.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
</body>
</html>
+22 -22
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>DOGFATHER UNIVERSE — Streamer. Community. HasiDog. Manager.</title>
<meta name="description" content="DOGFATHER UNIVERSE: die Heimat von DogFather als Streamer, der HasiDog-Community und Manager DogFather bei Spicy Media." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,10 +20,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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
</head>
<body class="start-seite">
<div id="site-header"></div>
@@ -42,7 +42,7 @@
Bildschirm ist; ein CSS-Hintergrund kann das nicht, weil die Kante
dort je nach Fensterformat woanders liegt. -->
<div class="hero-artwork" aria-hidden="true">
<img class="hero-artwork-scharf" src="assets/img/universe-trio.jpg?v=202610011927"
<img class="hero-artwork-scharf" src="assets/img/universe-trio.jpg?v=202610012001"
width="1600" height="900" alt="" fetchpriority="high" decoding="async" />
</div>
@@ -170,7 +170,7 @@
<div class="char-showcase">
<a class="char-card dogfather" href="streamer.html">
<img src="assets/img/char-dogfather.jpg?v=202610011927" width="599" height="1212"
<img src="assets/img/char-dogfather.jpg?v=202610012001" width="599" height="1212"
alt="DogFather — Husky mit blauem Hoodie und Cap" />
<span class="char-meta">
<span class="char-name">DogFather</span>
@@ -179,7 +179,7 @@
</span>
</a>
<a class="char-card hasidog" href="hasidog.html">
<img src="assets/img/char-hasidog.jpg?v=202610011927" width="599" height="1212"
<img src="assets/img/char-hasidog.jpg?v=202610012001" width="599" height="1212"
alt="HasiDog — grauer Hase mit schwarzem Hoodie und Cap" />
<span class="char-meta">
<span class="char-name">HasiDog</span>
@@ -198,23 +198,23 @@
<h2>DogFather &amp; Casper</h2>
<div class="collage-wrap" id="collage-wrap">
<div class="collage-item">
<div class="collage-photo"><img class="collage-img" data-fallback="DogFather" src="assets/img/dogfather-portrait.jpg?v=202610011927" alt="DogFather" style="object-position:center top;"></div>
<div class="collage-photo"><img class="collage-img" data-fallback="DogFather" src="assets/img/dogfather-portrait.jpg?v=202610012001" alt="DogFather" style="object-position:center top;"></div>
<p class="collage-caption">DogFather 🩵</p>
</div>
<div class="collage-item">
<div class="collage-photo frame-lila"><img class="collage-img" data-fallback="Casper" src="assets/img/casper-1.jpg?v=202610011927" alt="Casper" style="object-position:center top;"></div>
<div class="collage-photo frame-lila"><img class="collage-img" data-fallback="Casper" src="assets/img/casper-1.jpg?v=202610012001" alt="Casper" style="object-position:center top;"></div>
<p class="collage-caption">Casper 🐾</p>
</div>
<div class="collage-item">
<div class="collage-photo frame-silver"><img class="collage-img" data-fallback="DogFather &amp; Casper" src="assets/img/dogfather-casper-1.jpg?v=202610011927" alt="DogFather und Casper zusammen" style="object-position:center 18%;"></div>
<div class="collage-photo frame-silver"><img class="collage-img" data-fallback="DogFather &amp; Casper" src="assets/img/dogfather-casper-1.jpg?v=202610012001" alt="DogFather und Casper zusammen" style="object-position:center 18%;"></div>
<p class="collage-caption" data-i18n="idx_collage_cap_team">Team 🩵🐾</p>
</div>
<div class="collage-item">
<div class="collage-photo frame-gold"><img class="collage-img" data-fallback="Casper" src="assets/img/casper-2.jpg?v=202610011927" alt="Casper"></div>
<div class="collage-photo frame-gold"><img class="collage-img" data-fallback="Casper" src="assets/img/casper-2.jpg?v=202610012001" alt="Casper"></div>
<p class="collage-caption" data-i18n="idx_collage_cap_huskylife">Husky-Life</p>
</div>
<div class="collage-item">
<div class="collage-photo frame-tuerkis"><img class="collage-img" data-fallback="DogFather &amp; Casper" src="assets/img/dogfather-casper-2.jpg?v=202610011927" alt="DogFather und Casper Nase an Nase"></div>
<div class="collage-photo frame-tuerkis"><img class="collage-img" data-fallback="DogFather &amp; Casper" src="assets/img/dogfather-casper-2.jpg?v=202610012001" alt="DogFather und Casper Nase an Nase"></div>
<p class="collage-caption" data-i18n="idx_collage_cap_nose">Nase an Nase 🩵</p>
</div>
</div>
@@ -277,10 +277,10 @@
<div class="container">
<h2 class="text-center" data-i18n="idx_galerie_h2">Impressionen</h2>
<div class="grid grid-4">
<div class="collage-photo" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/casper-3.jpg?v=202610011927" alt="Casper" style="width:100%;height:100%;object-fit:cover;object-position:center 20%;" /></div>
<div class="collage-photo frame-lila" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/card-vanvan.jpg?v=202610011927" alt="VanVan" style="width:100%;height:100%;object-fit:cover;" /></div>
<div class="collage-photo frame-silver" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/casper-4.jpg?v=202610011927" alt="Casper" style="width:100%;height:100%;object-fit:cover;object-position:42% center;" /></div>
<div class="collage-photo frame-gold" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/card-dogfather.jpg?v=202610011927" alt="DogFather" style="width:100%;height:100%;object-fit:cover;" /></div>
<div class="collage-photo" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/casper-3.jpg?v=202610012001" alt="Casper" style="width:100%;height:100%;object-fit:cover;object-position:center 20%;" /></div>
<div class="collage-photo frame-lila" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/card-vanvan.jpg?v=202610012001" alt="VanVan" style="width:100%;height:100%;object-fit:cover;" /></div>
<div class="collage-photo frame-silver" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/casper-4.jpg?v=202610012001" alt="Casper" style="width:100%;height:100%;object-fit:cover;object-position:42% center;" /></div>
<div class="collage-photo frame-gold" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/card-dogfather.jpg?v=202610012001" alt="DogFather" style="width:100%;height:100%;object-fit:cover;" /></div>
</div>
<div class="btn-row" style="justify-content:center;">
<a class="btn btn-outline" href="medien-dogfather.html" data-i18n="idx_galerie_btn">Zur ganzen Galerie</a>
@@ -319,10 +319,10 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/data-modis.js?v=202610011927"></script>
<script src="assets/js/data-scouts.js?v=202610011927"></script>
<script src="assets/js/i18n-index.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/data-modis.js?v=202610012001"></script>
<script src="assets/js/data-scouts.js?v=202610012001"></script>
<script src="assets/js/i18n-index.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></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.
+8 -8
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Kontakt &amp; Rechtliches — DOGFATHER UNIVERSE</title>
<meta name="description" content="Kontakt, Impressum und Datenschutz von DOGFATHER UNIVERSE." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,10 +20,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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
</head>
<body>
<div id="site-header"></div>
@@ -127,7 +127,7 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-kontakt.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/i18n-kontakt.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
</body>
</html>
+13 -13
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Alle Links — DOGFATHER UNIVERSE</title>
<meta name="description" content="Alle Social-Media- und Musik-Links von DogFather an einem Ort — plus QR-Codes." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,10 +20,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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
<style>
/* Rabattcodes: an ein KONTO gekoppelt, seit 08.09.2026.
@@ -68,12 +68,12 @@
.rabatt-gesperrt-knoepfe { display: flex; gap: .6rem; flex-wrap: wrap; }
</style>
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-links-seite.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-links-seite-mobile.jpg?v=202610011927');">
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-links-seite.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-links-seite-mobile.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-links-seite.jpg?v=202610011927" alt="" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-links-seite.jpg?v=202610012001" alt="" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="lk_eyebrow">🩵 Alle Links</span>
<h1 data-i18n="lk_h1">Alles an einem Ort</h1>
@@ -165,15 +165,15 @@
<h2 class="text-center" data-i18n="lk_qr_h2">QR-Codes</h2>
<div class="grid grid-3" style="max-width:800px;margin:0 auto;">
<div class="card qr-card">
<img src="assets/qr/qr-instagram.png?v=202610011927" alt="QR-Code Instagram @sf0118" style="width:160px;height:160px;object-fit:contain;margin:0 auto 1rem;border-radius:10px;display:block;" />
<img src="assets/qr/qr-instagram.png?v=202610012001" alt="QR-Code Instagram @sf0118" style="width:160px;height:160px;object-fit:contain;margin:0 auto 1rem;border-radius:10px;display:block;" />
<p class="small">Instagram</p>
</div>
<div class="card qr-card">
<img src="assets/qr/qr-snapchat.png?v=202610011927" alt="QR-Code Snapchat dogfather0804" style="width:160px;height:160px;object-fit:contain;margin:0 auto 1rem;border-radius:10px;display:block;" />
<img src="assets/qr/qr-snapchat.png?v=202610012001" alt="QR-Code Snapchat dogfather0804" style="width:160px;height:160px;object-fit:contain;margin:0 auto 1rem;border-radius:10px;display:block;" />
<p class="small">Snapchat</p>
</div>
<div class="card qr-card">
<img src="assets/qr/qr-teilen-baustein.png?v=202610011927" alt="QR-Code Dogis persönlicher Teilen-Baustein" style="width:160px;height:160px;object-fit:contain;margin:0 auto 1rem;border-radius:10px;display:block;" />
<img src="assets/qr/qr-teilen-baustein.png?v=202610012001" alt="QR-Code Dogis persönlicher Teilen-Baustein" style="width:160px;height:160px;object-fit:contain;margin:0 auto 1rem;border-radius:10px;display:block;" />
<p class="small" data-i18n="lk_qr_teilen">Dogis persönlicher Teilen-Baustein</p>
</div>
</div>
@@ -183,8 +183,8 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-links.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/i18n-links.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
<script>
(function () {
document.addEventListener("DOMContentLoaded", function () {
+13 -13
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Manager DogFather — Spicy Media — DOGFATHER UNIVERSE</title>
<meta name="description" content="DogFather als Manager bei der Spicy Media Agency: Scouts, Creator und faire Zusammenarbeit." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,17 +20,17 @@
<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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-manager.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-manager-mobile.jpg?v=202610011927');">
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-manager.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-manager-mobile.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-manager.jpg?v=202610011927" alt="" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-manager.jpg?v=202610012001" alt="" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="mgr_eyebrow">Welt 3 — Manager DogFather</span>
<h1 data-i18n="mgr_h1">Manager DogFather bei Spicy Media</h1>
@@ -45,7 +45,7 @@
<section class="section-tight">
<div class="container grid grid-2" style="align-items:center;gap:2.6rem;">
<div class="collage-photo frame-rot" style="aspect-ratio:1122/1402;border-radius:var(--radius);">
<img src="assets/img/manager-dogfather-portrait.jpg?v=202610011927" alt="DogFather — Manager bei Spicy Media"
<img src="assets/img/manager-dogfather-portrait.jpg?v=202610012001" alt="DogFather — Manager bei Spicy Media"
style="width:100%;height:100%;object-fit:cover;" />
</div>
<div>
@@ -91,7 +91,7 @@
<a class="btn-tiktok" href="https://www.tiktok.com/@spicymediaagentur" target="_blank" rel="noopener" style="margin-top:1rem;"><span class="btn-tiktok-note" aria-hidden="true">♪</span><span class="btn-tiktok-text">TikTok</span></a>
</div>
<div class="collage-photo frame-rot" style="aspect-ratio:1/1;border-radius:var(--radius);background:#000;">
<img src="assets/img/spicy-media-logo.jpg?v=202610011927" alt="Spicy Media Agency Logo"
<img src="assets/img/spicy-media-logo.jpg?v=202610012001" alt="Spicy Media Agency Logo"
style="width:100%;height:100%;object-fit:contain;padding:1.6rem;" />
</div>
</div>
@@ -140,9 +140,9 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/data-manager.js?v=202610011927"></script>
<script src="assets/js/i18n-manager.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/data-manager.js?v=202610012001"></script>
<script src="assets/js/i18n-manager.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
<script>
// "Weitere Manager" (21.08.2026) -- siehe Kommentar bei #weitere-manager-root
// oben. Aktuell IMMER window.MANAGERS === [] (siehe data-manager.js), Inhalt
+13 -13
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Medien — Casper — DOGFATHER UNIVERSE</title>
<meta name="description" content="Fotos und Videos rund um Husky Casper an einem Ort." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,17 +20,17 @@
<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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
</head>
<body class="mit-hintergrund" data-welt="casper" style="--page-bg:url('/assets/img/bg-medien-casper.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-medien-casper-mobile.jpg?v=202610011927');">
<body class="mit-hintergrund" data-welt="casper" style="--page-bg:url('/assets/img/bg-medien-casper.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-medien-casper-mobile.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-medien-casper.jpg?v=202610011927" alt="" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-medien-casper.jpg?v=202610012001" alt="" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="mc_eyebrow">Welt 2 — HasiDog</span>
<h1 data-i18n="mc_h1">Medien — Casper</h1>
@@ -60,10 +60,10 @@
</div>
<div id="site-footer"></div>
<script src="assets/js/data-media.js?v=202610011927"></script>
<script src="assets/js/data-videos.js?v=202610011927"></script>
<script src="assets/js/medien-welt.js?v=202610011927"></script>
<script src="assets/js/i18n-medien-casper.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/data-media.js?v=202610012001"></script>
<script src="assets/js/data-videos.js?v=202610012001"></script>
<script src="assets/js/medien-welt.js?v=202610012001"></script>
<script src="assets/js/i18n-medien-casper.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
</body>
</html>
+14 -14
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Medien — DogFather — DOGFATHER UNIVERSE</title>
<meta name="description" content="Fotos, Videos und Events aus DogFathers Welt an einem Ort." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,17 +20,17 @@
<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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
</head>
<body class="mit-hintergrund" data-welt="dogfather" style="--page-bg:url('/assets/img/bg-dogfather.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-dogfather-mobile.jpg?v=202610011927');">
<body class="mit-hintergrund" data-welt="dogfather" style="--page-bg:url('/assets/img/bg-dogfather.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-dogfather-mobile.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-dogfather.jpg?v=202610011927" alt="" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-dogfather.jpg?v=202610012001" alt="" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="md_eyebrow">Welt 1 — DogFather</span>
<h1 data-i18n="md_h1">Medien — DogFather</h1>
@@ -66,11 +66,11 @@
</div>
<div id="site-footer"></div>
<script src="assets/js/data-media.js?v=202610011927"></script>
<script src="assets/js/data-videos.js?v=202610011927"></script>
<script src="assets/js/data-aktionen.js?v=202610011927"></script>
<script src="assets/js/medien-welt.js?v=202610011927"></script>
<script src="assets/js/i18n-medien-dogfather.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/data-media.js?v=202610012001"></script>
<script src="assets/js/data-videos.js?v=202610012001"></script>
<script src="assets/js/data-aktionen.js?v=202610012001"></script>
<script src="assets/js/medien-welt.js?v=202610012001"></script>
<script src="assets/js/i18n-medien-dogfather.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
</body>
</html>
+14 -14
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Medien — HasiDog — DOGFATHER UNIVERSE</title>
<meta name="description" content="Fotos, Videos und Events aus der HasiDog-Welt an einem Ort." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,17 +20,17 @@
<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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
</head>
<body class="mit-hintergrund" data-welt="hasidog" style="--page-bg:url('/assets/img/bg-medien-hasidog.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-medien-hasidog-mobile.jpg?v=202610011927');">
<body class="mit-hintergrund" data-welt="hasidog" style="--page-bg:url('/assets/img/bg-medien-hasidog.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-medien-hasidog-mobile.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-medien-hasidog.jpg?v=202610011927" alt="" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-medien-hasidog.jpg?v=202610012001" alt="" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="mh_eyebrow">Welt 2 — HasiDog</span>
<h1 data-i18n="mh_h1">Medien — HasiDog</h1>
@@ -66,11 +66,11 @@
</div>
<div id="site-footer"></div>
<script src="assets/js/data-media.js?v=202610011927"></script>
<script src="assets/js/data-videos.js?v=202610011927"></script>
<script src="assets/js/data-aktionen.js?v=202610011927"></script>
<script src="assets/js/medien-welt.js?v=202610011927"></script>
<script src="assets/js/i18n-medien-hasidog.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/data-media.js?v=202610012001"></script>
<script src="assets/js/data-videos.js?v=202610012001"></script>
<script src="assets/js/data-aktionen.js?v=202610012001"></script>
<script src="assets/js/medien-welt.js?v=202610012001"></script>
<script src="assets/js/i18n-medien-hasidog.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
</body>
</html>
+14 -14
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Profil — DOGFATHER UNIVERSE</title>
<meta name="description" content="Team Dogi — persönliche Vorstellung." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -17,10 +17,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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
<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; }
@@ -131,12 +131,12 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/data-modis.js?v=202610011927"></script>
<script src="assets/js/data-scouts.js?v=202610011927"></script>
<script src="assets/js/data-creator.js?v=202610011927"></script>
<script src="assets/js/data-manager.js?v=202610011927"></script>
<script src="assets/js/i18n-profil.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/data-modis.js?v=202610012001"></script>
<script src="assets/js/data-scouts.js?v=202610012001"></script>
<script src="assets/js/data-creator.js?v=202610012001"></script>
<script src="assets/js/data-manager.js?v=202610012001"></script>
<script src="assets/js/i18n-profil.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
<script>
document.addEventListener("DOMContentLoaded", async () => {
const slug = new URLSearchParams(location.search).get("p") || "";
@@ -194,8 +194,8 @@ document.addEventListener("DOMContentLoaded", async () => {
// mehr oben im Kopfbereich, damit das Profil der Person (Foto/Name/Bio)
// sofort beim Öffnen der Seite im Fokus steht, ohne Banner davor.
const bgBasis = istScout || istCreator || istManager ? "bg-scouts" : "bg-dogfather";
document.body.style.setProperty("--page-bg", `url('/assets/img/${bgBasis}.jpg?v=202610011927')`);
document.body.style.setProperty("--page-bg-mobile", `url('/assets/img/${bgBasis}-mobile.jpg?v=202610011927')`);
document.body.style.setProperty("--page-bg", `url('/assets/img/${bgBasis}.jpg?v=202610012001')`);
document.body.style.setProperty("--page-bg-mobile", `url('/assets/img/${bgBasis}-mobile.jpg?v=202610012001')`);
document.title = `${person.name} — DOGFATHER UNIVERSE`;
+11 -11
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Rabattcodes — DOGFATHER UNIVERSE</title>
<meta name="description" content="Rabattcodes von Dogis Partnern für Team Dogi — spar bares Geld bei ausgewählten Marken." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,10 +20,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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
<style>
.code-platzhalter {
max-width: 620px;
@@ -397,12 +397,12 @@
}
</style>
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-links.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-links-mobile.jpg?v=202610011927');">
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-links.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-links-mobile.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-links.jpg?v=202610011927" alt="" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-links.jpg?v=202610012001" alt="" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="rc_eyebrow">🔒 Nur mit Konto</span>
<h1 data-i18n="rc_h1">Rabattcodes</h1>
@@ -420,7 +420,7 @@
<div class="rc-medaillon">
<span class="rc-raendel" aria-hidden="true"></span>
<span class="rc-glanz" aria-hidden="true"></span>
<img src="/assets/img/partner-vandiy.webp?v=202610011927" width="384" height="384"
<img src="/assets/img/partner-vandiy.webp?v=202610012001" width="384" height="384"
alt="Logo von Van’s DIY &amp; Bastelbedarf"
data-i18n-attr="alt:rc_logo_alt" loading="lazy" decoding="async" />
<span class="rc-schliff" aria-hidden="true"></span>
@@ -475,8 +475,8 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-rabattcodes.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/i18n-rabattcodes.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
<script>
(function () {
/* Ablaufdatum von DOGI10 — dieselbe Angabe wie "bis" in
+256
View File
@@ -0,0 +1,256 @@
/* =====================================================================
pruef-arbeitsschloss.mjs — hält das Schloss, was es verspricht?
WARUM ES DAS SCHLOSS GIBT (01.10.2026): Zwei Claude-Sitzungen
arbeiteten gleichzeitig in DogiHompage, ohne voneinander zu wissen.
Beide haben `git add -A` benutzt, beide den Stempellauf. Zweimal
ist es nur gutgegangen.
WARUM ES DIESE PRÜFUNG GIBT: Ein Schloss ist eine Sicherung, und
eine Sicherung, die man nie ausgelöst hat, ist eine Hoffnung. Die
teuren Fehler liegen bei einem Schloss alle in derselben Richtung —
es blockiert zu viel:
* Es blockiert das EIGENE Arbeiten -> wird abgeschafft.
* Es blockiert nach einem Absturz dauerhaft -> wird umgangen.
* Es blockiert, wenn es selbst kaputt ist -> wird entfernt.
Deshalb prüft diese Datei NICHT nur, dass es zuschlägt, sondern
vor allem, dass es in genau diesen drei Fällen DURCHLÄSST.
---------------------------------------------------------------------
ALLES IN EINEM WEGWERF-VERZEICHNIS
Die Prüfung legt ein eigenes kleines git-Verzeichnis an, kopiert
das Schloss und den Haken hinein und spielt dort. Das echte
`.arbeitsschloss` wird nicht angefasst — sonst nähme eine Prüfung
jemandem sein Schloss weg, und das wäre genau der Schaden, den sie
verhindern soll.
Aufrufen mit: node server/pruef-arbeitsschloss.mjs
===================================================================== */
import { mkdtempSync, rmSync, mkdirSync, copyFileSync, writeFileSync,
readFileSync, existsSync, chmodSync } from "node:fs";
import { tmpdir } from "node:os";
import { join, dirname } from "node:path";
import { fileURLToPath } from "node:url";
import { execFileSync, spawnSync } from "node:child_process";
let ok_ = 0, fehl = 0, offen = 0;
const ok = (b, text) => { if (b) { ok_++; console.log(" ok " + text); }
else { fehl++; console.log(" FEHL " + text); } };
const unklar = (text) => { offen++; console.log(" -- " + text); };
const HIER = dirname(fileURLToPath(import.meta.url));
const WURZEL = join(HIER, "..");
const SCHLOSS = join(WURZEL, "tools", "arbeitsschloss.mjs");
const HAKEN = join(WURZEL, "tools", "git-haken", "pre-commit");
/* ---------------------------------------------------------------------
1. Steht überhaupt alles da?
--------------------------------------------------------------------- */
console.log("\n=== 1. Die Teile ===");
ok(existsSync(SCHLOSS), "tools/arbeitsschloss.mjs ist da");
ok(existsSync(HAKEN), "tools/git-haken/pre-commit ist da");
/* DAS SCHLOSS DARF NICHT IM VERLAUF LANDEN. Committet wäre es eine
Behauptung von gestern: Nach einem Klon stünde dort, dass jemand
arbeitet, der längst fertig ist — und dann blockiert es, bis es
verfällt. */
{
const ignoriert = readFileSync(join(WURZEL, ".gitignore"), "utf8");
ok(/^\.arbeitsschloss$/m.test(ignoriert),
".arbeitsschloss steht in .gitignore (sonst waere es ein Schloss von gestern)");
}
/* DER HAKEN MUSS AUCH GEFUNDEN WERDEN. `.git/hooks` wird nicht
versioniert; ohne `core.hooksPath` liegt der Haken im Baum und tut
nichts. Das ist die Sorte Sicherung, die aussieht, als wäre sie da. */
{
let pfad = "";
try {
pfad = execFileSync("git", ["config", "--get", "core.hooksPath"],
{ cwd: WURZEL, encoding: "utf8" }).trim();
} catch { pfad = ""; }
ok(pfad === "tools/git-haken",
`core.hooksPath zeigt auf den Haken ("${pfad || "nicht gesetzt"}")`
+ (pfad === "tools/git-haken" ? "" : " — node tools/arbeitsschloss.mjs einrichten"));
}
/* DIE STEMPELWERKZEUGE NEHMEN ES SELBST. Abgeleitet aus dem
Quelltext, nicht angenommen: Ein Schloss, das man von Hand nehmen
muss, wird vergessen — und dann umgangen. */
for (const w of ["workspace-stempel.mjs", "seiten-stempel.mjs"]) {
const t = readFileSync(join(WURZEL, "tools", w), "utf8");
ok(/schlossKurz\(/.test(t) && /arbeitsschloss\.mjs/.test(t),
`tools/${w} nimmt das Schloss selbst`);
}
/* ---------------------------------------------------------------------
2. Wer bin ich?
--------------------------------------------------------------------- */
console.log("\n=== 2. Die Kennung ===");
const { werIch } = await import("file://" + SCHLOSS.replace(/\\/g, "/"));
{
const alt = process.env.ARBEITER;
delete process.env.ARBEITER;
const ohneName = werIch();
ok(ohneName.woher === "Sitzungskennung" && /^claude-[0-9a-f]{8}$/.test(ohneName.name),
`ohne ARBEITER kommt die Sitzungskennung ("${ohneName.name}")`);
/* DAS IST DER PUNKT, AN DEM RUNONE HÄNGT: Dort fällt es auf den
Systembenutzer zurück, und zwei Sitzungen desselben Benutzers
sehen damit gleich aus — die Sicherung griff ausgerechnet
zwischen den zwei Fällen nicht, für die sie gebaut wurde. */
ok(ohneName.name !== process.env.USERNAME,
"und nicht der Benutzername — zwei Sitzungen desselben Benutzers"
+ " muessen sich unterscheiden");
process.env.ARBEITER = "probe-name";
ok(werIch().name === "probe-name", "ein ausdrueckliches ARBEITER gewinnt");
if (alt === undefined) delete process.env.ARBEITER; else process.env.ARBEITER = alt;
}
/* ---------------------------------------------------------------------
3. Das Verhalten — im Wegwerf-Verzeichnis
--------------------------------------------------------------------- */
console.log("\n=== 3. Nehmen, sehen, freigeben ===");
const spiel = mkdtempSync(join(tmpdir(), "schlossprobe-"));
mkdirSync(join(spiel, "tools", "git-haken"), { recursive: true });
copyFileSync(SCHLOSS, join(spiel, "tools", "arbeitsschloss.mjs"));
copyFileSync(HAKEN, join(spiel, "tools", "git-haken", "pre-commit"));
try { chmodSync(join(spiel, "tools", "git-haken", "pre-commit"), 0o755); } catch { /* egal */ }
const SCHLOSSDATEI = join(spiel, ".arbeitsschloss");
const ICH = "claude-probe01";
const ANDERER = "claude-probe02";
/** Ruft das Schloss im Spielverzeichnis auf. */
function rufen(befehl, { wer = ICH, grund = "", verfall } = {}) {
const e = spawnSync(process.execPath,
[join(spiel, "tools", "arbeitsschloss.mjs"), befehl, grund],
{ cwd: spiel, encoding: "utf8",
env: { ...process.env, ARBEITER: wer,
...(verfall ? { SCHLOSS_VERFALL: String(verfall) } : {}) } });
return { stand: e.status, aus: (e.stdout || "") + (e.stderr || "") };
}
const schlossSetzen = (wer, vorMinuten = 0, was = "etwas") => writeFileSync(SCHLOSSDATEI,
`wer=${wer}\nseit=${new Date(Date.now() - vorMinuten * 60000).toISOString()}\n`
+ `was=${was}\nrechner=probe\n`);
ok(rufen("ansehen").aus.trim() === "frei", "ein leeres Verzeichnis ist frei");
{
const r = rufen("nehmen", { grund: "Probe" });
ok(r.stand === 0 && existsSync(SCHLOSSDATEI), `nehmen legt es an (${r.stand})`);
ok(/Sitzungskennung|ARBEITER/.test(r.aus), "und sagt, woher die Kennung kommt");
}
ok(rufen("ansehen").stand === 1, "danach meldet ansehen: belegt (Stand 1)");
ok(rufen("nehmen").stand === 0, "zweimal nehmen vom selben ist in Ordnung");
/* ---- DER FALL, DER ALLES ENTSCHEIDET -------------------------------
`fremd` muss zwischen „ich halte es" und „ein anderer haelt es"
unterscheiden. RunOnes erste Fassung konnte das nicht und hat damit
genau das richtige Verhalten bestraft. */
ok(rufen("fremd").stand === 0, "fremd: mein EIGENES Schloss blockiert mich nicht");
schlossSetzen(ANDERER);
ok(rufen("fremd").stand === 1, "fremd: ein FREMDES blockiert (Stand 1)");
ok(rufen("nehmen").stand === 1, "nehmen prallt an einem fremden ab");
{
const r = rufen("freigeben");
ok(r.stand === 1 && /gehört/.test(r.aus),
"und ein fremdes gibt man nicht einfach frei");
}
/* ---- ES VERFÄLLT. Sonst blockiert ein Absturz dauerhaft. ---------- */
schlossSetzen(ANDERER, 180);
ok(rufen("fremd").stand === 0, "ein verfallenes fremdes Schloss blockiert NICHT mehr");
{
const r = rufen("nehmen");
ok(r.stand === 0 && /verfallen/.test(r.aus),
"es wird uebernommen — und dass da jemand war, steht dabei");
}
schlossSetzen(ANDERER, 180);
ok(rufen("fremd", { verfall: 400 }).stand === 1,
"Gegenprobe: mit laengerer Frist gilt dasselbe Schloss wieder (SCHLOSS_VERFALL)");
/* ---- UNLESBAR IST NICHT BELEGT ------------------------------------
Ein kaputtes Schloss darf die Arbeit nicht anhalten. */
writeFileSync(SCHLOSSDATEI, "das ist kein Schloss\n");
{
const r = rufen("fremd");
ok(r.stand === 0, `ein unbrauchbarer Inhalt blockiert nicht (${r.stand})`);
}
writeFileSync(SCHLOSSDATEI, `wer=${ANDERER}\nseit=voelliger-unsinn\nwas=x\n`);
ok(rufen("fremd").stand === 0,
"und ein unlesbarer Zeitstempel gilt als verfallen, nicht als eben genommen");
/* ---- Freigeben ---------------------------------------------------- */
schlossSetzen(ICH);
ok(rufen("freigeben").stand === 0 && !existsSync(SCHLOSSDATEI),
"das eigene gibt man frei, und danach ist die Datei weg");
ok(rufen("freigeben").stand === 0, "zweimal freigeben ist kein Fehler");
/* ---------------------------------------------------------------------
4. Der git-Haken — am echten git, nicht an der Behauptung
--------------------------------------------------------------------- */
console.log("\n=== 4. Der Haken am echten git ===");
{
const git = (...a) => spawnSync("git", a, { cwd: spiel, encoding: "utf8",
env: { ...process.env, ARBEITER: ICH } });
git("init", "-q");
git("config", "user.email", "[email protected]");
git("config", "user.name", "Probe");
git("config", "core.hooksPath", "tools/git-haken");
writeFileSync(join(spiel, "a.txt"), "eins\n");
git("add", "-A");
const erst = git("commit", "-q", "-m", "erster");
ok(erst.status === 0, `ohne Schloss laesst der Haken committen (${erst.status})`);
writeFileSync(join(spiel, "a.txt"), "zwei\n");
schlossSetzen(ICH);
git("add", "-A");
const eigen = git("commit", "-q", "-m", "mit eigenem Schloss");
ok(eigen.status === 0,
`mit dem EIGENEN Schloss ebenfalls (${eigen.status}) — sonst waere ordentliches`
+ " Abschliessen bestraft");
writeFileSync(join(spiel, "a.txt"), "drei\n");
schlossSetzen(ANDERER, 0, "arbeitet gerade");
git("add", "-A");
const fremd = git("commit", "-q", "-m", "darf nicht entstehen");
const text = (fremd.stdout || "") + (fremd.stderr || "");
ok(fremd.status === 1, `mit einem FREMDEN Schloss bricht der Commit ab (${fremd.status})`);
ok(/arbeitet gerade jemand anders/.test(text), "und sagt, warum");
ok(/claude-probe02/.test(text), "und WER es ist");
/* UND DIE ZAHL DER COMMITS BEWEIST ES. Eine Meldung allein könnte
auch bei einem erfolgreichen Commit erscheinen. */
const anzahl = Number(spawnSync("git", ["rev-list", "--count", "HEAD"],
{ cwd: spiel, encoding: "utf8" }).stdout.trim());
ok(anzahl === 2, `es stehen genau zwei Commits da, nicht drei (${anzahl})`);
/* DER NOTAUSGANG MUSS GEHEN. Ein Riegel ohne Notausgang wird
ausgebaut, nicht benutzt. */
const zwang = spawnSync("git", ["commit", "-q", "-m", "mit Zwang"],
{ cwd: spiel, encoding: "utf8",
env: { ...process.env, ARBEITER: ICH, SCHLOSS_ZWANG: "ja" } });
ok(zwang.status === 0, `SCHLOSS_ZWANG=ja kommt vorbei (${zwang.status})`);
/* UND OHNE DAS SCHLOSS-WERKZEUG DARF ER NICHT BLOCKIEREN: Wer den
Haken in ein Verzeichnis ohne Schloss mitnimmt, soll arbeiten
koennen. */
rmSync(join(spiel, "tools", "arbeitsschloss.mjs"));
schlossSetzen(ANDERER);
writeFileSync(join(spiel, "a.txt"), "vier\n");
git("add", "-A");
const ohneWerkzeug = git("commit", "-q", "-m", "ohne Werkzeug");
ok(ohneWerkzeug.status === 0,
`ohne das Schloss-Werkzeug laesst der Haken durch (${ohneWerkzeug.status})`);
}
try { rmSync(spiel, { recursive: true, force: true }); } catch { /* Aufraeumrest */ }
console.log(`\n${ok_} Pruefungen, ${fehl} Fehler, ${offen} nicht nachsehbar`);
console.log(fehl ? "NICHT IN ORDNUNG\n" : "ALLES IN ORDNUNG\n");
process.exit(fehl ? 1 : 0);
+13 -13
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Stimmen über DogFather — DOGFATHER UNIVERSE</title>
<meta name="description" content="Was die Community und das Team über DogFather sagen." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,17 +20,17 @@
<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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-stimmen.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-stimmen-mobile.jpg?v=202610011927');">
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-stimmen.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-stimmen-mobile.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-stimmen.jpg?v=202610011927" alt="" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-stimmen.jpg?v=202610012001" alt="" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="st_eyebrow">Welt 2 — HasiDog</span>
<h1 data-i18n="st_h1">Stimmen über DogFather</h1>
@@ -107,10 +107,10 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/data-stimmen-avatare.js?v=202610011927"></script>
<script src="assets/js/i18n-stimmen.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/bild-vorbereiten.js?v=202610011927"></script>
<script src="assets/js/stimmen.js?v=202610011927"></script>
<script src="assets/js/data-stimmen-avatare.js?v=202610012001"></script>
<script src="assets/js/i18n-stimmen.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
<script src="assets/js/bild-vorbereiten.js?v=202610012001"></script>
<script src="assets/js/stimmen.js?v=202610012001"></script>
</body>
</html>
+14 -14
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Wer ist DogFather? — DOGFATHER UNIVERSE</title>
<meta name="description" content="Die persönliche Geschichte hinter DogFather — Filipe, Streamer, Manager bei Spicy Media und Hundepapa von Husky Casper." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,17 +20,17 @@
<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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-streamer.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-streamer-mobile.jpg?v=202610011927');">
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-streamer.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-streamer-mobile.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-streamer.jpg?v=202610011927" alt="" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-streamer.jpg?v=202610012001" alt="" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="str_eyebrow">Welt 1 — DogFather</span>
<h1 data-i18n="str_h1">Wer ist DogFather? – Mehr als nur ein Name 🩵</h1>
@@ -55,7 +55,7 @@
<p class="quote" data-i18n="str_intro_quote" style="margin-top:1.4rem;">Doch DogFather ist nicht einfach nur ein Name im Internet. DogFather ist ein Teil von mir.</p>
</div>
<div class="collage-photo frame-gold" style="aspect-ratio:2/3;border-radius:var(--radius);">
<img src="assets/img/streamer-filipe-portrait.jpg?v=202610011927" alt="Filipe alias DogFather" style="width:100%;height:100%;object-fit:cover;object-position:center top;" />
<img src="assets/img/streamer-filipe-portrait.jpg?v=202610012001" alt="Filipe alias DogFather" style="width:100%;height:100%;object-fit:cover;object-position:center top;" />
</div>
</div>
</section>
@@ -100,7 +100,7 @@
(siehe .collage-photo-kompakt in main.css, jetzt 720px statt 460px), der
sich an der typischen Höhe der Textspalte in diesem Abschnitt orientiert. -->
<div class="collage-photo collage-photo-kompakt frame-lila" style="border-radius:var(--radius);">
<img src="assets/img/streamer-mascot.jpg?v=202610011927" alt="DogFather Maskottchen" />
<img src="assets/img/streamer-mascot.jpg?v=202610012001" alt="DogFather Maskottchen" />
</div>
<div>
<h2 data-i18n="str_casper_h2">🐺 Casper – mein treuer Begleiter</h2>
@@ -161,7 +161,7 @@
<p class="quote" data-i18n="str_ausmacht_quote2" style="margin-top:1.4rem;">Ein Mensch, der gerne lacht, andere unterhält und manchmal vollkommen verrückte Dinge macht – aber niemals vergisst, wie wichtig Menschlichkeit, Respekt und Zusammenhalt sind.</p>
</div>
<div class="collage-photo frame-lila" style="aspect-ratio:auto;border-radius:var(--radius);">
<img src="assets/img/streamer-highlight.jpg?v=202610011927" alt="DogFather" style="width:100%;height:auto;display:block;" />
<img src="assets/img/streamer-highlight.jpg?v=202610012001" alt="DogFather" style="width:100%;height:auto;display:block;" />
</div>
</div>
</section>
@@ -199,7 +199,7 @@
<a class="btn-spicy-mini" href="team-scouts.html" style="padding:.85rem 1.7rem;font-size:1.05rem;gap:.5rem;"><span data-i18n="str_scoutmanager_btn">🌶️ Scout-Manager</span></a>
</div>
<div class="collage-photo frame-rot" style="aspect-ratio:1/1;border-radius:var(--radius);background:#000;">
<img src="assets/img/spicy-media-logo.jpg?v=202610011927" alt="Spicy Media Agency Logo"
<img src="assets/img/spicy-media-logo.jpg?v=202610012001" alt="Spicy Media Agency Logo"
style="width:100%;height:100%;object-fit:contain;padding:1.6rem;" />
</div>
</div>
@@ -218,7 +218,7 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-streamer.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/i18n-streamer.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
</body>
</html>
+11 -11
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Streamplan &amp; Livebereich — DOGFATHER UNIVERSE</title>
<meta name="description" content="Wann geht DogFather live? Streamplan und Livebereich." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,17 +20,17 @@
<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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-streamplan.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-streamplan-mobile.jpg?v=202610011927');">
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-streamplan.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-streamplan-mobile.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-streamplan.jpg?v=202610011927" alt="" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-streamplan.jpg?v=202610012001" alt="" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="sp_eyebrow">Welt 1 — DogFather</span>
<h1 data-i18n="sp_h1">Streamplan &amp; Livebereich</h1>
@@ -127,8 +127,8 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-streamplan.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/streamplan.js?v=202610011927"></script>
<script src="assets/js/i18n-streamplan.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
<script src="assets/js/streamplan.js?v=202610012001"></script>
</body>
</html>
+11 -11
View File
@@ -5,15 +5,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Mein Supporter-Bereich — DOGFATHER UNIVERSE</title>
<meta name="description" content="Dein persönlicher Supporter-Bereich: Abo-Status, Fortschritt und Treueprämien." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta name="robots" content="noindex" />
<link rel="stylesheet" href="assets/css/main.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
<style>
/* =====================================================================
Supporter-Bereich — komplett neu gestaltet (Nutzer-Feedback
@@ -397,12 +397,12 @@
}
</style>
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-supporter.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-supporter-mobile.jpg?v=202610011927');">
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-supporter.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-supporter-mobile.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-supporter.jpg?v=202610011927" alt="Dogfather Supporter-Abo" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-supporter.jpg?v=202610012001" alt="Dogfather Supporter-Abo" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="su_eyebrow">👑 Supporter-Bereich</span>
<h1 id="supp-begruessung" data-i18n="su_lade">Dein Supporter-Bereich</h1>
@@ -516,9 +516,9 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-supporter.js?v=202610011927"></script>
<script src="assets/js/supporter.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/i18n-supporter.js?v=202610012001"></script>
<script src="assets/js/supporter.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
<script>
(function () {
const S = window.DogiSupporter;
+12 -12
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Modi-Team — DOGFATHER UNIVERSE</title>
<meta name="description" content="VanVan, Diene, Funny, Miss und Marina — das Modi-/Core-Team von Team Dogi." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,17 +20,17 @@
<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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-modis.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-modis.jpg?v=202610011927');">
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-modis.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-modis.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-modis.jpg?v=202610011927" alt="" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-modis.jpg?v=202610012001" alt="" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="tm_eyebrow">🩵 Team Dogi</span>
<h1 data-i18n="tm_h1" data-site-text-key="seitentitel_modi">Das Modi-Team</h1>
@@ -56,7 +56,7 @@
<a class="btn btn-primary" href="vanvan.html" data-i18n="tm_vanvan_btn">VanVans exklusive Seite →</a>
</div>
<div class="collage-photo" style="aspect-ratio:1/1;border-radius:var(--radius);">
<img src="assets/img/card-vanvan-team.jpg?v=202610011927" alt="VanVan" style="width:100%;height:100%;object-fit:cover;" />
<img src="assets/img/card-vanvan-team.jpg?v=202610012001" alt="VanVan" style="width:100%;height:100%;object-fit:cover;" />
</div>
</div>
</div>
@@ -73,9 +73,9 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/data-modis.js?v=202610011927"></script>
<script src="assets/js/i18n-team-modis.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/data-modis.js?v=202610012001"></script>
<script src="assets/js/i18n-team-modis.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
<script>
document.addEventListener("DOMContentLoaded", () => {
const grid = document.getElementById("modis-grid");
+11 -11
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Scout-Team — DOGFATHER UNIVERSE</title>
<meta name="description" content="Die Scouts von Team Dogi bei Spicy Media." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,17 +20,17 @@
<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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-scouts.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-scouts-mobile.jpg?v=202610011927');">
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-scouts.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-scouts-mobile.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-scouts.jpg?v=202610011927" alt="" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-scouts.jpg?v=202610012001" alt="" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="ts_eyebrow">Manager DogFather — Spicy Media</span>
<h1 data-i18n="ts_h1" data-site-text-key="seitentitel_scout">Mein Scout-Team</h1>
@@ -50,9 +50,9 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/data-scouts.js?v=202610011927"></script>
<script src="assets/js/i18n-team-scouts.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/data-scouts.js?v=202610012001"></script>
<script src="assets/js/i18n-team-scouts.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
<script>
document.addEventListener("DOMContentLoaded", () => {
const grid = document.getElementById("scouts-grid");
+371
View File
@@ -0,0 +1,371 @@
/* =====================================================================
arbeitsschloss.mjs — macht sichtbar, wer gerade in diesem
Verzeichnis arbeitet.
WARUM ES DAS GIBT (01.10.2026, nach zwei knappen Fällen an einem Tag)
An diesem Tag arbeiteten zwei Claude-Sitzungen gleichzeitig in
DogiHompage, ohne voneinander zu wissen. Keine hat etwas falsch
gemacht — sie konnten es nicht wissen. Zweimal ist es nur gut
gegangen:
* Beide haben `git add -A` benutzt. Hätte die eine
unfestgeschriebene Arbeit der anderen im Baum gehabt, wäre sie
mitcommittet worden. Nachgesehen: diesmal war nichts dabei.
* Beide haben `tools/workspace-stempel.mjs` laufen lassen. Der
schreibt 45 Dateien um. Wer dort gerade eine offen hatte,
bekam sie unter den Händen weg geändert.
Dasselbe hat in RunOne am 03.09.2026 sieben Minuten Ausfall
gekostet, und dort gibt es seitdem `arbeitsschloss.sh`. Diese
Fassung übernimmt dessen Lehren und löst zusätzlich das Problem,
an dem die dortige am meisten hängt — siehe „WER BIN ICH".
---------------------------------------------------------------------
WAS DIESES SCHLOSS IST UND WAS NICHT
Es ist kein Riegel. Es kann niemanden aussperren, und das soll es
auch nicht — wer wirklich muss, kommt vorbei. Es beantwortet eine
einzige Frage, die heute niemand beantworten konnte: „arbeitet
hier gerade sonst jemand?"
Ein Schloss, das das eigene Arbeiten blockiert, wird abgeschafft.
Deshalb drei Eigenschaften, alle drei teuer gelernt:
1. ES VERFÄLLT (nach zwei Stunden). Ein Schloss, das man
vergessen kann, blockiert irgendwann dauerhaft — und wird beim
ersten Ärger umgangen. Ab da ist es wertlos, obwohl es noch da
ist. Ein verfallenes Schloss gilt als frei, und dass da jemand
war, wird ausdrücklich gesagt.
2. DIE FRAGE IST „HÄLT ES JEMAND ANDERS", NICHT „IST
ABGESCHLOSSEN". RunOnes erste Fassung fragte das Zweite, und
das war falsch: Wer während seiner Arbeit ordentlich
abschließt — also genau das erwünschte Verhalten — hätte
danach nie mehr ausliefern können. Eine Sicherung, die das
richtige Verhalten bestraft, wird abgeschafft. Dafür gibt es
`fremd`.
3. WER ES NICHT LESEN KANN, WIRD NICHT GEBLOCKT. Ein kaputtes
Schloss darf nicht die Arbeit anhalten. Es meldet dann den
dritten Ausgang — „konnte nicht nachsehen" — und lässt
weiterlaufen. Eine Warnung, die bei jeder Störung die Arbeit
stoppt, wird als Erstes entfernt.
---------------------------------------------------------------------
WER BIN ICH — UND WARUM DAS DER SCHWIERIGE TEIL IST
RunOnes Fassung nimmt im Zweifel den Systembenutzer. Am 04.09.2026
stand dort dazu die bittere Notiz: Zwei Claudian-Sitzungen laufen
BEIDE als `claudian`, und ohne gesetztes `ARBEITER` sah das fremde
Schloss aus wie das eigene — die Sicherung griff ausgerechnet
zwischen den zwei Fällen nicht, für die sie gebaut wurde. Deshalb
ist dort `export ARBEITER=…` Pflicht.
Pflicht heißt: man vergisst es. Hier gibt es etwas Besseres:
`CLAUDE_CODE_SESSION_ID` steht in jeder Sitzung und ist je Sitzung
verschieden (nachgesehen, 36 Zeichen UUID). Zwei Sitzungen auf
demselben Windows-Benutzer unterscheiden sich damit von selbst,
ohne dass jemand etwas tun muss.
Die Reihenfolge ist deshalb:
1. `ARBEITER` — wenn jemand ausdrücklich einen Namen will
2. Sitzungskennung — der Normalfall, ohne Zutun
3. Benutzername + WARNUNG — der schlechte Fall, und er sagt es
---------------------------------------------------------------------
AUFRUFEN
node tools/arbeitsschloss.mjs nehmen ["was ich tue"]
node tools/arbeitsschloss.mjs freigeben
node tools/arbeitsschloss.mjs ansehen 0 = frei/verfallen, 1 = belegt
node tools/arbeitsschloss.mjs fremd 0 = frei oder MEINES, 1 = fremd
node tools/arbeitsschloss.mjs einrichten setzt den git-Haken
Die Stempelwerkzeuge nehmen es SELBST und geben es selbst wieder
frei — wie `bauen.sh` im Shop. Ein Schloss, das man von Hand nehmen
muss, wird vergessen; dann wird es umgangen und ist ab da nichts
mehr wert.
===================================================================== */
import { readFileSync, writeFileSync, unlinkSync, existsSync } from "node:fs";
import { dirname, join } from "node:path";
import { fileURLToPath } from "node:url";
import { hostname, userInfo } from "node:os";
import { execFileSync } from "node:child_process";
const WURZEL = join(dirname(fileURLToPath(import.meta.url)), "..");
const DATEI = join(WURZEL, ".arbeitsschloss");
const HAKEN_ORDNER = "tools/git-haken";
/** Nach wie vielen Minuten ein Schloss als vergessen gilt. */
const VERFALL_MINUTEN = Number(process.env.SCHLOSS_VERFALL || 120);
const rot = (t) => `\x1b[31m${t}\x1b[0m`;
const gelb = (t) => `\x1b[33m${t}\x1b[0m`;
/** Wer bin ich? Siehe „WER BIN ICH" im Kopf. */
export function werIch() {
if (process.env.ARBEITER) return { name: process.env.ARBEITER, woher: "ARBEITER" };
const s = process.env.CLAUDE_CODE_SESSION_ID;
if (s && s.length >= 8) return { name: `claude-${s.slice(0, 8)}`, woher: "Sitzungskennung" };
return { name: userInfo().username, woher: "Benutzername", schwach: true };
}
/** Was steht im Schloss? `null` = frei, `undefined` = konnte nicht nachsehen. */
function lesen() {
if (!existsSync(DATEI)) return null;
try {
const roh = readFileSync(DATEI, "utf8");
const feld = (n) => (roh.match(new RegExp(`^${n}=(.*)$`, "m")) || [])[1]?.trim() || "";
const wer = feld("wer");
if (!wer) return null;
const seit = feld("seit");
const ms = Date.parse(seit);
/* EIN UNLESBARER ZEITSTEMPEL IST KEIN JUNGES SCHLOSS. Stünde hier
0, wäre das Schloss „gerade erst genommen" und würde ewig
blocken. Unlesbar heißt: als verfallen behandeln. */
const alterMin = Number.isNaN(ms) ? 99999 : Math.floor((Date.now() - ms) / 60000);
return { wer, seit, was: feld("was"), rechner: feld("rechner"), alterMin };
} catch (f) {
console.error(gelb(`[Schloss] Konnte nicht nachsehen: ${f?.message}`));
return undefined;
}
}
function schreiben(wer, was) {
writeFileSync(DATEI, [
`wer=${wer}`,
`seit=${new Date().toISOString()}`,
`was=${was || ""}`,
`rechner=${hostname()}`,
"",
].join("\n"), "utf8");
}
const verfallen = (s) => s.alterMin >= VERFALL_MINUTEN;
/* ---------------------------------------------------------------------
Der git-Haken
Hier liegt das Stück, das heute wirklich gefehlt hat: Beide
Sitzungen haben `git add -A` benutzt. Ein Haken ist die einzige
Stelle, an der sich das ABFANGEN lässt, ohne dass jemand daran
denken muss.
`core.hooksPath` statt `.git/hooks`: Letzteres wird nicht
versioniert und wäre nach jedem frischen Klon weg — also genau
dann nicht da, wenn es gebraucht wird. Der Ordner liegt deshalb im
Baum, und `einrichten` zeigt git darauf.
--------------------------------------------------------------------- */
function einrichten() {
let jetzt = "";
try {
jetzt = execFileSync("git", ["config", "--get", "core.hooksPath"],
{ cwd: WURZEL, encoding: "utf8" }).trim();
} catch { jetzt = ""; }
if (jetzt === HAKEN_ORDNER) {
console.log(`Der git-Haken ist eingerichtet (core.hooksPath = ${HAKEN_ORDNER}).`);
return 0;
}
if (jetzt) {
console.error(rot(`core.hooksPath zeigt auf "${jetzt}", nicht auf "${HAKEN_ORDNER}".`));
console.error(" Das überschreibe ich nicht von mir aus — dort hängt vielleicht");
console.error(" etwas anderes dran. Von Hand:");
console.error(` git config core.hooksPath ${HAKEN_ORDNER}`);
return 1;
}
execFileSync("git", ["config", "core.hooksPath", HAKEN_ORDNER], { cwd: WURZEL });
console.log(`Eingerichtet: core.hooksPath = ${HAKEN_ORDNER}`);
return 0;
}
/* ---------------------------------------------------------------------
Für andere Werkzeuge: selbst nehmen, selbst freigeben
--------------------------------------------------------------------- */
/** Nimmt das Schloss für die Dauer von `tun()` und gibt es danach frei.
*
* GIBT AUCH BEI EINEM FEHLER FREI. Ein Schloss, das nach einem
* Absturz liegen bleibt, ist der Anfang vom Umgehen — es verfällt
* zwar nach zwei Stunden, aber zwei Stunden sind lang.
*
* UND ES GIBT NICHT FREI, WAS IHM NICHT GEHÖRT: Hielt ich das
* Schloss schon vorher (weil jemand es von Hand genommen hat),
* bleibt es danach stehen. Sonst nähme ein Stempellauf dem
* Menschen sein Schloss weg.
*/
export async function mitSchloss(was, tun) {
const ich = werIch();
const vorher = lesen();
const schonMeins = vorher && vorher.wer === ich.name && !verfallen(vorher);
const lage = fremdLage(ich);
if (lage.fremd) {
console.error(rot("\nABBRUCH: In diesem Verzeichnis arbeitet gerade jemand anders."));
console.error(` Wer: ${lage.wer}`);
console.error(` Seit: vor ${lage.alterMin} Minuten`);
if (lage.was) console.error(` Was: ${lage.was}`);
console.error("");
console.error(` „${was}" schreibt Dateien um, die dort offen sein könnten.`);
console.error(" Genau daraus wurde am 01.10.2026 zweimal fast ein Schaden.");
console.error(" Erst abstimmen. Wenn das Schloss liegen geblieben ist:");
console.error(" node tools/arbeitsschloss.mjs ansehen");
process.exit(9);
}
if (!schonMeins) schreiben(ich.name, was);
try {
return await tun();
} finally {
if (!schonMeins) {
try { unlinkSync(DATEI); } catch { /* war schon weg -- in Ordnung */ }
}
}
}
/** Dasselbe wie `mitSchloss`, aber in EINER Zeile am Kopf eines
* Werkzeugs — ohne dass es seinen Inhalt in eine Funktion packen
* muss.
*
* WARUM ES DAS ZUSAETZLICH GIBT: Die Stempelwerkzeuge sind von oben
* nach unten geschrieben. Sie für `mitSchloss` umzubauen wäre mehr
* Risiko als Nutzen — und ein Schloss, dessen Einbau riskant ist,
* wird nicht eingebaut.
*
* Gibt beim Programmende frei, auch nach einem Absturz: Ein Schloss,
* das liegen bleibt, ist der Anfang vom Umgehen.
*/
export function schlossKurz(was) {
const ich = werIch();
const lage = fremdLage(ich);
if (lage.fremd) {
console.error(rot("\nABBRUCH: In diesem Verzeichnis arbeitet gerade jemand anders."));
console.error(` Wer: ${lage.wer}`);
console.error(` Seit: vor ${lage.alterMin} Minuten`);
if (lage.was) console.error(` Was: ${lage.was}`);
console.error("");
console.error(` „${was}" schreibt viele Dateien um — auch solche, die dort`);
console.error(" gerade offen sein könnten. Am 01.10.2026 ist genau das");
console.error(" zweimal nur gutgegangen.");
console.error("");
console.error(" Erst abstimmen. Nachsehen: node tools/arbeitsschloss.mjs ansehen");
process.exit(9);
}
if (lage.eigenes) return; /* nicht wegnehmen, was schon meins ist */
schreiben(ich.name, was);
let weg = false;
const loesen = () => {
if (weg) return;
weg = true;
try { unlinkSync(DATEI); } catch { /* war schon weg */ }
};
process.on("exit", loesen);
/* Auch bei Strg+C -- sonst bleibt es nach jedem Abbruch liegen. */
for (const art of ["SIGINT", "SIGTERM"]) {
process.on(art, () => { loesen(); process.exit(130); });
}
}
/** Hält das Schloss JEMAND ANDERS? Siehe Punkt 2 im Kopf. */
export function fremdLage(ich = werIch()) {
const s = lesen();
if (s === undefined) return { unklar: true, fremd: false };
if (s === null) return { frei: true, fremd: false };
if (verfallen(s)) return { verfallen: true, fremd: false, ...s };
if (s.wer === ich.name) return { eigenes: true, fremd: false, ...s };
return { fremd: true, ...s };
}
/* ---------------------------------------------------------------------
Aufruf von der Befehlszeile
--------------------------------------------------------------------- */
if (process.argv[1] && fileURLToPath(import.meta.url) === process.argv[1]) {
const befehl = process.argv[2] || "ansehen";
const ich = werIch();
if (ich.schwach && befehl !== "ansehen") {
console.error(gelb(
`[Schloss] Kennung ist nur der Benutzername ("${ich.name}").`));
console.error(gelb(
" Zwei Sitzungen auf demselben Benutzer sehen damit gleich aus — genau"));
console.error(gelb(
" dafür hat RunOne am 04.09.2026 bezahlt. Besser: ARBEITER=<name> setzen."));
}
if (befehl === "nehmen") {
const grund = process.argv[3] || "";
const s = lesen();
if (s === undefined) {
console.error(gelb("[Schloss] Nicht lesbar — ich nehme es trotzdem und sage es."));
schreiben(ich.name, grund);
process.exit(0);
}
if (s && s.wer === ich.name && !verfallen(s)) {
schreiben(ich.name, grund);
console.log(`Schloss war schon deins ("${ich.name}"), Zeit erneuert.`);
process.exit(0);
}
if (s && verfallen(s)) {
console.log(gelb(`Achtung: "${s.wer}" hatte das Schloss seit ${s.alterMin} Minuten`));
console.log(gelb("und hat es nicht freigegeben. Es gilt als verfallen."));
if (s.was) console.log(` Was dort lief: ${s.was}`);
schreiben(ich.name, grund);
process.exit(0);
}
if (s) {
console.error(rot("HIER ARBEITET GERADE JEMAND ANDERS."));
console.error(` Wer: ${s.wer}`);
console.error(` Seit: ${s.seit} (vor ${s.alterMin} Minuten)`);
if (s.was) console.error(` Was: ${s.was}`);
if (s.rechner) console.error(` Rechner: ${s.rechner}`);
console.error("");
console.error(" Nicht einfach weitermachen. Erst abstimmen — bei zwei");
console.error(" Claude-Sitzungen geht das mit SendMessage.");
process.exit(1);
}
schreiben(ich.name, grund);
console.log(`Schloss genommen von "${ich.name}" (${ich.woher})`
+ `${grund ? ` — ${grund}` : ""}.`);
process.exit(0);
}
if (befehl === "freigeben") {
const s = lesen();
if (!s) { console.log("Es war gar nicht abgeschlossen."); process.exit(0); }
if (s.wer !== ich.name && process.env.SCHLOSS_ZWANG !== "ja") {
console.error(rot(`Das Schloss gehört "${s.wer}", nicht "${ich.name}".`));
console.error(" Wenn du sicher bist: SCHLOSS_ZWANG=ja node tools/arbeitsschloss.mjs freigeben");
process.exit(1);
}
unlinkSync(DATEI);
console.log("Schloss freigegeben.");
process.exit(0);
}
if (befehl === "ansehen") {
const s = lesen();
if (s === undefined) { console.log("konnte nicht nachsehen"); process.exit(0); }
if (s === null) { console.log("frei"); process.exit(0); }
if (verfallen(s)) {
console.log(`verfallen: "${s.wer}" seit ${s.alterMin} Minuten`
+ `${s.was ? ` (${s.was})` : ""}`);
process.exit(0);
}
console.log(`belegt: "${s.wer}" seit ${s.alterMin} Minuten${s.was ? ` (${s.was})` : ""}`);
process.exit(1);
}
if (befehl === "fremd") {
const l = fremdLage(ich);
if (l.unklar) { console.log("konnte nicht nachsehen"); process.exit(0); }
if (l.frei) { console.log("frei"); process.exit(0); }
if (l.verfallen) { console.log(`verfallen: "${l.wer}" seit ${l.alterMin} Minuten`); process.exit(0); }
if (l.eigenes) { console.log(`dein eigenes Schloss (seit ${l.alterMin} Minuten)`); process.exit(0); }
console.log(`belegt von "${l.wer}" seit ${l.alterMin} Minuten${l.was ? ` (${l.was})` : ""}`);
process.exit(1);
}
if (befehl === "einrichten") process.exit(einrichten());
console.error("Aufruf: node tools/arbeitsschloss.mjs"
+ " {nehmen|freigeben|ansehen|fremd|einrichten} [\"was ich tue\"]");
process.exit(2);
}
+54
View File
@@ -0,0 +1,54 @@
#!/bin/sh
# =====================================================================
# pre-commit -- faengt den Fall ab, der am 01.10.2026 zweimal nur
# gutgegangen ist.
#
# An diesem Tag arbeiteten zwei Claude-Sitzungen gleichzeitig in
# diesem Verzeichnis, ohne voneinander zu wissen, und BEIDE haben
# `git add -A` benutzt. Hätte die eine unfestgeschriebene Arbeit der
# anderen im Baum gehabt, waere sie mitcommittet worden -- unter
# fremdem Namen, in einer fremden Begruendung, und niemandem waere es
# aufgefallen. Nachgesehen: diesmal war nichts dabei. Das war Glueck.
#
# WARUM EIN HAKEN UND NICHT EINE REGEL AUF PAPIER: Weil `git add -A`
# genau der Griff ist, den man macht, ohne nachzudenken. Eine Regel,
# an die man denken muss, hilft nicht gegen einen Reflex.
#
# WAS ER NICHT TUT:
# * Er blockiert NICHT, wenn das Schloss DEINES ist. Wer ordentlich
# abschliesst, soll nicht bestraft werden -- RunOnes erste Fassung
# machte das falsch, und eine Sicherung, die das richtige
# Verhalten bestraft, wird abgeschafft.
# * Er blockiert NICHT bei einem verfallenen Schloss (zwei Stunden).
# * Er blockiert NICHT, wenn er nicht nachsehen kann. Ein kaputtes
# Schloss darf die Arbeit nicht anhalten; er sagt es und laesst
# durch.
#
# Wer trotzdem committen MUSS: SCHLOSS_ZWANG=ja git commit …
# =====================================================================
set -u
if [ "${SCHLOSS_ZWANG:-}" = "ja" ]; then
printf '\033[33m[Schloss] SCHLOSS_ZWANG=ja -- Haken uebersprungen.\033[0m\n' >&2
exit 0
fi
WURZEL="$(git rev-parse --show-toplevel 2>/dev/null)" || exit 0
[ -f "$WURZEL/tools/arbeitsschloss.mjs" ] || exit 0
AUSGABE="$(node "$WURZEL/tools/arbeitsschloss.mjs" fremd 2>&1)"
STAND=$?
if [ "$STAND" -eq 0 ]; then
exit 0
fi
printf '\033[31m\nABBRUCH: In diesem Verzeichnis arbeitet gerade jemand anders.\033[0m\n' >&2
printf ' %s\n\n' "$AUSGABE" >&2
printf ' Ein Commit nimmt mit `git add -A` auch dessen unfertige Arbeit mit.\n' >&2
printf ' Genau das ist am 01.10.2026 zweimal fast passiert.\n\n' >&2
printf ' Erst abstimmen -- bei zwei Claude-Sitzungen mit SendMessage.\n' >&2
printf ' Nachsehen: node tools/arbeitsschloss.mjs ansehen\n' >&2
printf ' Wenn es liegen geblieben ist, verfaellt es nach zwei Stunden.\n' >&2
printf ' Wenn du sicher bist: SCHLOSS_ZWANG=ja git commit ...\n\n' >&2
exit 1
+13
View File
@@ -48,6 +48,19 @@
import { readdirSync, readFileSync, writeFileSync, statSync } from "node:fs";
import { join, dirname } from "node:path";
import { fileURLToPath } from "node:url";
/* ==== NIEMAND STEMPELT, WAEHREND EIN ANDERER ARBEITET ===========
(01.10.2026.) Dieses Werkzeug schreibt Dutzende Dateien um.
Am 01.10. haben zwei Claude-Sitzungen es gleichzeitig laufen
lassen, ohne voneinander zu wissen -- wer dort eine Datei
offen hatte, bekam sie unter den Haenden weg geaendert.
Das Schloss wird hier SELBST genommen und beim Programmende
selbst freigegeben. Eines, an das man denken muss, wird
vergessen -- und dann umgangen, und ab da ist es nichts mehr
wert. Dieselbe Entscheidung wie bei `bauen.sh` im Shop. */
import { schlossKurz } from "./arbeitsschloss.mjs";
schlossKurz("Stempel setzen (oeffentliche Seiten)");
const HIER = dirname(fileURLToPath(import.meta.url));
const WURZEL = join(HIER, "..");
+13
View File
@@ -23,6 +23,19 @@
import { readdirSync, readFileSync, writeFileSync, existsSync } from "node:fs";
import { join, dirname } from "node:path";
import { fileURLToPath } from "node:url";
/* ==== NIEMAND STEMPELT, WAEHREND EIN ANDERER ARBEITET ===========
(01.10.2026.) Dieses Werkzeug schreibt Dutzende Dateien um.
Am 01.10. haben zwei Claude-Sitzungen es gleichzeitig laufen
lassen, ohne voneinander zu wissen -- wer dort eine Datei
offen hatte, bekam sie unter den Haenden weg geaendert.
Das Schloss wird hier SELBST genommen und beim Programmende
selbst freigegeben. Eines, an das man denken muss, wird
vergessen -- und dann umgangen, und ab da ist es nichts mehr
wert. Dieselbe Entscheidung wie bei `bauen.sh` im Shop. */
import { schlossKurz } from "./arbeitsschloss.mjs";
schlossKurz("Stempel setzen (Workspace)");
const HIER = dirname(fileURLToPath(import.meta.url));
const ORDNER = join(HIER, "..", "workspace");
+13 -13
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Tili — meine TikTok-Muddi — DOGFATHER UNIVERSE</title>
<meta name="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." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,10 +20,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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
<style>
/* Gleiche Anpassung wie vanvan.html: der site-weit etwas größere
Fließtext wirkt bei einem so langen persönlichen Brief zu wuchtig —
@@ -36,12 +36,12 @@
.tm-signatur strong { font-size: 1.15rem; }
</style>
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-tt-muddi.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-tt-muddi.jpg?v=202610011927');">
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-tt-muddi.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-tt-muddi.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-tt-muddi.jpg?v=202610011927" alt="Tili und Dogfather" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-tt-muddi.jpg?v=202610012001" alt="Tili und Dogfather" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="tm_eyebrow">🩵 Familie</span>
<h1 data-i18n="tm_h1">Tili – meine TikTok-Muddi und ein ganz besonderer Teil meines Lebens 🩵</h1>
@@ -51,7 +51,7 @@
<section class="section-tight">
<div class="container grid grid-2" style="align-items:center;grid-template-columns:1fr 1.25fr;">
<div class="collage-photo" style="aspect-ratio:3/4;border-radius:var(--radius);">
<img src="assets/img/tt-muddi-1.jpg?v=202610011927" alt="Tili und Dogfather" style="width:100%;height:100%;object-fit:cover;" />
<img src="assets/img/tt-muddi-1.jpg?v=202610012001" alt="Tili und Dogfather" style="width:100%;height:100%;object-fit:cover;" />
</div>
<div>
<p class="lead worlds" data-i18n="tm_lead" style="margin-bottom:1.2rem;">Eine persönliche Widmung von Dogi an eine seiner wichtigsten Vertrauenspersonen.</p>
@@ -79,7 +79,7 @@
<p data-i18n="tm_6">Sie hört zu, ohne sofort zu urteilen. Sie sagt ehrlich ihre Meinung, auch wenn diese vielleicht nicht immer das ist, was ich gerade hören möchte. Und genau das macht echtes Vertrauen aus: nicht nur die schönen Worte zu sagen, sondern füreinander da zu sein, ehrlich zu bleiben und sich gegenseitig wieder aufzurichten.</p>
</div>
<div class="collage-photo frame-lila" style="aspect-ratio:auto;border-radius:var(--radius);">
<img src="assets/img/tt-muddi-2.jpg?v=202610011927" alt="Tili und Dogfather in Umarmung" style="width:100%;height:auto;display:block;" />
<img src="assets/img/tt-muddi-2.jpg?v=202610012001" alt="Tili und Dogfather in Umarmung" style="width:100%;height:auto;display:block;" />
</div>
</div>
</section>
@@ -102,7 +102,7 @@
<section class="section-tight">
<div class="container grid grid-2" style="align-items:center;">
<div class="collage-photo frame-lila" style="aspect-ratio:auto;border-radius:var(--radius);">
<img src="assets/img/tt-muddi-3.jpg?v=202610011927" alt="Tili und Dogfather Arm in Arm" style="width:100%;height:auto;display:block;" />
<img src="assets/img/tt-muddi-3.jpg?v=202610012001" alt="Tili und Dogfather Arm in Arm" style="width:100%;height:auto;display:block;" />
</div>
<div>
<p data-i18n="tm_12">Für mich steht Tili für Hoffnung. Sie ist einer der Menschen, die mir zeigen, dass das Gute im Menschen noch existiert. Dass es noch Personen gibt, die nicht nur an sich selbst denken. Menschen, die ein ehrliches Herz besitzen, anderen Mut machen und ihre Hand nicht zurückziehen, sobald der Weg schwieriger wird.</p>
@@ -154,7 +154,7 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-tt-muddi.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/i18n-tt-muddi.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
</body>
</html>
+13 -13
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>VanVan — die rechte Hand von Dogi — DOGFATHER UNIVERSE</title>
<meta name="description" content="VanVan erzählt ihre Geschichte: wie sie zu Team Dogi kam, wer sie ist und was DogFather und Team Dogi ihr bedeuten." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,10 +20,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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
<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
@@ -35,12 +35,12 @@
main h2 { font-size: clamp(1.7rem, 3.6vw, 2.5rem); }
</style>
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-vanvan.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-vanvan-mobile.jpg?v=202610011927');">
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-vanvan.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-vanvan-mobile.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-vanvan.jpg?v=202610011927" alt="" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-vanvan.jpg?v=202610012001" alt="" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="vv_eyebrow">🩵 Exklusive Seite</span>
<h1 data-i18n="vv_h1">VanVan – die rechte Hand von Dogi 🩵</h1>
@@ -51,7 +51,7 @@
<section class="section-tight">
<div class="container grid grid-2" style="align-items:center;grid-template-columns:1.25fr 1fr;">
<div class="collage-photo" style="aspect-ratio:3/4;border-radius:var(--radius);">
<img src="assets/img/vanvan-team-2.jpg?v=202610011927" alt="VanVan" style="width:100%;height:100%;object-fit:cover;" />
<img src="assets/img/vanvan-team-2.jpg?v=202610012001" alt="VanVan" style="width:100%;height:100%;object-fit:cover;" />
</div>
<div>
<h2 data-i18n="vv_wer_h2">Wer ich bin</h2>
@@ -96,7 +96,7 @@
<section>
<div class="container grid grid-2" style="align-items:center;">
<div class="collage-photo frame-lila" style="aspect-ratio:auto;border-radius:var(--radius);">
<img src="assets/img/vanvan-team-1.jpg?v=202610011927" alt="VanVan" style="width:100%;height:auto;display:block;" />
<img src="assets/img/vanvan-team-1.jpg?v=202610012001" alt="VanVan" style="width:100%;height:auto;display:block;" />
</div>
<div>
<h2 data-i18n="vv_staerken_h2">Meine Stärken</h2>
@@ -146,7 +146,7 @@
<p data-i18n="vv_team_7">Sondern weil ich es von Herzen möchte.</p>
</div>
<div class="collage-photo frame-lila" style="aspect-ratio:auto;border-radius:var(--radius);">
<img src="assets/img/card-vanvan.jpg?v=202610011927" alt="VanVan" style="width:100%;height:auto;display:block;" />
<img src="assets/img/card-vanvan.jpg?v=202610012001" alt="VanVan" style="width:100%;height:auto;display:block;" />
</div>
</div>
</section>
@@ -182,7 +182,7 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-vanvan.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/i18n-vanvan.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
</body>
</html>
+19 -19
View File
@@ -6,7 +6,7 @@
<meta name="robots" content="noindex, nofollow" />
<title>Verwaltung — DOGFATHER UNIVERSE</title>
<meta name="description" content="Interne Verwaltung — DogiCrew-Supporter, Prämien und Kollektionen. Nur mit Zugangscode." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/verwaltung-32.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/verwaltung-32.png?v=202610012001" />
<!-- Eigene, separat installierbare App (20.08.2026, Nutzer-Wunsch: "die
Verwaltungsseite auch herunterladen können, getrennt von der Website
installiert") — eigenes Manifest mit eigener "id"/eigenem "scope"
@@ -16,13 +16,13 @@
und deckt damit auch diese Seite automatisch mit ab — kein zweiter
Service Worker nötig, nur ein zweites Manifest. -->
<link rel="manifest" href="/manifest-verwaltung.json" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/verwaltung-180.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/verwaltung-180.png?v=202610012001" />
<meta name="apple-mobile-web-app-title" content="DogiCrew-Verwaltung" />
<meta name="theme-color" content="#8d4125" />
<link rel="stylesheet" href="assets/css/main.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
<style>
/* =====================================================================
verwaltung.html — Dogis privater Command-Center-Bereich.
@@ -173,7 +173,7 @@
.vw-logo-emblem {
position: absolute; top: 50%; left: 50%; width: min(1200px, 150vw); height: min(1200px, 150vw);
transform: translate(-50%, -50%);
background-image: url('assets/img/logo-dogfather-transparent.png?v=202610011927');
background-image: url('assets/img/logo-dogfather-transparent.png?v=202610012001');
background-size: contain; background-repeat: no-repeat; background-position: center;
opacity: .05;
filter: drop-shadow(0 0 120px rgba(56,189,248,.55)) drop-shadow(0 0 60px rgba(139,92,246,.25));
@@ -187,7 +187,7 @@
}
.vw-logo-tile {
position: absolute; inset: -25%;
background-image: url('assets/img/logo-dogfather-transparent.png?v=202610011927');
background-image: url('assets/img/logo-dogfather-transparent.png?v=202610012001');
background-size: 150px 150px; background-repeat: repeat;
opacity: .02; transform: rotate(-14deg);
}
@@ -295,7 +295,7 @@
.vw-gate-schloss {
width: 72px; height: 72px; margin: 0 auto 1rem; border-radius: 50%;
background: radial-gradient(circle at 32% 28%, rgba(125,211,252,.35), rgba(56,189,248,.08) 70%),
url('assets/img/gate-siegel-hasidog.jpg?v=202610011927') center / cover no-repeat;
url('assets/img/gate-siegel-hasidog.jpg?v=202610012001') center / cover no-repeat;
border: 2px solid rgba(56,189,248,.6);
box-shadow: 0 0 26px rgba(56,189,248,.4), inset 0 0 12px rgba(255,255,255,.08);
animation: vw-schloss-puls 2.6s ease-in-out infinite;
@@ -325,8 +325,8 @@
box-shadow: 0 0 20px rgba(56,189,248,.4), inset 0 0 10px rgba(255,255,255,.08);
animation: vw-schloss-puls 2.6s ease-in-out infinite;
}
.vw-gate-card-icon--dogi { background-image: url('assets/img/vw-gate-dogi.jpg?v=202610011927'); }
.vw-gate-card-icon--vanvan { background-image: url('assets/img/vw-gate-vanvan.jpg?v=202610011927'); }
.vw-gate-card-icon--dogi { background-image: url('assets/img/vw-gate-dogi.jpg?v=202610012001'); }
.vw-gate-card-icon--vanvan { background-image: url('assets/img/vw-gate-vanvan.jpg?v=202610012001'); }
@keyframes vw-schloss-puls-rose {
0%, 100% { box-shadow: 0 0 20px rgba(255,143,198,.35), inset 0 0 10px rgba(255,255,255,.06); }
50% { box-shadow: 0 0 36px rgba(255,143,198,.65), inset 0 0 14px rgba(255,255,255,.12); }
@@ -380,7 +380,7 @@
width: 116px; height: 116px; margin: 0 auto 1.2rem; border-radius: 50%;
background:
radial-gradient(circle at 32% 26%, rgba(125,211,252,.25), rgba(56,189,248,.08) 72%),
url('assets/img/hasidog-kopf-siegel.jpg?v=202610011927') center / cover no-repeat;
url('assets/img/hasidog-kopf-siegel.jpg?v=202610012001') center / cover no-repeat;
border: 2.5px solid rgba(56,189,248,.6);
box-shadow: 0 0 34px rgba(56,189,248,.4), inset 0 0 18px rgba(0,0,0,.35), inset 0 0 0 3px rgba(10,12,16,.5);
animation: vw-schloss-puls 3.4s ease-in-out infinite;
@@ -1285,17 +1285,17 @@
<!-- 21.08.2026: für den "Bestehende Mitglieder importieren"-Knopf in der
Team-Verwaltung -- liest die von Hand gepflegten Profile aus diesen
Dateien aus und bietet an, sie 1:1 in die Datenbank zu übernehmen. -->
<script src="assets/js/data-modis.js?v=202610011927"></script>
<script src="assets/js/data-scouts.js?v=202610011927"></script>
<script src="assets/js/data-creator.js?v=202610011927"></script>
<script src="assets/js/data-manager.js?v=202610011927"></script>
<script src="assets/js/data-stimmen-avatare.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/data-modis.js?v=202610012001"></script>
<script src="assets/js/data-scouts.js?v=202610012001"></script>
<script src="assets/js/data-creator.js?v=202610012001"></script>
<script src="assets/js/data-manager.js?v=202610012001"></script>
<script src="assets/js/data-stimmen-avatare.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
<!-- Versionsnummer bewusst hochgesetzt (27.08.2026): Caddy liefert Assets mit
max-age=14400, ein Browser hätte die alte Anmelde-Logik sonst bis zu vier
Stunden weiterbenutzt und Dogi wäre trotz Umstellung weiter ohne Code
drin gewesen. Neue Adresse = sofort neue Datei. -->
<script src="assets/js/admin-auth.js?v=202610011927"></script>
<script src="assets/js/admin-auth.js?v=202610012001"></script>
<script>
(function () {
const API_BASE_URL = "https://postfach.dogfather-universe.com";
+6 -6
View File
@@ -11,15 +11,15 @@
<title>Ablauf — Dogfather Webdesign</title>
<meta name="description" content="Von der Anfrage bis zur Übergabe: sieben Schritte, jeweils mit dem, was du machst, was ich mache und was am Ende dabei herauskommt." />
<meta name="robots" content="noindex, nofollow, noarchive" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610012001" />
<meta name="theme-color" content="#564e95" />
<link rel="manifest" href="/webdesign/app.webmanifest" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610012001" />
<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 Webdesign" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610011927" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610011927" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610012001" />
<style>
/* Zeitstrahl: die Linie verbindet die Nummernkreise. Sie liegt hinter
den Kreisen (z-index) und endet beim letzten Schritt, damit sie nicht
@@ -188,7 +188,7 @@
<div id="wd-fuss"></div>
<script src="/assets/js/i18n-wd-ablauf.js?v=202610011927"></script>
<script src="/assets/js/wd-core.js?v=202610011927"></script>
<script src="/assets/js/i18n-wd-ablauf.js?v=202610012001"></script>
<script src="/assets/js/wd-core.js?v=202610012001"></script>
</body>
</html>
+7 -7
View File
@@ -11,15 +11,15 @@
<title>Projekt anfragen — Dogfather Webdesign</title>
<meta name="description" content="Vier kurze Schritte zu deiner unverbindlichen Projektanfrage. Kostenlos, ohne Vertrag, mit Zusammenfassung vor dem Absenden." />
<meta name="robots" content="noindex, nofollow, noarchive" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610012001" />
<meta name="theme-color" content="#564e95" />
<link rel="manifest" href="/webdesign/app.webmanifest" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610012001" />
<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 Webdesign" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610011927" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610011927" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610012001" />
<style>
/* ---------- Schrittanzeige ----------
Zeigt alle vier Schritte gleichzeitig statt nur "3 von 4". Man sieht
@@ -423,8 +423,8 @@
<div id="wd-fuss"></div>
<script src="/assets/js/i18n-wd-anfrage.js?v=202610011927"></script>
<script src="/assets/js/wd-core.js?v=202610011927"></script>
<script src="/assets/js/wd-anfrage.js?v=202610011927"></script>
<script src="/assets/js/i18n-wd-anfrage.js?v=202610012001"></script>
<script src="/assets/js/wd-core.js?v=202610012001"></script>
<script src="/assets/js/wd-anfrage.js?v=202610012001"></script>
</body>
</html>
+2 -2
View File
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="de">
<head>
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610012001" />
<meta charset="UTF-8" />
<!-- viewport-fit=cover ist die Voraussetzung dafuer, dass env(safe-area-inset-*)
ueberhaupt einen Wert liefert. Ohne diese Angabe gibt jedes env() null zurueck
+6 -6
View File
@@ -11,15 +11,15 @@
<title>Häufige Fragen — Dogfather Webdesign</title>
<meta name="description" content="Preise, Dauer, Inhalte, Änderungen, Hosting, Rechte, Zahlung und Veröffentlichung — offen beantwortet." />
<meta name="robots" content="noindex, nofollow, noarchive" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610012001" />
<meta name="theme-color" content="#564e95" />
<link rel="manifest" href="/webdesign/app.webmanifest" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610012001" />
<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 Webdesign" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610011927" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610011927" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610012001" />
<style>
.fq-thema { scroll-margin-top: 90px; }
.fq-thema + .fq-thema { margin-top: clamp(2rem, 4vw, 3rem); }
@@ -200,7 +200,7 @@
<div id="wd-fuss"></div>
<script src="/assets/js/i18n-wd-faq.js?v=202610011927"></script>
<script src="/assets/js/wd-core.js?v=202610011927"></script>
<script src="/assets/js/i18n-wd-faq.js?v=202610012001"></script>
<script src="/assets/js/wd-core.js?v=202610012001"></script>
</body>
</html>
+10 -10
View File
@@ -11,18 +11,18 @@
<title>Dogfather Webdesign — individuelle Webseiten, persönlich umgesetzt</title>
<meta name="description" content="Individuell gebaute Webseiten statt Baukasten: Onepager ab 300 €, professionelle Websites ab 500 €, Shops ab 1.000 €. Klare Preise, klare Zeitrahmen, eine feste Ansprechperson." />
<meta name="robots" content="noindex, nofollow, noarchive" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610012001" />
<meta name="theme-color" content="#564e95" />
<!-- Als App installierbar auf Handy und Computer. iOS ignoriert das
Manifest für das Startbildschirm-Symbol vollständig und nimmt NUR
apple-touch-icon — deshalb beides. -->
<link rel="manifest" href="/webdesign/app.webmanifest" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610012001" />
<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 Webdesign" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610011927" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610011927" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610012001" />
<style>
/* ---------- Nur auf der Startseite gebraucht ---------- */
@@ -115,7 +115,7 @@
Das Skript ganz unten blendet es nur ein, wenn man in dieser
Browser-Sitzung gerade erst durch die Zugangswand gekommen ist. -->
<div class="wd-intro" id="wd-intro" hidden>
<img class="wd-intro-logo" src="/assets/img/logo-dogfather-transparent.png?v=202610011927" alt="" width="472" height="476" />
<img class="wd-intro-logo" src="/assets/img/logo-dogfather-transparent.png?v=202610012001" alt="" width="472" height="476" />
<p class="wd-intro-gruss" id="wd-intro-gruss">Willkommen</p>
<p class="wd-intro-unter" data-i18n="intro_unter">Dogfather Webdesign — Vorabversion</p>
<button type="button" class="wd-intro-skip" id="wd-intro-skip" data-i18n="intro_ueberspringen">Überspringen</button>
@@ -263,7 +263,7 @@
<div class="wd-grid wd-grid--2" style="margin-top:2.2rem">
<article class="wd-karte wd-projekt wd-auf">
<img class="wd-projekt-bild" src="/assets/img/wd-projekt-universe.jpg?v=202610011927"
<img class="wd-projekt-bild" src="/assets/img/wd-projekt-universe.jpg?v=202610012001"
alt="Startseite von dogfather-universe.com" width="1200" height="750" loading="lazy" decoding="async"
data-i18n-attr="alt:pf_universe_alt" />
<div class="wd-projekt-text">
@@ -289,7 +289,7 @@
Hinweisbalken ganz oben wurde bewusst weggeschnitten — er
gehört nicht in ein Portfolio. -->
<article class="wd-karte wd-karte--lila wd-projekt wd-auf">
<img class="wd-projekt-bild" src="/assets/img/wd-projekt-vandiy.jpg?v=202610011927"
<img class="wd-projekt-bild" src="/assets/img/wd-projekt-vandiy.jpg?v=202610012001"
alt="Startseite von vans-diy-bastelbedarf.com" width="1200" height="696" loading="lazy" decoding="async"
data-i18n-attr="alt:pf_shop_alt" />
<div class="wd-projekt-text">
@@ -357,7 +357,7 @@
<section class="wd-abschnitt wd-abschnitt--gehoben">
<div class="wd-container">
<div class="wd-portrait-grid">
<img class="wd-portrait wd-auf" src="/assets/img/wd-dogfather-portrait.jpg?v=202610011927"
<img class="wd-portrait wd-auf" src="/assets/img/wd-dogfather-portrait.jpg?v=202610012001"
alt="Dogfather" width="900" height="1125" loading="lazy" decoding="async"
data-i18n-attr="alt:wd_foto_alt" />
<div>
@@ -426,8 +426,8 @@
<div id="wd-fuss"></div>
<script src="/assets/js/i18n-wd-index.js?v=202610011927"></script>
<script src="/assets/js/wd-core.js?v=202610011927"></script>
<script src="/assets/js/i18n-wd-index.js?v=202610012001"></script>
<script src="/assets/js/wd-core.js?v=202610012001"></script>
<script>
/* ---------------------------------------------------------------------
Marken-Intro (Masterplan S.3, Schritt 02: "Nach erfolgreichem Code
+6 -6
View File
@@ -11,15 +11,15 @@
<title>Leistungen — Dogfather Webdesign</title>
<meta name="description" content="Onepager, professionelle Website, Shop und Verwaltungsseiten: was jeweils enthalten ist, was extra kostet und wo die Grenze verläuft." />
<meta name="robots" content="noindex, nofollow, noarchive" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610012001" />
<meta name="theme-color" content="#564e95" />
<link rel="manifest" href="/webdesign/app.webmanifest" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610012001" />
<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 Webdesign" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610011927" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610011927" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610012001" />
<style>
/* Sprungmarken.
Frueher eine waagerecht wischbare Leiste. Rueckmeldung 22.08.2026:
@@ -416,7 +416,7 @@
<div id="wd-fuss"></div>
<script src="/assets/js/i18n-wd-leistungen.js?v=202610011927"></script>
<script src="/assets/js/wd-core.js?v=202610011927"></script>
<script src="/assets/js/i18n-wd-leistungen.js?v=202610012001"></script>
<script src="/assets/js/wd-core.js?v=202610012001"></script>
</body>
</html>
+7 -7
View File
@@ -10,15 +10,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
<title>Kundenportal — Dogfather Webdesign</title>
<meta name="robots" content="noindex, nofollow, noarchive" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/portal-32.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/portal-32.png?v=202610012001" />
<meta name="theme-color" content="#924985" />
<link rel="manifest" href="/webdesign/portal.webmanifest" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/portal-180.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/portal-180.png?v=202610012001" />
<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 Webdesign" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610011927" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610011927" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610012001" />
<style>
.po-login { max-width: 440px; margin: clamp(1.5rem,6vh,4rem) auto; }
@@ -199,8 +199,8 @@
<div id="wd-fuss"></div>
<script src="/assets/js/i18n-wd-portal.js?v=202610011927"></script>
<script src="/assets/js/wd-core.js?v=202610011927"></script>
<script src="/assets/js/wd-portal.js?v=202610011927"></script>
<script src="/assets/js/i18n-wd-portal.js?v=202610012001"></script>
<script src="/assets/js/wd-core.js?v=202610012001"></script>
<script src="/assets/js/wd-portal.js?v=202610012001"></script>
</body>
</html>
+12 -12
View File
@@ -11,15 +11,15 @@
<title>Portfolio — Dogfather Webdesign</title>
<meta name="description" content="Echte Projekte statt erfundener Beispiele: Website, Onlineshop, Spieleseite, Buchhaltung, Auswertung und eine Rechtsplattform — jeweils mit Ausgangslage, Lösung und Ergebnis." />
<meta name="robots" content="noindex, nofollow, noarchive" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610012001" />
<meta name="theme-color" content="#564e95" />
<link rel="manifest" href="/webdesign/app.webmanifest" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610012001" />
<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 Webdesign" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610011927" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610011927" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610012001" />
<style>
/* GENAU zwei Projekte nebeneinander.
@@ -160,7 +160,7 @@
dazukommt. -->
<div class="pfo-raster">
<article class="wd-karte pfo-projekt wd-auf">
<img class="pfo-bild" src="/assets/img/wd-projekt-universe.jpg?v=202610011927"
<img class="pfo-bild" src="/assets/img/wd-projekt-universe.jpg?v=202610012001"
alt="Startseite von dogfather-universe.com" width="1200" height="750" loading="lazy" decoding="async"
data-i18n-attr="alt:p1_alt" />
<div class="pfo-inhalt">
@@ -211,7 +211,7 @@
<!-- ---------------- Projekt 2 ---------------- -->
<article class="wd-karte wd-karte--lila pfo-projekt wd-auf">
<img class="pfo-bild" src="/assets/img/wd-projekt-vandiy.jpg?v=202610011927"
<img class="pfo-bild" src="/assets/img/wd-projekt-vandiy.jpg?v=202610012001"
alt="Startseite von vans-diy-bastelbedarf.com" width="1200" height="696" loading="lazy" decoding="async"
data-i18n-attr="alt:p2_alt" />
<div class="pfo-inhalt">
@@ -261,7 +261,7 @@
<!-- ---------------- Projekt 3 ---------------- -->
<article class="wd-karte wd-karte--aqua pfo-projekt wd-auf">
<img class="pfo-bild" src="/assets/img/wd-projekt-zockeranstalt.jpg?v=202610011927"
<img class="pfo-bild" src="/assets/img/wd-projekt-zockeranstalt.jpg?v=202610012001"
alt="Startseite von zockeranstalt.dogfather-universe.com" width="1200" height="750" loading="lazy" decoding="async"
data-i18n-attr="alt:p3_alt" />
<div class="pfo-inhalt">
@@ -311,7 +311,7 @@
<!-- ---------------- Projekt 4 ---------------- -->
<article class="wd-karte wd-karte--vip pfo-projekt wd-auf">
<img class="pfo-bild" src="/assets/img/wd-projekt-buchhaltung.jpg?v=202610011927"
<img class="pfo-bild" src="/assets/img/wd-projekt-buchhaltung.jpg?v=202610012001"
alt="Anmeldeseite von buchhaltung.vans-diy-bastelbedarf.com" width="1200" height="750" loading="lazy" decoding="async"
data-i18n-attr="alt:p4_alt" />
<div class="pfo-inhalt">
@@ -362,7 +362,7 @@
<!-- ---------------- Projekt 5 ---------------- -->
<article class="wd-karte wd-karte--premium pfo-projekt wd-auf">
<img class="pfo-bild" src="/assets/img/wd-projekt-analyse.jpg?v=202610011927"
<img class="pfo-bild" src="/assets/img/wd-projekt-analyse.jpg?v=202610012001"
alt="Startseite von analyse.dogfather-universe.com, die Gesichter sind zum Schutz der Beteiligten unkenntlich gemacht" width="1200" height="750" loading="lazy" decoding="async"
data-i18n-attr="alt:p5_alt" />
<div class="pfo-inhalt">
@@ -416,7 +416,7 @@
<!-- ---------------- Projekt 6 ---------------- -->
<article class="wd-karte wd-karte--premium pfo-projekt wd-auf">
<img class="pfo-bild" src="/assets/img/wd-projekt-safeaddress.jpg?v=202610011927"
<img class="pfo-bild" src="/assets/img/wd-projekt-safeaddress.jpg?v=202610012001"
alt="Zugangswand von safeaddress.dogfather-universe.com, die Gesichter sind zum Schutz der Beteiligten unkenntlich gemacht" width="1200" height="750" loading="lazy" decoding="async"
data-i18n-attr="alt:p6_alt" />
<div class="pfo-inhalt">
@@ -495,7 +495,7 @@
<div id="wd-fuss"></div>
<script src="/assets/js/i18n-wd-portfolio.js?v=202610011927"></script>
<script src="/assets/js/wd-core.js?v=202610011927"></script>
<script src="/assets/js/i18n-wd-portfolio.js?v=202610012001"></script>
<script src="/assets/js/wd-core.js?v=202610012001"></script>
</body>
</html>
+6 -6
View File
@@ -10,12 +10,12 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
<title>Impressum, AGB &amp; Datenschutz — Dogfather Webdesign</title>
<meta name="description" content="Impressum, Allgemeine Geschäftsbedingungen, Widerrufsbelehrung und Datenschutzerklärung für Dogfather Webdesign." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610012001" />
<link rel="manifest" href="/webdesign/app.webmanifest" />
<meta name="theme-color" content="#564e95" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610011927" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610011927" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610012001" />
</head>
<body class="wd">
<div id="wd-kopf"></div>
@@ -409,7 +409,7 @@
<!-- Das Woerterbuch MUSS vor wd-core geladen werden: Der Kern liest
window.I18N_WD beim Uebersetzen, und was noch nicht da ist, kann er
nicht einsetzen. -->
<script src="/assets/js/i18n-wd-rechtliches.js?v=202610011927"></script>
<script src="/assets/js/wd-core.js?v=202610011927"></script>
<script src="/assets/js/i18n-wd-rechtliches.js?v=202610012001"></script>
<script src="/assets/js/wd-core.js?v=202610012001"></script>
</body>
</html>
+1 -1
View File
@@ -34,7 +34,7 @@
Start alle alten Zwischenspeicher weg. Muss bei jeder Änderung an den
Dateien unten hochgezählt werden, sonst hängen Nutzer auf einem alten
Stand fest. */
const CACHE_NAME = "dogfather-webdesign-202610011927";
const CACHE_NAME = "dogfather-webdesign-202610012001";
/* Bausteine, die die Oberfläche zum Anzeigen braucht. Bewusst KEINE
HTML-Datei in dieser Liste. */
+7 -7
View File
@@ -11,15 +11,15 @@
<title>Über Dogfather — Dogfather Webdesign</title>
<meta name="description" content="Keine Agentur, keine Ticketnummer: wer hier baut, wie gearbeitet wird und woran das gelernt wurde." />
<meta name="robots" content="noindex, nofollow, noarchive" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610012001" />
<meta name="theme-color" content="#564e95" />
<link rel="manifest" href="/webdesign/app.webmanifest" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610012001" />
<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 Webdesign" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610011927" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610011927" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610012001" />
<style>
.ue-kopf { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: center; }
/* Auf dem Handy zuerst der Text, dann das Bild: sonst schiebt ein
@@ -48,7 +48,7 @@
<div class="wd-container">
<div class="ue-kopf">
<div class="ue-kopf-bild">
<img class="ue-portrait wd-auf" src="/assets/img/wd-dogfather-portrait.jpg?v=202610011927"
<img class="ue-portrait wd-auf" src="/assets/img/wd-dogfather-portrait.jpg?v=202610012001"
alt="Dogfather" width="900" height="1125" fetchpriority="high" decoding="async"
data-i18n-attr="alt:ue_foto_alt" />
</div>
@@ -146,7 +146,7 @@
<div id="wd-fuss"></div>
<script src="/assets/js/i18n-wd-ueber.js?v=202610011927"></script>
<script src="/assets/js/wd-core.js?v=202610011927"></script>
<script src="/assets/js/i18n-wd-ueber.js?v=202610012001"></script>
<script src="/assets/js/wd-core.js?v=202610012001"></script>
</body>
</html>
+22 -22
View File
@@ -10,7 +10,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
<title>Verwaltung — Dogfather Webdesign</title>
<meta name="robots" content="noindex, nofollow, noarchive" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/wdverwalt-32.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/wdverwalt-32.png?v=202610012001" />
<meta name="theme-color" content="#b44f5e" />
<!-- EIGENES Manifest, nicht das des Webdesign-Bereichs (26.08.2026).
@@ -34,11 +34,11 @@
Nachgemessen, nicht vermutet: verwaltung.html antwortet ohne
Ausweis mit 302 auf zugang.html. -->
<link rel="manifest" href="/webdesign/verwaltung.webmanifest" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/wdverwalt-180.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/wdverwalt-180.png?v=202610012001" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-title" content="DF Verwaltung" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610011927" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610011927" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610012001" />
<style>
/* =====================================================================
Verwaltungsbereich — bewusst NUR AUF DEUTSCH.
@@ -106,32 +106,32 @@
:root {
/* Rueckfall, falls das Kennzeichen mal fehlt: Dann sieht es aus wie
die Uebersicht, statt gar nicht. */
--vw-motiv: url("/assets/img/cryo-wappen.webp?v=202610011927");
--vw-motiv-klein: url("/assets/img/cryo-wappen-klein.webp?v=202610011927");
--vw-motiv: url("/assets/img/cryo-wappen.webp?v=202610012001");
--vw-motiv-klein: url("/assets/img/cryo-wappen-klein.webp?v=202610012001");
--vw-farbe: var(--wd-blau-rgb);
--vw-blick: center top;
}
[data-vw-bereich="uebersicht"] {
--vw-motiv: url("/assets/img/cryo-wappen.webp?v=202610011927");
--vw-motiv-klein: url("/assets/img/cryo-wappen-klein.webp?v=202610011927");
--vw-motiv: url("/assets/img/cryo-wappen.webp?v=202610012001");
--vw-motiv-klein: url("/assets/img/cryo-wappen-klein.webp?v=202610012001");
--vw-farbe: var(--wd-blau-rgb);
--vw-blick: 76% 52%;
}
[data-vw-bereich="anfragen"] {
--vw-motiv: url("/assets/img/cryo-ring.webp?v=202610011927");
--vw-motiv-klein: url("/assets/img/cryo-ring-klein.webp?v=202610011927");
--vw-motiv: url("/assets/img/cryo-ring.webp?v=202610012001");
--vw-motiv-klein: url("/assets/img/cryo-ring-klein.webp?v=202610012001");
--vw-farbe: var(--wd-aqua-rgb);
--vw-blick: 72% 46%;
}
[data-vw-bereich="projekte"] {
--vw-motiv: url("/assets/img/cryo-monolith.webp?v=202610011927");
--vw-motiv-klein: url("/assets/img/cryo-monolith-klein.webp?v=202610011927");
--vw-motiv: url("/assets/img/cryo-monolith.webp?v=202610012001");
--vw-motiv-klein: url("/assets/img/cryo-monolith-klein.webp?v=202610012001");
--vw-farbe: var(--wd-lila-rgb);
--vw-blick: 80% 46%;
}
[data-vw-bereich="kunden"] {
--vw-motiv: url("/assets/img/cryo-thron.webp?v=202610011927");
--vw-motiv-klein: url("/assets/img/cryo-thron-klein.webp?v=202610011927");
--vw-motiv: url("/assets/img/cryo-thron.webp?v=202610012001");
--vw-motiv-klein: url("/assets/img/cryo-thron-klein.webp?v=202610012001");
/* Prism Indigo -- hier unbedenklich, weil es NUR Flaeche und Kante
faerbt. Als Schriftfarbe faellt es durch (3,25:1), deshalb steht
weiter unten ausdruecklich, dass die Schrift davon unberuehrt
@@ -140,8 +140,8 @@
--vw-blick: 84% 52%;
}
[data-vw-bereich="zahlungen"] {
--vw-motiv: url("/assets/img/cryo-kristall.webp?v=202610011927");
--vw-motiv-klein: url("/assets/img/cryo-kristall-klein.webp?v=202610011927");
--vw-motiv: url("/assets/img/cryo-kristall.webp?v=202610012001");
--vw-motiv-klein: url("/assets/img/cryo-kristall-klein.webp?v=202610012001");
--vw-farbe: var(--wd-gold-rgb);
/* Oberer Streifen: zeigt die geschwungenen Kristallbänder statt der
flachen Mitte -- siehe die .vw-buehne-Ausnahme weiter unten, die
@@ -149,8 +149,8 @@
--vw-blick: center 15%;
}
[data-vw-bereich="postfach"] {
--vw-motiv: url("/assets/img/cryo-ring.webp?v=202610011927");
--vw-motiv-klein: url("/assets/img/cryo-ring-klein.webp?v=202610011927");
--vw-motiv: url("/assets/img/cryo-ring.webp?v=202610012001");
--vw-motiv-klein: url("/assets/img/cryo-ring-klein.webp?v=202610012001");
--vw-farbe: var(--wd-ion-rgb);
/* Bewusst der andere Bildrand als bei "Anfragen": gleiches Bild,
voellig anderer Ausschnitt. */
@@ -190,7 +190,7 @@
inset: 0;
z-index: 0;
pointer-events: none;
background: var(--vw-motiv, url("/assets/img/cryo-wappen.webp?v=202610011927"))
background: var(--vw-motiv, url("/assets/img/cryo-wappen.webp?v=202610012001"))
center center / cover no-repeat;
/* Kein Zoom: "cover" zeigt bei einem 16:9-Motiv auf einem
ueblichen Bildschirm praktisch das ganze Bild. */
@@ -298,7 +298,7 @@
deshalb hier der Bildmittelpunkt, wo bei allen Motiven das
Hauptgeschehen sitzt. */
.vw-buehne {
background-image: var(--vw-motiv-klein, url("/assets/img/cryo-wappen-klein.webp?v=202610011927"));
background-image: var(--vw-motiv-klein, url("/assets/img/cryo-wappen-klein.webp?v=202610012001"));
background-position: center center;
}
/* Auf kleinen Schirmen liegt mehr Inhalt uebereinander, also etwas
@@ -942,7 +942,7 @@
rgb(3 8 16 / .92) 100%);
}
@media (max-width: 900px) {
.vw-login.wd-motiv::before { background-image: url("/assets/img/cryo-wappen-klein.webp?v=202610011927"); }
.vw-login.wd-motiv::before { background-image: url("/assets/img/cryo-wappen-klein.webp?v=202610012001"); }
}
/* ---------- Kopfleiste ---------- */
@@ -2395,7 +2395,7 @@
<div class="vw-detail-blatt" id="vw-detail-blatt"></div>
</div>
<script src="/assets/js/wd-core.js?v=202610011927"></script>
<script src="/assets/js/wd-core.js?v=202610012001"></script>
<script>
/* =====================================================================
Verwaltung: Anfragen ansehen, Status ändern, Notizen, Archivieren.
+7 -7
View File
@@ -11,12 +11,12 @@
<title>Vertrag widerrufen — Dogfather Webdesign</title>
<meta name="description" content="Elektronische Widerrufsfunktion nach § 356a BGB — Vertrag online widerrufen, mit sofortiger Eingangsbestätigung." />
<meta name="robots" content="noindex, follow" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610012001" />
<link rel="manifest" href="/webdesign/app.webmanifest" />
<meta name="theme-color" content="#564e95" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610011927" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610011927" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610012001" />
</head>
<body class="wd">
<div id="wd-kopf"></div>
@@ -143,8 +143,8 @@
<div id="wd-fuss"></div>
<script src="/assets/js/i18n-wd-widerruf.js?v=202610011927"></script>
<script src="/assets/js/wd-core.js?v=202610011927"></script>
<script src="/assets/js/wd-widerruf.js?v=202610011927"></script>
<script src="/assets/js/i18n-wd-widerruf.js?v=202610012001"></script>
<script src="/assets/js/wd-core.js?v=202610012001"></script>
<script src="/assets/js/wd-widerruf.js?v=202610012001"></script>
</body>
</html>
+9 -9
View File
@@ -14,7 +14,7 @@
nicht ausgeliefert wird; dieses meta wirkt auch dann, wenn die Datei
einmal ohne den Server geöffnet wird. -->
<meta name="robots" content="noindex, nofollow, noarchive" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610012001" />
<meta name="theme-color" content="#564e95" />
<!-- Auch hier Manifest und Symbol: die Zugangswand ist der ERSTE
Bildschirm überhaupt, also auch der, von dem aus installiert wird.
@@ -22,12 +22,12 @@
und führte dazu, dass eine Installation nur eine nackte Verknüpfung
ohne Symbol ergab. -->
<link rel="manifest" href="/webdesign/app.webmanifest" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610012001" />
<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 Webdesign" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610011927" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610011927" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610012001" />
<style>
/* =====================================================================
Zugangswand — nur hier gebraucht, deshalb bewusst NICHT in
@@ -115,7 +115,7 @@
<div class="zg-mitte">
<div class="zg-logo">
<img src="/assets/img/logo-dogfather-transparent.png?v=202610011927" alt="" width="472" height="476" />
<img src="/assets/img/logo-dogfather-transparent.png?v=202610012001" alt="" width="472" height="476" />
</div>
<span class="wd-eyebrow" data-i18n="zg_eyebrow">Nicht öffentlich bis zur Freigabe</span>
@@ -127,7 +127,7 @@
<!-- Karte 1: Dogfather -->
<form class="wd-karte wd-karte--kappe zg-karte zg-karte--dogfather" id="zg-form-dogfather" novalidate>
<div class="zg-karte-kopf">
<img class="zg-foto" src="/assets/img/wd-dogfather-karte.jpg?v=202610011927" alt="" width="76" height="76" />
<img class="zg-foto" src="/assets/img/wd-dogfather-karte.jpg?v=202610012001" alt="" width="76" height="76" />
<div>
<h2 class="zg-name" data-i18n="zg_dogfather">Dogfather</h2>
<p class="zg-rolle" data-i18n="zg_rolle">Volladministrator</p>
@@ -152,7 +152,7 @@
<!-- Karte 2: VanVan — gleiche Struktur, gleiche Rechte, eigene Farbwelt -->
<form class="wd-karte wd-karte--lila wd-karte--kappe zg-karte zg-karte--vanvan" id="zg-form-vanvan" novalidate>
<div class="zg-karte-kopf">
<img class="zg-foto" src="/assets/img/wd-vanvan-karte.jpg?v=202610011927" alt="" width="76" height="76" />
<img class="zg-foto" src="/assets/img/wd-vanvan-karte.jpg?v=202610012001" alt="" width="76" height="76" />
<div>
<h2 class="zg-name" data-i18n="zg_vanvan">VanVan</h2>
<p class="zg-rolle" data-i18n="zg_rolle">Volladministrator</p>
@@ -182,8 +182,8 @@
</div>
</main>
<script src="/assets/js/i18n-wd-zugang.js?v=202610011927"></script>
<script src="/assets/js/wd-core.js?v=202610011927"></script>
<script src="/assets/js/i18n-wd-zugang.js?v=202610012001"></script>
<script src="/assets/js/wd-core.js?v=202610012001"></script>
<script>
(function () {
"use strict";
+10 -10
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Werte als Manager — DOGFATHER UNIVERSE</title>
<meta name="description" content="Die Werte, nach denen DogFather als Manager bei Spicy Media arbeitet." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610012001" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,17 +20,17 @@
<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=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/main.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610012001" />
</head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-werte.jpg?v=202610011927');--page-bg-mobile:url('/assets/img/bg-werte-mobile.jpg?v=202610011927');">
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-werte.jpg?v=202610012001');--page-bg-mobile:url('/assets/img/bg-werte-mobile.jpg?v=202610012001');">
<div id="site-header"></div>
<main>
<section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-werte.jpg?v=202610011927" alt="" loading="eager" /></div>
<div class="hero-banner"><img src="/assets/img/bg-werte.jpg?v=202610012001" alt="" loading="eager" /></div>
<div class="container">
<span class="eyebrow" data-i18n="wt_eyebrow">Welt 3 — Manager DogFather</span>
<h1 data-i18n="wt_h1">Werte als Manager</h1>
@@ -114,7 +114,7 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-werte.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script src="assets/js/i18n-werte.js?v=202610012001"></script>
<script src="assets/js/main.js?v=202610012001"></script>
</body>
</html>
+5 -5
View File
@@ -16,8 +16,8 @@
verdeckt. Gefunden hat es pruef-struktur.
Richtig sind `gate.css` (die Farbwerte des Hauses) und `haus.css`. -->
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
<!-- Ohne diese drei nimmt ein iPhone einen Bildschirmausschnitt als
Symbol, Android zeichnet die Leiste weiss, und die Seite oeffnet
ausserhalb der App -- auf einer Seite, die genau erklaeren soll,
@@ -33,7 +33,7 @@
schreibt jede Seite app.webmanifest -- auch die hier. -->
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<style>
/* Bewusst in der Seite und nicht in einer eigenen Datei: Diese Seite
soll auch dann noch etwas anzeigen, wenn genau das schiefgeht,
@@ -135,7 +135,7 @@
<script src="assets/js/anruf-probe.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/anruf-probe.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
</body>
</html>
+4 -4
View File
@@ -23,25 +23,25 @@
},
"icons": [
{
"src": "/assets/img/app-symbole/workspace-192.png?v=202610011927",
"src": "/assets/img/app-symbole/workspace-192.png?v=202610012001",
"sizes": "192x192",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/workspace-512.png?v=202610011927",
"src": "/assets/img/app-symbole/workspace-512.png?v=202610012001",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202610011927",
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202610012001",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202610011927",
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202610012001",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
+19 -19
View File
@@ -12,19 +12,19 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -430,22 +430,22 @@
<!-- TEXTFORM ZUERST (21.09.2026): Die Seite fragt beim Zeichnen nach
`window.Textform`. Kaeme sie spaeter, waere der erste Eintrag ohne
Gestaltung. Kein `defer`, damit sie wirklich vorher dasteht. -->
<script src="assets/js/textform.js?v=202610011927"></script>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/hochladen.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/textform.js?v=202610012001"></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/hochladen.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/zuteilung.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/zuteilung.js?v=202610012001" defer></script>
<!-- Der Vorlagenkatalog stand bis zum 23.09.2026 mitten in
aufgaben.js. Er bedient jetzt zwei Seiten und hat deshalb eine
eigene Datei; hier zeigt er den Creator-Katalog.
Vor aufgaben.js, weil die Seite ihn beim Start einrichtet. -->
<script src="assets/js/vorlagenbrett.js?v=202610011927" defer></script>
<script src="assets/js/aufgaben.js?v=202610011927" defer></script>
<script src="assets/js/vorlagenbrett.js?v=202610012001" defer></script>
<script src="assets/js/aufgaben.js?v=202610012001" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/automation.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/automation.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -168,15 +168,15 @@
</main>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/automation.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/automation.js?v=202610012001" defer></script>
</body>
</html>
+17 -17
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -197,16 +197,16 @@
</main>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/holen.js?v=202610011927" defer></script>
<script src="assets/js/befinden.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/holen.js?v=202610012001" defer></script>
<script src="assets/js/befinden.js?v=202610012001" defer></script>
</body>
</html>
+22 -22
View File
@@ -12,24 +12,24 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202610012001" />
<!-- Wegen des Blocks „Willst du dazugehoeren?" auf dem Brett
„Mitmachen". Eine eigene Kopie der Regel hier waere die zweite
Stelle, an der dieselbe Sache anders aussieht. -->
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -304,19 +304,19 @@
<!-- TEXTFORM ZUERST (21.09.2026): Die Seite fragt beim Zeichnen nach
`window.Textform`. Kaeme sie spaeter, waere der erste Eintrag ohne
Gestaltung. Kein `defer`, damit sie wirklich vorher dasteht. -->
<script src="assets/js/textform.js?v=202610011927"></script>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/textform.js?v=202610012001"></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/checkliste.js?v=202610011927" defer></script>
<script src="assets/js/ampel.js?v=202610011927" defer></script>
<script src="assets/js/schulung.js?v=202610011927" defer></script>
<script src="assets/js/holen.js?v=202610011927" defer></script>
<script src="assets/js/bereich.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/checkliste.js?v=202610012001" defer></script>
<script src="assets/js/ampel.js?v=202610012001" defer></script>
<script src="assets/js/schulung.js?v=202610012001" defer></script>
<script src="assets/js/holen.js?v=202610012001" defer></script>
<script src="assets/js/bereich.js?v=202610012001" defer></script>
</body>
</html>
+19 -19
View File
@@ -7,17 +7,17 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -108,15 +108,15 @@
</main>
<!-- Der Fuß gehört zu jeder Seite - siehe pruef-css-klassen. -->
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/auskunft.js?v=202610011927" defer></script>
<script src="assets/js/bewerben.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/auskunft.js?v=202610012001" defer></script>
<script src="assets/js/bewerben.js?v=202610012001" defer></script>
</body>
</html>
+18 -18
View File
@@ -7,16 +7,16 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -80,16 +80,16 @@
</main>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/auskunft.js?v=202610011927" defer></script>
<script src="assets/js/bewerbungen.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/auskunft.js?v=202610012001" defer></script>
<script src="assets/js/bewerbungen.js?v=202610012001" defer></script>
</body>
</html>
+3 -3
View File
@@ -59,11 +59,11 @@
<!-- DIE WERBEEINBLENDUNG. Dieselbe Datei wie in der Reaction-Seite:
Zwei Fassungen altern unterschiedlich, und dann sieht der Stream
anders aus als das, worueber geredet wird. -->
<link rel="stylesheet" href="assets/css/werbung.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/werbung.css?v=202610012001" />
</head>
<body class="obs-buehne">
<div id="platz"></div>
<script src="assets/js/werbung.js?v=202610011927" defer></script>
<script src="assets/js/buehne.js?v=202610011927" defer></script>
<script src="assets/js/werbung.js?v=202610012001" defer></script>
<script src="assets/js/buehne.js?v=202610012001" defer></script>
</body>
</html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/calls.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/calls.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -89,15 +89,15 @@
</main>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/ki.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/calls.js?v=202610011927" defer></script>
<script src="assets/js/ki.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/calls.js?v=202610012001" defer></script>
</body>
</html>
+20 -20
View File
@@ -12,26 +12,26 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<!-- aufgaben.css bringt die Dialog- und Formularstile mit (.dialog,
.neu__zeile, .dialog__knoepfe). Sie stehen dort seit dem
Aufgabenbrett; sie hierher zu kopieren hiesse, sie an zwei Stellen
zu pflegen. Dieselbe Lösung nutzen kalender.html und content.html.
Gemeldet von pruef-css-klassen.mjs, bevor jemand einen ungestylten
Dialog zu sehen bekam. -->
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/chat.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/chat.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -739,24 +739,24 @@
</form>
</dialog>
<script src="assets/js/bereiche.js?v=202610011927"></script>
<script src="assets/js/bereiche.js?v=202610012001"></script>
<!-- TEXTFORM VOR ALLEM ANDEREN (21.09.2026): chat.js und bereich.js
fragen beim Zeichnen nach `window.Textform`. Kaeme sie spaeter,
waere die erste gezeichnete Nachricht ohne Gestaltung -- und das
faellt nur dem auf, der genau hinsieht. KEIN `defer`, damit sie
wirklich vor den anderen dasteht. -->
<script src="assets/js/textform.js?v=202610011927"></script>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/hochladen.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927"></script>
<script src="assets/js/glocke.js?v=202610011927"></script>
<script src="assets/js/textform.js?v=202610012001"></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/hochladen.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001"></script>
<script src="assets/js/glocke.js?v=202610012001"></script>
<!-- ANRUF VOR CHAT (18.09.2026): anruf.js stellt `window.anrufStarten`
bereit, und chat.js baut die Knoepfe nur, wenn es das gibt.
Andersherum waere die Reihenfolge eine stille Abhaengigkeit --
die Knoepfe fehlten, und niemand wuesste warum. -->
<script src="assets/js/anruf.js?v=202610011927"></script>
<script src="assets/js/anruf.js?v=202610012001"></script>
<!-- DIE BILDSCHAU (25.09.2026). Eigene Datei, weil sie nichts vom
Chat weiss: Sie bekommt einen Weg und einen Namen und zeigt ein
Bild. Jede andere Seite mit Fotos kann sie ebenso benutzen, ohne
@@ -767,8 +767,8 @@
sie beim ersten Foto noch nicht da -- und der erste Klick ginge
wie frueher in den Tab. Ein Fehler, der nur beim ERSTEN Mal
auftritt, ist der, den man nie nachstellen kann. -->
<script src="assets/js/bildschau.js?v=202610011927"></script>
<script src="assets/js/chat.js?v=202610011927"></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/bildschau.js?v=202610012001"></script>
<script src="assets/js/chat.js?v=202610012001"></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
</body>
</html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/content.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/content.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -179,15 +179,15 @@
</main>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/checkliste.js?v=202610011927" defer></script>
<script src="assets/js/content.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/checkliste.js?v=202610012001" defer></script>
<script src="assets/js/content.js?v=202610012001" defer></script>
</body>
</html>
+6 -6
View File
@@ -36,15 +36,15 @@
<link rel="preload" as="image" href="assets/img/buehne/crew-gate-hoch-580.webp"
type="image/webp" media="(max-width: 899px)" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/crew-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/crew-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<!-- Diese Wand steht NUR auf der Adresse von Team Dogi (ueberall sonst
404, siehe crewWeiche). Sie darf das Haus deshalb direkt nennen
statt ueber den Platzhalter haus.css zu gehen -- und sie MUSS es:
Eine Zugangswand, die sich erst nach dem Umbiegen faerbt, waere
die eine Seite, auf der man das Umfaerben sieht. -->
<link rel="stylesheet" href="assets/css/crew-haus.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/crew-haus.css?v=202610012001" />
</head>
<body class="gate gate--crew">
@@ -459,7 +459,7 @@
<script src="assets/js/gate.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/gate.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
</body>
</html>
+4 -4
View File
@@ -23,25 +23,25 @@
},
"icons": [
{
"src": "/assets/img/app-symbole/crew-192.png?v=202610011927",
"src": "/assets/img/app-symbole/crew-192.png?v=202610012001",
"sizes": "192x192",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/crew-512.png?v=202610011927",
"src": "/assets/img/app-symbole/crew-512.png?v=202610012001",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202610011927",
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202610012001",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202610011927",
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202610012001",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/dateien.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/dateien.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -108,15 +108,15 @@
</main>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/hochladen.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/hochladen.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/dateien.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/dateien.js?v=202610012001" defer></script>
</body>
</html>
+18 -18
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -306,20 +306,20 @@
</main>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/holen.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/holen.js?v=202610012001" defer></script>
<!-- VOR entwicklung.js: Die Seite richtet den Katalog beim Start ein,
also muss es ihn zu dem Zeitpunkt geben. Mit "defer" laufen beide
in Dokumentreihenfolge. -->
<script src="assets/js/vorlagenbrett.js?v=202610011927" defer></script>
<script src="assets/js/entwicklung.js?v=202610011927" defer></script>
<script src="assets/js/vorlagenbrett.js?v=202610012001" defer></script>
<script src="assets/js/entwicklung.js?v=202610012001" defer></script>
</body>
</html>
+15 -15
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/hilfe.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/hilfe.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -146,14 +146,14 @@
</main>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/hilfe.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/hilfe.js?v=202610012001" defer></script>
</body>
</html>
+5 -5
View File
@@ -30,9 +30,9 @@
<link rel="preload" as="image" href="assets/img/buehne/gate-hoch-580.webp"
type="image/webp" media="(max-width: 899px)" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
</head>
<body class="gate">
@@ -427,7 +427,7 @@
<script src="assets/js/gate.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/gate.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
</body>
</html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/kalender.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/kalender.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -383,15 +383,15 @@
</main>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/kalender.js?v=202610011927" defer></script>
<script src="assets/js/kalender-abo.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/kalender.js?v=202610012001" defer></script>
<script src="assets/js/kalender-abo.js?v=202610012001" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/leistung.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/leistung.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -444,13 +444,13 @@
</form>
</dialog>
<script src="assets/js/meldung.js?v=202610011927"></script>
<script src="assets/js/nachfrage.js?v=202610011927"></script>
<script src="assets/js/wahl.js?v=202610011927"></script>
<script src="assets/js/bereiche.js?v=202610011927"></script>
<script src="assets/js/kopf.js?v=202610011927"></script>
<script src="assets/js/glocke.js?v=202610011927"></script>
<script src="assets/js/leistung.js?v=202610011927"></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001"></script>
<script src="assets/js/nachfrage.js?v=202610012001"></script>
<script src="assets/js/wahl.js?v=202610012001"></script>
<script src="assets/js/bereiche.js?v=202610012001"></script>
<script src="assets/js/kopf.js?v=202610012001"></script>
<script src="assets/js/glocke.js?v=202610012001"></script>
<script src="assets/js/leistung.js?v=202610012001"></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,13 +12,13 @@
vergessen wird. -->
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/material.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/material.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start" data-ton="42" data-buehne="studio">
@@ -138,14 +138,14 @@
<p class="m-laedt" id="laedt">Einen Moment …</p>
</main>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/hochladen.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/material.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/hochladen.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/material.js?v=202610012001" defer></script>
</body>
</html>
+14 -14
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/notizen.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/notizen.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start" data-ton="46">
@@ -181,12 +181,12 @@
<!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js
liest daraus die Leitungsrollen. -->
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/notizen.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/notizen.js?v=202610012001" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/personen.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/personen.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -453,14 +453,14 @@
</main>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/personen.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/personen.js?v=202610012001" defer></script>
</body>
</html>
+18 -18
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/profil.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/profil.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -214,16 +214,16 @@
</main>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/hochladen.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/hochladen.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/steckbrief.js?v=202610011927" defer></script>
<script src="assets/js/profil.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/steckbrief.js?v=202610012001" defer></script>
<script src="assets/js/profil.js?v=202610012001" defer></script>
</body>
</html>
+19 -19
View File
@@ -7,15 +7,15 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/reaktion.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/spendenkarte.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/werbung.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/reaktion.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/spendenkarte.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/werbung.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start reaktion-seite" data-stand="laedt">
@@ -905,15 +905,15 @@
<!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js
liest daraus die Leitungsrollen. -->
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/spendenkarte.js?v=202610011927" defer></script>
<script src="assets/js/werbung.js?v=202610011927" defer></script>
<script src="assets/js/reaktion.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/spendenkarte.js?v=202610012001" defer></script>
<script src="assets/js/werbung.js?v=202610012001" defer></script>
<script src="assets/js/reaktion.js?v=202610012001" defer></script>
</body>
</html>
+17 -17
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -134,14 +134,14 @@
Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen
Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen,
die seit dem 07.09. jede Seite danach absucht. -->
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/holen.js?v=202610011927" defer></script>
<script src="assets/js/rechte.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/holen.js?v=202610012001" defer></script>
<script src="assets/js/rechte.js?v=202610012001" defer></script>
</body>
</html>
+18 -18
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/report.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/report.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -106,17 +106,17 @@
</main>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/ki.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/holen.js?v=202610011927" defer></script>
<script src="assets/js/report.js?v=202610011927" defer></script>
<script src="assets/js/ki.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/holen.js?v=202610012001" defer></script>
<script src="assets/js/report.js?v=202610012001" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/scouting.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/scouting.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -173,14 +173,14 @@
</div>
</div>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/scouting.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/scouting.js?v=202610012001" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,21 +12,21 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<!-- Nur die Startseite: Begrüßungskachel, Uhr, Glockenmulde. Siehe
den Hinweis in start.css -- dort stand es bis zum 07.09.2026. -->
<link rel="stylesheet" href="assets/css/heim.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/heim.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -732,16 +732,16 @@
</p>
</main>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/live.js?v=202610011927" defer></script>
<script src="assets/js/start.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/live.js?v=202610012001" defer></script>
<script src="assets/js/start.js?v=202610012001" defer></script>
</body>
</html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/startcheck.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/startcheck.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -85,16 +85,16 @@
</main>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/ki.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/startcheck.js?v=202610011927" defer></script>
<script src="assets/js/ki.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/startcheck.js?v=202610012001" defer></script>
</body>
</html>
+18 -18
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/profil.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/profil.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -150,16 +150,16 @@
</main>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/hochladen.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/hochladen.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/auskunft.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/steckbrief.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/auskunft.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/steckbrief.js?v=202610012001" defer></script>
</body>
</html>
+14 -14
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/support.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/support.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -128,16 +128,16 @@
(reading 'LEITUNG')" ab -- gemessen am 24.09.2026, als diese
Zeile beim Anlegen der Seite fehlte. Die Kopfleiste kam
trotzdem, deshalb sah man es nur in der Browserkonsole. -->
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<!-- wahl.js gehoert zu kopf.js: Der Sicht-Umschalter in der
Kopfleiste baut daraus seine Liste. pruef-css-klassen setzt das
seit dem 07.09.2026 durch -- damals fehlte es auf chat.html und
uebersicht.html, und heute hier. -->
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/support.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/support.js?v=202610012001" defer></script>
</body>
</html>
+3 -3
View File
@@ -23,7 +23,7 @@
„Eigenes CSS" leer lassen (der Grund ist schon
durchsichtig).
====================================================================== -->
<link rel="stylesheet" href="assets/css/spendenkarte.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/spendenkarte.css?v=202610012001" />
<style>
/* DURCHSICHTIG BIS AUF DIE KARTEN. OBS legt die Quelle über das
Bild; jede Fläche, die hier steht, deckt dort etwas zu. */
@@ -80,7 +80,7 @@
<body>
<div class="obs-tafel spendentafel" id="tafel" aria-live="polite"></div>
<script src="assets/js/spendenkarte.js?v=202610011927" defer></script>
<script src="assets/js/tafel.js?v=202610011927" defer></script>
<script src="assets/js/spendenkarte.js?v=202610012001" defer></script>
<script src="assets/js/tafel.js?v=202610012001" defer></script>
</body>
</html>
+18 -18
View File
@@ -7,18 +7,18 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610012001" />
<!-- Wegen des Kastens „Anfragen“ ueber der Liste. Eine eigene Kopie
der Regel hier waere die zweite Stelle, an der dieselbe Sache
anders aussieht. -->
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -111,15 +111,15 @@
</main>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/holen.js?v=202610011927" defer></script>
<script src="assets/js/talente.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/holen.js?v=202610012001" defer></script>
<script src="assets/js/talente.js?v=202610012001" defer></script>
</body>
</html>
+16 -16
View File
@@ -7,20 +7,20 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/team.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/team.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -110,15 +110,15 @@
</main>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/holen.js?v=202610011927" defer></script>
<script src="assets/js/team.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/holen.js?v=202610012001" defer></script>
<script src="assets/js/team.js?v=202610012001" defer></script>
</body>
</html>
+17 -17
View File
@@ -7,20 +7,20 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/team.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/team.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<!-- `data-buehne` steht hier fest und nicht im Skript: Die Kachel zu
@@ -84,15 +84,15 @@
Kaputt ist dabei nichts -- er funktioniert. Genau deshalb faellt
es niemandem auf, und deshalb prueft pruef-css-klassen die
ABHAENGIGKEIT statt der Optik. Hier hat sie angeschlagen. -->
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/holen.js?v=202610011927" defer></script>
<script src="assets/js/teamlage.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/holen.js?v=202610012001" defer></script>
<script src="assets/js/teamlage.js?v=202610012001" defer></script>
</body>
</html>
+15 -15
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -112,15 +112,15 @@
</main>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/teilen.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/teilen.js?v=202610012001" defer></script>
</body>
</html>
+16 -16
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -126,14 +126,14 @@
</main>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/treff-moderation.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/treff-moderation.js?v=202610012001" defer></script>
</body>
</html>
+16 -16
View File
@@ -7,18 +7,18 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<!-- haus.css MUSS die letzte Stilvorlage sein. Auf der Adresse des
Rudels biegt der Server genau diesen Dateinamen auf crew-haus.css
um, und die Seite kommt schon beim ERSTEN Abruf in Lila und
Babyblau an -- ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -248,14 +248,14 @@
Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen
Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen,
die seit dem 07.09. jede Seite danach absucht. -->
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/auskunft.js?v=202610011927" defer></script>
<script src="assets/js/treff-regeln.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/auskunft.js?v=202610012001" defer></script>
<script src="assets/js/treff-regeln.js?v=202610012001" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,22 +12,22 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<!-- Formular- und Dialogstile: seit dem 07.09.2026 steht hier der
Dialog "Creator anlegen". -->
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -149,16 +149,16 @@
</main>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/uebersicht.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/uebersicht.js?v=202610012001" defer></script>
</body>
</html>
+15 -15
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -335,14 +335,14 @@
</main>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/live.js?v=202610011927" defer></script>
<script src="assets/js/unsere-seiten.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/live.js?v=202610012001" defer></script>
<script src="assets/js/unsere-seiten.js?v=202610012001" defer></script>
</body>
</html>
+16 -16
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/unterstuetzen.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/unterstuetzen.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -106,17 +106,17 @@
<!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js
liest daraus die Leitungsrollen. Ohne sie stürzt jede Seite mit
„Cannot read properties of undefined (reading 'LEITUNG')" ab. -->
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/holen.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/holen.js?v=202610012001" defer></script>
<!-- Die Satz-Tafel. Ohne sie stand auf dieser Seite das Maschinenwort
des Servers (z.B. "nicht_gefunden") statt eines Satzes -- gemeldet
von pruef-meldungen, nicht beim Ansehen. -->
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/unterstuetzen.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/unterstuetzen.js?v=202610012001" defer></script>
</body>
</html>
+16 -16
View File
@@ -7,15 +7,15 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/werdegang.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/werdegang.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<body class="start">
@@ -144,14 +144,14 @@
</main>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/werdegang.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/werdegang.js?v=202610012001" defer></script>
</body>
</html>
+15 -15
View File
@@ -12,13 +12,13 @@
vergessen wird. -->
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610011927" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/start.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/willkommen.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/module.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610011927" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610012001" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610012001" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/start.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/willkommen.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/module.css?v=202610012001" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610012001" />
</head>
<!-- KOERPERKLASSE "start", NICHT "gate" (berichtigt 21.09.2026).
`body.gate` ist die Anmeldewand: `display:flex; align-items:center`,
@@ -75,13 +75,13 @@
<p class="fehler" id="fehler" hidden></p>
</main>
<script src="assets/js/meldung.js?v=202610011927" defer></script>
<script src="assets/js/bereiche.js?v=202610011927" defer></script>
<script src="assets/js/wahl.js?v=202610011927" defer></script>
<script src="assets/js/nachfrage.js?v=202610011927" defer></script>
<script src="assets/js/installieren.js?v=202610011927" defer></script>
<script src="assets/js/kopf.js?v=202610011927" defer></script>
<script src="assets/js/glocke.js?v=202610011927" defer></script>
<script src="assets/js/willkommen.js?v=202610011927" defer></script>
<script src="assets/js/meldung.js?v=202610012001" defer></script>
<script src="assets/js/bereiche.js?v=202610012001" defer></script>
<script src="assets/js/wahl.js?v=202610012001" defer></script>
<script src="assets/js/nachfrage.js?v=202610012001" defer></script>
<script src="assets/js/installieren.js?v=202610012001" defer></script>
<script src="assets/js/kopf.js?v=202610012001" defer></script>
<script src="assets/js/glocke.js?v=202610012001" defer></script>
<script src="assets/js/willkommen.js?v=202610012001" defer></script>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More