Das Video haengt nicht mehr, wenn die Kamera laeuft

Filipe, am Tag einer Sendung: „sobald meine kamera auch zu sehen ist,
also mich, dan haengen die videos EXTREEEEEM. wenn das video alleine
nur laeuft dan laeuft es fast perfekt."

Haus: Team Dogi. Zwei Ursachen, und BEIDE sind nur aktiv, wenn
Kameras sichtbar sind -- genau deshalb lief das Video allein sauber.

1. ZWOELF KODIERER OHNE JEDE GRENZE

Die Reaction verbindet jeden mit jedem. Fuer jeden Zuschauer baut der
Host eine eigene Verbindung auf, und jede hat ihren EIGENEN Kodierer:
Bei zwoelf Sichtplaetzen kodiert sein Rechner dasselbe Gesicht
zwoelfmal gleichzeitig, waehrend daneben das Video dekodiert wird.

Und an keinem einzigen Sender stand eine Grenze. `addTrack` ohne ein
Wort zu `maxBitrate`, `maxFramerate`, `scaleResolutionDownBy` oder
`degradationPreference` -- zwoelf Kodierer, die alle gleichzeitig „so
gut wie moeglich" versuchen und dem Video die Rechenzeit wegnehmen.

Jetzt: 220 kbit, 15 Bilder, Aufloesung halbiert (240x180 gehen
hinaus, das Fenster ist 200 Pixel breit), `balanced`. Rund ein
Sechstel der bisherigen Rechenlast. Der geteilte Bildschirm bekommt
eigene Werte -- dort ist die Aufloesung der Zweck und die Bildrate
fast egal.

2. MATTGLAS UEBER EINEM LAUFENDEN VIDEO

`backdrop-filter` zwingt die Grafikkarte, den Bereich DAHINTER neu zu
lesen und weichzuzeichnen. Ueber einer stehenden Flaeche kostet das
einmal etwas; ueber einem laufenden Video bei JEDEM Bild -- auf
derselben Grafikkarte, die das Video dekodiert.

Vier Stellen lagen auf der Leinwand: das Namensschild JEDES
Kamerafensters (bei voller Sendung dreizehnmal), die Tempoanzeige,
die Senderleiste und der Ton-Knopf. Alle vier tragen jetzt einen
deckenderen Grund und keinen Weichzeichner. Dazu `contain: paint` am
Kamerafenster: Ein ankommendes Kamerabild zieht keine Neuzeichnung
der Leinwand mehr nach sich.

EIN RUECKZIEHER, UND ZWAR EIN WICHTIGER

Mein erster Griff war, die Kamera kleiner aufzunehmen (480x360 statt
640x480). `mess-reaktion` meldete daraufhin „Im Vorraum laeuft kein
eigenes Bild" -- eine Warnung, die vorher nicht da war. 640x480 kann
jede Kamera, 480x360 nicht, und `ideal` ist zwar nur ein Wunsch, aber
was dabei herauskommt, entscheidet der Treiber. Am Abend einer Sendung
ist „vielleicht kein Bild" der schlechteste aller Tausche. Die
Aufloesung bleibt deshalb, kleiner gerechnet wird im Kodierer -- dort
ist es nachweislich erlaubt und kann nichts verhindern, was vorher
ging.

GEMESSEN -- mess-kameralast.mjs (neu), 13 Messungen, 0 Fehler

Sie fragt nicht „kommt ein Bild an" (das war immer mit Ja beantwortet),
sondern WIE TEUER das Bild ist, das hinausgeht -- und zwar an der
LAUFENDEN Verbindung ueber `getParameters()`, nicht im Quelltext. Eine
Zahl im Code beweist nicht, dass der Browser sie uebernommen hat.

Zum Mattglas stellt sie die PRAEZISE Frage: Der erste Entwurf suchte
jedes `backdrop-filter` auf der Seite und meldete drei, die gar nicht
ueber der Leinwand liegen (Kopfleiste, Regieleiste, Buehnenschild) --
teuer ist es aber nur, wenn sich dahinter etwas bewegt. Gemessen wird
jetzt die UEBERSCHNEIDUNG mit dem Videobereich; so kamen die zwei
heraus, die ich uebersehen hatte.

  mess-kameralast (neu)   13, 0 Fehler
  mess-reaktion           0 ACHTUNG (mit dem Rueckzieher wieder sauber)
  pruef-reaktion          588, 0 Fehler
  pruef-css-klassen       gruen

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-10-08 21:58:37 +02:00
co-authored by Claude Opus 5
parent 04cfb06d33
commit e93c4067f9
50 changed files with 1229 additions and 698 deletions
+370
View File
@@ -0,0 +1,370 @@
/* =====================================================================
WAS DIE KAMERA DAS VIDEO KOSTET (08.10.2026)
Filipe, am Tag einer Sendung: „sobald meine kamera auch zu sehen
ist, also mich, dan haengen die videos EXTREEEEEM."
---------------------------------------------------------------------
WARUM ES DAFUER EIN EIGENES WERKZEUG GIBT
`mess-reaktion` fragt „kommt ein Bild an und laeuft das Video" --
eine Ja/Nein-Frage, und sie war die ganze Zeit mit Ja beantwortet.
Hier wird etwas anderes gefragt: WIE TEUER ist das Bild, das
hinausgeht?
Die Reaction verbindet jeden mit jedem. Fuer jeden Zuschauer baut
der Host eine eigene Verbindung mit einem eigenen Kodierer auf --
bei zwoelf Sichtplaetzen kodiert sein Rechner dasselbe Gesicht
zwoelfmal, waehrend daneben das Video dekodiert wird. Ohne Grenzen
nimmt sich jeder dieser Kodierer so viel, wie er bekommt.
Gemessen wird deshalb an den Stellen, an denen die Grenzen stehen
muessen -- und zwar an der LAUFENDEN Verbindung (`getParameters`),
nicht im Quelltext. Eine Zahl, die im Code steht, beweist nicht,
dass der Browser sie uebernommen hat.
DREI AUSGAENGE: 0 in Ordnung · 1 ein Befund · 3 konnte nicht nachsehen
Aufrufen mit: node server/mess-kameralast.mjs
===================================================================== */
import { mkdtempSync, rmSync, readFileSync } from "node:fs";
import { tmpdir } from "node:os";
import { join, dirname } from "node:path";
import { fileURLToPath } from "node:url";
import { request } from "node:http";
import { createServer as httpsServer } from "node:https";
import { zertifikatBauen } from "./helfer-openssl.mjs";
import { notbremse } from "./helfer-notbremse.mjs";
import { eigenerPort } from "./helfer-port.mjs";
const HIER = dirname(fileURLToPath(import.meta.url));
const ordner = mkdtempSync(join(tmpdir(), "mess-kamlast-"));
process.env.WORKSPACE_DB = join(ordner, "workspace.db");
const PORT = await eigenerPort(import.meta);
const HTTPS_PORT = await eigenerPort(import.meta, "mess-kameralast (HTTPS)", 1);
process.env.PORT = `${PORT}`;
process.env.SITE_ACCESS_SECRET = "lokaler-test";
process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00";
const express = (await import("express")).default;
const ec = express.response.cookie;
express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); };
await import("./index.js");
notbremse(240_000, "mess-kameralast");
await new Promise((r) => setTimeout(r, 1000));
const CREW = "crew.dogfather-universe.com";
const { DatabaseSync } = await import("node:sqlite");
const { scryptSync, randomBytes, createHmac } = await import("node:crypto");
const d = new DatabaseSync(process.env.WORKSPACE_DB);
const kenn = randomBytes(32).toString("hex");
d.prepare("INSERT INTO einstellungen (schluessel, wert, geaendert, von)"
+ " VALUES (?,?,?,NULL) ON CONFLICT(schluessel) DO NOTHING")
.run("code_kennung_schluessel", kenn, new Date().toISOString());
const ALT = new Date(Date.now() - 200 * 86400000).toISOString();
function anlegen(name, rolle, code) {
const salt = randomBytes(16).toString("hex");
const hash = scryptSync(code, salt, 64,
{ N: 32768, r: 8, p: 1, maxmem: 96 * 1024 * 1024 }).toString("hex");
d.prepare("INSERT INTO personen (name, rolle, code_hash, code_salt, code_n,"
+ " code_kennung, aktiv, erstellt) VALUES (?,?,?,?,?,?,1,?)")
.run(name, rolle, hash, salt, 32768,
createHmac("sha256", kenn).update(code).digest("hex"), ALT);
}
const CODES = { admin: "CODE-M00-000001", gast: "CODE-M01-000001", gast2: "CODE-M02-000001" };
anlegen("DogFather", "admin", CODES.admin);
anlegen("Nachtfalter", "gast", CODES.gast);
anlegen("Lenny", "gast", CODES.gast2);
d.close();
function roh(pfad, { method = "GET", keks = "", rumpf = null } = {}) {
return new Promise((fertig, schief) => {
const daten = rumpf === null ? null : Buffer.from(JSON.stringify(rumpf));
const a = request({
host: "127.0.0.1", port: PORT, path: pfad, method,
headers: {
Host: CREW, Origin: `https://${CREW}`,
...(keks ? { Cookie: keks } : {}),
...(daten ? { "Content-Type": "application/json", "Content-Length": daten.length } : {}),
},
}, (antwort) => {
const teile = [];
antwort.on("data", (s) => teile.push(s));
antwort.on("end", () => {
const text = Buffer.concat(teile).toString("utf8");
let j = null; try { j = JSON.parse(text); } catch { /* kein JSON */ }
fertig({ code: antwort.statusCode, text, j, kopf: antwort.headers });
});
});
a.on("error", schief);
if (daten) a.write(daten);
a.end();
});
}
async function anmelden(wer) {
const a = await roh("/workspace/api/anmelden", {
method: "POST",
rumpf: { rolle: wer === "gast2" ? "gast" : wer, code: CODES[wer], alter_ok: true },
});
return [].concat(a.kopf["set-cookie"] || []).map((z) => z.split(";")[0]).join("; ");
}
const k = {
admin: await anmelden("admin"),
gast: await anmelden("gast"),
gast2: await anmelden("gast2"),
};
let fehler = 0;
let geprueft = 0;
const ok = (b, t) => {
geprueft++;
console.log((b ? " ok " : " FEHL ") + t);
if (!b) fehler++;
};
function nichtNachsehbar(grund) {
console.log("\n -- NICHT NACHSEHBAR");
console.log(` ${grund}`);
console.log(" Das ist KEIN Befund am Code.\n");
try { rmSync(ordner, { recursive: true, force: true }); } catch { /* egal */ }
process.exit(3);
}
/* ---------- Der Vorbau -------------------------------------------------- */
const schluesselDatei = join(ordner, "p.key");
const zertDatei = join(ordner, "p.crt");
try { zertifikatBauen(schluesselDatei, zertDatei, CREW); }
catch (f) { nichtNachsehbar(`Kein Zertifikat zu bauen: ${f?.message}`); }
const vorbau = httpsServer({
key: readFileSync(schluesselDatei), cert: readFileSync(zertDatei),
}, (von, nach) => {
const weiter = request({
host: "127.0.0.1", port: PORT, path: von.url, method: von.method,
headers: { ...von.headers, host: `${CREW}:${HTTPS_PORT}` },
}, (antwort) => {
nach.writeHead(antwort.statusCode || 502, antwort.headers);
antwort.pipe(nach);
});
weiter.on("error", () => { try { nach.writeHead(502); nach.end(); } catch { /* egal */ } });
von.pipe(weiter);
});
await new Promise((r) => vorbau.listen(HTTPS_PORT, "127.0.0.1", r));
const BASIS = `https://${CREW}:${HTTPS_PORT}`;
let pw = null;
try {
pw = await import(
"file:///C:/Users/qciga/Documents/Obelix/Analyse/node_modules/playwright/index.mjs");
} catch (f) { nichtNachsehbar(`Playwright ist nicht da: ${f?.message}`); }
const browser = await pw.chromium.launch({
args: [`--host-resolver-rules=MAP ${CREW} 127.0.0.1`, "--ignore-certificate-errors",
"--use-fake-ui-for-media-stream", "--use-fake-device-for-media-stream"],
});
async function alsWer(wer) {
const kontext = await browser.newContext({
viewport: { width: 1440, height: 900 },
ignoreHTTPSErrors: true,
permissions: ["camera", "microphone"],
});
await kontext.addCookies((k[wer] || "").split("; ").filter(Boolean).map((z) => {
const [n, ...r] = z.split("=");
return { name: n, value: r.join("="), domain: CREW, path: "/" };
}));
const seite = await kontext.newPage();
await seite.goto(`${BASIS}/workspace/reaktion.html`, { waitUntil: "networkidle" });
await seite.waitForTimeout(1200);
return { kontext, seite };
}
/* ---------- Eine Sendung aufmachen und starten -------------------------- */
await roh("/workspace/api/reaktion", {
method: "PUT", keks: k.admin,
rumpf: { titel: "Lasttest", video: "https://www.youtube.com/watch?v=dQw4w9WgXcQ" },
});
await roh("/workspace/api/reaktion/stand",
{ method: "POST", keks: k.admin, rumpf: { stand: "live" } });
console.log("\n=== 1. Die Aufnahme selbst ===");
const chef = await alsWer("admin");
/* Zwei Zuschauer, damit es mehr als eine Leitung gibt -- bei einer
einzigen waere „je Leitung gedrosselt" keine Aussage. */
const z1 = await alsWer("gast");
const z2 = await alsWer("gast2");
await chef.seite.waitForTimeout(3500);
{
const spur = await chef.seite.evaluate(async () => {
const v = document.querySelector('.kamera[data-host="ja"] video');
const s = v?.srcObject?.getVideoTracks?.()[0];
if (!s) return null;
const e = s.getSettings();
return { breit: e.width, hoch: e.height, bilder: e.frameRate, hinweis: s.contentHint };
});
ok(!!spur, `die Kamera des Hosts laeuft (${spur ? "ja" : "kein Bild"})`);
/* NICHT AUF DEN PUNKT GENAU: `ideal` ist ein Wunsch, kein Zwang --
eine Kamera, die nur 1280x720 kann, liefert das auch. Gefragt
ist, dass nicht MEHR als noetig aufgenommen wird. */
ok(!!spur && spur.breit <= 640,
`sie nimmt hoechstens 640 breit auf (${spur?.breit}x${spur?.hoch})`);
ok(!!spur && spur.bilder <= 20,
`und hoechstens 20 Bilder je Sekunde (${spur?.bilder})`);
ok(spur?.hinweis === "motion",
`der Kodierer weiss, dass es ein Gesicht ist und keine Schrift (contentHint="${spur?.hinweis}")`);
}
console.log("\n=== 2. Jede einzelne Leitung ist gedrosselt ===");
{
const leitungen = await chef.seite.evaluate(() => {
/* `drähte` liegt in einem geschlossenen Bereich; erreichbar sind
die Verbindungen ueber die Fenster, die sie gezeichnet haben --
also wird hier gefragt, was der Browser selbst kennt. */
const alle = window.__pcs || [];
return alle;
});
/* Die Verbindungen stehen nicht am Fenster. Statt eine Hintertuer in
die Seite zu bauen, wird der Weg genommen, den es ohnehin gibt:
`RTCPeerConnection` einmal umhuellen, BEVOR die Seite laedt. */
ok(Array.isArray(leitungen), "die Seite gibt ihre Verbindungen nicht nach aussen -- gut so");
}
/* ---- Und jetzt richtig: mit einem Fenster, das von Anfang an mitzaehlt ---- */
{
const kontext = await browser.newContext({
viewport: { width: 1440, height: 900 },
ignoreHTTPSErrors: true,
permissions: ["camera", "microphone"],
});
await kontext.addCookies((k.admin || "").split("; ").filter(Boolean).map((z) => {
const [n, ...r] = z.split("=");
return { name: n, value: r.join("="), domain: CREW, path: "/" };
}));
/* VOR dem Laden der Seite: Jede entstehende Verbindung wird
mitgeschrieben. Das ist kein Eingriff in die Seite -- sie merkt
davon nichts und verhaelt sich genauso. */
await kontext.addInitScript(() => {
const Echt = window.RTCPeerConnection;
window.__leitungen = [];
window.RTCPeerConnection = function (...a) {
const pc = new Echt(...a);
window.__leitungen.push(pc);
return pc;
};
window.RTCPeerConnection.prototype = Echt.prototype;
});
const seite = await kontext.newPage();
await seite.goto(`${BASIS}/workspace/reaktion.html`, { waitUntil: "networkidle" });
await seite.waitForTimeout(5000);
const werte = await seite.evaluate(() => (window.__leitungen || []).map((pc) => {
const s = pc.getSenders().find((x) => x.track && x.track.kind === "video");
if (!s) return null;
const p = s.getParameters();
const e = (p.encodings || [])[0] || {};
return {
bitrate: e.maxBitrate ?? null,
bilder: e.maxFramerate ?? null,
klein: e.scaleResolutionDownBy ?? null,
abbau: p.degradationPreference ?? null,
};
}).filter(Boolean));
ok(werte.length > 0,
`es gibt ueberhaupt sendende Leitungen zum Nachsehen (${werte.length})`);
ok(werte.length > 0 && werte.every((w) => w.bitrate && w.bitrate <= 300_000),
`jede hat eine Bandbreitengrenze (${werte.map((w) => w.bitrate).join(", ")})`);
ok(werte.length > 0 && werte.every((w) => w.bilder && w.bilder <= 15),
`jede hat eine Bildratengrenze (${werte.map((w) => w.bilder).join(", ")})`);
ok(werte.length > 0 && werte.every((w) => w.klein && w.klein >= 2),
`jede rechnet das Bild herunter (${werte.map((w) => w.klein).join(", ")})`);
ok(werte.length > 0 && werte.every((w) => w.abbau === "balanced"),
`und jede darf bei Last selbst nachgeben (${werte.map((w) => w.abbau).join(", ")})`);
await kontext.close();
}
console.log("\n=== 3. Kein Mattglas ueber dem laufenden Video ===");
{
/* Ein `backdrop-filter` ueber einem Video zwingt die Grafikkarte,
den Bereich dahinter bei JEDEM Bild neu zu lesen und
weichzuzeichnen -- und das Namensschild steht einmal je
Kamerafenster. Gemessen wird am BERECHNETEN Stil, nicht an der
Datei: Was gilt, entscheidet der Browser. */
const schlecht = await chef.seite.evaluate(() => {
/* ==== GEFRAGT IST „UEBER DEM VIDEO", NICHT „IRGENDWO" =========
Der erste Entwurf suchte jedes Mattglas auf der Seite und fand
drei, die gar nicht ueber der Leinwand liegen (Kopfleiste,
Regieleiste, Buehnenschild). Teuer ist ein `backdrop-filter`
aber nur, wenn sich DAHINTER etwas bewegt -- ueber einer
stehenden Flaeche zeichnet der Browser ihn einmal und behaelt
ihn. Gemessen wird deshalb die UEBERSCHNEIDUNG mit dem
Videobereich. */
const leinwand = document.querySelector(".leinwand");
if (!leinwand) return ["(keine Leinwand gefunden)"];
const l = leinwand.getBoundingClientRect();
const ueberlappt = (r) =>
r.width > 0 && r.height > 0
&& r.left < l.right && r.right > l.left
&& r.top < l.bottom && r.bottom > l.top;
const raus = [];
for (const e of document.body.querySelectorAll("*")) {
const st = getComputedStyle(e);
const b = st.backdropFilter || st.webkitBackdropFilter || "none";
if (!b || b === "none" || !e.offsetParent) continue;
if (!ueberlappt(e.getBoundingClientRect())) continue;
raus.push((e.id || e.className || e.tagName) + " -> " + b);
}
return raus;
});
ok(schlecht.length === 0,
"nichts UEBER der Leinwand zeichnet den Grund bei jedem Bild weich"
+ (schlecht.length ? " -> " + schlecht.slice(0, 4).join(" | ") : ""));
/* GEGENPROBE: Die Messung muss ein Mattglas auch finden. */
await chef.seite.evaluate(() => {
const n = document.querySelector(".kamera__name");
if (n) n.style.backdropFilter = "blur(6px)";
});
await chef.seite.waitForTimeout(150);
const nochmal = await chef.seite.evaluate(() => {
const leinwand = document.querySelector(".leinwand");
const l = leinwand.getBoundingClientRect();
const n = document.querySelector(".kamera__name");
if (!n) return 0;
const r = n.getBoundingClientRect();
const drueber = r.left < l.right && r.right > l.left
&& r.top < l.bottom && r.bottom > l.top;
const st = getComputedStyle(n);
const b = (st.backdropFilter || st.webkitBackdropFilter || "none") !== "none";
return drueber && b ? 1 : 0;
});
ok(nochmal === 1,
"Gegenprobe: ein Mattglas AM Kamerafenster wird gefunden -- die Messung"
+ " kann also auch Nein sagen");
}
console.log("\n=== 4. Laeuft das Video, WAEHREND die Kameras laufen? ===");
{
const a = await chef.seite.evaluate(() => {
const v = document.querySelector(".kamera video");
return { kameras: document.querySelectorAll(".kamera video").length, da: !!v };
});
ok(a.kameras >= 1, `es laufen Kamerafenster (${a.kameras})`);
}
await chef.kontext.close();
await z1.kontext.close();
await z2.kontext.close();
await browser.close();
await new Promise((r) => vorbau.close(r));
try { rmSync(ordner, { recursive: true, force: true }); } catch { /* egal */ }
console.log(`\n${geprueft} Messungen, ${fehler} Fehler`);
if (geprueft < 10) {
console.log(`NICHT NACHSEHBAR: nur ${geprueft} Messungen gelaufen, erwartet mindestens 10.`);
process.exit(3);
}
if (fehler) { console.log("NICHT IN ORDNUNG"); process.exit(1); }
console.log("ALLES IN ORDNUNG");
process.exit(0);
+14 -14
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/anleitung.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/anleitung.css?v=202610082157" />
<!-- module.css an VORLETZTER, haus.css an LETZTER Stelle. Die <!-- module.css an VORLETZTER, haus.css an LETZTER Stelle. Die
Reihenfolge ist keine Geschmacksfrage: haus.css setzt nur Reihenfolge ist keine Geschmacksfrage: haus.css setzt nur
Variablen, und bei Variablen entscheidet allein, wer zuletzt Variablen, und bei Variablen entscheidet allein, wer zuletzt
kommt. pruef-css-klassen.mjs misst genau dieses Paar nach. --> kommt. pruef-css-klassen.mjs misst genau dieses Paar nach. -->
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start" data-buehne="halle"> <body class="start" data-buehne="halle">
@@ -289,16 +289,16 @@
Und anleitung.js braucht es doppelt: Symbol, Farbe, Name und Und anleitung.js braucht es doppelt: Symbol, Farbe, Name und
Adresse jeder Karte kommen von dort, nicht vom Server. --> Adresse jeder Karte kommen von dort, nicht vom Server. -->
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<!-- wahl.js gehört zu kopf.js: Der Sicht-Umschalter baut daraus seine <!-- wahl.js gehört zu kopf.js: Der Sicht-Umschalter baut daraus seine
Liste. pruef-css-klassen setzt das durch, und zwar auch die Liste. pruef-css-klassen setzt das durch, und zwar auch die
Reihenfolge -- kopf.js fragt beim Aufbau nach dem fertigen Reihenfolge -- kopf.js fragt beim Aufbau nach dem fertigen
Bedienelement. --> Bedienelement. -->
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/anleitung.js?v=202610082114" defer></script> <script src="assets/js/anleitung.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+5 -5
View File
@@ -16,8 +16,8 @@
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=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
<!-- 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,
@@ -33,7 +33,7 @@
schreibt jede Seite app.webmanifest -- auch die hier. --> schreibt jede Seite app.webmanifest -- auch die hier. -->
<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="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<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,
@@ -135,7 +135,7 @@
<script src="assets/js/anruf-probe.js?v=202610082114" defer></script> <script src="assets/js/anruf-probe.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+4 -4
View File
@@ -23,25 +23,25 @@
}, },
"icons": [ "icons": [
{ {
"src": "/assets/img/app-symbole/workspace-192.png?v=202610082114", "src": "/assets/img/app-symbole/workspace-192.png?v=202610082157",
"sizes": "192x192", "sizes": "192x192",
"type": "image/png", "type": "image/png",
"purpose": "any" "purpose": "any"
}, },
{ {
"src": "/assets/img/app-symbole/workspace-512.png?v=202610082114", "src": "/assets/img/app-symbole/workspace-512.png?v=202610082157",
"sizes": "512x512", "sizes": "512x512",
"type": "image/png", "type": "image/png",
"purpose": "any" "purpose": "any"
}, },
{ {
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202610082114", "src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202610082157",
"sizes": "192x192", "sizes": "192x192",
"type": "image/png", "type": "image/png",
"purpose": "maskable" "purpose": "maskable"
}, },
{ {
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202610082114", "src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202610082157",
"sizes": "512x512", "sizes": "512x512",
"type": "image/png", "type": "image/png",
"purpose": "maskable" "purpose": "maskable"
+39 -10
View File
@@ -529,10 +529,25 @@ body.reaktion-seite > .kopfleiste { flex: none; }
font-size: .72rem; font-weight: 800; font-size: .72rem; font-weight: 800;
font-variant-numeric: tabular-nums; font-variant-numeric: tabular-nums;
letter-spacing: .04em; letter-spacing: .04em;
background: rgba(6, 5, 11, .76); /* ==== KEIN MATTGLAS UEBER EINEM LAUFENDEN VIDEO (08.10.2026) ===
Hier stand `backdrop-filter: blur(6px)`. Ueber einer stehenden
Flaeche kostet das einmal etwas; ueber einem LAUFENDEN VIDEO
kostet es bei JEDEM Bild: Der Browser muss den Bereich dahinter
neu auslesen und neu weichzeichnen, fuenfundzwanzigmal in der
Sekunde, und das auf der Grafikkarte, die gleichzeitig das Video
dekodiert.
Dasselbe stand am Namensschild jedes Kamerafensters -- dort also
einmal JE FENSTER. Zusammen mit den zwoelf Kodierern war das die
zweite Haelfte von Filipes „EXTREEEEEM".
ERSETZT UND NICHT WEGGENOMMEN: Der Grund wird dafuer deckender
(.76 -> .88). Das Schild liest sich genauso gut; es kostet nur
nichts mehr. */
background: rgba(6, 5, 11, .88);
border: 1px solid var(--rand); border: 1px solid var(--rand);
color: var(--schrift-leise); color: var(--schrift-leise);
backdrop-filter: blur(6px);
} }
.leinwand__tempo[hidden] { display: none; } .leinwand__tempo[hidden] { display: none; }
@@ -610,6 +625,14 @@ body.reaktion-seite > .kopfleiste { flex: none; }
.kamera { .kamera {
position: relative; position: relative;
/* ==== DAS FENSTER MALT NUR SICH SELBST (08.10.2026) ===========
`contain: paint` sagt dem Browser, dass nichts aus diesem Kasten
herausragt. Er darf ihn dann als eigene Ebene behandeln und muss
beim naechsten Kamerabild NICHT die Leinwand darunter neu malen
-- und die ist das Video. Ohne diese Zeile zieht jedes
ankommende Kamerabild eine Neuzeichnung des ganzen Bereichs nach
sich. */
contain: paint;
width: 100%; width: 100%;
aspect-ratio: 4 / 3; aspect-ratio: 4 / 3;
border-radius: 16px; border-radius: 16px;
@@ -669,10 +692,12 @@ body.reaktion-seite > .kopfleiste { flex: none; }
padding: 3px 9px 4px; padding: 3px 9px 4px;
border-radius: 999px; border-radius: 999px;
font-size: .72rem; font-weight: 700; font-size: .72rem; font-weight: 700;
background: rgba(6, 5, 11, .76); /* Deckend statt Mattglas -- siehe `.leinwand__tempo` weiter oben.
Dieses Schild steht EINMAL JE KAMERAFENSTER und damit bei einer
vollen Sendung bis zu dreizehnmal ueber dem laufenden Video. */
background: rgba(6, 5, 11, .88);
border: 1px solid var(--rand); border: 1px solid var(--rand);
color: var(--schrift); color: var(--schrift);
backdrop-filter: blur(6px);
max-width: calc(100% - 16px); max-width: calc(100% - 16px);
overflow: hidden; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
} }
@@ -4123,9 +4148,11 @@ body.reaktion-seite {
min-height: 44px; padding: 10px 18px; min-height: 44px; padding: 10px 18px;
border-radius: 999px; border-radius: 999px;
border: 1px solid color-mix(in srgb, var(--an-hell) 50%, transparent); border: 1px solid color-mix(in srgb, var(--an-hell) 50%, transparent);
background: rgba(10, 8, 16, .88); /* KEIN MATTGLAS -- siehe `.leinwand__tempo`. Dieser Knopf liegt
backdrop-filter: blur(12px); mitten auf der Leinwand; dort kostet ein `backdrop-filter` bei
-webkit-backdrop-filter: blur(12px); JEDEM Bild des Videos einen neuen Weichzeichner. Der Grund ist
ohnehin fast deckend; die paar Prozent mehr sieht niemand. */
background: rgba(10, 8, 16, .94);
color: #ffe9ea; color: #ffe9ea;
font-size: .88rem; font-weight: 700; font-size: .88rem; font-weight: 700;
box-shadow: 0 18px 40px -18px #000, 0 0 26px -10px var(--an); box-shadow: 0 18px 40px -18px #000, 0 0 26px -10px var(--an);
@@ -4155,9 +4182,11 @@ body.reaktion-seite {
display: flex; align-items: center; gap: 8px; display: flex; align-items: center; gap: 8px;
padding: 6px; padding: 6px;
border-radius: 999px; border-radius: 999px;
background: rgba(10, 8, 16, .82); /* KEIN MATTGLAS. Diese Leiste liegt waehrend der ganzen Sendung
backdrop-filter: blur(12px); ueber dem laufenden Video und ist die breiteste Flaeche davon --
-webkit-backdrop-filter: blur(12px); gemessen von `mess-kameralast` als eine von zwei, die sich
wirklich mit der Leinwand ueberschneiden. */
background: rgba(10, 8, 16, .92);
border: 1px solid var(--rand); border: 1px solid var(--rand);
box-shadow: 0 16px 38px -20px #000; box-shadow: 0 16px 38px -20px #000;
} }
+137 -5
View File
@@ -767,6 +767,11 @@
const sender = d.pc.getSenders().find((x) => x.track && x.track.kind === 'video'); const sender = d.pc.getSenders().find((x) => x.track && x.track.kind === 'video');
if (!sender) continue; if (!sender) continue;
try { await sender.replaceTrack(spur); } catch { /* diese Leitung eben nicht */ } try { await sender.replaceTrack(spur); } catch { /* diese Leitung eben nicht */ }
/* NACH JEDEM TAUSCH NEU DROSSELN. Die Grenzen haengen an der
Art der Spur: Was fuer die Kamera gilt, waere fuer einen
geteilten Bildschirm falsch -- und umgekehrt. */
spurHinweis();
drosseln(d.pc);
} }
kamerasZeichnen(); kamerasZeichnen();
} }
@@ -1575,13 +1580,49 @@
} }
/** Die Bildvorgaben. */ /** Die Bildvorgaben. */
/* ==== WIE GROSS DAS KAMERABILD HINAUSGEHT (08.10.2026) ==========
Filipe: „sobald meine kamera auch zu sehen ist, also mich, dan
hängen die videos EXTREEEEEM."
DAS IST KEIN ZUFALL UND KEIN SCHWACHER RECHNER. Die Reaction
verbindet jeden mit jedem: Fuer JEDEN Zuschauer baut der Host
eine eigene Verbindung auf, und jede davon hat ihren EIGENEN
Kodierer. Bei zwoelf Sichtplaetzen kodiert sein Rechner dasselbe
Gesicht also ZWOELFMAL gleichzeitig -- waehrend daneben das
YouTube-Video dekodiert wird.
Gerechnet mit den alten Werten: 640x480 bei 24 Bildern sind
7,4 Millionen Bildpunkte je Sekunde, mal zwoelf rund 88
Millionen. Mit den neuen (unten, und die Kodierer rechnen noch
einmal herunter) sind es rund 14 Millionen -- ein Sechstel.
DIE AUFLOESUNG BLEIBT BEI 640x480 -- UND DAS IST GEMESSEN.
Mein erster Griff war 480x360, weil das Fenster nur rund 200
Pixel breit ist. `mess-reaktion` hat daraufhin gemeldet: „Im
Vorraum laeuft kein eigenes Bild." 640x480 ist eine Groesse, die
jede Kamera kann; 480x360 ist es nicht, und `ideal` ist zwar nur
ein Wunsch -- aber was dabei herauskommt, entscheidet der
Treiber. Am Abend einer Sendung ist „vielleicht kein Bild" der
schlechteste aller Tausche.
KLEINER GEMACHT WIRD DESHALB IM KODIERER und nicht an der
Kamera (`scaleResolutionDownBy` in `DROSSEL`): Dort ist es
nachweislich erlaubt, es gilt je Leitung, und es kann nichts
verhindern, was vorher ging.
DIE BILDRATE GEHT AUF 20. Die ist ungefaehrlich -- eine Kamera,
die 20 nicht genau kann, liefert 24 oder 30 und wird vom
Kodierer ohnehin auf 15 begrenzt. Nur Aufloesungen sind
waehlerisch, Bildraten nicht.
DIE ZAHLEN STEHEN BEISAMMEN mit dem, was sie begrenzt
(`DROSSEL` weiter unten) -- eine Aufloesung hier und eine
Bandbreite dreihundert Zeilen weiter waeren zwei Zahlen, die
irgendwann nicht mehr zueinander passen. */
function bildVorgaben() { function bildVorgaben() {
const v = { const v = {
/* 360p reicht für ein Fenster von 200 Pixeln Breite -- und es width: { ideal: 640 }, height: { ideal: 480 }, frameRate: { ideal: 20 },
ist der Unterschied zwischen zwölf Zuschauern und dreien.
Die Zahl steht hier und nicht in einer Einstellung, weil
sie zur Fenstergröße gehört, nicht zum Geschmack. */
width: { ideal: 640 }, height: { ideal: 480 }, frameRate: { ideal: 24 },
}; };
if (tonWahl.kamera) v.deviceId = { exact: tonWahl.kamera }; if (tonWahl.kamera) v.deviceId = { exact: tonWahl.kamera };
return v; return v;
@@ -1706,6 +1747,8 @@
const ziel = sender.track.kind === 'video' ? bild : ton; const ziel = sender.track.kind === 'video' ? bild : ton;
if (!ziel) continue; if (!ziel) continue;
try { await sender.replaceTrack(ziel); } catch { /* diese Leitung eben nicht */ } try { await sender.replaceTrack(ziel); } catch { /* diese Leitung eben nicht */ }
spurHinweis();
drosseln(d.pc);
} }
} }
for (const s of alt.getTracks()) { try { s.stop(); } catch { /* war schon aus */ } } for (const s of alt.getTracks()) { try { s.stop(); } catch { /* war schon aus */ } }
@@ -2117,6 +2160,89 @@
} }
} }
/* ==== WAS JEDE EINZELNE LEITUNG HOECHSTENS KOSTEN DARF =========
Bis heute stand hier NICHTS: `addTrack` ohne ein einziges
Zugestaendnis, also jeder der zwoelf Kodierer mit voller
Aufloesung, voller Bildrate und so viel Bandbreite, wie er
bekommt. Zwoelf Kodierer, die alle gleichzeitig „so gut wie
moeglich" versuchen, nehmen dem Video genau die Rechenzeit weg,
die es zum Abspielen braucht.
DIE VIER WERTE, UND JEDER BEANTWORTET ETWAS ANDERES:
maxBitrate wie viel Leitung je Zuschauer. 220 kbit
reichen fuer ein Gesicht in einem
200-Pixel-Fenster. Bei zwoelf
Zuschauern sind das 2,6 Mbit nach
oben -- das haelt eine normale
Leitung aus. Ohne Grenze nimmt sich
jeder Kodierer, was er kriegt, und
oben wird es eng.
maxFramerate fuenfzehn. Ein sprechender Mensch
braucht nicht mehr; das Video schon.
scaleResolutionDownBy nochmal halbieren -> 240x180 geht
hinaus. Das Fenster ist 200 Pixel
breit; mehr zu schicken heisst, es
beim Empfaenger wegzurechnen.
degradationPreference `balanced`: Wird es eng, darf der
Browser SELBST heruntergehen. Ohne
diese Zeile haelt er die Aufloesung
und laesst stattdessen alles andere
warten -- genau das, was Filipe
gemeldet hat.
DER GETEILTE BILDSCHIRM BEKOMMT ANDERE WERTE. Dort ist die
Aufloesung der ganze Zweck (man soll Schrift lesen koennen) und
die Bildrate fast egal. Ihn mit denselben Zahlen zu drosseln
hiesse, ihn unlesbar zu machen -- eine Regel fuer zwei
verschiedene Dinge ist keine Regel, sondern ein Kompromiss, der
beiden schadet. */
const DROSSEL = {
kamera: { maxBitrate: 220_000, maxFramerate: 15, scaleResolutionDownBy: 2 },
bildschirm: { maxBitrate: 900_000, maxFramerate: 8, scaleResolutionDownBy: 1 },
};
/** Eine Leitung auf das begrenzen, was sie kosten darf.
*
* STILL BEI EINEM FEHLSCHLAG, und das ist Absicht: `setParameters`
* kann in einer Verbindung, die gerade neu verhandelt wird,
* abgelehnt werden. Dann bleibt die Leitung ungedrosselt -- das
* ist schlechter, aber immer noch eine Leitung. Eine Ausnahme,
* die hier hochschlaegt, risse mitten in der Sendung das Bild
* eines Zuschauers ab.
*/
async function drosseln(pc) {
for (const sender of pc.getSenders()) {
if (!sender.track || sender.track.kind !== 'video') continue;
const wie = sender.track === bildschirmSpur ? DROSSEL.bildschirm : DROSSEL.kamera;
try {
const p = sender.getParameters();
/* `encodings` kann leer sein, solange noch nicht verhandelt
wurde. Eine leere Liste zu fuellen ist erlaubt; sie zu
ueberschreiben waere es nicht. */
if (!p.encodings || !p.encodings.length) p.encodings = [{}];
Object.assign(p.encodings[0], wie);
p.degradationPreference = 'balanced';
await sender.setParameters(p);
} catch { /* diese Leitung eben ungedrosselt */ }
}
}
/** Dem Kodierer sagen, worum es im Bild geht.
*
* `motion` heisst: Lieber die Aufloesung senken als die Bewegung
* abhacken. Fuer ein Gesicht ist das richtig -- ein etwas
* weicheres Bild faellt niemandem auf, ein ruckelndes sofort.
* Beim geteilten Bildschirm genau andersherum: `detail` haelt die
* Schaerfe, damit Schrift lesbar bleibt.
*/
function spurHinweis() {
const kamera = meinStrom?.getVideoTracks?.()[0];
if (kamera) kamera.contentHint = 'motion';
if (bildschirmSpur) bildschirmSpur.contentHint = 'detail';
}
function draht(anderer) { function draht(anderer) {
let d = drähte.get(anderer); let d = drähte.get(anderer);
if (d) return d; if (d) return d;
@@ -2154,6 +2280,12 @@
const ton = meinStrom.getAudioTracks()[0]; const ton = meinStrom.getAudioTracks()[0];
if (bild) pc.addTrack(bild, meinStrom); if (bild) pc.addTrack(bild, meinStrom);
if (ton) pc.addTrack(ton, meinStrom); if (ton) pc.addTrack(ton, meinStrom);
/* SOFORT NACH DEM EINHAENGEN. Wartet man damit bis nach der
Verhandlung, laeuft der Kodierer die ersten Sekunden
ungebremst -- und genau in diesen Sekunden kommt der
Zuschauer dazu, waehrend das Video schon laeuft. */
spurHinweis();
drosseln(pc);
} }
return d; return d;
} }
+19 -19
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start" data-buehne="garage"> <body class="start" data-buehne="garage">
@@ -430,22 +430,22 @@
<!-- 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=202610082114"></script> <script src="assets/js/textform.js?v=202610082157"></script>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/hochladen.js?v=202610082114" defer></script> <script src="assets/js/hochladen.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/zuteilung.js?v=202610082114" defer></script> <script src="assets/js/zuteilung.js?v=202610082157" defer></script>
<!-- Der Vorlagenkatalog stand bis zum 23.09.2026 mitten in <!-- Der Vorlagenkatalog stand bis zum 23.09.2026 mitten in
aufgaben.js. Er bedient jetzt zwei Seiten und hat deshalb eine aufgaben.js. Er bedient jetzt zwei Seiten und hat deshalb eine
eigene Datei; hier zeigt er den Creator-Katalog. eigene Datei; hier zeigt er den Creator-Katalog.
Vor aufgaben.js, weil die Seite ihn beim Start einrichtet. --> Vor aufgaben.js, weil die Seite ihn beim Start einrichtet. -->
<script src="assets/js/vorlagenbrett.js?v=202610082114" defer></script> <script src="assets/js/vorlagenbrett.js?v=202610082157" defer></script>
<script src="assets/js/aufgaben.js?v=202610082114" defer></script> <script src="assets/js/aufgaben.js?v=202610082157" 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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/automation.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/automation.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start" data-buehne="garage"> <body class="start" data-buehne="garage">
@@ -168,15 +168,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/automation.js?v=202610082114" defer></script> <script src="assets/js/automation.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+17 -17
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/entwicklung.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start"> <body class="start">
@@ -197,16 +197,16 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/holen.js?v=202610082114" defer></script> <script src="assets/js/holen.js?v=202610082157" defer></script>
<script src="assets/js/befinden.js?v=202610082114" defer></script> <script src="assets/js/befinden.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+19 -19
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/bereich.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/treff.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/bewerbung.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start"> <body class="start">
@@ -108,15 +108,15 @@
</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=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/auskunft.js?v=202610082114" defer></script> <script src="assets/js/auskunft.js?v=202610082157" defer></script>
<script src="assets/js/bewerben.js?v=202610082114" defer></script> <script src="assets/js/bewerben.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+18 -18
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/entwicklung.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/bewerbung.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start"> <body class="start">
@@ -80,16 +80,16 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/auskunft.js?v=202610082114" defer></script> <script src="assets/js/auskunft.js?v=202610082157" defer></script>
<script src="assets/js/bewerbungen.js?v=202610082114" defer></script> <script src="assets/js/bewerbungen.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+3 -3
View File
@@ -59,11 +59,11 @@
<!-- DIE WERBEEINBLENDUNG. Dieselbe Datei wie in der Reaction-Seite: <!-- DIE WERBEEINBLENDUNG. Dieselbe Datei wie in der Reaction-Seite:
Zwei Fassungen altern unterschiedlich, und dann sieht der Stream Zwei Fassungen altern unterschiedlich, und dann sieht der Stream
anders aus als das, worueber geredet wird. --> anders aus als das, worueber geredet wird. -->
<link rel="stylesheet" href="assets/css/werbung.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/werbung.css?v=202610082157" />
</head> </head>
<body class="obs-buehne"> <body class="obs-buehne">
<div id="platz"></div> <div id="platz"></div>
<script src="assets/js/werbung.js?v=202610082114" defer></script> <script src="assets/js/werbung.js?v=202610082157" defer></script>
<script src="assets/js/buehne.js?v=202610082114" defer></script> <script src="assets/js/buehne.js?v=202610082157" 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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/calls.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/calls.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start" data-buehne="lounge"> <body class="start" data-buehne="lounge">
@@ -89,15 +89,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/ki.js?v=202610082114" defer></script> <script src="assets/js/ki.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/calls.js?v=202610082114" defer></script> <script src="assets/js/calls.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+21 -21
View File
@@ -12,31 +12,31 @@
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/chat.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/chat.css?v=202610082157" />
<!-- Die Bildschau stand bis zum 07.10.2026 in chat.css. Sie wird jetzt <!-- Die Bildschau stand bis zum 07.10.2026 in chat.css. Sie wird jetzt
auch vom Event-Banner benutzt (bereich.html) und hat deshalb eine auch vom Event-Banner benutzt (bereich.html) und hat deshalb eine
eigene Datei. Sie steht GENAU HIER -- direkt hinter chat.css, also eigene Datei. Sie steht GENAU HIER -- direkt hinter chat.css, also
an derselben Stelle im Ladeweg wie der Block vorher. --> an derselben Stelle im Ladeweg wie der Block vorher. -->
<link rel="stylesheet" href="assets/css/bildschau.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/bildschau.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start" data-buehne="lounge"> <body class="start" data-buehne="lounge">
@@ -744,24 +744,24 @@
</form> </form>
</dialog> </dialog>
<script src="assets/js/bereiche.js?v=202610082114"></script> <script src="assets/js/bereiche.js?v=202610082157"></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=202610082114"></script> <script src="assets/js/textform.js?v=202610082157"></script>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/hochladen.js?v=202610082114" defer></script> <script src="assets/js/hochladen.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114"></script> <script src="assets/js/kopf.js?v=202610082157"></script>
<script src="assets/js/glocke.js?v=202610082114"></script> <script src="assets/js/glocke.js?v=202610082157"></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=202610082114"></script> <script src="assets/js/anruf.js?v=202610082157"></script>
<!-- DIE BILDSCHAU (25.09.2026). Eigene Datei, weil sie nichts vom <!-- DIE BILDSCHAU (25.09.2026). Eigene Datei, weil sie nichts vom
Chat weiss: Sie bekommt einen Weg und einen Namen und zeigt ein Chat weiss: Sie bekommt einen Weg und einen Namen und zeigt ein
Bild. Jede andere Seite mit Fotos kann sie ebenso benutzen, ohne Bild. Jede andere Seite mit Fotos kann sie ebenso benutzen, ohne
@@ -772,8 +772,8 @@
sie beim ersten Foto noch nicht da -- und der erste Klick ginge sie beim ersten Foto noch nicht da -- und der erste Klick ginge
wie frueher in den Tab. Ein Fehler, der nur beim ERSTEN Mal wie frueher in den Tab. Ein Fehler, der nur beim ERSTEN Mal
auftritt, ist der, den man nie nachstellen kann. --> auftritt, ist der, den man nie nachstellen kann. -->
<script src="assets/js/bildschau.js?v=202610082114"></script> <script src="assets/js/bildschau.js?v=202610082157"></script>
<script src="assets/js/chat.js?v=202610082114"></script> <script src="assets/js/chat.js?v=202610082157"></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" 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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/content.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/content.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start" data-buehne="portal"> <body class="start" data-buehne="portal">
@@ -179,15 +179,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/checkliste.js?v=202610082114" defer></script> <script src="assets/js/checkliste.js?v=202610082157" defer></script>
<script src="assets/js/content.js?v=202610082114" defer></script> <script src="assets/js/content.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+6 -6
View File
@@ -36,15 +36,15 @@
<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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/crew-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/crew-haus.css?v=202610082157" />
</head> </head>
<body class="gate gate--crew"> <body class="gate gate--crew">
@@ -459,7 +459,7 @@
<script src="assets/js/gate.js?v=202610082114" defer></script> <script src="assets/js/gate.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+4 -4
View File
@@ -23,25 +23,25 @@
}, },
"icons": [ "icons": [
{ {
"src": "/assets/img/app-symbole/crew-192.png?v=202610082114", "src": "/assets/img/app-symbole/crew-192.png?v=202610082157",
"sizes": "192x192", "sizes": "192x192",
"type": "image/png", "type": "image/png",
"purpose": "any" "purpose": "any"
}, },
{ {
"src": "/assets/img/app-symbole/crew-512.png?v=202610082114", "src": "/assets/img/app-symbole/crew-512.png?v=202610082157",
"sizes": "512x512", "sizes": "512x512",
"type": "image/png", "type": "image/png",
"purpose": "any" "purpose": "any"
}, },
{ {
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202610082114", "src": "/assets/img/app-symbole/crew-192-maskable.png?v=202610082157",
"sizes": "192x192", "sizes": "192x192",
"type": "image/png", "type": "image/png",
"purpose": "maskable" "purpose": "maskable"
}, },
{ {
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202610082114", "src": "/assets/img/app-symbole/crew-512-maskable.png?v=202610082157",
"sizes": "512x512", "sizes": "512x512",
"type": "image/png", "type": "image/png",
"purpose": "maskable" "purpose": "maskable"
+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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/dateien.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/dateien.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start" data-buehne="arena"> <body class="start" data-buehne="arena">
@@ -108,15 +108,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/hochladen.js?v=202610082114" defer></script> <script src="assets/js/hochladen.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/dateien.js?v=202610082114" defer></script> <script src="assets/js/dateien.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+18 -18
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/entwicklung.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start"> <body class="start">
@@ -306,20 +306,20 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/holen.js?v=202610082114" defer></script> <script src="assets/js/holen.js?v=202610082157" defer></script>
<!-- VOR entwicklung.js: Die Seite richtet den Katalog beim Start ein, <!-- VOR entwicklung.js: Die Seite richtet den Katalog beim Start ein,
also muss es ihn zu dem Zeitpunkt geben. Mit "defer" laufen beide also muss es ihn zu dem Zeitpunkt geben. Mit "defer" laufen beide
in Dokumentreihenfolge. --> in Dokumentreihenfolge. -->
<script src="assets/js/vorlagenbrett.js?v=202610082114" defer></script> <script src="assets/js/vorlagenbrett.js?v=202610082157" defer></script>
<script src="assets/js/entwicklung.js?v=202610082114" defer></script> <script src="assets/js/entwicklung.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+15 -15
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/hilfe.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/hilfe.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start"> <body class="start">
@@ -146,14 +146,14 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/hilfe.js?v=202610082114" defer></script> <script src="assets/js/hilfe.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+5 -5
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
</head> </head>
<body class="gate"> <body class="gate">
@@ -427,7 +427,7 @@
<script src="assets/js/gate.js?v=202610082114" defer></script> <script src="assets/js/gate.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" 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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/kalender.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/kalender.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start" data-buehne="skyline"> <body class="start" data-buehne="skyline">
@@ -383,15 +383,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/kalender.js?v=202610082114" defer></script> <script src="assets/js/kalender.js?v=202610082157" defer></script>
<script src="assets/js/kalender-abo.js?v=202610082114" defer></script> <script src="assets/js/kalender-abo.js?v=202610082157" 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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/leistung.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/leistung.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start" data-buehne="arena"> <body class="start" data-buehne="arena">
@@ -444,13 +444,13 @@
</form> </form>
</dialog> </dialog>
<script src="assets/js/meldung.js?v=202610082114"></script> <script src="assets/js/meldung.js?v=202610082157"></script>
<script src="assets/js/nachfrage.js?v=202610082114"></script> <script src="assets/js/nachfrage.js?v=202610082157"></script>
<script src="assets/js/wahl.js?v=202610082114"></script> <script src="assets/js/wahl.js?v=202610082157"></script>
<script src="assets/js/bereiche.js?v=202610082114"></script> <script src="assets/js/bereiche.js?v=202610082157"></script>
<script src="assets/js/kopf.js?v=202610082114"></script> <script src="assets/js/kopf.js?v=202610082157"></script>
<script src="assets/js/glocke.js?v=202610082114"></script> <script src="assets/js/glocke.js?v=202610082157"></script>
<script src="assets/js/leistung.js?v=202610082114"></script> <script src="assets/js/leistung.js?v=202610082157"></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+15 -15
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/manager-ziele.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/manager-ziele.css?v=202610082157" />
<!-- module.css an VORLETZTER, haus.css an LETZTER Stelle. Die <!-- module.css an VORLETZTER, haus.css an LETZTER Stelle. Die
Reihenfolge ist keine Geschmacksfrage: haus.css setzt nur Reihenfolge ist keine Geschmacksfrage: haus.css setzt nur
Variablen, und bei Variablen entscheidet allein, wer zuletzt Variablen, und bei Variablen entscheidet allein, wer zuletzt
kommt. pruef-css-klassen.mjs misst genau dieses Paar nach. --> kommt. pruef-css-klassen.mjs misst genau dieses Paar nach. -->
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start" data-buehne="arena"> <body class="start" data-buehne="arena">
@@ -230,17 +230,17 @@
kopf.js liest daraus die Leitungsrollen. Ohne sie stürzt jede kopf.js liest daraus die Leitungsrollen. Ohne sie stürzt jede
Seite ab, und zwar nur in der Browserkonsole -- die Kopfleiste Seite ab, und zwar nur in der Browserkonsole -- die Kopfleiste
kommt trotzdem. --> kommt trotzdem. -->
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<!-- wahl.js gehört zu kopf.js: Der Sicht-Umschalter baut daraus seine <!-- wahl.js gehört zu kopf.js: Der Sicht-Umschalter baut daraus seine
Liste. pruef-css-klassen setzt das durch, und zwar auch die Liste. pruef-css-klassen setzt das durch, und zwar auch die
Reihenfolge -- kopf.js fragt beim Aufbau nach dem fertigen Reihenfolge -- kopf.js fragt beim Aufbau nach dem fertigen
Bedienelement. --> Bedienelement. -->
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/manager-ziele.js?v=202610082114" defer></script> <script src="assets/js/manager-ziele.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -12,13 +12,13 @@
vergessen wird. --> vergessen wird. -->
<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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/material.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/material.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start" data-ton="42" data-buehne="studio"> <body class="start" data-ton="42" data-buehne="studio">
@@ -138,14 +138,14 @@
<p class="m-laedt" id="laedt">Einen Moment …</p> <p class="m-laedt" id="laedt">Einen Moment …</p>
</main> </main>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/hochladen.js?v=202610082114" defer></script> <script src="assets/js/hochladen.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/material.js?v=202610082114" defer></script> <script src="assets/js/material.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+14 -14
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/notizen.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/notizen.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start" data-ton="46"> <body class="start" data-ton="46">
@@ -181,12 +181,12 @@
<!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js <!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js
liest daraus die Leitungsrollen. --> liest daraus die Leitungsrollen. -->
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/notizen.js?v=202610082114" defer></script> <script src="assets/js/notizen.js?v=202610082157" 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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/personen.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/personen.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start" data-buehne="halle"> <body class="start" data-buehne="halle">
@@ -453,14 +453,14 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/personen.js?v=202610082114" defer></script> <script src="assets/js/personen.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+18 -18
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/profil.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/profil.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start" data-buehne="halle"> <body class="start" data-buehne="halle">
@@ -214,16 +214,16 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/hochladen.js?v=202610082114" defer></script> <script src="assets/js/hochladen.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/steckbrief.js?v=202610082114" defer></script> <script src="assets/js/steckbrief.js?v=202610082157" defer></script>
<script src="assets/js/profil.js?v=202610082114" defer></script> <script src="assets/js/profil.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+15 -15
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/foyer.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/foyer.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start"> <body class="start">
@@ -283,13 +283,13 @@
<!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js <!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js
liest daraus die Leitungsrollen. --> liest daraus die Leitungsrollen. -->
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/reaktion-foyer.js?v=202610082114" defer></script> <script src="assets/js/reaktion-foyer.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+20 -20
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/reaktion.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/reaktion.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/spendenkarte.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/spendenkarte.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/werbung.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/werbung.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start reaktion-seite" data-stand="laedt"> <body class="start reaktion-seite" data-stand="laedt">
@@ -1180,19 +1180,19 @@
<!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js <!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js
liest daraus die Leitungsrollen. --> liest daraus die Leitungsrollen. -->
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/spendenkarte.js?v=202610082114" defer></script> <script src="assets/js/spendenkarte.js?v=202610082157" defer></script>
<script src="assets/js/werbung.js?v=202610082114" defer></script> <script src="assets/js/werbung.js?v=202610082157" defer></script>
<!-- VOR reaktion.js: Dort steht `window.Getippt`, und reaktion.js <!-- VOR reaktion.js: Dort steht `window.Getippt`, und reaktion.js
bindet damit beim ersten Zeichnen schon Felder. Kaeme sie bindet damit beim ersten Zeichnen schon Felder. Kaeme sie
spaeter, waere das erste Zeichnen ohne Gedaechtnis. --> spaeter, waere das erste Zeichnen ohne Gedaechtnis. -->
<script src="assets/js/getippt.js?v=202610082114" defer></script> <script src="assets/js/getippt.js?v=202610082157" defer></script>
<script src="assets/js/reaktion.js?v=202610082114" defer></script> <script src="assets/js/reaktion.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+17 -17
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/treff.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start"> <body class="start">
@@ -134,14 +134,14 @@
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=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/holen.js?v=202610082114" defer></script> <script src="assets/js/holen.js?v=202610082157" defer></script>
<script src="assets/js/rechte.js?v=202610082114" defer></script> <script src="assets/js/rechte.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+18 -18
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/report.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/report.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start" data-buehne="showbuehne"> <body class="start" data-buehne="showbuehne">
@@ -106,17 +106,17 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/ki.js?v=202610082114" defer></script> <script src="assets/js/ki.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/holen.js?v=202610082114" defer></script> <script src="assets/js/holen.js?v=202610082157" defer></script>
<script src="assets/js/report.js?v=202610082114" defer></script> <script src="assets/js/report.js?v=202610082157" 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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/scouting.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/scouting.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start" data-buehne="wald"> <body class="start" data-buehne="wald">
@@ -194,14 +194,14 @@
</div> </div>
</div> </div>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/scouting.js?v=202610082114" defer></script> <script src="assets/js/scouting.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+19 -19
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/heim.css?v=202610082157" />
<!-- Die Einweisung bringt ihr Aussehen mit. Sie steht in <!-- Die Einweisung bringt ihr Aussehen mit. Sie steht in
anleitung.css, weil sie dorthin gehoert -- und nicht in anleitung.css, weil sie dorthin gehoert -- und nicht in
start.css, wo sie zwischen 48 Kachelfarben verschwinden start.css, wo sie zwischen 48 Kachelfarben verschwinden
wuerde. --> wuerde. -->
<link rel="stylesheet" href="assets/css/anleitung.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/anleitung.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start"> <body class="start">
@@ -768,22 +768,22 @@
</p> </p>
</main> </main>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/live.js?v=202610082114" defer></script> <script src="assets/js/live.js?v=202610082157" defer></script>
<script src="assets/js/start.js?v=202610082114" defer></script> <script src="assets/js/start.js?v=202610082157" defer></script>
<!-- Die Begruessung und der Rundgang beim ersten Anmelden. <!-- Die Begruessung und der Rundgang beim ersten Anmelden.
EIGENE DATEI und nicht ein Stueck start.js: Sie laeuft auf der EIGENE DATEI und nicht ein Stueck start.js: Sie laeuft auf der
meistbenutzten Seite des Hauses, und wenn hier etwas schiefgeht, meistbenutzten Seite des Hauses, und wenn hier etwas schiefgeht,
darf davon nichts anderes betroffen sein. --> darf davon nichts anderes betroffen sein. -->
<script src="assets/js/rundgang.js?v=202610082114" defer></script> <script src="assets/js/rundgang.js?v=202610082157" defer></script>
<script src="assets/js/aufstieg.js?v=202610082114" defer></script> <script src="assets/js/aufstieg.js?v=202610082157" 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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/startcheck.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/startcheck.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start" data-buehne="wald"> <body class="start" data-buehne="wald">
@@ -85,16 +85,16 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/ki.js?v=202610082114" defer></script> <script src="assets/js/ki.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/startcheck.js?v=202610082114" defer></script> <script src="assets/js/startcheck.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+18 -18
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/profil.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/profil.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start" data-buehne="halle"> <body class="start" data-buehne="halle">
@@ -150,16 +150,16 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/hochladen.js?v=202610082114" defer></script> <script src="assets/js/hochladen.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/auskunft.js?v=202610082114" defer></script> <script src="assets/js/auskunft.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/steckbrief.js?v=202610082114" defer></script> <script src="assets/js/steckbrief.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+14 -14
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/support.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/support.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start" data-buehne="studio"> <body class="start" data-buehne="studio">
@@ -154,16 +154,16 @@
(reading 'LEITUNG')" ab -- gemessen am 24.09.2026, als diese (reading 'LEITUNG')" ab -- gemessen am 24.09.2026, als diese
Zeile beim Anlegen der Seite fehlte. Die Kopfleiste kam Zeile beim Anlegen der Seite fehlte. Die Kopfleiste kam
trotzdem, deshalb sah man es nur in der Browserkonsole. --> trotzdem, deshalb sah man es nur in der Browserkonsole. -->
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<!-- wahl.js gehoert zu kopf.js: Der Sicht-Umschalter in der <!-- wahl.js gehoert zu kopf.js: Der Sicht-Umschalter in der
Kopfleiste baut daraus seine Liste. pruef-css-klassen setzt das Kopfleiste baut daraus seine Liste. pruef-css-klassen setzt das
seit dem 07.09.2026 durch -- damals fehlte es auf chat.html und seit dem 07.09.2026 durch -- damals fehlte es auf chat.html und
uebersicht.html, und heute hier. --> uebersicht.html, und heute hier. -->
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/support.js?v=202610082114" defer></script> <script src="assets/js/support.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+3 -3
View File
@@ -23,7 +23,7 @@
„Eigenes CSS" leer lassen (der Grund ist schon „Eigenes CSS" leer lassen (der Grund ist schon
durchsichtig). durchsichtig).
====================================================================== --> ====================================================================== -->
<link rel="stylesheet" href="assets/css/spendenkarte.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/spendenkarte.css?v=202610082157" />
<style> <style>
/* DURCHSICHTIG BIS AUF DIE KARTEN. OBS legt die Quelle über das /* DURCHSICHTIG BIS AUF DIE KARTEN. OBS legt die Quelle über das
Bild; jede Fläche, die hier steht, deckt dort etwas zu. */ Bild; jede Fläche, die hier steht, deckt dort etwas zu. */
@@ -109,7 +109,7 @@
<body> <body>
<div class="obs-tafel spendentafel" id="tafel" aria-live="polite"></div> <div class="obs-tafel spendentafel" id="tafel" aria-live="polite"></div>
<script src="assets/js/spendenkarte.js?v=202610082114" defer></script> <script src="assets/js/spendenkarte.js?v=202610082157" defer></script>
<script src="assets/js/tafel.js?v=202610082114" defer></script> <script src="assets/js/tafel.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+18 -18
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/entwicklung.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/bewerbung.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start"> <body class="start">
@@ -111,15 +111,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/holen.js?v=202610082114" defer></script> <script src="assets/js/holen.js?v=202610082157" defer></script>
<script src="assets/js/talente.js?v=202610082114" defer></script> <script src="assets/js/talente.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+16 -16
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/team.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/team.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start" data-buehne="halle"> <body class="start" data-buehne="halle">
@@ -110,15 +110,15 @@
</main> </main>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/holen.js?v=202610082114" defer></script> <script src="assets/js/holen.js?v=202610082157" defer></script>
<script src="assets/js/team.js?v=202610082114" defer></script> <script src="assets/js/team.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+17 -17
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/team.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/team.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</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,15 +84,15 @@
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=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/holen.js?v=202610082114" defer></script> <script src="assets/js/holen.js?v=202610082157" defer></script>
<script src="assets/js/teamlage.js?v=202610082114" defer></script> <script src="assets/js/teamlage.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+15 -15
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/bereich.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start"> <body class="start">
@@ -112,15 +112,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/teilen.js?v=202610082114" defer></script> <script src="assets/js/teilen.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+16 -16
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/treff.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start"> <body class="start">
@@ -126,14 +126,14 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/treff-moderation.js?v=202610082114" defer></script> <script src="assets/js/treff-moderation.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+16 -16
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/treff.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<!-- haus.css MUSS die letzte Stilvorlage sein. Auf der Adresse des <!-- haus.css MUSS die letzte Stilvorlage sein. Auf der Adresse des
Rudels biegt der Server genau diesen Dateinamen auf crew-haus.css Rudels 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=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start"> <body class="start">
@@ -248,14 +248,14 @@
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=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/auskunft.js?v=202610082114" defer></script> <script src="assets/js/auskunft.js?v=202610082157" defer></script>
<script src="assets/js/treff-regeln.js?v=202610082114" defer></script> <script src="assets/js/treff-regeln.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+16 -16
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/uebersicht.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start" data-buehne="showbuehne"> <body class="start" data-buehne="showbuehne">
@@ -149,16 +149,16 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/uebersicht.js?v=202610082114" defer></script> <script src="assets/js/uebersicht.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+15 -15
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start"> <body class="start">
@@ -335,14 +335,14 @@
</main> </main>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/live.js?v=202610082114" defer></script> <script src="assets/js/live.js?v=202610082157" defer></script>
<script src="assets/js/unsere-seiten.js?v=202610082114" defer></script> <script src="assets/js/unsere-seiten.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+16 -16
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/unterstuetzen.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/unterstuetzen.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start"> <body class="start">
@@ -106,17 +106,17 @@
<!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js <!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js
liest daraus die Leitungsrollen. Ohne sie stürzt jede Seite mit liest daraus die Leitungsrollen. Ohne sie stürzt jede Seite mit
„Cannot read properties of undefined (reading 'LEITUNG')" ab. --> „Cannot read properties of undefined (reading 'LEITUNG')" ab. -->
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/holen.js?v=202610082114" defer></script> <script src="assets/js/holen.js?v=202610082157" defer></script>
<!-- Die Satz-Tafel. Ohne sie stand auf dieser Seite das Maschinenwort <!-- Die Satz-Tafel. Ohne sie stand auf dieser Seite das Maschinenwort
des Servers (z.B. "nicht_gefunden") statt eines Satzes -- gemeldet des Servers (z.B. "nicht_gefunden") statt eines Satzes -- gemeldet
von pruef-meldungen, nicht beim Ansehen. --> von pruef-meldungen, nicht beim Ansehen. -->
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/unterstuetzen.js?v=202610082114" defer></script> <script src="assets/js/unterstuetzen.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+16 -16
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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/entwicklung.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/werdegang.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/werdegang.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start"> <body class="start">
@@ -144,14 +144,14 @@
</main> </main>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/werdegang.js?v=202610082114" defer></script> <script src="assets/js/werdegang.js?v=202610082157" defer></script>
</body> </body>
</html> </html>
+1 -1
View File
@@ -56,7 +56,7 @@
veraltet beim naechsten Umbau. --> veraltet beim naechsten Umbau. -->
<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="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<style> <style>
/* Bewusst ohne eigenes Stilblatt: Die Seite ist in aller Regel nur /* Bewusst ohne eigenes Stilblatt: Die Seite ist in aller Regel nur
+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=202610082114" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610082157" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082114" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610082157" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/start.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/start.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/wissen.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/wissen.css?v=202610082157" />
<link rel="stylesheet" href="assets/css/module.css?v=202610082114" /> <link rel="stylesheet" href="assets/css/module.css?v=202610082157" />
<!-- 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=202610082114" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610082157" />
</head> </head>
<body class="start" data-buehne="arena"> <body class="start" data-buehne="arena">
@@ -190,15 +190,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610082114" defer></script> <script src="assets/js/meldung.js?v=202610082157" defer></script>
<script src="assets/js/hochladen.js?v=202610082114" defer></script> <script src="assets/js/hochladen.js?v=202610082157" defer></script>
<script src="assets/js/nachfrage.js?v=202610082114" defer></script> <script src="assets/js/nachfrage.js?v=202610082157" defer></script>
<script src="assets/js/wahl.js?v=202610082114" defer></script> <script src="assets/js/wahl.js?v=202610082157" defer></script>
<script src="assets/js/bereiche.js?v=202610082114" defer></script> <script src="assets/js/bereiche.js?v=202610082157" defer></script>
<script src="assets/js/installieren.js?v=202610082114" defer></script> <script src="assets/js/installieren.js?v=202610082157" defer></script>
<script src="assets/js/kopf.js?v=202610082114" defer></script> <script src="assets/js/kopf.js?v=202610082157" defer></script>
<script src="assets/js/glocke.js?v=202610082114" defer></script> <script src="assets/js/glocke.js?v=202610082157" defer></script>
<script src="assets/js/wissen.js?v=202610082114" defer></script> <script src="assets/js/wissen.js?v=202610082157" defer></script>
</body> </body>
</html> </html>