Die Tuer ohne Klingel, der Anruf ohne Ende, die Glocke ohne Liste

Siebter Durchgang durch die Team-Dogi-Seiten aus Benutzersicht. Alles am
Code belegt, die Groessenangaben nachgerechnet.

=== DIE ANMELDUNG ===

WOHER BEKOMMT MAN EINEN CODE? Stand nirgends. Vier Kacheln, ein Feld,
ein Knopf -- wer keinen Code hatte, fand keinen einzigen Satz dazu. Fuer
die Community besonders teuer: Sie ist die einzige Rolle, die von
aussen kommt und niemanden im Haus kennt.

"BITTE KURZ WARTEN" SIND BIS ZU ZEHN MINUTEN (VERSUCHE_FENSTER_MIN).
Wer nach zwanzig Sekunden nachsieht und dieselbe Meldung liest, haelt
die Seite fuer kaputt. Jetzt steht die Zahl da.

EIN RICHTIGER CODE AN DER FALSCHEN KACHEL fiel in dieselbe Absage wie
ein erfundener -- der Server sucht nur unter der gewaehlten Rolle. Wer
aus der Community kommt und auf "Modi" tippt (das klingt ja danach),
tippt seinen richtigen Code dreimal Buchstabe fuer Buchstabe. Ab dem
zweiten Fehlversuch kommt jetzt ein Hinweis auf die Auswahl -- ohne zu
sagen, welche die richtige waere.

=== DER ANRUF: VIER FEHLER, EINE ERFAHRUNG ===

DAS FREIZEICHEN LIEF UNENDLICH. Es gab keinen Zeitgeber, der aufhoert.
Wer niemanden erreichte, sass vor einem piependen Kasten mit "02:47"
darauf, als telefoniere er laengst. Der Server schickt den Verfallszeit-
punkt sogar mit (`laeuft_bis`) -- benutzt hat ihn nie jemand.

DER KLINGELKASTEN VERSCHWAND NACH 46 SEKUNDEN, waehrend der Server 120
gibt. Wer beim Klingeln das Handy aus der Tasche holt und in Sekunde 50
hinsieht, fand nichts mehr -- kein Kasten, keine Knoepfe -- waehrend der
Anrufer noch siebzig Sekunden Freizeichen hoerte. Die 120 Sekunden sind
im Server ausdruecklich damit begruendet, dass man Zeit zum Entsperren
braucht; eine Zeile im Browser hat diese Entscheidung aufgehoben.

DAS FREIZEICHEN PIEPTE WEITER, waehrend daneben "Keine Verbindung."
stand. Ton sagte "es klingelt noch", Text sagte "vorbei".

DIE UHR ZAEHLTE AB DEM WAEHLEN. Wer 30 Sekunden klingeln liess und 12
Sekunden sprach, las im Kasten "00:42" und danach im Chat "Anruf . 12
Sekunden". Der Server rechnet es richtig; der Kasten hat es wieder
kaputtgemacht.

Dazu: Die Mikrofon-Absage verwies auf "das Schloss-Symbol neben der
Adresse" -- in der installierten App gibt es weder Adresszeile noch
Schloss. Das Haus kennt diesen Fehler und hat ihn beim Weg zur
Anruf-Probe schon behoben; hier stand er noch.

Und die Anruf-Probe: Ihr einziger Punkt ohne Handlungsanweisung war
"Antwort 503." -- auf einer Seite, die ausdruecklich fuer jemanden
gebaut ist, der nicht technisch ist. Ihr Rueckweg fuehrte ausserdem
immer in den Chat, auch wenn man von der Startseite kam.

=== DER TREFF ===

EIN EINZEILER MACHTE SECHS ERKLAERTEXTE UNSICHTBAR. bewerben.js las
`g.unter`, der Server schickt `g.text` -- also immer undefined. Damit
fehlten ALLE SECHS Gruppeneinleitungen des Fragebogens ("Kein Test mit
richtigen Antworten"), und die CSS-Regel dafuer lief ins Leere. Uebrig
blieben sechs nackte Ueberschriften ueber fuenfzehn Fragen.

DIE EINZIGE "SO LAEUFT DAS HIER"-SEITE WAR FAST UNERREICHBAR. Die
Kachel "Regeln & Hilfe" zeigte auf ein Brett, das am ersten Tag leer
ist. Die Regeln, die es wirklich gibt (Begruessung, fuenf Regeln, drei
Stufen, Mindestalter), stehen auf treff-regeln.html -- erreichbar ueber
genau einen kleinen Textlink auf einer Brettseite. Die Kachel zeigt
jetzt dorthin.

FIEL /api/treff/lage AUS, versprach die Seite einem Zuschauer
Schreibrechte, die der Server ablehnt: Die Pruefung fiel bei `lage ===
null` auf `true` durch -- von "darf auf keinem Brett" auf "darf
ueberall". Formular auf, getippt, 403.

Dazu: hilfe.js hatte eine eigene kleine Fehlertabelle fuer zwei
Kennungen und endete sonst bei "Ging nicht." -- ausgerechnet die Seite,
auf der jemand mit einem Problem sitzt, hatte die inhaltsleerste Absage
im Haus. Und der gesperrte "Neue Meldung"-Knopf erklaerte sich nur im
Maus-Tooltip; die Community kommt von TikTok, also vom Handy.

=== DIE STARTSEITE ===

DIE COMMUNITY BEKAM EIN WORT. Unter dem Titel steht bei jeder Rolle ein
Satz -- beim Community-Mitglied stand "Community". Woertlich derselbe
Mangel, den der Kommentar bei MODI_ROLLENTEXT beschreibt und fuer den
Modi behebt.

DER RING MELDETE 100 %, bevor man irgendetwas getan hat. Am ersten Tag,
ohne eine einzige Aufgabe, stand das groesste Element der Seite auf
"100 % -- HEUTE NICHTS OFFEN". Gelesen wird zuerst die Zahl, und 100 %
heisst fuer jeden "fertig", nicht "leer".

UND BEI EINER STOERUNG BLIEB "wird geladen" FUER IMMER STEHEN -- der
fruehe `return` liess den Platzhalter unberuehrt.

=== DIE ZUGANGSVERWALTUNG ===

Der Code-Kasten sagte "jetzt weitergeben" und gab die Haelfte nicht
mit, die man weitergeben muss: WO sich die Person anmeldet. DogFather
ruft den Code durchs Zimmer, der andere fragt "und wo?". Die Adresse
kommt jetzt vom Server (anmeldeAdresseFuer, abgeleitet aus derselben
Weiche), dazu ein Knopf "Code und Adresse kopieren".

Er verschwieg ausserdem den Rettungsweg: "danach nicht mehr abrufbar"
stimmt fuer DIESEN Code -- man kann jederzeit einen neuen vergeben. Wer
das nicht weiss, glaubt, er habe einen Menschen angelegt, der nie
hereinkommt. Und das Fenster liess sich wortlos schliessen, waehrend
der Code offen stand.

=== OPTIK: NACHGERECHNET, NICHT VERMUTET ===

DIE GLOCKE STAND NICHT IN DER LISTE. Sie ist ein echtes <button> und
wurde von der 44-px-Regel erfasst, waehrend ihre vier Nachbarn durch
einen staerkeren Selektor auf 36 px gehen. Zwischen 401 und 560 px --
also bei 412 px (haeufigste Android-Breite) und 430 px (iPhone Pro Max)
-- stand eine 44 px hohe runde Pille zwischen fuenf 36-px-Quadraten.
Der 400er-Block listet sie korrekt; genau dieses Band fiel durch beide
Rechnungen. Dasselbe Muster wie am 06.09.

DIE 9,6-px-REPARATUR IM KALENDER WAR SEIT WOCHEN WIRKUNGSLOS.
kalender.css wird NACH start.css geladen, beide Selektoren sind gleich
stark -- also gewann `.6rem` auf jeder Breite unter 760 px. Genau der
Wert, den start.css als behobenen Fehler protokolliert.

Und die Hebung selbst unterschritt ihre eigene Grenze: Die Regel, die
zu kleine Schrift hochziehen soll, zog `.k-pille` auf 11,2 px -- 0,3 px
unter die 11,5, die 33 Zeilen darueber aufgestellt werden.

Weitere nachgerechnete Groessen: Spaltenkopf und KW-Spalte im Kalender
(10,56 px), Kalenderwoche am Balken (9,92 px), Wecker-Knopf (30 px --
der kleinste im Haus, 14 unter der Vorgabe), Chat-Zurueck auf dem
Tablet (34x34, 40 % weniger Flaeche als noetig, und der einzige Weg
zurueck in die Liste), Emoji-Knoepfe (34 px bei 2 px Abstand -- wer
danebentippt, verschickt ein anderes Zeichen, und das ist sofort
abgeschickt).

IM WINDOWS-KONTRASTMODUS HATTE DIE STARTSEITE KEINE UEBERSCHRIFT.
`.ztitel` und der Team-Dogi-Schriftzug sind mit `background-clip: text`
gesetzt; faellt der Verlauf weg, bleibt durchsichtiger Text. Beide
haben jetzt den Rueckfall, den gate.css schon lange hat.

UND MEIN EIGENES STREIFENRASTER rechnete die Spaltenzahl aus der Breite
statt aus den Daten (`auto-fit`): Bei 390 px passten sechs, alles
darueber fiel in eine zweite, unbeschriftete Zeile. Das `overflow-x`
daneben konnte nie greifen -- ein auto-fit-Raster wird nie breiter als
sein Kasten. Der Kommentar beschrieb ein Verhalten, das es nicht gab.

GEMESSEN: pruef-meldungen 8/0, pruef-css-klassen ALLES IN ORDNUNG,
pruef-rechtetafel 19/0, alle Module laden, keine doppelten
Kachelnamen/-ziele/-farben in allen vier Rollen.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-09-19 15:07:31 +02:00
co-authored by Claude Opus 5
parent 273318dd9c
commit 18a5231b70
60 changed files with 1045 additions and 525 deletions
+17
View File
@@ -460,3 +460,20 @@ export function crewWeiche(req, res, next) {
if (istWorkspacePfad(req.path) || req.path.startsWith("/assets/")) return next();
return res.redirect(302, "/workspace/");
}
/** WO SICH JEMAND MIT DIESER ROLLE ANMELDET (19.09.2026).
*
* ANLASS: Beim Anlegen eines Zugangs zeigt die Verwaltung Name und
* Code -- aber nirgends, WELCHEN Link man dazuschicken muss. DogFather
* ruft den Code durchs Zimmer und der andere fragt "und wo?".
* Ausgerechnet der Kasten, der sagt "jetzt weitergeben", gab die
* Haelfte nicht mit, die man weitergeben muss.
*
* ABGELEITET AUS DENSELBEN MENGEN wie die Weiche selbst -- nicht aus
* einer zweiten Liste. Wer eine Rolle nach TEAM_DOGI_ROLLEN oder
* AUSSEN_ROLLEN verschiebt, verschiebt die Adresse mit. */
export function anmeldeAdresseFuer(rolle) {
return (TEAM_DOGI_ROLLEN.has(rolle) || AUSSEN_ROLLEN.has(rolle))
? CREW_ADRESSE
: "https://workspace.dogfather-universe.com";
}
+1 -1
View File
@@ -1527,7 +1527,7 @@ function pruefe(bereich, körper, { neu }) {
if (neu || körper.titel !== undefined) {
const t = String(körper.titel ?? "").trim();
if (t.length < 2) fehler.push("Titel fehlt.");
if (t.length < 2) fehler.push("Die Überschrift fehlt.");
else if (t.length > TITEL_MAX) fehler.push("Titel ist zu lang.");
else aus.titel = t;
}
+10 -3
View File
@@ -14,6 +14,10 @@
===================================================================== */
import express from "express";
/* WO SICH DIESE ROLLE ANMELDET -- aus derselben Datei, die auch die
Weiche steuert. Eine zweite Liste von Adressen waere die, die beim
naechsten Umzug stehen bleibt. */
import { anmeldeAdresseFuer } from "./crew-adresse.js";
import {
db, protokolliere, echteIp, sitzungLesen, personAnlegen, codeNeu, sitzungToken, personSperren, betreuungSetzen, scoutZuteilungSetzen, istLeitung, istDogFather, siehtModis, siehtAlles, ROLLEN_SORTIERUNG, ROLLEN_REIHE, istSpicy, verborgeneIds, TEAM_DOGI_ROLLEN, darfAnlegen, darfRollenWechseln, hausBedingung,
} from "./workspace.js";
@@ -605,6 +609,7 @@ personenRouter.post("/workspace/api/creator-anlegen", gleicheHerkunft, nurLeitun
/* Der Code steht NUR hier in der Antwort. Danach ist er weg. */
res.status(201).json({ id: neu.id, name: neu.name, rolle: neu.rolle, code: neu.code,
adresse: anmeldeAdresseFuer(neu.rolle),
betreuer_id: betreuerId });
} catch (fehler) {
console.error("[workspace] Creator anlegen:", fehler?.message);
@@ -675,7 +680,8 @@ function teamTuer(rolle) {
if (vorhanden) return res.status(409).json({ fehler: "Diesen Namen gibt es schon." });
const neu = personAnlegen(name, rolle, { ...person, ip: echteIp(req) });
res.status(201).json({ id: neu.id, name: neu.name, rolle: neu.rolle, code: neu.code });
res.status(201).json({ id: neu.id, name: neu.name, rolle: neu.rolle, code: neu.code,
adresse: anmeldeAdresseFuer(neu.rolle) });
} catch (fehler) {
console.error(`[workspace] ${rolle} anlegen:`, fehler?.message);
res.status(503).json({ fehler: "nicht_verfuegbar" });
@@ -785,7 +791,8 @@ personenRouter.post("/workspace/api/verwaltung/personen", gleicheHerkunft, (req,
const neu = personAnlegen(name, rolle, { ...req.person, ip: echteIp(req) });
/* Der Code steht NUR hier in der Antwort. Danach ist er weg. */
res.status(201).json({ id: neu.id, name: neu.name, rolle: neu.rolle, code: neu.code });
res.status(201).json({ id: neu.id, name: neu.name, rolle: neu.rolle, code: neu.code,
adresse: anmeldeAdresseFuer(neu.rolle) });
} catch (fehler) {
console.error("[workspace] Person anlegen:", fehler?.message);
res.status(503).json({ fehler: "nicht_verfuegbar" });
@@ -813,7 +820,7 @@ personenRouter.post("/workspace/api/verwaltung/personen/:id/code", gleicheHerkun
}
const neu = codeNeu(id, { ...req.person, ip: echteIp(req) },
eigener ? sitzungToken(req) : null);
res.json({ id: neu.id, name: neu.name, rolle: neu.rolle, code: neu.code });
res.json({ id: neu.id, name: neu.name, rolle: neu.rolle, code: neu.code, adresse: anmeldeAdresseFuer(neu.rolle) });
} catch (fehler) {
if (/Keine Person/.test(fehler?.message || "")) {
return res.status(404).json({ fehler: "nicht_gefunden" });
+15 -1
View File
@@ -345,7 +345,21 @@ zentraleRouter.get("/workspace/api/zentrale", (req, res) => {
return res.json({
art: "tag",
titel: dran ? "Heute geschafft" : "Heute nichts offen",
prozent: dran ? Math.round((heuteFertig / dran) * 100) : 100,
/* KEINE 100 %, WENN ES NICHTS ZU TUN GAB (19.09.2026).
Hier stand `prozent: 100` fuer den Fall "nichts offen". Der
Titel sagt es zwar in Worten -- gelesen wird aber zuerst die
Zahl in der Mitte, und 100 % heisst fuer jeden Menschen
"fertig", nicht "leer". Am ersten Tag, ohne eine einzige
zugeteilte Aufgabe, stand damit das groesste Element der
Startseite auf "100 % -- HEUTE NICHTS OFFEN".
Derselbe Fehler wurde am 17.09. schon einmal behoben, nur
andersherum ("0 % TAG GESCHAFFT"). Und die Community-Antwort
zwanzig Zeilen weiter oben macht es bereits richtig: `mitte`
mit einem Strich statt einer Zahl, die nichts misst. */
mitte: dran ? undefined : "–",
prozent: dran ? Math.round((heuteFertig / dran) * 100) : 0,
segmente,
zahlen: [
/* "TERMINE HEUTE", NICHT NUR "HEUTE" (17.09.2026).
+33 -2
View File
@@ -1032,7 +1032,26 @@ const TREFF_BEREICHE = [
{ ...TREFF_GRUPPE, name: "Highlights", unter: "Eure Clips und Bilder",
zeichen: "live", ton: 29, ziel: "bereich.html?b=highlight", szene: "arena" },
{ ...TREFF_GRUPPE, name: "Regeln & Hilfe", unter: "Wie es hier l\u00e4uft",
zeichen: "schutz", ton: 28, ziel: "bereich.html?b=regeln", szene: "studio" },
/* ZEIGT JETZT AUF DIE SEITE, DIE DIE ANTWORT HAT (19.09.2026).
Sie fuehrte auf `bereich.html?b=regeln` -- ein Brett, auf das die
Leitung Regeln eintragen KANN und das am ersten Tag leer ist
("Hier stehen die Regeln des Treffs -- sobald sie eingetragen
sind.").
Die Regeln, die es WIRKLICH gibt, stehen auf `treff-regeln.html`:
Begruessung, die fuenf Regeln, die drei Stufen, das Mindestalter,
was bei Aerger zu tun ist. Diese Seite war von genau EINER Stelle
aus erreichbar -- einem kleinen Textlink unter der Unterzeile
einer Brettseite. Keine der elf Kacheln fuehrte hin.
Damit war die einzige "So laeuft das hier"-Seite des Hauses fuer
einen neuen Zuschauer praktisch unsichtbar, waehrend die Kachel,
die ihren Namen trug, auf eine leere Liste zeigte.
Das Brett gibt es weiter; treff-regeln.html verlinkt darauf. Ein
Ort fuer die Frage, nicht zwei. */
zeichen: "schutz", ton: 28, ziel: "treff-regeln.html", szene: "studio" },
{ ...TREFF_GRUPPE, name: "Mitmachen", unter: "Wie du dazugeh\u00f6ren kannst",
zeichen: "personen", ton: 32, ziel: "bereich.html?b=mitmachen", szene: "garage" },
/* UNSERE SEITEN (19.09.2026) -- die einzige Kachel, die HINAUSFUEHRT.
@@ -1131,7 +1150,7 @@ export const TREFF_ROLLEN = new Set(["gast", "modi", "hand", "admin"]);
sich aus der Liste, die Sortierung in start.js fasst beide ans Ende. */
const HILFE_KACHEL = {
gruppe: "Für dich", gruppeUnter: "Deine eigene Seite",
name: "Vertraulich melden", unter: "Probleme, die niemand sonst sieht",
name: "Vertraulich melden", unter: "Nur DogFather und die rechte Hand",
zeichen: "schutz", ton: 39, ziel: "hilfe.html", szene: "studio",
};
@@ -1653,6 +1672,18 @@ const HAND_ROLLENTEXT = "Rechte Hand · du hast alles im Blick und entscheidest
export function rollentextFuer(person) {
if (person?.rolle === "modi") return MODI_ROLLENTEXT;
if (person?.rolle === "hand") return HAND_ROLLENTEXT;
/* DIE COMMUNITY HATTE NUR EIN WORT (nachgetragen 19.09.2026).
Bei jeder anderen Rolle steht unter dem Titel ein Satz. Beim
Community-Mitglied stand dort das nackte Wort "Community" -- und
das ist woertlich derselbe Mangel, den der Kommentar bei
MODI_ROLLENTEXT beschreibt und fuer den Modi behebt: "das sieht
nicht verborgen aus, sondern unfertig."
Fuer den Menschen, der von aussen kommt und niemanden hier kennt,
ist der erste Satz nach dem Anmelden der wichtigste im ganzen
Haus. */
if (person?.rolle === "gast") return "Community · dein Platz im Treff";
return null;
}
+6 -6
View File
@@ -16,15 +16,15 @@
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=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
<!-- 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,
WARUM das Telefon nicht klingelt, ist das besonders unpassend. -->
<link rel="manifest" href="/workspace/crew.webmanifest?v=202609191018" />
<meta name="theme-color" content="#06090f" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<style>
/* Bewusst in der Seite und nicht in einer eigenen Datei: Diese Seite
soll auch dann noch etwas anzeigen, wenn genau das schiefgeht,
@@ -100,7 +100,7 @@
</head>
<body class="haus">
<header class="kopfleiste">
<a class="kopfleiste__zurueck" href="chat.html">‹ Zum Chat</a>
<a class="kopfleiste__zurueck" id="zurueck-weg" href="start.html">‹ Zurück</a>
<div class="kopfleiste__mitte"><span class="kopfleiste__titel">Anruf-Probe</span></div>
<div class="kopfleiste__rechts"></div>
</header>
@@ -119,8 +119,8 @@
<p class="probe__ende" id="rat"></p>
</main>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/anruf-probe.js?v=202609191457" defer></script>
<script src="assets/js/anruf-probe.js?v=202609191506" defer></script>
</body>
</html>
+4 -4
View File
@@ -22,25 +22,25 @@
},
"icons": [
{
"src": "/assets/img/app-symbole/workspace-192.png?v=202609191457",
"src": "/assets/img/app-symbole/workspace-192.png?v=202609191506",
"sizes": "192x192",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/workspace-512.png?v=202609191457",
"src": "/assets/img/app-symbole/workspace-512.png?v=202609191506",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609191457",
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609191506",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609191457",
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609191506",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
+14 -4
View File
@@ -104,9 +104,14 @@
.chat__zurueck {
display: none;
flex: none;
width: 34px; height: 34px;
/* 44px statt 34px (19.09.2026): Zwischen 761 und 860 px -- also auf
jedem Tablet hochkant -- greift die 44-px-Hausregel nicht, und
dieser Knopf war dort 34x34, also 40 Prozent weniger Flaeche als
noetig. Er ist der EINZIGE Weg von einem Gespraech zurueck in die
Liste; wer ihn verfehlt, sitzt fest. */
width: 44px; height: 44px;
align-items: center; justify-content: center;
border: 1px solid var(--rand); border-radius: 10px;
border: 1px solid var(--rand); border-radius: var(--radius-klein);
background: rgba(255, 255, 255, .04);
color: var(--text-leise); cursor: pointer;
}
@@ -904,7 +909,7 @@
position: absolute;
right: 14px; bottom: calc(100% - 6px);
z-index: 5;
display: grid; grid-template-columns: repeat(10, 1fr); gap: 2px;
display: grid; grid-template-columns: repeat(10, 1fr); gap: 4px;
padding: 10px;
border-radius: 14px;
background: rgba(8, 12, 20, .97);
@@ -913,7 +918,12 @@
}
.emoji-tafel__knopf {
appearance: none; border: 0; background: none;
width: 34px; height: 34px; border-radius: 8px;
/* FUELLT SEINE SPALTE, STATT 34 px BREIT ZU SEIN (19.09.2026).
Emojis stehen dicht an dicht: Bei 34 px Knopf und 2 px Abstand
liegt der Nachbar 36 px vom Mittelpunkt entfernt. Wer danebentippt,
verschickt ein anderes Zeichen -- und anders als ein Fehlgriff in
einem Menue ist das sofort abgeschickt. */
width: 100%; min-height: 44px; border-radius: var(--radius-klein);
font-size: 1.15rem; line-height: 1; cursor: pointer;
transition: background var(--tempo);
}
+12
View File
@@ -582,3 +582,15 @@
Sie sind die Form, und die soll vor dem Himmel nicht verschwinden. */
--modul-schleier: .30;
}
/* Der Schriftzug von Team Dogi trägt denselben Verlauf wie die
Überschrift der Zentrale — und brauchte denselben Rückfall. Ohne ihn
steht im Windows-Kontrastmodus oben links nichts. Diese Datei liegt
auf allen 21 Seiten der Team-Dogi-Adresse. */
@media (forced-colors: active) {
.kopfleiste .marke__haupt {
background: none;
-webkit-text-fill-color: CanvasText;
color: CanvasText;
}
}
+11
View File
@@ -2895,3 +2895,14 @@ body.gate--crew .rollen .feldschild::before {
font-size: .88rem; line-height: 1.5; color: var(--text-leise);
}
.alterfrage__text strong { color: var(--text); }
/* DER SATZ, DER SAGT, WOHER MAN EINEN CODE BEKOMMT (19.09.2026).
Er steht ÜBER der Fußzeile mit der Verschlüsselungszusage, nicht
darunter: Wer keinen Code hat, soll ihn lesen, bevor er aufgibt.
Etwas heller gesetzt als der Fuß — er ist eine Auskunft, kein
Kleingedrucktes. */
.fuss--woher {
color: var(--text-leise);
margin-bottom: 6px;
}
+30
View File
@@ -1151,3 +1151,33 @@
}
/* =====================================================================
DIE ÜBERSCHRIFT MUSS AUCH IM KONTRASTMODUS DA SEIN (19.09.2026)
`.ztitel` ist mit `background-clip: text` gesetzt — der Schriftzug ist
also ein Farbverlauf, der durch die Buchstaben scheint, und die
Buchstaben selbst sind durchsichtig.
Zwei Sicherungen fehlten, die das Haus sonst überall setzt:
1. KEIN @supports. Wo `background-clip: text` nicht greift, wirkt
`-webkit-text-fill-color: transparent` trotzdem — der Text ist
dann einfach weg. Alle anderen Stellen im Haus (gate.css,
leistung.css, crew-haus.css) kapseln denselben Griff.
2. KEIN forced-colors-RÜCKFALL. Im Windows-Kontrastmodus wird der
Verlauf verworfen, `-webkit-text-fill-color` aber nicht
zurückgesetzt. Übrig bleibt durchsichtiger Text — die Seite hat
dann keine Überschrift.
Dasselbe gilt für den Schriftzug von Team Dogi in crew-haus.css.
===================================================================== */
@media (forced-colors: active) {
.ztitel {
background: none;
-webkit-text-fill-color: CanvasText;
color: CanvasText;
filter: none;
}
}
+9
View File
@@ -217,3 +217,12 @@
.fall-zeile { transition: none; }
.fall-zeile:hover { transform: none; }
}
/* Der Grund, warum „Neue Meldung" gerade gesperrt ist — sichtbar,
nicht nur im Maus-Tooltip. Ruhig gesetzt: Es ist eine Auskunft,
keine Warnung. */
.h-gesperrt {
margin: 8px 0 0; max-width: 56ch;
font-size: .85rem; line-height: 1.55;
color: var(--text-still);
}
+21 -5
View File
@@ -594,7 +594,9 @@
.k-strahl__sym { position: absolute; top: 2px; font-size: .8rem; }
.k-strahl__kw {
position: absolute; bottom: 0;
font-size: .62rem; color: var(--text-still);
/* .75rem statt .62rem (9,92 px): Platz ist da -- die Spalte ist bei
390 px rund 52 px breit. */
font-size: .75rem; color: var(--text-leise);
font-variant-numeric: tabular-nums;
}
.k-strahl__fuss {
@@ -706,13 +708,23 @@
.k-raster { grid-template-columns: 32px repeat(7, minmax(0, 1fr)); }
.k-tag { min-height: 76px; padding: 6px 5px 7px; }
.k-tag__monat, .k-tag__heute { display: none; }
/* .75rem statt .6rem (19.09.2026). Hier standen 9,6 px -- genau der
Wert, den start.css als BEHOBENEN Fehler protokolliert. Der Haken:
kalender.css wird NACH start.css geladen, beide Selektoren sind
gleich stark, also gewann diese Zeile auf jeder Breite unter
760 px. Die Reparatur war seit dem Tag wirkungslos, ohne dass es
jemand sehen konnte. Die Uhrzeit ist die einzige Auskunft in der
Zelle. */
.k-anlass, .k-pille {
font-size: .6rem; padding: 1px 4px;
font-size: .75rem; padding: 3px 6px;
border-left-width: 2px;
}
.k-pille__zeit { margin-right: 3px; }
.k-spaltenkopf { padding: 8px 4px; font-size: .66rem; letter-spacing: .06em; }
.k-kw { font-size: .66rem; padding: 7px 2px; }
/* .75rem statt .66rem: 10,56 px, zusaetzlich gesperrt -- und von
keiner Hebungsliste erfasst. Die Wochentagskoepfe sind das, woran
man sich im Monatsraster orientiert. */
.k-spaltenkopf { padding: 8px 4px; font-size: .75rem; letter-spacing: .04em; }
.k-kw { font-size: .75rem; padding: 7px 2px; }
.k-woche { grid-template-columns: 1fr; }
.k-wochentag { min-height: 0; }
.k-strahl { height: 110px; }
@@ -1088,7 +1100,11 @@
.wecker-knopf {
--w-ton: #e3b341;
display: inline-flex; align-items: center; gap: 4px;
min-height: 30px; padding: 3px 9px 3px 7px;
/* 38px statt 30px (19.09.2026): 30 px waren 14 px unter der
Hausvorgabe und 8 px unter dem kleinsten Zugestaendnis, das
sonst ueberall gilt. In der Terminzeile stand er damit neben
Knoepfen von 38 und 44 px -- drei Hoehen in einer Reihe. */
min-height: 38px; padding: 5px 9px 5px 7px;
border: 1px solid var(--rand); border-radius: 999px;
background: transparent; color: var(--text-still);
font: inherit; font-size: .78rem; cursor: pointer;
+43
View File
@@ -737,3 +737,46 @@ body[data-nur-lesen="ja"] select { display: none; }
.liste-kachel > .gruppe::after { background: CanvasText; }
.gruppe__kopf-zeichen { border: 1px solid CanvasText; }
}
/* =====================================================================
DER CODE-KASTEN, VERVOLLSTÄNDIGT (19.09.2026)
Er sagte „jetzt weitergeben" und gab die Adresse nicht mit, ohne die
ein Code nutzlos ist. Und er verschwieg, dass sich ein verlorener
Code jederzeit neu vergeben lässt – wer das nicht weiß, glaubt, er
habe einen Menschen angelegt, der nie hereinkommt.
===================================================================== */
.code-kasten__zeile {
margin: 10px 0 0;
display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px;
}
.code-kasten__was {
font-size: .72rem; letter-spacing: .06em; text-transform: uppercase;
color: var(--text-still);
}
.code-kasten__adresse {
/* 44 px Tippziel: Auf dem Handy führt dieser Link zur Anmeldeseite,
die man der anderen Person zeigen will. */
display: inline-flex; align-items: center; min-height: 44px;
font-size: .95rem; font-weight: 600;
color: var(--text); text-decoration: underline;
text-underline-offset: 3px;
word-break: break-all;
}
.code-kasten__adresse:hover { color: var(--text-hell, #ffffff); }
/* Der Rettungsweg. Ruhig gesetzt – er ist eine Beruhigung, keine
Warnung, und darf den Satz darüber nicht überstrahlen. */
.code-kasten__rettung {
margin: 10px 0 0; max-width: 60ch;
padding-left: 11px;
border-left: 2px solid var(--rand);
font-size: .84rem; line-height: 1.6; color: var(--text-still);
}
.code-kasten__rettung strong { color: var(--text-leise); font-weight: 640; }
/* Drei Knöpfe statt zwei: Auf schmalen Bildschirmen untereinander,
damit keiner auf 50 px gequetscht wird. */
@media (max-width: 460px) {
.code-kasten .neu__knoepfe { flex-direction: column; align-items: stretch; }
}
+17 -1
View File
@@ -2991,7 +2991,12 @@ body.start #protokoll {
.feldschild, .marke, .gruppe__unter, .kachel__unter {
font-size: .75rem;
}
.k-pille, .k-anlass { font-size: .7rem; }
/* .75rem statt .7rem (19.09.2026): .7rem sind 11,2 px -- also 0,3 px
UNTER der Grenze, die 33 Zeilen weiter oben aufgestellt wird.
Die Regel, die zu kleine Schrift hochziehen soll, zog sie auf
einen Wert, der selbst zu klein ist. team.css hat genau diesen
Fehler fuer .tampel__tag schon einmal korrigiert. */
.k-pille, .k-anlass { font-size: .75rem; }
.k-tag__heute, .k-anlasskarte__rest small,
.k-anlasskarte__rest, .zahl__schild, .karte__zeile {
font-size: .72rem;
@@ -7969,6 +7974,17 @@ body.start .k-leiste .feldschild::after {
.kopfleiste__rechts > .teilen,
.kopfleiste__rechts > .chat-knopf,
.kopfleiste__rechts > .suche-knopf,
/* DIE GLOCKE STAND HIER NICHT (nachgetragen 19.09.2026).
Sie ist ein echtes <button> und wurde damit von der 44-px-Regel
erfasst, waehrend ihre vier Nachbarn durch diesen staerkeren
Selektor auf 36 px gehen. Zwischen 401 und 560 px -- also bei
412 px (haeufigste Android-Breite) und 430 px (iPhone Pro Max) --
stand damit eine 44 px hohe runde Pille zwischen fuenf 36-px-
Quadraten. Der 400er-Block darunter listet sie korrekt; genau
dieses Band fiel durch beide Rechnungen.
Dasselbe Muster wie am 06.09.: eine Liste fuer vier Elemente,
und das fuenfte kam spaeter dazu. */
.kopfleiste__rechts > .glocke,
.kopfleiste__rechts > .abmelden {
width: 36px; min-width: 36px; height: 36px; min-height: 36px;
padding: 0; gap: 0;
+14 -2
View File
@@ -193,7 +193,19 @@
}
.w-streifen__zeile {
display: grid;
grid-template-columns: minmax(14ch, 1fr) repeat(auto-fit, minmax(2.4rem, 2.4rem));
/* `var(--monate)` statt `auto-fit` (19.09.2026).
`auto-fit` legt so viele Spuren an, wie in die BREITE passen --
nicht so viele, wie Zellen da sind. Bei 390 px waren das sechs;
die restlichen Monatszellen wanderten in eine zweite,
unbeschriftete Rasterzeile. Kopf- und Datenzeile rechneten das
ausserdem unabhaengig voneinander und konnten sich gegenseitig
verschieben.
Und das `overflow-x: auto` am Elternteil konnte nie greifen: Ein
Raster mit `auto-fit` wird nie breiter als sein Kasten, es faltet
sich um. Der Kommentar daneben beschrieb ein Verhalten, das es
nicht gab. Jetzt kommt die Zahl aus den Daten -- so wie es das
Bewegungsdiagramm nebenan schon richtig macht. */
grid-template-columns: minmax(14ch, 1fr) repeat(var(--monate, 6), 2.4rem);
align-items: center; gap: 6px;
}
.w-streifen__zeile--kopf { margin-bottom: 4px; }
@@ -335,7 +347,7 @@
------------------------------------------------------------------- */
@media (max-width: 560px) {
.w-streifen__zeile {
grid-template-columns: minmax(10ch, 1fr) repeat(auto-fit, minmax(2rem, 2rem));
grid-template-columns: minmax(10ch, 1fr) repeat(var(--monate, 6), 2rem);
}
.w-streifen__zelle { width: 1.9rem; }
.w-bewegung__gitter { gap: 5px; }
+34 -1
View File
@@ -168,7 +168,17 @@
return;
}
if (!a.ok) {
punkt('warn', 'Der Server antwortet ungewöhnlich', `Antwort ${a.status}.`);
/* NICHT NUR DIE ZAHL (19.09.2026). Alle zwoelf anderen Punkte
sagen, was zu tun ist -- dieser sagte "Antwort 503.". Und
er kann als Erster im Schlussrat landen, also ganz unten
als das, was offen bleibt. Diese Seite ist ausdruecklich
fuer jemanden gebaut, der nicht technisch ist; eine
dreistellige Zahl ist fuer ihn keine Auskunft, sondern die
Bestaetigung, dass er hier nichts ausrichten kann. */
punkt('warn', 'Der Server antwortet gerade ungewöhnlich',
'Wahrscheinlich wird er gerade neu gestartet oder ist kurz '
+ 'überlastet. Warte eine Minute und öffne diese Seite noch '
+ `einmal. Bleibt es dabei, sag DogFather Bescheid – Kennzahl ${a.status}.`);
return;
}
const d = await a.json();
@@ -238,3 +248,26 @@
ratGeben();
})();
})();
/* ---------------------------------------------------------------------
DER RÜCKWEG FÜHRT DORTHIN, WO MAN HERKAM (19.09.2026)
Hier stand fest „‹ Zum Chat". Erreicht wird diese Seite aber auch von
der STARTSEITE aus -- über den Hinweis „Bei dir klingelt nichts".
Wer von dort kam, landete im Chat statt zurück, und das ist auf einer
Hilfeseite die falscheste Richtung überhaupt.
Jede andere Unterseite bekommt über kopf.js einen Zurück-Knopf, der
wirklich zurückführt. Diese Seite lädt kopf.js bewusst nicht (sie
soll auch dann noch stehen, wenn anderes klemmt) -- also hier
dieselbe Rechnung in vier Zeilen: Gibt es einen Verlauf, geh zurück;
sonst bleibt der Link auf die Startseite, wie er im HTML steht.
------------------------------------------------------------------- */
(function () {
var weg = document.getElementById('zurueck-weg');
if (!weg || history.length <= 1) return;
weg.addEventListener('click', function (e) {
e.preventDefault();
history.back();
});
})();
+83 -7
View File
@@ -175,12 +175,20 @@
/* Ab hier redet man miteinander -- ein Freizeichen daneben
waere das, was man an einer Telefonanlage hasst. */
tonAus();
klingelWache(); // niemand-geht-ran-Wecker abbestellen
if (anruf && !anruf.beginn) anruf.beginn = Date.now();
lage('Verbunden');
}
/* `failed` heisst: Es kommt nichts mehr. Das gehoert gesagt --
ein Kasten, der ewig „Verbindung …" zeigt, laesst einen warten,
wo nichts mehr kommt. */
if (v.connectionState === 'failed') {
/* TON AUS. Bis heute piepte das Freizeichen weiter, waehrend
daneben "Keine Verbindung." stand -- der Ton sagte "es
klingelt noch", der Text "vorbei". Man weiss dann nicht,
welchem man glauben soll, und legt vorsichtshalber nicht auf. */
tonAus();
klingelWache();
lage(nurGleichesNetz
? 'Keine Verbindung – dafür fehlt noch ein Vermittlungsserver.'
: 'Keine Verbindung.');
@@ -252,13 +260,27 @@
Ein „ging nicht" wäre hier die unbrauchbarste Auskunft von
allen -- man sucht dann am Gerät statt an der Berechtigung. */
if (f?.name === 'NotAllowedError') {
throw new Error('Der Browser lässt das Mikrofon nicht zu. '
+ 'Im Schloss-Symbol neben der Adresse freigeben.');
/* NICHT "im Schloss-Symbol neben der Adresse" (geaendert
19.09.2026). In der installierten App gibt es weder
Adresszeile noch Schloss -- die Anweisung fuehrte genau dort
ins Leere, wo die meisten sie lesen. Das Haus kennt diesen
Fehler und hat ihn beim Weg zur Anruf-Probe schon einmal
behoben; hier stand er noch.
Der neue Satz traegt in beiden Faellen, weil er den Ort
nennt, den es immer gibt: die Geraeteeinstellungen. */
throw new Error('Das Mikrofon ist gesperrt. Erlaube es in den '
+ 'Einstellungen deines Geräts (Apps → Team Dogi → Mikrofon) '
+ 'und versuch es noch einmal. Unter „Klingelt nichts?" steht, '
+ 'wie das geht.');
}
if (f?.name === 'NotFoundError') {
throw new Error('Kein Mikrofon gefunden.');
throw new Error('Kein Mikrofon gefunden. Steckt ein Headset '
+ 'halb drin oder ist es anderweitig in Benutzung?');
}
throw new Error('Das Mikrofon ließ sich nicht öffnen.');
throw new Error('Das Mikrofon ließ sich nicht öffnen. Schließ '
+ 'andere Programme, die es benutzen könnten, und versuch es '
+ 'noch einmal.');
}
}
@@ -280,8 +302,18 @@
return;
}
await adressenFertig;
/* `beginn: null` UND NICHT Date.now() (19.09.2026).
Die Uhr zaehlte ab dem Waehlen. Wer 30 Sekunden klingeln liess
und dann 12 Sekunden sprach, las im Kasten "00:42" -- und danach
im Chat "Anruf . 12 Sekunden". Zwei Zahlen fuer dieselbe Sache,
eine halbe Minute auseinander. Der Server rechnet es richtig
(gespraechSeit); der Kasten hat es wieder kaputtgemacht.
Bis jemand rangeht steht jetzt "Es klingelt ..." statt einer
Uhr, die etwas misst, das noch nicht stattfindet. */
anruf = { raumId, video: mitVideo, verbindungen: new Map(),
stroeme: new Map(), eigener, beginn: Date.now() };
stroeme: new Map(), eigener, beginn: null };
$('anruf-video').hidden = !mitVideo;
if (mitVideo) $('anruf-video').setAttribute('aria-pressed', 'true');
lage('Es klingelt …');
@@ -289,6 +321,16 @@
dass etwas passiert -- nicht, was. */
freiTon();
uhrLaufen();
/* UND EIN ENDE (19.09.2026). Bis heute lief das Freizeichen
UNENDLICH. Es gab keinen Zeitgeber, der aufhoert: Wer niemanden
erreichte, sass vor einem piependen Kasten mit "02:47" darauf,
als telefoniere er laengst. Genau das wird als "geht einfach
nicht" gemeldet.
Der Server laesst einen Anruf nach KLINGELT_SEKUNDEN verfallen
und schickt den Zeitpunkt sogar mit (`laeuft_bis`) -- benutzt
hat ihn nie jemand. */
klingelWache(KLINGELT_MS);
const a = await fetch(`/workspace/api/anruf/${raumId}/start`, {
method: 'POST', credentials: 'same-origin',
@@ -416,6 +458,8 @@
uhrStoppen();
uhr = setInterval(() => {
if (!anruf) return uhrStoppen();
/* Solange niemand rangegangen ist, gibt es nichts zu zaehlen. */
if (!anruf.beginn) return;
const s = Math.floor((Date.now() - anruf.beginn) / 1000);
const z = $('anruf-zeit');
if (z) z.textContent = `${String(Math.floor(s / 60)).padStart(2, '0')}:`
@@ -569,8 +613,17 @@
k.append(reihe);
document.body.append(k);
/* Nach der Klingelzeit von selbst weg -- sonst steht die Einladung
zu einem Gespräch da, an dem längst niemand mehr teilnimmt. */
setTimeout(klingelnAus, 46000);
zu einem Gespräch da, an dem längst niemand mehr teilnimmt.
ABER SO LANGE WIE DER ANRUF WIRKLICH LAEUFT (19.09.2026). Hier
standen 46 Sekunden, waehrend der Server 120 gibt. Wer beim
Klingeln das Handy aus der Tasche holt und in Sekunde 50
hinsieht, fand nichts mehr -- kein Kasten, keine Knoepfe --,
waehrend der Anrufer noch siebzig Sekunden das Freizeichen
hoerte. Die 120 Sekunden sind im Server ausdruecklich damit
begruendet, dass man Zeit zum Entsperren braucht; diese Zeile
hat genau diese Entscheidung wieder aufgehoben. */
setTimeout(klingelnAus, KLINGELT_MS);
}
/* ---------- DER KLINGELTON (18.09.2026) --------------------------
@@ -647,6 +700,29 @@
tonWerk = setInterval(takt, 3000);
}
/* Wie lange es hoechstens klingelt, bevor der Browser selbst
aufgibt. Der Server schickt `laeuft_bis` mit; solange das nicht
ueberall ankommt, ist dies der Rueckfall -- dieselbe Zahl wie
KLINGELT_SEKUNDEN in workspace-anruf.js, plus zwei Sekunden Luft,
damit der Server zuerst dran ist. */
const KLINGELT_MS = 122000;
let klingelWecker = null;
/** Ohne Zahl: abbestellen. Mit Zahl: nach so vielen Millisekunden
* aufgeben, falls bis dahin niemand rangegangen ist. */
function klingelWache(ms) {
if (klingelWecker) { clearTimeout(klingelWecker); klingelWecker = null; }
if (!ms) return;
klingelWecker = setTimeout(() => {
klingelWecker = null;
/* Ist inzwischen jemand dabei, war es kein vergeblicher Anruf. */
if (!anruf || anruf.beginn) return;
tonAus();
lage('Niemand geht ran.');
setTimeout(() => { if (anruf && !anruf.beginn) auflegen(); }, 2500);
}, ms);
}
function tonAus() {
if (tonWerk) { clearInterval(tonWerk); tonWerk = null; }
try { navigator.vibrate?.(0); } catch { /* egal */ }
+9
View File
@@ -43,6 +43,15 @@
wäre ein Loch. */
const darfEintragen = () => {
if (!ich || ich.rolle === 'creator') return false;
/* FAELLT DIE LAGE AUS, HEISST DAS NICHT "DARF ALLES"
(berichtigt 19.09.2026). `lageHolen()` schluckt jeden Fehler;
war `lage` null, fiel die Pruefung hier durch auf `true` --
fuer einen Zuschauer also von "darf auf keinem Brett" auf
"darf ueberall". Der Knopf erschien, das Formular ging auf,
man tippte -- und der Server lehnte mit 403 ab. Ein Formular,
das der Server ablehnt, laesst den Menschen davor sich selbst
fuer den Fehler halten. */
if (treffBrett && !lage) return false;
if (treffBrett && lage && lage.schreiben) return lage.schreiben[bereich] === true;
return true;
};
+8 -1
View File
@@ -144,7 +144,14 @@
const block = el('section', 'bw-gruppe');
const kopf = el('div', 'bw-gruppe__kopf');
kopf.append(el('h2', 'bw-gruppe__titel', g.name));
if (g.unter) kopf.append(el('p', 'bw-gruppe__unter', g.unter));
/* `g.text` und NICHT `g.unter` (berichtigt 19.09.2026): Der Server
schickt das Feld `text`, gelesen wurde `unter` -- also immer
`undefined`. Damit fehlten ALLE SECHS Einleitungen, und die
CSS-Regel dafuer lief ins Leere. Genau diese Saetze nehmen dem
Bogen den Verhoer-Charakter ("Kein Test mit richtigen
Antworten"); uebrig blieben sechs nackte Ueberschriften ueber
fuenfzehn Fragen. */
if (g.text) kopf.append(el('p', 'bw-gruppe__unter', g.text));
block.append(kopf);
for (const f of fragen) {
+31 -4
View File
@@ -4,6 +4,10 @@
=================================================================== */
(() => {
'use strict';
/* Zählt die Fehlversuche DIESER Sitzung -- nur im Speicher,
nirgends gespeichert. Ab dem zweiten kommt der Kachel-Hinweis. */
let fehlversuche = 0;
const $ = (id) => document.getElementById(id);
const rollen = Array.from(document.querySelectorAll('.rolle'));
@@ -209,10 +213,33 @@
}
}
// Bewusst keine Auskunft darüber, ob Rolle oder Code falsch war.
melde(antwort.status === 429
? 'Zu viele Versuche. Bitte kurz warten.'
: 'Zugangscode stimmt nicht.');
/* KEINE AUSKUNFT DARÜBER, OB ROLLE ODER CODE FALSCH WAR -- das
bleibt so. Aber zwei Dinge waren unnötig hart:
(1) „Bitte kurz warten" sind in Wahrheit bis zu ZEHN MINUTEN
(VERSUCHE_FENSTER_MIN in workspace.js). Wer nach zwanzig
Sekunden nachsieht und dieselbe Meldung liest, hält die
Seite für kaputt. Eine Zahl beruhigt, ein Adjektiv nicht.
(2) Ein RICHTIGER Code an der FALSCHEN Kachel fällt in
dieselbe Absage wie ein erfundener -- der Server sucht nur
unter den Personen der gewählten Rolle. Wer aus der
Community kommt und auf „Modi" tippt (das klingt ja
danach), tippt seinen richtigen Code dreimal Buchstabe für
Buchstabe ein.
Ab dem zweiten Fehlversuch kommt deshalb ein Hinweis auf
die Kachel dazu -- ohne zu sagen, WELCHE die richtige
wäre. Das verrät nichts und erspart die Schleife. */
fehlversuche++;
if (antwort.status === 429) {
melde('Zu viele Versuche. In etwa 10 Minuten geht es wieder.');
} else if (fehlversuche >= 2) {
melde('Zugangscode stimmt nicht. Stimmt die Auswahl oben? '
+ 'Ein Code gehört immer zu genau einer davon.');
} else {
melde('Zugangscode stimmt nicht.');
}
code.select();
} catch {
melde('Keine Verbindung zum Server. Bitte erneut versuchen.');
+36 -11
View File
@@ -149,10 +149,28 @@
if (!knopf || leitung) return;
const voll = offeneEigene >= offenMax;
knopf.disabled = voll;
knopf.title = voll
? `Du hast ${offeneEigene} offene Meldungen. Warte auf eine Antwort, `
+ 'bevor du die nächste aufmachst.'
/* DER GRUND STAND NUR IM `title` (geändert 19.09.2026).
Auf dem Handy gibt es kein Überfahren mit der Maus -- und die
Community kommt von TikTok, also vom Handy. Ein grauer Knopf
ohne Text sieht kaputt aus; wer ein akutes Problem hat, hält das
für eine Panne und geht wieder.
Ein Vorleseprogramm liest einen gesperrten Knopf ohnehin nicht
vor. Der Satz muss also sichtbar daneben stehen, nicht darin. */
const satz = voll
? `Du hast ${offeneEigene} offene Meldungen. Sobald eine davon `
+ 'beantwortet ist, kannst du eine neue aufmachen.'
: '';
knopf.title = satz;
let hinweis = document.getElementById('neu-gesperrt');
if (voll && !hinweis) {
hinweis = document.createElement('p');
hinweis.id = 'neu-gesperrt';
hinweis.className = 'h-gesperrt';
knopf.insertAdjacentElement('afterend', hinweis);
}
if (hinweis) { hinweis.textContent = satz; hinweis.hidden = !voll; }
}
/* =====================================================================
@@ -247,10 +265,16 @@
});
const j = await a.json().catch(() => ({}));
if (!a.ok) {
/* ÜBER sagWas (19.09.2026). Hier stand eine eigene kleine
Tabelle für zwei Kennungen -- alles andere endete bei „Ging
nicht.". Ausgerechnet auf der Seite, auf der jemand mit einem
Problem sitzt, war das die inhaltsleerste Absage im Haus.
Die Sätze für `nicht_dran` und `geschlossen` stehen jetzt in
meldung.js, zusammen mit allen anderen. Zwei Tabellen
nebeneinander laufen beim nächsten Nachschärfen auseinander. */
$('antwort-stand').textContent =
j.fehler === 'nicht_dran' ? 'Die andere Seite ist gerade am Zug.'
: j.fehler === 'geschlossen' ? 'Dieser Fall ist schon abgeschlossen.'
: 'Ging nicht.';
sagWas(j.fehler, 'Die Antwort ließ sich nicht abschicken. Dein Text steht noch da.');
$('antwort-senden').disabled = false;
return;
}
@@ -309,11 +333,12 @@
});
const j = await a.json().catch(() => ({}));
if (!a.ok) {
stand.textContent =
j.fehler === 'zu_viele_offen'
? `Du hast schon ${j.offen} offene Meldungen. Warte auf eine Antwort.`
: j.fehler === 'text_zu_kurz' ? 'Schreib bitte ein paar Sätze mehr.'
: 'Ging nicht.';
/* Die Zahl der offenen Meldungen kennt nur der Server -- der
eine Fall bleibt deshalb hier. Alles andere über sagWas. */
stand.textContent = j.fehler === 'zu_viele_offen'
? `Du hast schon ${j.offen} offene Meldungen. Warte auf eine Antwort, `
+ 'bevor du die nächste aufmachst.'
: sagWas(j.fehler, 'Die Meldung ließ sich nicht abschicken. Dein Text steht noch da.');
$('neu-senden').disabled = false;
return;
}
+46
View File
@@ -237,6 +237,15 @@
function zeigeCode(p) {
$('code-name').textContent = `${p.name} · ${ROLLENNAME[p.rolle] || p.rolle}`;
$('code-wert').textContent = p.code;
/* DIE ADRESSE GEHOERT DAZU (19.09.2026). Sie kommt vom Server, weil
dort die Weiche steht, die Rollen auf Adressen verteilt -- eine
zweite Liste im Browser waere die, die beim naechsten Umzug
stehen bleibt. */
const adr = p.adresse || '';
const a = $('code-adresse');
a.textContent = adr.replace(/^https:\/\//, '');
a.href = adr || '#';
a.parentElement.hidden = !adr;
$('code-kasten').hidden = false;
/* Ab jetzt springt die Seite nicht mehr von selbst weg -- siehe
die Begruendung bei hole(). */
@@ -324,6 +333,43 @@
$('code-wert').textContent = '';
});
/* CODE UND ADRESSE ZUSAMMEN -- der Knopf, den man wirklich braucht.
Wer nur den Code kopiert, schickt eine Zeichenfolge ohne Tuer. */
$('code-beides').addEventListener('click', async () => {
const adr = $('code-adresse').href;
const text = `Dein Zugang zu Team Dogi
Adresse: ${adr}
Code: `
+ `${$('code-wert').textContent}
Der Code gilt einmal fuer die `
+ `Anmeldung. Danach legst du dir dort ein Passwort fest.`;
try {
await navigator.clipboard.writeText(text);
$('code-beides').textContent = 'Kopiert ✓';
setTimeout(() => { $('code-beides').textContent = 'Code und Adresse kopieren'; }, 1800);
} catch {
melde('Kopieren ging nicht — bitte von Hand markieren.');
}
});
/* DAS FENSTER SCHLIESSEN, WAEHREND DER CODE OFFEN STEHT.
Die Seite war gegen das Wegspringen schon geschuetzt (siehe
hole()) -- gegen den Menschen, der den Reiter zumacht, aber nicht.
Ein Code, der in dem Moment verschwindet, ist ein Mensch, der nie
hereinkommt, und niemand merkt es bis zur ersten Nachfrage.
Der Browser zeigt dazu seinen eigenen Text; man kann ihn nicht
bestimmen. Das ist hier auch nicht noetig: Es geht nur darum, dass
ueberhaupt jemand fragt. */
window.addEventListener('beforeunload', (e) => {
if (!codeOffen) return;
e.preventDefault();
e.returnValue = '';
});
$('code-kopieren').addEventListener('click', async () => {
try {
await navigator.clipboard.writeText($('code-wert').textContent);
+21 -2
View File
@@ -1103,13 +1103,32 @@
$('zring-unter').textContent = daten.titel || '';
}
/* WENN DER RING NICHTS ZU SAGEN HAT, SAGT ER DAS (19.09.2026).
Vorher stand hier ein frueher `return`. Der liess die Startwerte
aus dem HTML unberuehrt -- und die lauten "–" und "wird geladen".
Bei einer 503 blieb mitten auf der Startseite dauerhaft ein leerer
Ring mit "wird geladen" stehen.
Das ist genau der Fall, den dieselbe Datei an anderer Stelle schon
richtig macht ("Auch der leere Fall wird GESETZT, nicht
uebersprungen"). Ein Platzhalter, der nie ersetzt wird, ist eine
Luege mit Fortschrittsanzeige. */
function ringStumm() {
const p = $('zring-prozent'), u = $('zring-unter');
if (p) p.textContent = '–';
if (u) u.textContent = 'gerade nicht abrufbar';
const ring = $('zring');
if (ring) ring.dataset.stumm = 'ja';
}
async function zentraleLaden() {
let daten;
try {
const antwort = await fetch('/workspace/api/zentrale', { credentials: 'same-origin' });
if (!antwort.ok) return;
if (!antwort.ok) { ringStumm(); return; }
daten = await antwort.json();
} catch { return; } /* Der Rest der Kachel steht trotzdem. */
} catch { ringStumm(); return; } /* Der Rest der Kachel steht trotzdem. */
ringZeichnen(daten);
+6
View File
@@ -179,6 +179,12 @@
===================================================================== */
function streifenBauen(streifen, spalten) {
const gitter = el('div', 'w-streifen__gitter');
/* DIE SPALTENZAHL KOMMT AUS DEN DATEN (19.09.2026). Vorher rechnete
das CSS sie aus der Breite (`auto-fit`) -- bei 390 px passten
sechs, und alles darueber hinaus fiel in eine zweite,
unbeschriftete Zeile. Dieselbe Loesung wie beim
Bewegungsdiagramm nebenan. */
gitter.style.setProperty('--monate', String(spalten.length));
const kopf = el('div', 'w-streifen__zeile w-streifen__zeile--kopf');
kopf.append(el('span', 'w-streifen__punkt-name', ''));
+13 -13
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<!-- 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=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -291,12 +291,12 @@
</form>
</dialog>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/glocke.js?v=202609191457" defer></script>
<script src="assets/js/aufgaben.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/glocke.js?v=202609191506" defer></script>
<script src="assets/js/aufgaben.js?v=202609191506" defer></script>
</body>
</html>
+14 -14
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/automation.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/automation.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<!-- 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=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -168,12 +168,12 @@
</main>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/glocke.js?v=202609191457" defer></script>
<script src="assets/js/automation.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/glocke.js?v=202609191506" defer></script>
<script src="assets/js/automation.js?v=202609191506" defer></script>
</body>
</html>
+13 -13
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -130,11 +130,11 @@
</main>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/befinden.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/befinden.js?v=202609191506" defer></script>
</body>
</html>
+19 -19
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609191506" />
<!-- 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=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<!-- 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=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -251,16 +251,16 @@
</main>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/glocke.js?v=202609191457" defer></script>
<script src="assets/js/checkliste.js?v=202609191457" defer></script>
<script src="assets/js/ampel.js?v=202609191457" defer></script>
<script src="assets/js/schulung.js?v=202609191457" defer></script>
<script src="assets/js/vorlagen.js?v=202609191457" defer></script>
<script src="assets/js/bereich.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/glocke.js?v=202609191506" defer></script>
<script src="assets/js/checkliste.js?v=202609191506" defer></script>
<script src="assets/js/ampel.js?v=202609191506" defer></script>
<script src="assets/js/schulung.js?v=202609191506" defer></script>
<script src="assets/js/vorlagen.js?v=202609191506" defer></script>
<script src="assets/js/bereich.js?v=202609191506" defer></script>
</body>
</html>
+16 -16
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -108,11 +108,11 @@
</main>
<!-- Der Fuß gehört zu jeder Seite - siehe pruef-css-klassen. -->
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/auskunft.js?v=202609191457" defer></script>
<script src="assets/js/bewerben.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/auskunft.js?v=202609191506" defer></script>
<script src="assets/js/bewerben.js?v=202609191506" defer></script>
</body>
</html>
+15 -15
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -80,12 +80,12 @@
</main>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/auskunft.js?v=202609191457" defer></script>
<script src="assets/js/bewerbungen.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/auskunft.js?v=202609191506" defer></script>
<script src="assets/js/bewerbungen.js?v=202609191506" defer></script>
</body>
</html>
+15 -15
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/calls.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/calls.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<!-- 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=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -89,13 +89,13 @@
</main>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/ki.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/glocke.js?v=202609191457" defer></script>
<script src="assets/js/calls.js?v=202609191457" defer></script>
<script src="assets/js/ki.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/glocke.js?v=202609191506" defer></script>
<script src="assets/js/calls.js?v=202609191506" defer></script>
</body>
</html>
+15 -15
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<!-- 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=202609191457" />
<link rel="stylesheet" href="assets/css/chat.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/chat.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<!-- 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=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -367,16 +367,16 @@
</form>
</dialog>
<script src="assets/js/bereiche.js?v=202609191457"></script>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457"></script>
<script src="assets/js/glocke.js?v=202609191457"></script>
<script src="assets/js/bereiche.js?v=202609191506"></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506"></script>
<script src="assets/js/glocke.js?v=202609191506"></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=202609191457"></script>
<script src="assets/js/chat.js?v=202609191457"></script>
<script src="assets/js/anruf.js?v=202609191506"></script>
<script src="assets/js/chat.js?v=202609191506"></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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/content.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/content.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<!-- 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=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -179,14 +179,14 @@
</main>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/glocke.js?v=202609191457" defer></script>
<script src="assets/js/checkliste.js?v=202609191457" defer></script>
<script src="assets/js/vorlagen.js?v=202609191457" defer></script>
<script src="assets/js/content.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/glocke.js?v=202609191506" defer></script>
<script src="assets/js/checkliste.js?v=202609191506" defer></script>
<script src="assets/js/vorlagen.js?v=202609191506" defer></script>
<script src="assets/js/content.js?v=202609191506" defer></script>
</body>
</html>
+15 -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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/crew-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<!-- 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=202609191457" />
<link rel="stylesheet" href="assets/css/crew-haus.css?v=202609191506" />
</head>
<body class="gate gate--crew">
@@ -333,14 +333,23 @@
</button>
</form>
<!-- EINE TÜR BRAUCHT EINE KLINGEL (ergänzt 19.09.2026).
Hier standen vier Kacheln, ein Feld „Code eingeben" und ein
Knopf. Wer keinen Code hat, fand keinen einzigen Satz, der ihm
sagt, was jetzt zu tun ist. Für die Community ist das besonders
teuer: Sie ist die einzige Rolle, die von außen kommt und
niemanden im Haus kennt. -->
<p class="fuss fuss--woher">Noch keinen Code? Frag im Live nach – Team&nbsp;Dogi gibt ihn dir persönlich.</p>
<p class="fuss">
Verschlüsselte Verbindung · Zugriffe werden protokolliert
</p>
</main>
</div>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/gate.js?v=202609191457" defer></script>
<script src="assets/js/gate.js?v=202609191506" defer></script>
</body>
</html>
+4 -4
View File
@@ -22,25 +22,25 @@
},
"icons": [
{
"src": "/assets/img/app-symbole/crew-192.png?v=202609191457",
"src": "/assets/img/app-symbole/crew-192.png?v=202609191506",
"sizes": "192x192",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/crew-512.png?v=202609191457",
"src": "/assets/img/app-symbole/crew-512.png?v=202609191506",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202609191457",
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202609191506",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202609191457",
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202609191506",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
+14 -14
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/dateien.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/dateien.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<!-- 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=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -108,12 +108,12 @@
</main>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/glocke.js?v=202609191457" defer></script>
<script src="assets/js/dateien.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/glocke.js?v=202609191506" defer></script>
<script src="assets/js/dateien.js?v=202609191506" defer></script>
</body>
</html>
+13 -13
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -106,11 +106,11 @@
</main>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/entwicklung.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/entwicklung.js?v=202609191506" defer></script>
</body>
</html>
+12 -12
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/hilfe.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/hilfe.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -141,11 +141,11 @@
</main>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/hilfe.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/hilfe.js?v=202609191506" defer></script>
</body>
</html>
+14 -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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
</head>
<body class="gate">
@@ -395,14 +395,23 @@
</button>
</form>
<!-- EINE TÜR BRAUCHT EINE KLINGEL (ergänzt 19.09.2026).
Hier standen vier Kacheln, ein Feld „Code eingeben" und ein
Knopf. Wer keinen Code hat, fand keinen einzigen Satz, der ihm
sagt, was jetzt zu tun ist. Für die Community ist das besonders
teuer: Sie ist die einzige Rolle, die von außen kommt und
niemanden im Haus kennt. -->
<p class="fuss fuss--woher">Noch keinen Code? Den bekommst du von deinem Manager oder von DogFather.</p>
<p class="fuss">
Verschlüsselte Verbindung · Zugriffe werden protokolliert
</p>
</main>
</div>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/gate.js?v=202609191457" defer></script>
<script src="assets/js/gate.js?v=202609191506" defer></script>
</body>
</html>
+15 -15
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/kalender.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/kalender.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<!-- 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=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -377,13 +377,13 @@
</main>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/glocke.js?v=202609191457" defer></script>
<script src="assets/js/kalender.js?v=202609191457" defer></script>
<script src="assets/js/kalender-abo.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/glocke.js?v=202609191506" defer></script>
<script src="assets/js/kalender.js?v=202609191506" defer></script>
<script src="assets/js/kalender-abo.js?v=202609191506" defer></script>
</body>
</html>
+14 -14
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/leistung.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/leistung.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<!-- 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=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -444,11 +444,11 @@
</form>
</dialog>
<script src="assets/js/meldung.js?v=202609191457"></script>
<script src="assets/js/wahl.js?v=202609191457"></script>
<script src="assets/js/bereiche.js?v=202609191457"></script>
<script src="assets/js/kopf.js?v=202609191457"></script>
<script src="assets/js/glocke.js?v=202609191457"></script>
<script src="assets/js/leistung.js?v=202609191457"></script>
<script src="assets/js/meldung.js?v=202609191506"></script>
<script src="assets/js/wahl.js?v=202609191506"></script>
<script src="assets/js/bereiche.js?v=202609191506"></script>
<script src="assets/js/kopf.js?v=202609191506"></script>
<script src="assets/js/glocke.js?v=202609191506"></script>
<script src="assets/js/leistung.js?v=202609191506"></script>
</body>
</html>
+43 -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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/personen.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/personen.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<!-- 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=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -355,12 +355,38 @@
<div class="code-kasten" id="code-kasten" hidden role="status" aria-live="polite">
<p class="code-kasten__schild">Zugangscode für <span id="code-name"></span></p>
<p class="code-kasten__code" id="code-wert"></p>
<!-- ==============================================================
WAS HIER FEHLTE (ergänzt 19.09.2026)
Der Kasten sagte „jetzt weitergeben" – und gab die Hälfte
nicht mit, die man weitergeben muss: WO sich die Person damit
anmeldet. DogFather ruft den Code durchs Zimmer, und der
andere fragt „und wo?".
Zweitens fehlte der Rettungsweg. „Danach nicht mehr abrufbar"
stimmt für DIESEN Code – aber man kann jederzeit einen neuen
vergeben. Wer das nicht weiß, glaubt, er habe einen Menschen
angelegt, der nie hereinkommt.
Drittens: „Bitwarden" ist ein Fachwort im wichtigsten Satz.
Es steht jetzt am Ende und in Klammern.
=========================================================== -->
<p class="code-kasten__zeile">
<span class="code-kasten__was">Anmelden unter</span>
<a class="code-kasten__adresse" id="code-adresse" href="#" target="_blank" rel="noopener">…</a>
</p>
<p class="code-kasten__hinweis">
Dieser Code wird <strong>nur jetzt</strong> angezeigt und ist danach nicht mehr
abrufbar. Sicher weitergeben und in Bitwarden ablegen.
Der Code wird <strong>nur jetzt</strong> angezeigt. Gib ihn gleich weiter –
persönlich oder über einen Weg, dem du traust.
</p>
<p class="code-kasten__rettung">
Verloren? Kein Problem: In der Liste bei dieser Person auf
<strong>„Neuer Code"</strong> – der alte gilt dann nicht mehr.
(Zum Aufbewahren: Bitwarden.)
</p>
<div class="neu__knoepfe">
<button type="button" class="knopf knopf--klein" id="code-kopieren">Kopieren</button>
<button type="button" class="knopf knopf--klein" id="code-beides">Code und Adresse kopieren</button>
<button type="button" class="knopf knopf--klein" id="code-kopieren">Nur den Code</button>
<button type="button" class="abmelden" id="code-schliessen">Verstanden, schließen</button>
</div>
</div>
@@ -423,12 +449,12 @@
</main>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/glocke.js?v=202609191457" defer></script>
<script src="assets/js/personen.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/glocke.js?v=202609191506" defer></script>
<script src="assets/js/personen.js?v=202609191506" defer></script>
</body>
</html>
+15 -15
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<!-- 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=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -214,13 +214,13 @@
</main>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/glocke.js?v=202609191457" defer></script>
<script src="assets/js/steckbrief.js?v=202609191457" defer></script>
<script src="assets/js/profil.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/glocke.js?v=202609191506" defer></script>
<script src="assets/js/steckbrief.js?v=202609191506" defer></script>
<script src="assets/js/profil.js?v=202609191506" defer></script>
</body>
</html>
+13 -13
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -134,10 +134,10 @@
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=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/rechte.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/rechte.js?v=202609191506" defer></script>
</body>
</html>
+15 -15
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/report.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/report.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<!-- 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=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -106,13 +106,13 @@
</main>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/ki.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/glocke.js?v=202609191457" defer></script>
<script src="assets/js/report.js?v=202609191457" defer></script>
<script src="assets/js/ki.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/glocke.js?v=202609191506" defer></script>
<script src="assets/js/report.js?v=202609191506" defer></script>
</body>
</html>
+14 -14
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/scouting.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/scouting.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<!-- 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=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -173,12 +173,12 @@
</div>
</div>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/glocke.js?v=202609191457" defer></script>
<script src="assets/js/scouting.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/glocke.js?v=202609191506" defer></script>
<script src="assets/js/scouting.js?v=202609191506" defer></script>
</body>
</html>
+13 -13
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<!-- 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=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/heim.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<!-- 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=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -678,12 +678,12 @@
</p>
</main>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/glocke.js?v=202609191457" defer></script>
<script src="assets/js/start.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/glocke.js?v=202609191506" defer></script>
<script src="assets/js/start.js?v=202609191506" defer></script>
</body>
</html>
+15 -15
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<!-- 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=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -85,13 +85,13 @@
</main>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/ki.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/glocke.js?v=202609191457" defer></script>
<script src="assets/js/startcheck.js?v=202609191457" defer></script>
<script src="assets/js/ki.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/glocke.js?v=202609191506" defer></script>
<script src="assets/js/startcheck.js?v=202609191506" defer></script>
</body>
</html>
+15 -15
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<!-- 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=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -150,13 +150,13 @@
</main>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/auskunft.js?v=202609191457" defer></script>
<script src="assets/js/glocke.js?v=202609191457" defer></script>
<script src="assets/js/steckbrief.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/auskunft.js?v=202609191506" defer></script>
<script src="assets/js/glocke.js?v=202609191506" defer></script>
<script src="assets/js/steckbrief.js?v=202609191506" defer></script>
</body>
</html>
+14 -14
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609191506" />
<!-- 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=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -111,11 +111,11 @@
</main>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/talente.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/talente.js?v=202609191506" defer></script>
</body>
</html>
+14 -14
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/team.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/team.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<!-- 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=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -110,12 +110,12 @@
</main>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/glocke.js?v=202609191457" defer></script>
<script src="assets/js/team.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/glocke.js?v=202609191506" defer></script>
<script src="assets/js/team.js?v=202609191506" defer></script>
</body>
</html>
+13 -13
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/team.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/team.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<!-- 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=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<!-- `data-buehne` steht hier fest und nicht im Skript: Die Kachel zu
@@ -84,10 +84,10 @@
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=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/teamlage.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/teamlage.js?v=202609191506" defer></script>
</body>
</html>
+12 -12
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -112,11 +112,11 @@
</main>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/teilen.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/teilen.js?v=202609191506" defer></script>
</body>
</html>
+13 -13
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -126,11 +126,11 @@
</main>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/treff-moderation.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/treff-moderation.js?v=202609191506" defer></script>
</body>
</html>
+14 -14
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<!-- haus.css MUSS die letzte Stilvorlage sein. Auf der Adresse des
Treffs 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=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -221,11 +221,11 @@
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=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/auskunft.js?v=202609191457" defer></script>
<script src="assets/js/treff-regeln.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/auskunft.js?v=202609191506" defer></script>
<script src="assets/js/treff-regeln.js?v=202609191506" defer></script>
</body>
</html>
+14 -14
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<!-- Formular- und Dialogstile: seit dem 07.09.2026 steht hier der
Dialog "Creator anlegen". -->
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<!-- 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=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -149,13 +149,13 @@
</main>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/glocke.js?v=202609191457" defer></script>
<script src="assets/js/uebersicht.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/glocke.js?v=202609191506" defer></script>
<script src="assets/js/uebersicht.js?v=202609191506" defer></script>
</body>
</html>
+12 -12
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -217,11 +217,11 @@
</main>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/unsere-seiten.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/unsere-seiten.js?v=202609191506" defer></script>
</body>
</html>
+14 -14
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/werdegang.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/werdegang.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -144,11 +144,11 @@
</main>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/werdegang.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/werdegang.js?v=202609191506" defer></script>
</body>
</html>
+14 -14
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=202609191457" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191457" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/wissen.css?v=202609191457" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191457" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609191506" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609191506" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/start.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/wissen.css?v=202609191506" />
<link rel="stylesheet" href="assets/css/module.css?v=202609191506" />
<!-- 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=202609191457" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609191506" />
</head>
<body class="start">
@@ -190,12 +190,12 @@
</main>
<script src="assets/js/meldung.js?v=202609191457" defer></script>
<script src="assets/js/meldung.js?v=202609191506" defer></script>
<script src="assets/js/wahl.js?v=202609191457" defer></script>
<script src="assets/js/bereiche.js?v=202609191457" defer></script>
<script src="assets/js/kopf.js?v=202609191457" defer></script>
<script src="assets/js/glocke.js?v=202609191457" defer></script>
<script src="assets/js/wissen.js?v=202609191457" defer></script>
<script src="assets/js/wahl.js?v=202609191506" defer></script>
<script src="assets/js/bereiche.js?v=202609191506" defer></script>
<script src="assets/js/kopf.js?v=202609191506" defer></script>
<script src="assets/js/glocke.js?v=202609191506" defer></script>
<script src="assets/js/wissen.js?v=202609191506" defer></script>
</body>
</html>