Neue Rolle: die linke Hand

Aus dem Auftrag vom 21.09.2026, Abschnitt 6: "Die linke Hand erhaelt
grundsaetzlich dieselben Rechte wie die rechte Hand in allen Bereichen,
die die Modis, Aufgaben, Aufgabenzuweisungen, Uebersichten,
Kommunikation und Auswertungen betreffen. Die linke Hand darf keine
neuen Personen oder Accounts hinzufuegen. Die linke Hand darf keine
privaten bzw. persoenlichen Bereiche oder Informationen von Dogfather
sehen."

GEMESSEN VOR DEM BAUEN: Die Rolle "hand" steht an 35 Stellen im
Servercode und 17-mal in der Rechtetafel. Haette ich ueberall ein
"linke" danebengeschrieben, waere die naechste Stelle, die jemand
hinzufuegt, die erste, die es vergisst -- und eine vergessene Stelle
heisst hier: Die linke Hand sieht etwas nicht, ohne dass jemand merkt,
warum.

DESHALB EINE REGEL STATT DREISSIG ABSCHRIFTEN:

  WIE_RECHTE_HAND = new Set(["hand", "linke"])   in workspace.js
  istHand(person)                                fuer die Faehigkeiten
  eine Schleife ueber SEITEN                     fuer die Rechtetafel

Die Schleife gibt der linken Hand jede Seite der rechten -- ausser
fuenf, und jede davon steht mit Grund da:

  personen.html      legt Personen an
  bewerbungen.html   fuehrt zu neuen Personen
  talente.html       fuehrt zu neuen Personen
  hilfe.html         vertraulicher Meldeweg
  rechte.html        Rechteverwaltung

Gemessen: 25 Seiten fuer die rechte Hand, 20 fuer die linke. Als
Kacheln: 30 gegen 26 -- die vier verbotenen erscheinen gar nicht erst,
statt beim Antippen abgelehnt zu werden.

ZWEI DINGE, DIE ERST DAS MESSEN GEZEIGT HAT:

(1) OHNE KACHEL AUF DER ANMELDEWAND GIBT ES DIE ROLLE NICHT. Die
    Anmeldung sucht `WHERE rolle = ?` auf die angetippte Kachel -- es
    gibt keinen rollenuebergreifenden Sonderweg, auch nicht auf der
    Crew-Wand. Eine linke Hand haette sich mit dem richtigen Code
    NIEMALS anmelden koennen, und der Fehler haette ausgesehen wie ein
    falscher Code.

(2) DIE REIHENFOLGE DER DATENBANK-UMSTELLUNG ZAEHLT.
    `checkListeErweitern` baut die CHECK-Regel NEU aus der Liste, die
    man ihm gibt. Mein Schritt stand zuerst bei der rechten Hand --
    der Schritt fuer "gast" darunter nahm die Rolle damit wieder
    heraus, denn seine Liste kennt sie nicht. Die Kette ist kumulativ;
    neue Schritte gehoeren ans ENDE. Das steht jetzt auch dort.

Dazu zwei kleinere Funde beim Bauen:

  - Meine erste Ableitung aenderte die Rollenliste AN ORT UND STELLE.
    Mehrere Seiten teilen sich dieselbe Liste (`ALLE`) -- das haette
    die Rolle allen Seiten gegeben, die sie benutzen, auch einer
    Ausnahme. Faellt nicht auf, solange keine Ausnahme `ALLE` benutzt.
    Jetzt eine Kopie je Seite.
  - ROLLEN_NAME fehlte der Eintrag: Die linke Hand haette ueberall
    "linke" geheissen statt "Linke Hand". Gefunden hat das
    pruef-rechtetafel, weil sie diese Tabelle gegen ROLLEN haelt.
    Ihre Meldung nennt jetzt, WELCHE Liste was vermisst -- vorher
    zeigte sie beim Fehlschlag nur eine der beiden.

NICHT BEKOMMEN -- und jedes einzeln begruendet im Code:
Personen anlegen (ANLEGBAR.linke = []), Rollen aendern
(darfRollenWechseln), Bewerbungen, der vertrauliche Meldeweg. Beim
Meldeweg ist es bewusst das kleinere Recht: Ein Wort von Filipe
oeffnet ihn, eine versehentlich gelesene Meldung laesst sich nicht
zurueckholen.

UNBERUEHRT GEBLIEBEN, obwohl dort "hand" steht:
workspace-leistung.js:406 -- dort heisst "hand" nicht die Rolle,
sondern "von Hand eingetragen".

Am laufenden System gemessen: Datenbank nimmt die Rolle, Anmeldung
HTTP 200, 26 Kacheln, darf_verteilen = true, personen/hilfe/rechte
antworten mit 302, aufgaben und teamlage mit 200.

pruef-rechtetafel 19/0 (war 18/1), pruef-schranke 39/0,
pruef-umstellung 18/0.
This commit is contained in:
2026-09-21 17:44:48 +02:00
parent 432e533c86
commit 21793b6c36
48 changed files with 1082 additions and 890 deletions
+3 -1
View File
@@ -91,7 +91,9 @@ export const CREW_ADRESSE = "https://crew.dogfather-universe.com";
erst zur Laufzeit auf. Diese Datei hat bewusst KEINE eigenen erst zur Laufzeit auf. Diese Datei hat bewusst KEINE eigenen
Importe; sie ist damit der einzige Ort, an dem so etwas gefahrlos Importe; sie ist damit der einzige Ort, an dem so etwas gefahrlos
stehen kann. workspace.js gibt sie fuer die Fachmodule weiter. */ stehen kann. workspace.js gibt sie fuer die Fachmodule weiter. */
export const TEAM_DOGI_ROLLEN = new Set(["hand", "modi"]); /* Die linke Hand ist Team Dogi wie die rechte (21.09.2026) -- sie
fuehrt dieselben Leute durch denselben Tag. */
export const TEAM_DOGI_ROLLEN = new Set(["hand", "linke", "modi"]);
/* WER VON AUSSEN KOMMT (11.09.2026). /* WER VON AUSSEN KOMMT (11.09.2026).
+11 -2
View File
@@ -95,8 +95,17 @@ melde("=== 1. Jede Rolle und jede Seite hat einen Eintrag ===");
const ausWorkspace = [...(w.ROLLEN_NAME ? Object.keys(w.ROLLEN_NAME) : [])].sort(); const ausWorkspace = [...(w.ROLLEN_NAME ? Object.keys(w.ROLLEN_NAME) : [])].sort();
const ausTafel = [...rechte.ALLE_ROLLEN].sort(); const ausTafel = [...rechte.ALLE_ROLLEN].sort();
ok(ausWorkspace.length > 0, `workspace.js kennt ${ausWorkspace.length} Rollen`); ok(ausWorkspace.length > 0, `workspace.js kennt ${ausWorkspace.length} Rollen`);
ok(JSON.stringify(ausWorkspace) === JSON.stringify(ausTafel), /* DIE MELDUNG MUSS SAGEN, WAS FEHLT -- nicht nur, dass etwas fehlt.
`beide Listen sind identisch (${ausTafel.join(", ")})`); Vorher stand hier nur EINE der beiden Listen; beim Fehlschlag las
man "beide Listen sind identisch (a, b, c)" und musste raten,
welche der beiden das war. */
const nurTafel = ausTafel.filter((r) => !ausWorkspace.includes(r));
const nurWorkspace = ausWorkspace.filter((r) => !ausTafel.includes(r));
ok(nurTafel.length === 0 && nurWorkspace.length === 0,
nurTafel.length === 0 && nurWorkspace.length === 0
? `beide Listen sind identisch (${ausTafel.join(", ")})`
: `nur in rechte.js: [${nurTafel.join(", ")}] · `
+ `nur in workspace.js: [${nurWorkspace.join(", ")}]`);
} }
/* JEDE DATEI AUF DER PLATTE BRAUCHT EINEN EINTRAG. /* JEDE DATEI AUF DER PLATTE BRAUCHT EINEN EINTRAG.
+62
View File
@@ -67,6 +67,11 @@
* Rolle nur in einer der beiden Listen steht. */ * Rolle nur in einer der beiden Listen steht. */
export const ALLE_ROLLEN = [ export const ALLE_ROLLEN = [
"spicy", "admin", "manager", "scout", "creator", "hand", "modi", "spicy", "admin", "manager", "scout", "creator", "hand", "modi",
/* DIE LINKE HAND (21.09.2026). Dieselbe Liste wie ROLLEN in
workspace.js -- pruef-rechtetafel haelt beide gegeneinander und
wird rot, sobald eine Rolle nur in einer steht. Genau das ist
beim Bauen passiert und hat den Eintrag hier gefunden. */
"linke",
/* DIE COMMUNITY (11.09.2026). Zuschauer mit einem Zugang, die den /* DIE COMMUNITY (11.09.2026). Zuschauer mit einem Zugang, die den
Treff sehen -- und sonst nichts. Sie steht hier NICHT in `ALLE` Treff sehen -- und sonst nichts. Sie steht hier NICHT in `ALLE`
(siehe unten): Wer neu dazukommt, bekommt genau die zwei Seiten, (siehe unten): Wer neu dazukommt, bekommt genau die zwei Seiten,
@@ -455,6 +460,63 @@ export const SEITEN = {
"/workspace/rechte.html": ["admin", "hand"], "/workspace/rechte.html": ["admin", "hand"],
}; };
/* =====================================================================
DIE LINKE HAND BEKOMMT DIE SEITEN DER RECHTEN -- ABGELEITET
===================================================================== (21.09.2026)
Filipe: *"Die linke Hand erhaelt grundsaetzlich dieselben Rechte wie
die rechte Hand in allen Bereichen, die die Modis, Aufgaben,
Aufgabenzuweisungen, Uebersichten, Kommunikation und Auswertungen
betreffen."*
WARUM ABGELEITET UND NICHT SIEBZEHNMAL "linke" HINGESCHRIEBEN: Die
naechste Seite, die jemand der rechten Hand gibt, bekaeme die linke
sonst nicht -- und das faellt niemandem auf, weil eine fehlende
Seite aussieht wie eine Seite, die es nicht gibt. Diese Schleife
kann das nicht vergessen.
DIE AUSNAHMEN STEHEN EINZELN DA, MIT GRUND. Eine Ausnahme ohne
Begruendung ist beim naechsten Umbau eine, die jemand fuer ein
Versehen haelt und wegnimmt. */
const LINKE_NICHT = {
/* Personen anlegen -- ausdruecklich im Auftrag ausgeschlossen. Die
LISTE der Leute braucht sie trotzdem, um Aufgaben zu verteilen;
die kommt aus /api/personen/liste und ist dort eigens geoeffnet. */
"/workspace/personen.html": "legt Personen an",
/* Der Weg, auf dem neue Leute ueberhaupt hereinkommen. */
"/workspace/bewerbungen.html": "fuehrt zu neuen Personen",
"/workspace/talente.html": "fuehrt zu neuen Personen",
/* Der vertrauliche Meldeweg. Das Empfindlichste im Haus -- Meldungen
ueber Menschen. Im Zweifel das kleinere Recht: Ein Wort von Filipe
oeffnet es, eine versehentlich gelesene Meldung laesst sich nicht
zurueckholen. Ein Modi darf ihn uebrigens auch nicht. */
"/workspace/hilfe.html": "vertraulicher Meldeweg",
/* Wer die Rechtetafel bedient, verwaltet Konten -- nicht Aufgaben. */
"/workspace/rechte.html": "Rechteverwaltung",
};
for (const [seite, rollen] of Object.entries(SEITEN)) {
if (!Array.isArray(rollen) || !rollen.includes("hand")) continue;
if (LINKE_NICHT[seite]) continue;
if (rollen.includes("linke")) continue;
/* EINE KOPIE, KEINE AENDERUNG AM ORIGINAL. Mehrere Seiten teilen
sich dieselbe Liste (`ALLE`). Wer die an Ort und Stelle aendert,
gibt die Rolle allen Seiten, die dieselbe Liste benutzen -- auch
denen, die gerade eine Ausnahme sind. Das faellt nicht auf,
solange keine Ausnahme `ALLE` benutzt, und knallt an dem Tag, an
dem eine es tut.
Direkt hinter die rechte Hand -- die Reihenfolge in diesen Listen
ist an einigen Stellen die Anzeigereihenfolge. */
const kopie = rollen.slice();
kopie.splice(kopie.indexOf("hand") + 1, 0, "linke");
SEITEN[seite] = kopie;
}
/** Welche Seiten der rechten Hand die linke NICHT bekommt -- und warum.
* Exportiert, damit die Pruefung die Begruendung mitlesen kann statt
* eine eigene Liste zu fuehren. */
export const LINKE_AUSNAHMEN = LINKE_NICHT;
/* Die Zugangswaende. Sie haben keine Rolle, weil sich dort noch /* Die Zugangswaende. Sie haben keine Rolle, weil sich dort noch
niemand angemeldet hat -- sie sind der Ort, an dem das passiert. niemand angemeldet hat -- sie sind der Ort, an dem das passiert.
Sie stehen hier nur, damit die Pruefung "jede Datei hat einen Sie stehen hier nur, damit die Pruefung "jede Datei hat einen
+2
View File
@@ -184,6 +184,8 @@ function sichtbarRoh(person) {
gewollt und der kuerzeste ehrliche Weg, "diese beiden gleich" zu gewollt und der kuerzeste ehrliche Weg, "diese beiden gleich" zu
sagen. */ sagen. */
case "hand": case "hand":
/* Die linke Hand sieht dasselbe wie die rechte (21.09.2026). */
case "linke":
case "modi": { case "modi": {
const liste = [...TEAM_DOGI_ROLLEN].map((r) => `'${r}'`).join(", "); const liste = [...TEAM_DOGI_ROLLEN].map((r) => `'${r}'`).join(", ");
const modis = db().prepare( const modis = db().prepare(
+3 -3
View File
@@ -36,7 +36,7 @@ import express from "express";
import { import {
db, sitzungLesen, istLeitung, istDogFather, siehtAlles, darfCreator, betreuteIds, db, sitzungLesen, istLeitung, istDogFather, siehtAlles, darfCreator, betreuteIds,
protokolliere, echteIp, protokolliere, echteIp,
siehtModis, TEAM_DOGI_ROLLEN, siehtModis, TEAM_DOGI_ROLLEN, istHand,
} from "./workspace.js"; } from "./workspace.js";
import { MODI_PUNKTE, MODI_GRUPPENTEXTE } from "./workspace-modi-punkte.js"; import { MODI_PUNKTE, MODI_GRUPPENTEXTE } from "./workspace-modi-punkte.js";
import { import {
@@ -367,7 +367,7 @@ checklisteRouter.get("/workspace/api/checkliste/:bereich", (req, res) => {
koennen. Bewerten darf sie darin genauso wenig wie DogFather; koennen. Bewerten darf sie darin genauso wenig wie DogFather;
das entscheidet `darf_bewerten` weiter unten und nicht diese das entscheidet `darf_bewerten` weiter unten und nicht diese
Liste. Sehen und Druecken sind zwei Fragen. */ Liste. Sehen und Druecken sind zwei Fragen. */
if (req.person.rolle === "admin" || req.person.rolle === "hand") { if (req.person.rolle === "admin" || istHand(req.person)) {
for (const z of db().prepare( for (const z of db().prepare(
"SELECT id FROM personen WHERE rolle = 'modi' AND aktiv = 1").all()) ids.push(z.id); "SELECT id FROM personen WHERE rolle = 'modi' AND aktiv = 1").all()) ids.push(z.id);
} }
@@ -433,7 +433,7 @@ checklisteRouter.get("/workspace/api/checkliste/:bereich", (req, res) => {
ist schlicht falsch beschriftet. Das Wort kommt vom Server: ist schlicht falsch beschriftet. Das Wort kommt vom Server:
Ein Rollenvergleich im Browser waere die Stelle, an der der Ein Rollenvergleich im Browser waere die Stelle, an der der
Rollenname in einer ausgelieferten Datei landet. */ Rollenname in einer ausgelieferten Datei landet. */
wahl_name: req.person.rolle === "admin" || req.person.rolle === "hand" wahl_name: req.person.rolle === "admin" || istHand(req.person)
? "Person" : "Creator", ? "Person" : "Creator",
/* Die Oberflaeche soll nicht raten muessen, wer was darf -- sonst /* Die Oberflaeche soll nicht raten muessen, wer was darf -- sonst
zeigt sie einem Creator einen Knopf, der beim Klicken 403 sagt. zeigt sie einem Creator einen Knopf, der beim Klicken 403 sagt.
+2 -2
View File
@@ -107,7 +107,7 @@ export const VERBLASST_NACH_TAGEN = 90;
von Dogi -- nicht die Agentur, nicht die Community. Als Liste und von Dogi -- nicht die Agentur, nicht die Community. Als Liste und
nicht als "alle ausser X": Eine neue Rolle soll hier NICHT nicht als "alle ausser X": Eine neue Rolle soll hier NICHT
automatisch eine Personalakte bekommen. */ automatisch eine Personalakte bekommen. */
const KARTEN_ROLLEN = ["hand", "modi"]; const KARTEN_ROLLEN = ["hand", "linke", "modi"];
/** Wer einen Neuen einarbeiten kann. /** Wer einen Neuen einarbeiten kann.
* *
@@ -116,7 +116,7 @@ const KARTEN_ROLLEN = ["hand", "modi"];
* dieselbe Arbeit wie alle anderen. Ein Manager oder Scout dagegen * dieselbe Arbeit wie alle anderen. Ein Manager oder Scout dagegen
* arbeitet im anderen Haus und kann niemanden durch eine Schicht * arbeitet im anderen Haus und kann niemanden durch eine Schicht
* begleiten, die er selbst nicht macht. */ * begleiten, die er selbst nicht macht. */
const BUDDY_ROLLEN = ["admin", "hand", "modi"]; const BUDDY_ROLLEN = ["admin", "hand", "linke", "modi"];
/** Welchen Zugang der letzte Schritt des Trichters anlegt. /** Welchen Zugang der letzte Schritt des Trichters anlegt.
* *
+24 -2
View File
@@ -19,7 +19,7 @@ import express from "express";
naechsten Umzug stehen bleibt. */ naechsten Umzug stehen bleibt. */
import { anmeldeAdresseFuer } from "./crew-adresse.js"; import { anmeldeAdresseFuer } from "./crew-adresse.js";
import { 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, darfRolleAendern, rollenZumAendern, hausBedingung, 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, darfRolleAendern, rollenZumAendern, hausBedingung, istHand,
} from "./workspace.js"; } from "./workspace.js";
import { sicherungJetzt } from "./workspace-sicherung.js"; import { sicherungJetzt } from "./workspace-sicherung.js";
@@ -99,7 +99,10 @@ function nurAdmin(req, res, next) {
WELCHE Menschen sie zu sehen bekommt, entscheidet sie nicht: Auf WELCHE Menschen sie zu sehen bekommt, entscheidet sie nicht: Auf
ihrer Adresse grenzt `hausBedingung` die Liste ohnehin auf Team ihrer Adresse grenzt `hausBedingung` die Liste ohnehin auf Team
Dogi ein. */ Dogi ein. */
if (person.rolle === "hand" && nurListe) { /* AUCH DIE LINKE HAND -- ABER NUR DIE LISTE (21.09.2026).
Sie muss sehen, wem sie eine Aufgabe geben kann. Anlegen darf sie
niemanden; das entscheidet nicht diese Zeile, sondern ANLEGBAR. */
if (istHand(person) && nurListe) {
req.person = person; req.person = person;
return next(); return next();
} }
@@ -381,6 +384,25 @@ personenRouter.get("/workspace/api/verwaltung/personen", (req, res) => {
text: "Vertritt dich im Alltag und koordiniert das Team. Sieht " text: "Vertritt dich im Alltag und koordiniert das Team. Sieht "
+ "dieselben Aufgaben, Ideen und Angebote wie du – aber keine " + "dieselben Aufgaben, Ideen und Angebote wie du – aber keine "
+ "privaten Kalender und keine Einzelchats.", + "privaten Kalender und keine Einzelchats.",
}, {
/* DIE LINKE HAND (21.09.2026). Filipe: "Die linke Hand
erhaelt grundsaetzlich dieselben Rechte wie die rechte Hand
in allen Bereichen, die die Modis, Aufgaben,
Aufgabenzuweisungen, Uebersichten, Kommunikation und
Auswertungen betreffen."
DERSELBE HUSKY wie bei der rechten Hand -- sie tun
dasselbe, und ein eigenes Zeichen wuerde einen Unterschied
behaupten, den es im Alltag nicht gibt. Was sie
unterscheidet, steht im Text darunter, und zwar
vollstaendig: Wer nur "wie die rechte Hand" liest, legt
sie an und wundert sich spaeter. */
wert: "linke", name: "Linke Hand", symbol: "husky",
text: "Dieselben Team- und Aufgabenrechte wie die rechte Hand – "
+ "verteilt Aufgaben, sieht alle Auswertungen und den ganzen "
+ "Treff. Kann aber keine Personen anlegen, keine Rollen "
+ "ändern und sieht weder Bewerbungen noch den vertraulichen "
+ "Meldeweg.",
}] }]
: []), : []),
].sort((a, b) => { ].sort((a, b) => {
+3 -3
View File
@@ -74,7 +74,7 @@
import express from "express"; import express from "express";
import { import {
db, sitzungLesen, protokolliere, echteIp, db, sitzungLesen, protokolliere, echteIp,
TREFF_BRETTER, TREFF_ROLLEN, ROLLEN_NAME, TREFF_BRETTER, TREFF_ROLLEN, ROLLEN_NAME, istHand,
} from "./workspace.js"; } from "./workspace.js";
/* Die Tabellen und die Sperrfrage stehen in einem Blatt ohne eigene /* Die Tabellen und die Sperrfrage stehen in einem Blatt ohne eigene
Importe -- workspace.js braucht beides ebenfalls, und ein Importkreis Importe -- workspace.js braucht beides ebenfalls, und ein Importkreis
@@ -96,7 +96,7 @@ const TAG = 86400000;
Treff. Genau dieser Fehler steckte am 11.09. schon einmal im stillen Treff. Genau dieser Fehler steckte am 11.09. schon einmal im stillen
Zugang. Zugang.
------------------------------------------------------------------- */ ------------------------------------------------------------------- */
export const TREFF_TEAM_ROLLEN = new Set(["modi", "hand", "admin"]); export const TREFF_TEAM_ROLLEN = new Set(["modi", "hand", "linke", "admin"]);
const TREFF_TEAM = TREFF_TEAM_ROLLEN; const TREFF_TEAM = TREFF_TEAM_ROLLEN;
const TREFF_AUSSEN = new Set(["gast"]); const TREFF_AUSSEN = new Set(["gast"]);
@@ -251,7 +251,7 @@ export function darfMassnahme(person, art, dauerhaft) {
/** Die längste Frist, die diese Rolle setzen darf (in Tagen). */ /** Die längste Frist, die diese Rolle setzen darf (in Tagen). */
export const MODI_FRIST_TAGE = 7; export const MODI_FRIST_TAGE = 7;
export function fristErlaubt(person, tage) { export function fristErlaubt(person, tage) {
if (person?.rolle === "admin" || person?.rolle === "hand") return true; if (person?.rolle === "admin" || istHand(person)) return true;
return tage > 0 && tage <= MODI_FRIST_TAGE; return tage > 0 && tage <= MODI_FRIST_TAGE;
} }
+1 -1
View File
@@ -98,7 +98,7 @@ export const TREFF_NAME = "Der Treff";
* ohne Moderation wäre nicht mutig, sondern fahrlässig — und die * ohne Moderation wäre nicht mutig, sondern fahrlässig — und die
* Nachtruhe ist kein Ersatz dafür, sie verkürzt nur die Zeit, in der * Nachtruhe ist kein Ersatz dafür, sie verkürzt nur die Zeit, in der
* jemand hinsehen muss. */ * jemand hinsehen muss. */
export const TREFF_ROLLEN = ["gast", "modi", "hand", "admin"]; export const TREFF_ROLLEN = ["gast", "modi", "hand", "linke", "admin"];
/** Ab wann und bis wann niemand schreibt — Ortszeit, Stunden. /** Ab wann und bis wann niemand schreibt — Ortszeit, Stunden.
* *
+1 -1
View File
@@ -153,7 +153,7 @@ const TAG = 86400000;
* Import nur wegen zweier Zeichenketten die beiden Module * Import nur wegen zweier Zeichenketten die beiden Module
* aneinanderbindet; `pruef-werdegang` vergleicht sie und wird rot, * aneinanderbindet; `pruef-werdegang` vergleicht sie und wird rot,
* wenn sie auseinanderlaufen. */ * wenn sie auseinanderlaufen. */
export const KARTEN_ROLLEN = ["hand", "modi"]; export const KARTEN_ROLLEN = ["hand", "linke", "modi"];
/** Wie viele Monatsspalten der Verlauf zeigt. /** Wie viele Monatsspalten der Verlauf zeigt.
* *
+81 -9
View File
@@ -98,7 +98,44 @@ const SITZUNG_TAGE = 180;
const SITZUNG_MS = SITZUNG_TAGE * 86400_000; const SITZUNG_MS = SITZUNG_TAGE * 86400_000;
const VERSUCHE_MAX = 8; // pro IP const VERSUCHE_MAX = 8; // pro IP
const VERSUCHE_FENSTER_MIN = 10; const VERSUCHE_FENSTER_MIN = 10;
const ROLLEN = new Set(["spicy", "admin", "manager", "scout", "creator", "hand", "modi", "gast"]); const ROLLEN = new Set(["spicy", "admin", "manager", "scout", "creator",
"hand", "linke", "modi", "gast"]);
/* ===== DIE LINKE HAND (21.09.2026) ==================================
Filipe, aus dem Auftrag: *"Die linke Hand erhaelt grundsaetzlich
dieselben Rechte wie die rechte Hand in allen Bereichen, die die
Modis, Aufgaben, Aufgabenzuweisungen, Uebersichten, Kommunikation
und Auswertungen betreffen. Die linke Hand darf keine neuen Personen
oder Accounts hinzufuegen. Die linke Hand darf keine privaten bzw.
persoenlichen Bereiche oder Informationen von Dogfather sehen."*
DESHALB EINE MENGE UND NICHT DREISSIG ABSCHRIFTEN. Die Rolle "hand"
steht an 35 Stellen im Servercode. Haette ich ueberall ein "linke"
danebengeschrieben, waere die naechste Stelle, die jemand
hinzufuegt, die erste, die es vergisst -- und eine vergessene Stelle
heisst hier: Die linke Hand sieht etwas nicht, ohne dass jemand
merkt, warum. Genau diese Falle hat das Haus am 11.09. schon einmal
Datenspalten gekostet.
WAS AUSDRUECKLICH NICHT DAZUGEHOERT -- und warum jedes einzeln:
- Personen anlegen (ANLEGBAR) ausdruecklich im Auftrag
- Bewerbungen lesen das ist der Weg, auf dem
Personen hinzukommen
- Rollen aendern Kontoverwaltung, nicht
Aufgabenverwaltung
- der vertrauliche Meldeweg das Empfindlichste im Haus;
im Zweifel das kleinere Recht.
Ein Wort von Filipe kehrt das
um -- eine versehentlich
gelesene Meldung nicht.
Die Menge steht hier oben, VOR allem, was sie benutzt. */
export const WIE_RECHTE_HAND = new Set(["hand", "linke"]);
/** Hat diese Person die Team-Rechte einer Hand (rechts oder links)? */
export const istHand = (person) => !!person && WIE_RECHTE_HAND.has(person.rolle);
/* DIE EINE REIHENFOLGE, IN DER ROLLEN UEBERALL ERSCHEINEN. /* DIE EINE REIHENFOLGE, IN DER ROLLEN UEBERALL ERSCHEINEN.
@@ -125,7 +162,8 @@ const ROLLEN = new Set(["spicy", "admin", "manager", "scout", "creator", "hand",
'gast' (Community) steht mit Absicht NICHT in der Liste: Sie faellt 'gast' (Community) steht mit Absicht NICHT in der Liste: Sie faellt
dadurch ans Ende (siehe ELSE unten), und das ist richtig -- die dadurch ans Ende (siehe ELSE unten), und das ist richtig -- die
Community ist keine Stufe im Team. */ Community ist keine Stufe im Team. */
export const ROLLEN_REIHE = ["spicy", "admin", "hand", "manager", "scout", "creator", "modi"]; export const ROLLEN_REIHE = ["spicy", "admin", "hand", "linke", "manager",
"scout", "creator", "modi"];
/* DIE ROLLEN MIT EINER KACHEL AUF DER ANMELDESEITE. /* DIE ROLLEN MIT EINER KACHEL AUF DER ANMELDESEITE.
@@ -168,7 +206,8 @@ const ROLLEN_KACHEL = new Set(["spicy", "admin", "manager", "scout", "creator"])
* 10.09. waere wieder umgeworfen worden. Er hat sich fuer die vierte * 10.09. waere wieder umgeworfen worden. Er hat sich fuer die vierte
* Kachel entschieden; der Preis ist damit bewusst bezahlt und nicht * Kachel entschieden; der Preis ist damit bewusst bezahlt und nicht
* uebersehen. */ * uebersehen. */
const CREW_KACHEL = new Set(["admin", "hand", "modi", "gast"]); /* Die linke Hand meldet sich ueber dieselbe Wand an wie die rechte. */
const CREW_KACHEL = new Set(["admin", "hand", "linke", "modi", "gast"]);
/** Die Rollen mit einer Kachel auf der Zugangswand von treff. /** Die Rollen mit einer Kachel auf der Zugangswand von treff.
* *
@@ -231,7 +270,7 @@ export const istDogFather = (person) => !!person && person.rolle === "admin";
spicy und manager bleiben drin: Auf der Agenturseite verteilen sie spicy und manager bleiben drin: Auf der Agenturseite verteilen sie
seit jeher Aufgaben, und daran soll sich nichts aendern. */ seit jeher Aufgaben, und daran soll sich nichts aendern. */
export const darfAufgabenVerteilen = (person) => export const darfAufgabenVerteilen = (person) =>
istLeitung(person) || person?.rolle === "hand"; istLeitung(person) || istHand(person);
/* ===== WER DARF EINE ROLLE AENDERN -- UND ZU WELCHER? (20.09.2026) == /* ===== WER DARF EINE ROLLE AENDERN -- UND ZU WELCHER? (20.09.2026) ==
@@ -396,6 +435,12 @@ const ANLEGBAR = {
spicy: ["spicy", "manager", "scout", "creator"], spicy: ["spicy", "manager", "scout", "creator"],
/* Ein Manager stellt Creator ein, die er dann auch betreut. */ /* Ein Manager stellt Creator ein, die er dann auch betreut. */
manager: ["creator"], manager: ["creator"],
/* DIE LINKE HAND LEGT NIEMANDEN AN (21.09.2026) -- ausdruecklich im
Auftrag. Sie stuende auch ohne diese Zeile auf [] (darfAnlegen
nimmt `?? []`), aber dann saehe es aus wie vergessen. Eine
ausdrueckliche leere Liste ist eine Entscheidung, eine fehlende
Zeile ist eine Luecke. */
linke: [],
}; };
/** Welche Rollen darf diese Person anlegen? Immer ein Feld, nie null — /** Welche Rollen darf diese Person anlegen? Immer ein Feld, nie null —
@@ -449,6 +494,11 @@ export function darfAnlegen(person) {
export const darfRollenWechseln = (person) => export const darfRollenWechseln = (person) =>
!!person && (person.rolle === "admin" || person.rolle === "spicy" !!person && (person.rolle === "admin" || person.rolle === "spicy"
|| person.rolle === "hand"); || person.rolle === "hand");
/* OHNE "linke" -- UND DAS IST ABSICHT, KEIN VERGESSEN (21.09.2026).
Eine Rolle zu aendern ist Kontoverwaltung. Der Auftrag sagt zur
linken Hand ausdruecklich "keine neuen Personen oder Accounts
hinzufuegen"; wer Rollen vergeben kann, kann sich selbst und andere
zu allem machen, was es gibt. Deshalb hier die kleinere Antwort. */
/* WER FUEHRT TEAM DOGI? (10.09.2026) /* WER FUEHRT TEAM DOGI? (10.09.2026)
* *
@@ -463,7 +513,7 @@ export const darfRollenWechseln = (person) =>
* vergisst. Der Eingang ruft ab jetzt hierher. * vergisst. Der Eingang ruft ab jetzt hierher.
*/ */
export const fuehrtTeamDogi = (person) => export const fuehrtTeamDogi = (person) =>
!!person && (person.rolle === "admin" || person.rolle === "hand"); !!person && (person.rolle === "admin" || istHand(person));
/* ======================================================================= /* =======================================================================
SPICY MEDIA (07.09.2026) SPICY MEDIA (07.09.2026)
@@ -650,6 +700,12 @@ export const ROLLEN_NAME = {
scout: "Scout", scout: "Scout",
creator: "Creator", creator: "Creator",
hand: "Rechte Hand", hand: "Rechte Hand",
/* DIE LINKE HAND (21.09.2026). Ohne diesen Eintrag heisst sie
ueberall dort, wo der Rollenname steht -- im Treff, an einem
Beitrag, in der Personenliste -- schlicht "linke". Gefunden hat
das pruef-rechtetafel, weil sie diese Tabelle gegen ROLLEN haelt
und rot wird, sobald eine Rolle nur in einer der beiden steht. */
linke: "Linke Hand",
modi: "Modi", modi: "Modi",
/* DIE COMMUNITY (11.09.2026). Der Name steht hier und NICHT in einer /* DIE COMMUNITY (11.09.2026). Der Name steht hier und NICHT in einer
Datei, die jeder herunterlaedt -- ausgeliefert wird er nur an den, Datei, die jeder herunterlaedt -- ausgeliefert wird er nur an den,
@@ -1316,7 +1372,7 @@ export const TREFF_BRETTER = [...new Set([
/* Wer den Treff ueberhaupt sehen darf: die Community selbst und das /* Wer den Treff ueberhaupt sehen darf: die Community selbst und das
Team von Dogi. Die Agentur ausdruecklich nicht -- Creator, Scouts und Team von Dogi. Die Agentur ausdruecklich nicht -- Creator, Scouts und
Spicy Media haben mit den Zuschauern dieses Streams nichts zu tun. */ Spicy Media haben mit den Zuschauern dieses Streams nichts zu tun. */
export const TREFF_ROLLEN = new Set(["gast", "modi", "hand", "admin"]); export const TREFF_ROLLEN = new Set(["gast", "modi", "hand", "linke", "admin"]);
/* DER VERTRAULICHE MELDEWEG (19.09.2026). /* DER VERTRAULICHE MELDEWEG (19.09.2026).
@@ -1479,7 +1535,7 @@ const TREFF_MIT_EIGENEM = [...TREFF_BEREICHE, HILFE_KACHEL, STECKBRIEF_KACHEL_TR
export function bereicheFuer(person) { export function bereicheFuer(person) {
if (person?.rolle === "modi") return MODI_MIT_TREFF; if (person?.rolle === "modi") return MODI_MIT_TREFF;
if (person?.rolle === "hand") return HAND_MIT_TREFF; if (istHand(person)) return HAND_MIT_TREFF;
/* DIE COMMUNITY SIEHT DEN TREFF UND SONST NICHTS (11.09.2026) -- /* DIE COMMUNITY SIEHT DEN TREFF UND SONST NICHTS (11.09.2026) --
seit dem 19.09. plus den eigenen Steckbrief. */ seit dem 19.09. plus den eigenen Steckbrief. */
if (person?.rolle === "gast") return TREFF_MIT_EIGENEM; if (person?.rolle === "gast") return TREFF_MIT_EIGENEM;
@@ -1865,7 +1921,7 @@ export function kategoriePersonen(person) {
/* Ein Modi arbeitet ausschliesslich an eigenen Aufgaben -- dort gilt /* Ein Modi arbeitet ausschliesslich an eigenen Aufgaben -- dort gilt
sie immer, unabhaengig davon, wen er eintraegt. */ sie immer, unabhaengig davon, wen er eintraegt. */
if (person.rolle === "modi") return null; if (person.rolle === "modi") return null;
if (person.rolle !== "admin" && person.rolle !== "hand") return []; if (person.rolle !== "admin" && !istHand(person)) return [];
try { try {
/* Auch die rechte Hand selbst: Sie traegt Aufgaben ein -- fuer /* Auch die rechte Hand selbst: Sie traegt Aufgaben ein -- fuer
andere UND fuer sich. Waere ihre eigene Nummer nicht dabei, andere UND fuer sich. Waere ihre eigene Nummer nicht dabei,
@@ -1884,10 +1940,12 @@ export function kategoriePersonen(person) {
die anderen zu stellen: Sie haelt den Ueberblick, sie steht nicht die anderen zu stellen: Sie haelt den Ueberblick, sie steht nicht
darueber. */ darueber. */
const HAND_ROLLENTEXT = "Rechte Hand · du hast alles im Blick und entscheidest mit"; const HAND_ROLLENTEXT = "Rechte Hand · du hast alles im Blick und entscheidest mit";
const LINKE_ROLLENTEXT = "Linke Hand · du fuehrst das Team durch den Tag";
export function rollentextFuer(person) { export function rollentextFuer(person) {
if (person?.rolle === "modi") return MODI_ROLLENTEXT; if (person?.rolle === "modi") return MODI_ROLLENTEXT;
if (person?.rolle === "hand") return HAND_ROLLENTEXT; if (person?.rolle === "hand") return HAND_ROLLENTEXT;
if (person?.rolle === "linke") return LINKE_ROLLENTEXT;
/* DIE COMMUNITY HATTE NUR EIN WORT (nachgetragen 19.09.2026). /* DIE COMMUNITY HATTE NUR EIN WORT (nachgetragen 19.09.2026).
Bei jeder anderen Rolle steht unter dem Titel ein Satz. Beim Bei jeder anderen Rolle steht unter dem Titel ein Satz. Beim
@@ -3417,6 +3475,20 @@ function umstellungen(d) {
Transaktion, Indizes zurueck. */ Transaktion, Indizes zurueck. */
checkListeErweitern(d, "personen", "rolle", "gast", checkListeErweitern(d, "personen", "rolle", "gast",
["spicy", "admin", "manager", "scout", "creator", "modi", "hand", "gast"], jetztStempel); ["spicy", "admin", "manager", "scout", "creator", "modi", "hand", "gast"], jetztStempel);
/* DIE LINKE HAND (21.09.2026) -- UND SIE STEHT MIT ABSICHT GANZ
UNTEN, NICHT BEI DER RECHTEN HAND.
`checkListeErweitern` baut die Regel NEU aus der Liste, die man
ihm gibt. Stand mein Schritt weiter oben, nahm der Schritt fuer
"gast" darunter die Rolle wieder heraus -- seine Liste kennt sie
ja nicht. Die Kette ist kumulativ und deshalb von der Reihenfolge
abhaengig; wer hier etwas einschiebt, gehoert ans ENDE.
Ohne diesen Schritt laesst die Datenbank die Rolle nicht zu -- und
zwar erst beim ersten echten Anlegen, nicht beim Start. */
checkListeErweitern(d, "personen", "rolle", "linke",
["spicy", "admin", "manager", "scout", "creator", "modi", "hand",
"gast", "linke"], jetztStempel);
/* DER BEREICH FUER DAS IDEEN-BOARD (10.09.2026, Kapitel 5.6). /* DER BEREICH FUER DAS IDEEN-BOARD (10.09.2026, Kapitel 5.6).
@@ -6452,7 +6524,7 @@ export function protokollLesen(anzahl = 20) {
* -- und das sagt bei der Community ueberall Nein. Zwei verschiedene * -- und das sagt bei der Community ueberall Nein. Zwei verschiedene
* Fragen, zwei verschiedene Funktionen; wer sie in eine legt, kann * Fragen, zwei verschiedene Funktionen; wer sie in eine legt, kann
* spaeter nicht mehr sagen, welche gerade zugeschlagen hat. */ * spaeter nicht mehr sagen, welche gerade zugeschlagen hat. */
const HAUS_TEAM_ROLLEN = new Set(["admin", "hand", "modi", "gast"]); const HAUS_TEAM_ROLLEN = new Set(["admin", "hand", "linke", "modi", "gast"]);
function nurHaus(ids, person) { function nurHaus(ids, person) {
if (person?.haus !== "crew") return ids; if (person?.haus !== "crew") return ids;
+4 -4
View File
@@ -16,15 +16,15 @@
verdeckt. Gefunden hat es pruef-struktur. verdeckt. Gefunden hat es pruef-struktur.
Richtig sind `gate.css` (die Farbwerte des Hauses) und `haus.css`. --> Richtig sind `gate.css` (die Farbwerte des Hauses) und `haus.css`. -->
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
<!-- Ohne diese drei nimmt ein iPhone einen Bildschirmausschnitt als <!-- Ohne diese drei nimmt ein iPhone einen Bildschirmausschnitt als
Symbol, Android zeichnet die Leiste weiss, und die Seite oeffnet Symbol, Android zeichnet die Leiste weiss, und die Seite oeffnet
ausserhalb der App -- auf einer Seite, die genau erklaeren soll, ausserhalb der App -- auf einer Seite, die genau erklaeren soll,
WARUM das Telefon nicht klingelt, ist das besonders unpassend. --> WARUM das Telefon nicht klingelt, ist das besonders unpassend. -->
<link rel="manifest" href="/workspace/crew.webmanifest" /> <link rel="manifest" href="/workspace/crew.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<style> <style>
/* Bewusst in der Seite und nicht in einer eigenen Datei: Diese Seite /* Bewusst in der Seite und nicht in einer eigenen Datei: Diese Seite
soll auch dann noch etwas anzeigen, wenn genau das schiefgeht, soll auch dann noch etwas anzeigen, wenn genau das schiefgeht,
@@ -125,6 +125,6 @@
</main> </main>
␍ ␍
<script src="assets/js/anruf-probe.js?v=202609211701" defer></script> <script src="assets/js/anruf-probe.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+4 -4
View File
@@ -22,25 +22,25 @@
}, },
"icons": [ "icons": [
{ {
"src": "/assets/img/app-symbole/workspace-192.png?v=202609211701", "src": "/assets/img/app-symbole/workspace-192.png?v=202609211744",
"sizes": "192x192", "sizes": "192x192",
"type": "image/png", "type": "image/png",
"purpose": "any" "purpose": "any"
}, },
{ {
"src": "/assets/img/app-symbole/workspace-512.png?v=202609211701", "src": "/assets/img/app-symbole/workspace-512.png?v=202609211744",
"sizes": "512x512", "sizes": "512x512",
"type": "image/png", "type": "image/png",
"purpose": "any" "purpose": "any"
}, },
{ {
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609211701", "src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609211744",
"sizes": "192x192", "sizes": "192x192",
"type": "image/png", "type": "image/png",
"purpose": "maskable" "purpose": "maskable"
}, },
{ {
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609211701", "src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609211744",
"sizes": "512x512", "sizes": "512x512",
"type": "image/png", "type": "image/png",
"purpose": "maskable" "purpose": "maskable"
+16 -16
View File
@@ -12,19 +12,19 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -316,15 +316,15 @@
<!-- TEXTFORM ZUERST (21.09.2026): Die Seite fragt beim Zeichnen nach <!-- TEXTFORM ZUERST (21.09.2026): Die Seite fragt beim Zeichnen nach
`window.Textform`. Kaeme sie spaeter, waere der erste Eintrag ohne `window.Textform`. Kaeme sie spaeter, waere der erste Eintrag ohne
Gestaltung. Kein `defer`, damit sie wirklich vorher dasteht. --> Gestaltung. Kein `defer`, damit sie wirklich vorher dasteht. -->
<script src="assets/js/textform.js?v=202609211701"></script> <script src="assets/js/textform.js?v=202609211744"></script>
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/hochladen.js?v=202609211701" defer></script> <script src="assets/js/hochladen.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script> <script src="assets/js/nachfrage.js?v=202609211744" defer></script>
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/glocke.js?v=202609211701" defer></script> <script src="assets/js/glocke.js?v=202609211744" defer></script>
<script src="assets/js/aufgaben.js?v=202609211701" defer></script> <script src="assets/js/aufgaben.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+15 -15
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/automation.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/automation.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -168,13 +168,13 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script>␍ <script src="assets/js/nachfrage.js?v=202609211744" defer></script>␍
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/glocke.js?v=202609211701" defer></script> <script src="assets/js/glocke.js?v=202609211744" defer></script>
<script src="assets/js/automation.js?v=202609211701" defer></script> <script src="assets/js/automation.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+14 -14
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/entwicklung.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -160,13 +160,13 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script> <script src="assets/js/nachfrage.js?v=202609211744" defer></script>
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/befinden.js?v=202609211701" defer></script> <script src="assets/js/befinden.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+20 -20
View File
@@ -12,24 +12,24 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/bereich.css?v=202609211744" />
<!-- Wegen des Blocks „Willst du dazugehoeren?" auf dem Brett <!-- Wegen des Blocks „Willst du dazugehoeren?" auf dem Brett
„Mitmachen". Eine eigene Kopie der Regel hier waere die zweite „Mitmachen". Eine eigene Kopie der Regel hier waere die zweite
Stelle, an der dieselbe Sache anders aussieht. --> Stelle, an der dieselbe Sache anders aussieht. -->
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/bewerbung.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -295,17 +295,17 @@
<!-- TEXTFORM ZUERST (21.09.2026): Die Seite fragt beim Zeichnen nach <!-- TEXTFORM ZUERST (21.09.2026): Die Seite fragt beim Zeichnen nach
`window.Textform`. Kaeme sie spaeter, waere der erste Eintrag ohne `window.Textform`. Kaeme sie spaeter, waere der erste Eintrag ohne
Gestaltung. Kein `defer`, damit sie wirklich vorher dasteht. --> Gestaltung. Kein `defer`, damit sie wirklich vorher dasteht. -->
<script src="assets/js/textform.js?v=202609211701"></script> <script src="assets/js/textform.js?v=202609211744"></script>
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script> <script src="assets/js/nachfrage.js?v=202609211744" defer></script>
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/glocke.js?v=202609211701" defer></script> <script src="assets/js/glocke.js?v=202609211744" defer></script>
<script src="assets/js/checkliste.js?v=202609211701" defer></script> <script src="assets/js/checkliste.js?v=202609211744" defer></script>
<script src="assets/js/ampel.js?v=202609211701" defer></script> <script src="assets/js/ampel.js?v=202609211744" defer></script>
<script src="assets/js/schulung.js?v=202609211701" defer></script> <script src="assets/js/schulung.js?v=202609211744" defer></script>
<script src="assets/js/bereich.js?v=202609211701" defer></script> <script src="assets/js/bereich.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+17 -17
View File
@@ -7,17 +7,17 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/bereich.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/treff.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/bewerbung.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. --> <!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -108,12 +108,12 @@
</main> </main>
<!-- Der Fuß gehört zu jeder Seite - siehe pruef-css-klassen. --> <!-- Der Fuß gehört zu jeder Seite - siehe pruef-css-klassen. -->
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script>␍ <script src="assets/js/nachfrage.js?v=202609211744" defer></script>␍
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/auskunft.js?v=202609211701" defer></script> <script src="assets/js/auskunft.js?v=202609211744" defer></script>
<script src="assets/js/bewerben.js?v=202609211701" defer></script> <script src="assets/js/bewerben.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -7,16 +7,16 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/entwicklung.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/bewerbung.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. --> <!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -80,13 +80,13 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script>␍ <script src="assets/js/nachfrage.js?v=202609211744" defer></script>␍
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/auskunft.js?v=202609211701" defer></script> <script src="assets/js/auskunft.js?v=202609211744" defer></script>
<script src="assets/js/bewerbungen.js?v=202609211701" defer></script> <script src="assets/js/bewerbungen.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/calls.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/calls.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -89,14 +89,14 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script> <script src="assets/js/nachfrage.js?v=202609211744" defer></script>
<script src="assets/js/ki.js?v=202609211701" defer></script> <script src="assets/js/ki.js?v=202609211744" defer></script>
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/glocke.js?v=202609211701" defer></script> <script src="assets/js/glocke.js?v=202609211744" defer></script>
<script src="assets/js/calls.js?v=202609211701" defer></script> <script src="assets/js/calls.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+18 -18
View File
@@ -12,26 +12,26 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<!-- aufgaben.css bringt die Dialog- und Formularstile mit (.dialog, <!-- aufgaben.css bringt die Dialog- und Formularstile mit (.dialog,
.neu__zeile, .dialog__knoepfe). Sie stehen dort seit dem .neu__zeile, .dialog__knoepfe). Sie stehen dort seit dem
Aufgabenbrett; sie hierher zu kopieren hiesse, sie an zwei Stellen Aufgabenbrett; sie hierher zu kopieren hiesse, sie an zwei Stellen
zu pflegen. Dieselbe Lösung nutzen kalender.html und content.html. zu pflegen. Dieselbe Lösung nutzen kalender.html und content.html.
Gemeldet von pruef-css-klassen.mjs, bevor jemand einen ungestylten Gemeldet von pruef-css-klassen.mjs, bevor jemand einen ungestylten
Dialog zu sehen bekam. --> Dialog zu sehen bekam. -->
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/chat.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/chat.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -414,24 +414,24 @@
</form> </form>
</dialog> </dialog>
<script src="assets/js/bereiche.js?v=202609211701"></script> <script src="assets/js/bereiche.js?v=202609211744"></script>
<!-- TEXTFORM VOR ALLEM ANDEREN (21.09.2026): chat.js und bereich.js <!-- TEXTFORM VOR ALLEM ANDEREN (21.09.2026): chat.js und bereich.js
fragen beim Zeichnen nach `window.Textform`. Kaeme sie spaeter, fragen beim Zeichnen nach `window.Textform`. Kaeme sie spaeter,
waere die erste gezeichnete Nachricht ohne Gestaltung -- und das waere die erste gezeichnete Nachricht ohne Gestaltung -- und das
faellt nur dem auf, der genau hinsieht. KEIN `defer`, damit sie faellt nur dem auf, der genau hinsieht. KEIN `defer`, damit sie
wirklich vor den anderen dasteht. --> wirklich vor den anderen dasteht. -->
<script src="assets/js/textform.js?v=202609211701"></script> <script src="assets/js/textform.js?v=202609211744"></script>
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/hochladen.js?v=202609211701" defer></script> <script src="assets/js/hochladen.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script> <script src="assets/js/nachfrage.js?v=202609211744" defer></script>
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701"></script> <script src="assets/js/kopf.js?v=202609211744"></script>
<script src="assets/js/glocke.js?v=202609211701"></script> <script src="assets/js/glocke.js?v=202609211744"></script>
<!-- ANRUF VOR CHAT (18.09.2026): anruf.js stellt `window.anrufStarten` <!-- ANRUF VOR CHAT (18.09.2026): anruf.js stellt `window.anrufStarten`
bereit, und chat.js baut die Knoepfe nur, wenn es das gibt. bereit, und chat.js baut die Knoepfe nur, wenn es das gibt.
Andersherum waere die Reihenfolge eine stille Abhaengigkeit -- Andersherum waere die Reihenfolge eine stille Abhaengigkeit --
die Knoepfe fehlten, und niemand wuesste warum. --> die Knoepfe fehlten, und niemand wuesste warum. -->
<script src="assets/js/anruf.js?v=202609211701"></script> <script src="assets/js/anruf.js?v=202609211744"></script>
<script src="assets/js/chat.js?v=202609211701"></script> <script src="assets/js/chat.js?v=202609211744"></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/content.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/content.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -179,14 +179,14 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script> <script src="assets/js/nachfrage.js?v=202609211744" defer></script>
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/glocke.js?v=202609211701" defer></script> <script src="assets/js/glocke.js?v=202609211744" defer></script>
<script src="assets/js/checkliste.js?v=202609211701" defer></script> <script src="assets/js/checkliste.js?v=202609211744" defer></script>
<script src="assets/js/content.js?v=202609211701" defer></script> <script src="assets/js/content.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+386 -363
View File
@@ -1,363 +1,386 @@
<!doctype html> <!doctype html>
<html lang="de"> <html lang="de">
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" /> <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
<title>Anmeldung · DogFather Universe</title> <title>Anmeldung · DogFather Universe</title>
<!-- WEDER "Arbeitsbereich" NOCH "die Modis" (11.09.2026). <!-- WEDER "Arbeitsbereich" NOCH "die Modis" (11.09.2026).
Seit die Community durch diese Wand kommt, liest sie auch diesen Seit die Community durch diese Wand kommt, liest sie auch diesen
Satz. "Privater Arbeitsbereich fuer DogFather und die Modis" waere Satz. "Privater Arbeitsbereich fuer DogFather und die Modis" waere
fuer sie schlicht falsch -- und das Erste, was sie ueber das Haus fuer sie schlicht falsch -- und das Erste, was sie ueber das Haus
erfaehrt. --> erfaehrt. -->
<meta name="description" content="Privater Bereich rund um DogFather. Zugang nur mit persönlichem Code." /> <meta name="description" content="Privater Bereich rund um DogFather. Zugang nur mit persönlichem Code." />
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<!-- Die Farbe der Fensterleiste, wenn der Workspace als App laeuft. <!-- Die Farbe der Fensterleiste, wenn der Workspace als App laeuft.
Stand auf #0674b9 (kraeftiges Blau) und stach damit als einziger Stand auf #0674b9 (kraeftiges Blau) und stach damit als einziger
heller Balken ueber einer durchweg dunklen Seite. Jetzt derselbe heller Balken ueber einer durchweg dunklen Seite. Jetzt derselbe
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<!-- Die Bühne ist der erste Eindruck. Ohne diesen Hinweis lädt der Browser sie erst, <!-- Die Bühne ist der erste Eindruck. Ohne diesen Hinweis lädt der Browser sie erst,
nachdem er das CSS gelesen hat - das kostet spürbar Zeit. Quer- und Hochformat nachdem er das CSS gelesen hat - das kostet spürbar Zeit. Quer- und Hochformat
sind getrennt, damit das Handy nicht die große Fassung zieht. sind getrennt, damit das Handy nicht die große Fassung zieht.
Hier steht bewusst WebP und nicht AVIF, obwohl die AVIF-Fassungen erzeugt Hier steht bewusst WebP und nicht AVIF, obwohl die AVIF-Fassungen erzeugt
werden und rund ein Drittel kleiner wären: Der ausliefernde Server läuft auf werden und rund ein Drittel kleiner wären: Der ausliefernde Server läuft auf
Express 4, dessen `send` eine alte MIME-Tabelle ohne AVIF mitbringt. Die Express 4, dessen `send` eine alte MIME-Tabelle ohne AVIF mitbringt. Die
Dateien kämen als application/octet-stream an und würden wegen des Dateien kämen als application/octet-stream an und würden wegen des
nosniff-Headers vom Browser verweigert - die Bühne bliebe leer. Sobald der nosniff-Headers vom Browser verweigert - die Bühne bliebe leer. Sobald der
Workspace einen eigenen Server bekommt, kann AVIF wieder eingeschaltet Workspace einen eigenen Server bekommt, kann AVIF wieder eingeschaltet
werden (die Dateien liegen bereit). --> werden (die Dateien liegen bereit). -->
<link rel="preload" as="image" href="assets/img/buehne/crew-gate-1920.webp" <link rel="preload" as="image" href="assets/img/buehne/crew-gate-1920.webp"
type="image/webp" media="(min-width: 900px)" /> type="image/webp" media="(min-width: 900px)" />
<link rel="preload" as="image" href="assets/img/buehne/crew-gate-hoch-580.webp" <link rel="preload" as="image" href="assets/img/buehne/crew-gate-hoch-580.webp"
type="image/webp" media="(max-width: 899px)" /> type="image/webp" media="(max-width: 899px)" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/crew-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/crew-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<!-- Diese Wand steht NUR auf der Adresse von Team Dogi (ueberall sonst <!-- Diese Wand steht NUR auf der Adresse von Team Dogi (ueberall sonst
404, siehe crewWeiche). Sie darf das Haus deshalb direkt nennen 404, siehe crewWeiche). Sie darf das Haus deshalb direkt nennen
statt ueber den Platzhalter haus.css zu gehen -- und sie MUSS es: statt ueber den Platzhalter haus.css zu gehen -- und sie MUSS es:
Eine Zugangswand, die sich erst nach dem Umbiegen faerbt, waere Eine Zugangswand, die sich erst nach dem Umbiegen faerbt, waere
die eine Seite, auf der man das Umfaerben sieht. --> die eine Seite, auf der man das Umfaerben sieht. -->
<link rel="stylesheet" href="assets/css/crew-haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/crew-haus.css?v=202609211744" />
</head> </head>
<body class="gate gate--crew"> <body class="gate gate--crew">
<!-- ==================================================================== <!-- ====================================================================
DIE DREI ZEICHEN DIESER WAND (10.09.2026) DIE DREI ZEICHEN DIESER WAND (10.09.2026)
Filipe: "3 rollen. dogfather. rechte hand und modis." Filipe: "3 rollen. dogfather. rechte hand und modis."
Von den fuenf Zeichen der anderen Wand bleibt nur der Husky -- die Von den fuenf Zeichen der anderen Wand bleibt nur der Husky -- die
uebrigen gehoeren zu Rollen, die es hier nicht gibt, und ihre uebrigen gehoeren zu Rollen, die es hier nicht gibt, und ihre
Namen haetten im Quelltext nichts verloren. Namen haetten im Quelltext nichts verloren.
DER HUSKY BEI DOGFATHER UND BEI DER RECHTEN HAND, die Pfote bei DER HUSKY BEI DOGFATHER UND BEI DER RECHTEN HAND, die Pfote bei
den Modis (Filipe, 10.09.2026, mit Bildschirmfoto: "bei rechte den Modis (Filipe, 10.09.2026, mit Bildschirmfoto: "bei rechte
hand soll der husky sein und bei modis soll die pfote sein"). hand soll der husky sein und bei modis soll die pfote sein").
DAS DREHT EINE FRUEHERE VORGABE UM, und der Grund gehoert dazu: Am DAS DREHT EINE FRUEHERE VORGABE UM, und der Grund gehoert dazu: Am
09.09. hiess es "das modi symbol soll das gleiche sein wie bei 09.09. hiess es "das modi symbol soll das gleiche sein wie bei
dogfather" -- damals gab es hier zwei Rollen, und der Satz dogfather" -- damals gab es hier zwei Rollen, und der Satz
bedeutete "die Modis gehoeren zu Dogi, nicht zur Agentur". Mit bedeutete "die Modis gehoeren zu Dogi, nicht zur Agentur". Mit
drei Rollen sagt dieselbe Absicht etwas anderes: Der Husky steht drei Rollen sagt dieselbe Absicht etwas anderes: Der Husky steht
bei den beiden, die den Ueberblick haben, die Pfote bei denen, die bei den beiden, die den Ueberblick haben, die Pfote bei denen, die
taeglich unterwegs sind. Zwei gleiche Zeichen und ein anderes -- taeglich unterwegs sind. Zwei gleiche Zeichen und ein anderes --
das liest sich als Gruppe, nicht als Reihe. das liest sich als Gruppe, nicht als Reihe.
Die Pfote traegt bei 22 px, weil es fuenf klar getrennte Flaechen Die Pfote traegt bei 22 px, weil es fuenf klar getrennte Flaechen
sind und keine Innenzeichnung -- dasselbe Argument, mit dem auf der sind und keine Innenzeichnung -- dasselbe Argument, mit dem auf der
anderen Wand eine Silhouette einem geschliffenen Koerper gewichen anderen Wand eine Silhouette einem geschliffenen Koerper gewichen
ist. ist.
================================================================= --> ================================================================= -->
<svg width="0" height="0" style="position:absolute;overflow:hidden" aria-hidden="true"><defs> <svg width="0" height="0" style="position:absolute;overflow:hidden" aria-hidden="true"><defs>
<!-- Der Husky ist ein FOTO, kein Pfad. Der Filter zieht ihn auf zwei <!-- Der Husky ist ein FOTO, kein Pfad. Der Filter zieht ihn auf zwei
Toene zusammen (dunkles Blaugrau -> Silber), damit er neben Toene zusammen (dunkles Blaugrau -> Silber), damit er neben
gezeichneten Zeichen nicht wie ein Fremdkoerper wirkt. --> gezeichneten Zeichen nicht wie ein Fremdkoerper wirkt. -->
<filter id="rs-husky-duo" color-interpolation-filters="sRGB"> <filter id="rs-husky-duo" color-interpolation-filters="sRGB">
<feComponentTransfer> <feComponentTransfer>
<feFuncR type="table" tableValues="0.165 0.910"/> <feFuncR type="table" tableValues="0.165 0.910"/>
<feFuncG type="table" tableValues="0.212 0.933"/> <feFuncG type="table" tableValues="0.212 0.933"/>
<feFuncB type="table" tableValues="0.267 0.965"/> <feFuncB type="table" tableValues="0.267 0.965"/>
</feComponentTransfer> </feComponentTransfer>
</filter> </filter>
<g id="r-husky"> <g id="r-husky">
<image href="assets/img/marke-husky.webp" x="0" y="0" width="24" height="24" <image href="assets/img/marke-husky.webp" x="0" y="0" width="24" height="24"
preserveAspectRatio="xMidYMid meet" filter="url(#rs-husky-duo)"/> preserveAspectRatio="xMidYMid meet" filter="url(#rs-husky-duo)"/>
<circle fill="#7ec8f2" cx="7.73" cy="12.1" r="1.05"/> <circle fill="#7ec8f2" cx="7.73" cy="12.1" r="1.05"/>
<circle fill="#16232f" cx="7.73" cy="12.1" r="0.52"/> <circle fill="#16232f" cx="7.73" cy="12.1" r="0.52"/>
<circle fill="#ffffff" opacity=".85" cx="7.5" cy="11.85" r="0.2"/> <circle fill="#ffffff" opacity=".85" cx="7.5" cy="11.85" r="0.2"/>
</g> </g>
<!-- Der Ton der Pfote ist der Modi-Ton (#5f8a9f) nach oben <!-- Der Ton der Pfote ist der Modi-Ton (#5f8a9f) nach oben
aufgehellt: dasselbe Blau wie das App-Symbol, nur heller, damit aufgehellt: dasselbe Blau wie das App-Symbol, nur heller, damit
es bei 22 px gegen den dunklen Grund steht. --> es bei 22 px gegen den dunklen Grund steht. -->
<linearGradient id="rs-pfote" x1="0" y1="0" x2=".35" y2="1"> <linearGradient id="rs-pfote" x1="0" y1="0" x2=".35" y2="1">
<stop offset="0" stop-color="#cfe4ef"/> <stop offset="0" stop-color="#cfe4ef"/>
<stop offset=".55" stop-color="#8fb6c8"/> <stop offset=".55" stop-color="#8fb6c8"/>
<stop offset="1" stop-color="#5f8a9f"/> <stop offset="1" stop-color="#5f8a9f"/>
</linearGradient> </linearGradient>
<g id="r-pfote"> <g id="r-pfote">
<ellipse fill="url(#rs-pfote)" cx="12" cy="15.9" rx="5.3" ry="4.4"/> <ellipse fill="url(#rs-pfote)" cx="12" cy="15.9" rx="5.3" ry="4.4"/>
<ellipse fill="url(#rs-pfote)" cx="6.5" cy="10.1" rx="2" ry="2.6" <ellipse fill="url(#rs-pfote)" cx="6.5" cy="10.1" rx="2" ry="2.6"
transform="rotate(-20 6.5 10.1)"/> transform="rotate(-20 6.5 10.1)"/>
<ellipse fill="url(#rs-pfote)" cx="10.1" cy="7.4" rx="2.05" ry="2.7"/> <ellipse fill="url(#rs-pfote)" cx="10.1" cy="7.4" rx="2.05" ry="2.7"/>
<ellipse fill="url(#rs-pfote)" cx="13.9" cy="7.4" rx="2.05" ry="2.7"/> <ellipse fill="url(#rs-pfote)" cx="13.9" cy="7.4" rx="2.05" ry="2.7"/>
<ellipse fill="url(#rs-pfote)" cx="17.5" cy="10.1" rx="2" ry="2.6" <ellipse fill="url(#rs-pfote)" cx="17.5" cy="10.1" rx="2" ry="2.6"
transform="rotate(20 17.5 10.1)"/> transform="rotate(20 17.5 10.1)"/>
<!-- Ein Lichtstreifen oben links auf dem Ballen -- ohne ihn ist er <!-- Ein Lichtstreifen oben links auf dem Ballen -- ohne ihn ist er
eine flache Flaeche. --> eine flache Flaeche. -->
<path fill="rgba(255,255,255,.32)" <path fill="rgba(255,255,255,.32)"
d="M8.4 13.6c1-1.3 2.6-2 4.2-1.9-1.7.5-3 1.6-3.6 2.9z"/> d="M8.4 13.6c1-1.3 2.6-2 4.2-1.9-1.7.5-3 1.6-3.6 2.9z"/>
</g> </g>
<!-- DIE COMMUNITY (11.09.2026). <!-- DIE COMMUNITY (11.09.2026).
Zwei Figuren, keine einzelne. Das Zeichen EINER Person ist im Zwei Figuren, keine einzelne. Das Zeichen EINER Person ist im
Haus schon vergeben; zwei Rollen mit demselben Zeichen heisst, Haus schon vergeben; zwei Rollen mit demselben Zeichen heisst,
dass das Zeichen nichts mehr sagt. dass das Zeichen nichts mehr sagt.
(Und ja: Hier stand zuerst der Name jener anderen Rolle. Diese (Und ja: Hier stand zuerst der Name jener anderen Rolle. Diese
Datei wird an jedes Mitglied der Community ausgeliefert, samt Datei wird an jedes Mitglied der Community ausgeliefert, samt
Kommentaren -- eine Rolle der Agentur hat darin nichts verloren. Kommentaren -- eine Rolle der Agentur hat darin nichts verloren.
Gefunden hat das nicht das Auge, sondern pruef-crew-adresse, die Gefunden hat das nicht das Auge, sondern pruef-crew-adresse, die
seit dem 10.09. genau danach sucht. Zum zweiten Mal an einem Tag, seit dem 10.09. genau danach sucht. Zum zweiten Mal an einem Tag,
und zum zweiten Mal in einem Kommentar, der erklaert, warum man und zum zweiten Mal in einem Kommentar, der erklaert, warum man
so etwas nicht schreibt.) so etwas nicht schreibt.)
Die hintere Figur ist leiser gesetzt und teilweise verdeckt -- das Die hintere Figur ist leiser gesetzt und teilweise verdeckt -- das
ist keine Zierde: Bei 22 px verschmelzen zwei gleich helle Formen ist keine Zierde: Bei 22 px verschmelzen zwei gleich helle Formen
zu einem Klecks. Erst der Helligkeitsunterschied macht daraus zwei zu einem Klecks. Erst der Helligkeitsunterschied macht daraus zwei
Menschen. Menschen.
DERSELBE VERLAUF WIE DIE PFOTE, nicht der Husky-Filter: Die Pfote DERSELBE VERLAUF WIE DIE PFOTE, nicht der Husky-Filter: Die Pfote
steht bei denen, die taeglich unterwegs sind, der Husky bei denen steht bei denen, die taeglich unterwegs sind, der Husky bei denen
mit dem Ueberblick. Die Community ist weder das eine noch das mit dem Ueberblick. Die Community ist weder das eine noch das
andere -- sie bekommt die Farbe der Pfote und eine eigene Form. andere -- sie bekommt die Farbe der Pfote und eine eigene Form.
Ein drittes Farbsystem auf einer Wand mit vier Kacheln waere Ein drittes Farbsystem auf einer Wand mit vier Kacheln waere
Unruhe ohne Aussage. --> Unruhe ohne Aussage. -->
<g id="r-leute"> <g id="r-leute">
<circle fill="url(#rs-pfote)" opacity=".55" cx="15.9" cy="8.1" r="2.9"/> <circle fill="url(#rs-pfote)" opacity=".55" cx="15.9" cy="8.1" r="2.9"/>
<path fill="url(#rs-pfote)" opacity=".55" <path fill="url(#rs-pfote)" opacity=".55"
d="M10.6 20.4v-2.2c0-2.6 2.4-4.3 5.3-4.3s5.3 1.7 5.3 4.3v2.2z"/> d="M10.6 20.4v-2.2c0-2.6 2.4-4.3 5.3-4.3s5.3 1.7 5.3 4.3v2.2z"/>
<circle fill="url(#rs-pfote)" cx="9.2" cy="7.4" r="3.4"/> <circle fill="url(#rs-pfote)" cx="9.2" cy="7.4" r="3.4"/>
<path fill="url(#rs-pfote)" <path fill="url(#rs-pfote)"
d="M2.8 20.4v-2.5c0-3 2.9-5 6.4-5s6.4 2 6.4 5v2.5z"/> d="M2.8 20.4v-2.5c0-3 2.9-5 6.4-5s6.4 2 6.4 5v2.5z"/>
<path fill="rgba(255,255,255,.3)" <path fill="rgba(255,255,255,.3)"
d="M6.6 5.6a3.4 3.4 0 0 1 3.6-1.4c-1.4.3-2.5 1.2-3 2.4z"/> d="M6.6 5.6a3.4 3.4 0 0 1 3.6-1.4c-1.4.3-2.5 1.2-3 2.4z"/>
</g> </g>
</defs></svg> </defs></svg>
<!-- ---------- Bühne: Bild + Schleier ---------------------------------- --> <!-- ---------- Bühne: Bild + Schleier ---------------------------------- -->
<div class="buehne" aria-hidden="true"> <div class="buehne" aria-hidden="true">
<picture> <picture>
<!-- BIS 2560 PIXEL (07.09.2026). Vorher endete die Reihe bei 1600 -- <!-- BIS 2560 PIXEL (07.09.2026). Vorher endete die Reihe bei 1600 --
auf einem 2550 px breiten Schirm rechnete der Browser das Bild auf einem 2550 px breiten Schirm rechnete der Browser das Bild
also um das 1,6-fache hoch, und jede Kante wurde weich. Genau also um das 1,6-fache hoch, und jede Kante wurde weich. Genau
das sah man als "nicht hochwertig", ohne es benennen zu koennen. das sah man als "nicht hochwertig", ohne es benennen zu koennen.
Eine hoehere Bildguete haette daran nichts geaendert: Man kann Eine hoehere Bildguete haette daran nichts geaendert: Man kann
keine Bildpunkte zurueckholen, die nie ausgeliefert wurden. keine Bildpunkte zurueckholen, die nie ausgeliefert wurden.
Ueber srcset laedt trotzdem jeder nur die Stufe, die er Ueber srcset laedt trotzdem jeder nur die Stufe, die er
braucht -- ein Handy weiterhin 32 KB. --> braucht -- ein Handy weiterhin 32 KB. -->
<source media="(min-width: 900px)" type="image/webp" <source media="(min-width: 900px)" type="image/webp"
srcset="assets/img/buehne/crew-gate-960.webp 960w, srcset="assets/img/buehne/crew-gate-960.webp 960w,
assets/img/buehne/crew-gate-1280.webp 1280w, assets/img/buehne/crew-gate-1280.webp 1280w,
assets/img/buehne/crew-gate-1600.webp 1600w, assets/img/buehne/crew-gate-1600.webp 1600w,
assets/img/buehne/crew-gate-1920.webp 1920w, assets/img/buehne/crew-gate-1920.webp 1920w,
assets/img/buehne/crew-gate-2560.webp 2560w" sizes="100vw" /> assets/img/buehne/crew-gate-2560.webp 2560w" sizes="100vw" />
<source type="image/webp" <source type="image/webp"
srcset="assets/img/buehne/crew-gate-hoch-440.webp 440w, srcset="assets/img/buehne/crew-gate-hoch-440.webp 440w,
assets/img/buehne/crew-gate-hoch-580.webp 580w, assets/img/buehne/crew-gate-hoch-580.webp 580w,
assets/img/buehne/crew-gate-hoch-900.webp 900w" sizes="100vw" /> assets/img/buehne/crew-gate-hoch-900.webp 900w" sizes="100vw" />
<img class="buehne__bild" src="assets/img/buehne/crew-gate-1280.webp" alt="" <img class="buehne__bild" src="assets/img/buehne/crew-gate-1280.webp" alt=""
width="1647" height="955" fetchpriority="high" decoding="async" /> width="1647" height="955" fetchpriority="high" decoding="async" />
</picture> </picture>
<div class="buehne__schleier"></div> <div class="buehne__schleier"></div>
</div> </div>
<!-- ---------- Tafel ---------------------------------------------------- <!-- ---------- Tafel ----------------------------------------------------
DER ANKER (06.09.2026). Im Motiv steht rechts eine LEERE TAFEL mit DER ANKER (06.09.2026). Im Motiv steht rechts eine LEERE TAFEL mit
Neonrahmen -- dort gehoert die Anmeldekarte hinein, und zwar genau Neonrahmen -- dort gehoert die Anmeldekarte hinein, und zwar genau
hinein, nicht ungefaehr. hinein, nicht ungefaehr.
Das geht nur, wenn man weiss, wo die gemalte Tafel auf dem Das geht nur, wenn man weiss, wo die gemalte Tafel auf dem
Bildschirm landet. Das Bild liegt mit `object-fit: cover` darunter; Bildschirm landet. Das Bild liegt mit `object-fit: cover` darunter;
je nach Fensterform schneidet der Browser oben/unten oder je nach Fensterform schneidet der Browser oben/unten oder
links/rechts etwas ab. Dieser Anker rechnet genau dieselbe links/rechts etwas ab. Dieser Anker rechnet genau dieselbe
Cover-Geometrie noch einmal nach (siehe gate.css) -- er ist damit Cover-Geometrie noch einmal nach (siehe gate.css) -- er ist damit
deckungsgleich mit dem Bild, und die Karte kann in Prozent des deckungsgleich mit dem Bild, und die Karte kann in Prozent des
BILDES sitzen statt in Prozent des Fensters. BILDES sitzen statt in Prozent des Fensters.
Er faengt keine Klicks ab (pointer-events: none); nur die Karte Er faengt keine Klicks ab (pointer-events: none); nur die Karte
darin ist bedienbar. --> darin ist bedienbar. -->
<div class="tafel-anker"> <div class="tafel-anker">
<main class="tafel" id="tafel"> <main class="tafel" id="tafel">
<div class="tafel__kante" aria-hidden="true"></div> <div class="tafel__kante" aria-hidden="true"></div>
<!-- 10.09.2026, Wunsch Filipe: hier soll alles auf DogFather und sein <!-- 10.09.2026, Wunsch Filipe: hier soll alles auf DogFather und sein
Team zugeschnitten sein. Team zugeschnitten sein.
Zwei Namen und ein Zeichen dazwischen -- nebeneinander, nicht Zwei Namen und ein Zeichen dazwischen -- nebeneinander, nicht
uebereinander. Dogi steht hier nicht ueber den Modis, sie machen uebereinander. Dogi steht hier nicht ueber den Modis, sie machen
das zusammen. das zusammen.
Das "x" steht als eigenes Element, damit es kleiner und in der Das "x" steht als eigenes Element, damit es kleiner und in der
Zwischenfarbe gesetzt werden kann -- so liest man zwei Namen und Zwischenfarbe gesetzt werden kann -- so liest man zwei Namen und
ein Zeichen dazwischen, nicht drei gleich laute Wörter. Es trägt ein Zeichen dazwischen, nicht drei gleich laute Wörter. Es trägt
aria-hidden nicht: Vorgelesen wird "DogFather x Team Dogi", und aria-hidden nicht: Vorgelesen wird "DogFather x Team Dogi", und
genau so spricht man es auch aus. --> genau so spricht man es auch aus. -->
<header class="kopf"> <header class="kopf">
<p class="marke marke--paar"> <p class="marke marke--paar">
<span class="marke__dogi">DogFather</span> <span class="marke__dogi">DogFather</span>
<span class="marke__x">×</span> <span class="marke__x">×</span>
<span class="marke__crew">Team&nbsp;Dogi</span> <span class="marke__crew">Team&nbsp;Dogi</span>
</p> </p>
<h1 class="titel">Team&nbsp;Dogi</h1> <h1 class="titel">Team&nbsp;Dogi</h1>
<p class="unterzeile">Team Dogi und der Treff. Zugang nur mit persönlichem Code.</p> <p class="unterzeile">Team Dogi und der Treff. Zugang nur mit persönlichem Code.</p>
</header> </header>
<div class="rollen" role="radiogroup" aria-labelledby="rollen-schild"> <div class="rollen" role="radiogroup" aria-labelledby="rollen-schild">
<p class="feldschild" id="rollen-schild">Womit meldest du dich an?</p> <p class="feldschild" id="rollen-schild">Womit meldest du dich an?</p>
<button type="button" class="rolle" data-rolle="admin" role="radio" aria-checked="false"> <button type="button" class="rolle" data-rolle="admin" role="radio" aria-checked="false">
<svg class="rolle__zeichen" viewBox="0 0 24 24" aria-hidden="true"><use href="#r-husky"/></svg> <svg class="rolle__zeichen" viewBox="0 0 24 24" aria-hidden="true"><use href="#r-husky"/></svg>
<span class="rolle__text"> <span class="rolle__text">
<span class="rolle__name">DogFather</span> <span class="rolle__name">DogFather</span>
<span class="rolle__zusatz">Überblick &amp; Entscheidungen</span> <span class="rolle__zusatz">Überblick &amp; Entscheidungen</span>
</span> </span>
</button> </button>
<!-- Der Untertitel beschreibt eine AUFGABE, kein Recht -- dieselbe <!-- Der Untertitel beschreibt eine AUFGABE, kein Recht -- dieselbe
Ueberlegung wie auf der anderen Wand: Wer vor der Auswahl Ueberlegung wie auf der anderen Wand: Wer vor der Auswahl
steht, fragt sich nicht, was er duerfte, sondern was er hier steht, fragt sich nicht, was er duerfte, sondern was er hier
tut. Und er stellt niemanden ueber jemanden: "vertritt und tut. Und er stellt niemanden ueber jemanden: "vertritt und
koordiniert" ist eine Taetigkeit, kein Rang. --> koordiniert" ist eine Taetigkeit, kein Rang. -->
<button type="button" class="rolle" data-rolle="hand" role="radio" aria-checked="false"> <button type="button" class="rolle" data-rolle="hand" role="radio" aria-checked="false">
<svg class="rolle__zeichen" viewBox="0 0 24 24" aria-hidden="true"><use href="#r-husky"/></svg> <svg class="rolle__zeichen" viewBox="0 0 24 24" aria-hidden="true"><use href="#r-husky"/></svg>
<span class="rolle__text"> <span class="rolle__text">
<span class="rolle__name">Rechte Hand</span> <span class="rolle__name">Rechte Hand</span>
<span class="rolle__zusatz">Vertritt und koordiniert</span> <span class="rolle__zusatz">Vertritt und koordiniert</span>
</span> </span>
</button> </button>
<button type="button" class="rolle" data-rolle="modi" role="radio" aria-checked="false"> <!-- DIE LINKE HAND (21.09.2026).
<svg class="rolle__zeichen" viewBox="0 0 24 24" aria-hidden="true"><use href="#r-pfote"/></svg>
<span class="rolle__text"> SIE MUSS HIER STEHEN, SONST GIBT ES SIE NICHT. Die Anmeldung
<span class="rolle__name">Modi</span> sucht `WHERE rolle = ?` auf die angetippte Kachel. Ohne diese
<span class="rolle__zusatz">Chat, Live und eigene Aufgaben</span> Karte koennte sich eine linke Hand mit dem richtigen Code
</span> NIEMALS anmelden -- und der Fehler saehe aus wie ein falscher
</button> Code, nicht wie eine fehlende Kachel. Gemessen, nicht
angenommen: Es gibt auf dieser Wand keinen rollenuebergreifenden
<!-- DIE VIERTE KACHEL (Entscheidung Filipe, 11.09.2026). Sonderweg.
Der Treff ist kein eigenes Haus mehr, sondern ein Raum in DERSELBE HUSKY wie rechts: Beide tun dasselbe. Was sie
diesem. Damit kommt die Community durch DIESE Wand, und sie unterscheidet, gehoert nicht auf die Anmeldewand, sondern in
braucht etwas zum Drauftippen. die Rollenauswahl bei den Personen -- hier steht nur, was
jemand HIER tut. -->
SIE STEHT GANZ UNTEN, und das ist nicht Rangfolge, sondern <button type="button" class="rolle" data-rolle="linke" role="radio" aria-checked="false">
Haeufigkeit: Die drei darueber melden sich taeglich an, die <svg class="rolle__zeichen" viewBox="0 0 24 24" aria-hidden="true"><use href="#r-husky"/></svg>
Community-Kachel wird von jedem Einzelnen genau einmal <span class="rolle__text">
gedrueckt und danach merkt sich der Browser die Wahl <span class="rolle__name">Linke Hand</span>
(localStorage, siehe gate.js). Wer taeglich kommt, soll oben <span class="rolle__zusatz">Vertritt und koordiniert</span>
finden, was er taeglich braucht. </span>
</button>
DER UNTERTITEL BESCHREIBT EINEN ORT, KEINE RECHTE -- dieselbe
Ueberlegung wie bei den drei anderen: Wer vor der Auswahl <button type="button" class="rolle" data-rolle="modi" role="radio" aria-checked="false">
steht, fragt sich nicht, was er duerfte, sondern wo er <svg class="rolle__zeichen" viewBox="0 0 24 24" aria-hidden="true"><use href="#r-pfote"/></svg>
hinwill. --> <span class="rolle__text">
<button type="button" class="rolle" data-rolle="gast" role="radio" aria-checked="false"> <span class="rolle__name">Modi</span>
<svg class="rolle__zeichen" viewBox="0 0 24 24" aria-hidden="true"><use href="#r-leute"/></svg> <span class="rolle__zusatz">Chat, Live und eigene Aufgaben</span>
<span class="rolle__text"> </span>
<span class="rolle__name">Community</span> </button>
<span class="rolle__zusatz">Der Treff</span>
</span> <!-- DIE VIERTE KACHEL (Entscheidung Filipe, 11.09.2026).
</button>
</div> Der Treff ist kein eigenes Haus mehr, sondern ein Raum in
diesem. Damit kommt die Community durch DIESE Wand, und sie
<!-- ==== DAS ALTER (15.09.2026) ================================ braucht etwas zum Drauftippen.
Auf der Regelseite steht seit dem 11.09. „ab 18". Bis heute war
das ein Satz; jetzt ist es eine Bedingung. SIE STEHT GANZ UNTEN, und das ist nicht Rangfolge, sondern
Haeufigkeit: Die drei darueber melden sich taeglich an, die
Es erscheint nur bei der Community-Kachel: Wer zum Team gehört, Community-Kachel wird von jedem Einzelnen genau einmal
hat seinen Zugang von DogFather persönlich bekommen – da ist die gedrueckt und danach merkt sich der Browser die Wahl
Frage vorher geklärt, und ein Häkchen an der Tür wäre nur im Weg. (localStorage, siehe gate.js). Wer taeglich kommt, soll oben
finden, was er taeglich braucht.
Das Häkchen ist NICHT die Sicherung, es ist die Frage. Geprüft
und festgehalten wird sie am Server; hier steht sie nur so, dass DER UNTERTITEL BESCHREIBT EINEN ORT, KEINE RECHTE -- dieselbe
man sie liest, bevor man sie setzt. --> Ueberlegung wie bei den drei anderen: Wer vor der Auswahl
<div class="alterfrage" id="alterfrage" hidden> steht, fragt sich nicht, was er duerfte, sondern wo er
<label class="alterfrage__zeile"> hinwill. -->
<input type="checkbox" id="alter-ok" /> <button type="button" class="rolle" data-rolle="gast" role="radio" aria-checked="false">
<span class="alterfrage__text"> <svg class="rolle__zeichen" viewBox="0 0 24 24" aria-hidden="true"><use href="#r-leute"/></svg>
Ich bin mindestens <strong id="alter-zahl">18</strong> Jahre alt. <span class="rolle__text">
</span> <span class="rolle__name">Community</span>
</label> <span class="rolle__zusatz">Der Treff</span>
</div> </span>
</button>
</div>
<form class="formular" id="formular" novalidate> <!-- ==== DAS ALTER (15.09.2026) ================================
<label class="feldschild" for="code"> Auf der Regelseite steht seit dem 11.09. „ab 18". Bis heute war
Persönlicher Zugangscode <span class="fuer" id="fuer" hidden></span> das ein Satz; jetzt ist es eine Bedingung.
</label>
Es erscheint nur bei der Community-Kachel: Wer zum Team gehört,
<div class="feld"> hat seinen Zugang von DogFather persönlich bekommen – da ist die
<input type="password" id="code" name="code" inputmode="text" Frage vorher geklärt, und ein Häkchen an der Tür wäre nur im Weg.
autocomplete="current-password" spellcheck="false"
placeholder="Code eingeben" aria-describedby="hinweis fehler" /> Das Häkchen ist NICHT die Sicherung, es ist die Frage. Geprüft
<button type="button" class="feld__auge" id="auge" und festgehalten wird sie am Server; hier steht sie nur so, dass
aria-label="Code anzeigen" aria-pressed="false"> man sie liest, bevor man sie setzt. -->
<svg viewBox="0 0 24 24" aria-hidden="true"> <div class="alterfrage" id="alterfrage" hidden>
<path class="strich" d="M2.5 12S6 5.8 12 5.8 21.5 12 21.5 12 18 18.2 12 18.2 2.5 12 2.5 12Z"/> <label class="alterfrage__zeile">
<circle class="strich" cx="12" cy="12" r="2.9"/> <input type="checkbox" id="alter-ok" />
<path class="strich durch" d="m4 20 16-16"/> <span class="alterfrage__text">
</svg> Ich bin mindestens <strong id="alter-zahl">18</strong> Jahre alt.
</button> </span>
</div> </label>
</div>
<p class="hinweis" id="hinweis" hidden>Feststelltaste ist aktiv.</p>
<p class="fehler" id="fehler" role="alert" aria-live="polite"></p>
<button type="submit" class="knopf" id="knopf"> <form class="formular" id="formular" novalidate>
<span class="knopf__text">Anmelden</span> <label class="feldschild" for="code">
<span class="knopf__laden" aria-hidden="true"></span> Persönlicher Zugangscode <span class="fuer" id="fuer" hidden></span>
</button> </label>
</form>
<div class="feld">
<!-- EINE TÜR BRAUCHT EINE KLINGEL (ergänzt 19.09.2026). <input type="password" id="code" name="code" inputmode="text"
autocomplete="current-password" spellcheck="false"
Hier standen vier Kacheln, ein Feld „Code eingeben" und ein placeholder="Code eingeben" aria-describedby="hinweis fehler" />
Knopf. Wer keinen Code hat, fand keinen einzigen Satz, der ihm <button type="button" class="feld__auge" id="auge"
sagt, was jetzt zu tun ist. Für die Community ist das besonders aria-label="Code anzeigen" aria-pressed="false">
teuer: Sie ist die einzige Rolle, die von außen kommt und <svg viewBox="0 0 24 24" aria-hidden="true">
niemanden im Haus kennt. --> <path class="strich" d="M2.5 12S6 5.8 12 5.8 21.5 12 21.5 12 18 18.2 12 18.2 2.5 12 2.5 12Z"/>
<!-- ZWEI SORTEN MENSCHEN STEHEN HIER (ergaenzt 20.09.2026). <circle class="strich" cx="12" cy="12" r="2.9"/>
Der Satz galt nur der Community ("Frag im Live nach"). Ein <path class="strich durch" d="m4 20 16-16"/>
Modi oder die rechte Hand steht aber auf derselben Wand -- </svg>
und wenn sein Code nicht geht, nennt ihm die Seite </button>
niemanden, den er fragen koennte. Der Zusatz kostet eine </div>
Zeile und schliesst die einzige Sackgasse, die es vor der
Anmeldung ueberhaupt geben kann. --> <p class="hinweis" id="hinweis" hidden>Feststelltaste ist aktiv.</p>
<p class="fuss fuss--woher">Noch keinen Code? Frag im Live nach – Team&nbsp;Dogi gibt ihn dir persönlich.<br /> <p class="fehler" id="fehler" role="alert" aria-live="polite"></p>
Gehörst du zum Team und dein Code geht nicht? Schreib DogFather – er macht dir einen neuen.</p>
<button type="submit" class="knopf" id="knopf">
<p class="fuss"> <span class="knopf__text">Anmelden</span>
Verschlüsselte Verbindung · Zugriffe werden protokolliert <span class="knopf__laden" aria-hidden="true"></span>
</p> </button>
</main> </form>
</div>
␍ <!-- EINE TÜR BRAUCHT EINE KLINGEL (ergänzt 19.09.2026).
Hier standen vier Kacheln, ein Feld „Code eingeben" und ein
<script src="assets/js/gate.js?v=202609211701" defer></script> Knopf. Wer keinen Code hat, fand keinen einzigen Satz, der ihm
</body> sagt, was jetzt zu tun ist. Für die Community ist das besonders
</html> teuer: Sie ist die einzige Rolle, die von außen kommt und
niemanden im Haus kennt. -->
<!-- ZWEI SORTEN MENSCHEN STEHEN HIER (ergaenzt 20.09.2026).
Der Satz galt nur der Community ("Frag im Live nach"). Ein
Modi oder die rechte Hand steht aber auf derselben Wand --
und wenn sein Code nicht geht, nennt ihm die Seite
niemanden, den er fragen koennte. Der Zusatz kostet eine
Zeile und schliesst die einzige Sackgasse, die es vor der
Anmeldung ueberhaupt geben kann. -->
<p class="fuss fuss--woher">Noch keinen Code? Frag im Live nach – Team&nbsp;Dogi gibt ihn dir persönlich.<br />
Gehörst du zum Team und dein Code geht nicht? Schreib DogFather – er macht dir einen neuen.</p>
<p class="fuss">
Verschlüsselte Verbindung · Zugriffe werden protokolliert
</p>
</main>
</div>
<script src="assets/js/gate.js?v=202609211744" defer></script>
</body>
</html>
+4 -4
View File
@@ -22,25 +22,25 @@
}, },
"icons": [ "icons": [
{ {
"src": "/assets/img/app-symbole/crew-192.png?v=202609211701", "src": "/assets/img/app-symbole/crew-192.png?v=202609211744",
"sizes": "192x192", "sizes": "192x192",
"type": "image/png", "type": "image/png",
"purpose": "any" "purpose": "any"
}, },
{ {
"src": "/assets/img/app-symbole/crew-512.png?v=202609211701", "src": "/assets/img/app-symbole/crew-512.png?v=202609211744",
"sizes": "512x512", "sizes": "512x512",
"type": "image/png", "type": "image/png",
"purpose": "any" "purpose": "any"
}, },
{ {
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202609211701", "src": "/assets/img/app-symbole/crew-192-maskable.png?v=202609211744",
"sizes": "192x192", "sizes": "192x192",
"type": "image/png", "type": "image/png",
"purpose": "maskable" "purpose": "maskable"
}, },
{ {
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202609211701", "src": "/assets/img/app-symbole/crew-512-maskable.png?v=202609211744",
"sizes": "512x512", "sizes": "512x512",
"type": "image/png", "type": "image/png",
"purpose": "maskable" "purpose": "maskable"
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/dateien.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/dateien.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -108,14 +108,14 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/hochladen.js?v=202609211701" defer></script> <script src="assets/js/hochladen.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script> <script src="assets/js/nachfrage.js?v=202609211744" defer></script>
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/glocke.js?v=202609211701" defer></script> <script src="assets/js/glocke.js?v=202609211744" defer></script>
<script src="assets/js/dateien.js?v=202609211701" defer></script> <script src="assets/js/dateien.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+14 -14
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/entwicklung.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -106,12 +106,12 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script>␍ <script src="assets/js/nachfrage.js?v=202609211744" defer></script>␍
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/entwicklung.js?v=202609211701" defer></script> <script src="assets/js/entwicklung.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+13 -13
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/hilfe.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/hilfe.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -146,12 +146,12 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script> <script src="assets/js/nachfrage.js?v=202609211744" defer></script>
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/hilfe.js?v=202609211701" defer></script> <script src="assets/js/hilfe.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+4 -4
View File
@@ -30,9 +30,9 @@
<link rel="preload" as="image" href="assets/img/buehne/gate-hoch-580.webp" <link rel="preload" as="image" href="assets/img/buehne/gate-hoch-580.webp"
type="image/webp" media="(max-width: 899px)" /> type="image/webp" media="(max-width: 899px)" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
</head> </head>
<body class="gate"> <body class="gate">
@@ -411,6 +411,6 @@
</div> </div>
␍␍ ␍␍
<script src="assets/js/gate.js?v=202609211701" defer></script> <script src="assets/js/gate.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/kalender.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/kalender.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -383,14 +383,14 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script> <script src="assets/js/nachfrage.js?v=202609211744" defer></script>
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/glocke.js?v=202609211701" defer></script> <script src="assets/js/glocke.js?v=202609211744" defer></script>
<script src="assets/js/kalender.js?v=202609211701" defer></script> <script src="assets/js/kalender.js?v=202609211744" defer></script>
<script src="assets/js/kalender-abo.js?v=202609211701" defer></script> <script src="assets/js/kalender-abo.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+15 -15
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/leistung.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/leistung.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -444,12 +444,12 @@
</form> </form>
</dialog> </dialog>
<script src="assets/js/meldung.js?v=202609211701"></script> <script src="assets/js/meldung.js?v=202609211744"></script>
<script src="assets/js/nachfrage.js?v=202609211701"></script> <script src="assets/js/nachfrage.js?v=202609211744"></script>
<script src="assets/js/wahl.js?v=202609211701"></script> <script src="assets/js/wahl.js?v=202609211744"></script>
<script src="assets/js/bereiche.js?v=202609211701"></script> <script src="assets/js/bereiche.js?v=202609211744"></script>
<script src="assets/js/kopf.js?v=202609211701"></script> <script src="assets/js/kopf.js?v=202609211744"></script>
<script src="assets/js/glocke.js?v=202609211701"></script> <script src="assets/js/glocke.js?v=202609211744"></script>
<script src="assets/js/leistung.js?v=202609211701"></script> <script src="assets/js/leistung.js?v=202609211744"></script>
</body> </body>
</html> </html>
+15 -15
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/personen.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/personen.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -453,13 +453,13 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script> <script src="assets/js/nachfrage.js?v=202609211744" defer></script>
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/glocke.js?v=202609211701" defer></script> <script src="assets/js/glocke.js?v=202609211744" defer></script>
<script src="assets/js/personen.js?v=202609211701" defer></script> <script src="assets/js/personen.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/profil.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -214,15 +214,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/hochladen.js?v=202609211701" defer></script> <script src="assets/js/hochladen.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script> <script src="assets/js/nachfrage.js?v=202609211744" defer></script>
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/glocke.js?v=202609211701" defer></script> <script src="assets/js/glocke.js?v=202609211744" defer></script>
<script src="assets/js/steckbrief.js?v=202609211701" defer></script> <script src="assets/js/steckbrief.js?v=202609211744" defer></script>
<script src="assets/js/profil.js?v=202609211701" defer></script> <script src="assets/js/profil.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+14 -14
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/treff.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -134,11 +134,11 @@
Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen
Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen, Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen,
die seit dem 07.09. jede Seite danach absucht. --> die seit dem 07.09. jede Seite danach absucht. -->
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script> <script src="assets/js/nachfrage.js?v=202609211744" defer></script>
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/rechte.js?v=202609211701" defer></script> <script src="assets/js/rechte.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/report.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/report.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -106,14 +106,14 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script>␍ <script src="assets/js/nachfrage.js?v=202609211744" defer></script>␍
<script src="assets/js/ki.js?v=202609211701" defer></script> <script src="assets/js/ki.js?v=202609211744" defer></script>
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/glocke.js?v=202609211701" defer></script> <script src="assets/js/glocke.js?v=202609211744" defer></script>
<script src="assets/js/report.js?v=202609211701" defer></script> <script src="assets/js/report.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+15 -15
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/scouting.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/scouting.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -173,13 +173,13 @@
</div> </div>
</div> </div>
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script> <script src="assets/js/nachfrage.js?v=202609211744" defer></script>
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/glocke.js?v=202609211701" defer></script> <script src="assets/js/glocke.js?v=202609211744" defer></script>
<script src="assets/js/scouting.js?v=202609211701" defer></script> <script src="assets/js/scouting.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+14 -14
View File
@@ -12,21 +12,21 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<!-- Nur die Startseite: Begrüßungskachel, Uhr, Glockenmulde. Siehe <!-- Nur die Startseite: Begrüßungskachel, Uhr, Glockenmulde. Siehe
den Hinweis in start.css -- dort stand es bis zum 07.09.2026. --> den Hinweis in start.css -- dort stand es bis zum 07.09.2026. -->
<link rel="stylesheet" href="assets/css/heim.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/heim.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -678,13 +678,13 @@
</p> </p>
</main> </main>
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script>␍ <script src="assets/js/nachfrage.js?v=202609211744" defer></script>␍
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/glocke.js?v=202609211701" defer></script> <script src="assets/js/glocke.js?v=202609211744" defer></script>
<script src="assets/js/start.js?v=202609211701" defer></script> <script src="assets/js/start.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/startcheck.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -85,14 +85,14 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script>␍ <script src="assets/js/nachfrage.js?v=202609211744" defer></script>␍
<script src="assets/js/ki.js?v=202609211701" defer></script> <script src="assets/js/ki.js?v=202609211744" defer></script>
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/glocke.js?v=202609211701" defer></script> <script src="assets/js/glocke.js?v=202609211744" defer></script>
<script src="assets/js/startcheck.js?v=202609211701" defer></script> <script src="assets/js/startcheck.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/profil.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -150,15 +150,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/hochladen.js?v=202609211701" defer></script> <script src="assets/js/hochladen.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script> <script src="assets/js/nachfrage.js?v=202609211744" defer></script>
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/auskunft.js?v=202609211701" defer></script> <script src="assets/js/auskunft.js?v=202609211744" defer></script>
<script src="assets/js/glocke.js?v=202609211701" defer></script> <script src="assets/js/glocke.js?v=202609211744" defer></script>
<script src="assets/js/steckbrief.js?v=202609211701" defer></script> <script src="assets/js/steckbrief.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+15 -15
View File
@@ -7,18 +7,18 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/entwicklung.css?v=202609211744" />
<!-- Wegen des Kastens „Anfragen“ ueber der Liste. Eine eigene Kopie <!-- Wegen des Kastens „Anfragen“ ueber der Liste. Eine eigene Kopie
der Regel hier waere die zweite Stelle, an der dieselbe Sache der Regel hier waere die zweite Stelle, an der dieselbe Sache
anders aussieht. --> anders aussieht. -->
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/bewerbung.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -111,12 +111,12 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script> <script src="assets/js/nachfrage.js?v=202609211744" defer></script>
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/talente.js?v=202609211701" defer></script> <script src="assets/js/talente.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+14 -14
View File
@@ -7,20 +7,20 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/team.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/team.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -110,12 +110,12 @@
</main> </main>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script>␍ <script src="assets/js/nachfrage.js?v=202609211744" defer></script>␍
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/glocke.js?v=202609211701" defer></script> <script src="assets/js/glocke.js?v=202609211744" defer></script>
<script src="assets/js/team.js?v=202609211701" defer></script> <script src="assets/js/team.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+14 -14
View File
@@ -7,20 +7,20 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/team.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/team.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<!-- `data-buehne` steht hier fest und nicht im Skript: Die Kachel zu <!-- `data-buehne` steht hier fest und nicht im Skript: Die Kachel zu
@@ -84,11 +84,11 @@
Kaputt ist dabei nichts -- er funktioniert. Genau deshalb faellt Kaputt ist dabei nichts -- er funktioniert. Genau deshalb faellt
es niemandem auf, und deshalb prueft pruef-css-klassen die es niemandem auf, und deshalb prueft pruef-css-klassen die
ABHAENGIGKEIT statt der Optik. Hier hat sie angeschlagen. --> ABHAENGIGKEIT statt der Optik. Hier hat sie angeschlagen. -->
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script>␍ <script src="assets/js/nachfrage.js?v=202609211744" defer></script>␍
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/teamlage.js?v=202609211701" defer></script> <script src="assets/js/teamlage.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+13 -13
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/bereich.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -112,12 +112,12 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script>␍ <script src="assets/js/nachfrage.js?v=202609211744" defer></script>␍
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/teilen.js?v=202609211701" defer></script> <script src="assets/js/teilen.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+14 -14
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/treff.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -126,12 +126,12 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script> <script src="assets/js/nachfrage.js?v=202609211744" defer></script>
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/treff-moderation.js?v=202609211701" defer></script> <script src="assets/js/treff-moderation.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+14 -14
View File
@@ -7,18 +7,18 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/treff.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<!-- haus.css MUSS die letzte Stilvorlage sein. Auf der Adresse des <!-- haus.css MUSS die letzte Stilvorlage sein. Auf der Adresse des
Treffs biegt der Server genau diesen Dateinamen auf crew-haus.css Treffs biegt der Server genau diesen Dateinamen auf crew-haus.css
um, und die Seite kommt schon beim ERSTEN Abruf in Lila und um, und die Seite kommt schon beim ERSTEN Abruf in Lila und
Babyblau an -- ohne Umfaerben im Browser, ohne Flackern. --> Babyblau an -- ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -221,11 +221,11 @@
Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen
Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen, Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen,
die seit dem 07.09. jede Seite danach absucht. --> die seit dem 07.09. jede Seite danach absucht. -->
<script src="assets/js/nachfrage.js?v=202609211701" defer></script>␍ <script src="assets/js/nachfrage.js?v=202609211744" defer></script>␍
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/auskunft.js?v=202609211701" defer></script> <script src="assets/js/auskunft.js?v=202609211744" defer></script>
<script src="assets/js/treff-regeln.js?v=202609211701" defer></script> <script src="assets/js/treff-regeln.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+15 -15
View File
@@ -12,22 +12,22 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<!-- Formular- und Dialogstile: seit dem 07.09.2026 steht hier der <!-- Formular- und Dialogstile: seit dem 07.09.2026 steht hier der
Dialog "Creator anlegen". --> Dialog "Creator anlegen". -->
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/uebersicht.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -149,14 +149,14 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script>␍ <script src="assets/js/nachfrage.js?v=202609211744" defer></script>␍
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/glocke.js?v=202609211701" defer></script> <script src="assets/js/glocke.js?v=202609211744" defer></script>
<script src="assets/js/uebersicht.js?v=202609211701" defer></script> <script src="assets/js/uebersicht.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+12 -12
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -335,11 +335,11 @@
</main> </main>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script> <script src="assets/js/nachfrage.js?v=202609211744" defer></script>
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/unsere-seiten.js?v=202609211701" defer></script> <script src="assets/js/unsere-seiten.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+14 -14
View File
@@ -7,15 +7,15 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/entwicklung.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/werdegang.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/werdegang.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -144,11 +144,11 @@
</main> </main>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script>␍ <script src="assets/js/nachfrage.js?v=202609211744" defer></script>␍
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/werdegang.js?v=202609211701" defer></script> <script src="assets/js/werdegang.js?v=202609211744" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211701" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211744" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211701" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211744" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/start.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/start.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/wissen.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/wissen.css?v=202609211744" />
<link rel="stylesheet" href="assets/css/module.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/module.css?v=202609211744" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609211701" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609211744" />
</head> </head>
<body class="start"> <body class="start">
@@ -190,14 +190,14 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609211701" defer></script> <script src="assets/js/meldung.js?v=202609211744" defer></script>
<script src="assets/js/hochladen.js?v=202609211701" defer></script> <script src="assets/js/hochladen.js?v=202609211744" defer></script>
<script src="assets/js/nachfrage.js?v=202609211701" defer></script> <script src="assets/js/nachfrage.js?v=202609211744" defer></script>
<script src="assets/js/wahl.js?v=202609211701" defer></script> <script src="assets/js/wahl.js?v=202609211744" defer></script>
<script src="assets/js/bereiche.js?v=202609211701" defer></script> <script src="assets/js/bereiche.js?v=202609211744" defer></script>
<script src="assets/js/kopf.js?v=202609211701" defer></script> <script src="assets/js/kopf.js?v=202609211744" defer></script>
<script src="assets/js/glocke.js?v=202609211701" defer></script> <script src="assets/js/glocke.js?v=202609211744" defer></script>
<script src="assets/js/wissen.js?v=202609211701" defer></script> <script src="assets/js/wissen.js?v=202609211744" defer></script>
</body> </body>
</html> </html>