Support: Babyblau mit Lila, und der Melder bekommt seine Knoepfe wirklich

Nachtrag zu cebdd88e. Ein Bildschirmfoto der fertigen Seite hat drei
Dinge gezeigt, die keine Pruefung sehen konnte.

1. DIE KACHEL WAR IMMER NOCH ORANGE.

   Filipe: "die hauptfarbe der kachel soll auch babyblau sein mit bissl
   lila." Die Seite trug zwar `--akzent: #a8d8ff`, aber der Kopf faerbt
   sich ueber `--ton` -- und der stand am body auf Ton 44, dem Orange
   vom 24.09. Die Variable war gesetzt und wirkungslos.

   Ton 44 ist jetzt #a8d8ff. WEIL DIE FARBE DIESMAL AUS EINEM WUNSCH
   kam und nicht aus einer Rechnung, wurde sie nachgemessen:

     Kontrast gegen den dunklen Grund   12,46:1   (Hausgrenze 4,5)
     Abstand zur naechsten Kachelfarbe  0,1125    (Ton 15)
     Engstes Paar im Haus ohnehin       0,0154
     -> 7,3-fach weiter weg als das schwaechste Glied

   Babyblau haelt die Buntheitsgrenze (0,12) NICHT und kann sie nicht
   halten -- das liegt am Wort. Nachgemessen mit einer Suche ueber den
   ganzen Blaubereich: Es gibt KEINE Farbe, die gleichzeitig babyblau
   aussieht, Buntheit >= 0,12 und Abstand >= 0,09 schafft; der beste
   Kandidat kommt auf 0,075 Abstand. Der Blaubereich ist von sechs
   Toenen besetzt.

   DIE GRENZE WURDE DESHALB NICHT GESENKT, sondern BENANNT ausgenommen
   (`blassErlaubt` in pruef-kachelfarben). Eine gesenkte Grenze gaelte
   fuer alle 45 Toene; eine benannte gilt fuer eine und steht mit
   ihrem Grund da. Und sie kostet etwas: Wer blass sein darf, muss
   beim Abstand >= 0,10 halten -- gemessen, nicht versprochen, mit
   Gegenprobe.

   NEBENBEI ZWEI ALTE ROTE BEHOBEN: Die Prüfung war seit dem 24.09.
   rot (engstes Paar 0,0862 zwischen Ton 41 und 45, und zwei Farben in
   der Regenbogenkachel stimmten nicht mehr). Ton 45 neu gerechnet
   (0,0914) und die Kachel nachgezogen. 22 -> 26 Pruefungen, 0 Fehler.

2. DIE LEITUNG SAH DIE KNOEPFE DES MELDERS.

   Der Server lehnte sie richtig mit 404 ab -- die Karte bot sie ihr
   trotzdem an. `darf_bestaetigen` war eine Aussage ueber die MELDUNG
   statt ueber den BETRACHTER. Zwei Knoepfe, die nur eine Fehlermeldung
   koennen, sind schlimmer als gar keine.

   Jetzt fragen Route UND Anzeige dieselbe Funktion `darfBestaetigen`.
   Es ist ausdruecklich "ist der Melder" und nicht "ist nicht Leitung":
   Die Leitung darf ihre EIGENE Meldung bestaetigen, nur keine fremde.

   Und die Leitung sieht bei "wartet" jetzt, wer dran ist -- "Liegt bei
   Miss" mit ruhig atmendem Punkt, dazu "Noch etwas nachschicken ..."
   statt "Behoben - nachfragen ...". Sie hat ja schon nachgefragt.

3. NACHLEGEN HAETTE DEN VERLAUF VERDOPPELT.

   Antwortet die Leitung ein zweites Mal, waehrend die Meldung beim
   Melder liegt, entstand eine ZWEITE Zeile "Runde 1" -- und sein
   spaeteres Urteil haette beide gleichzeitig beschriftet. Jetzt
   ersetzt ON CONFLICT die Antwort in derselben Runde.

   DER EIGENTLICHE FUND STECKTE IM INDEX: `CREATE UNIQUE INDEX IF NOT
   EXISTS` unter dem alten Namen tut auf dem Server NICHTS -- dort gibt
   es den Namen schon, als gewoehnlichen Index, und IF NOT EXISTS
   sieht nur den Namen, nicht die Bauart. Der Index waere nie eindeutig
   geworden, ON CONFLICT haette kein Ziel gefunden, und das Nachlegen
   waere abgebrochen -- genau dort, wo lokal alles gruen ist, weil jede
   Pruefung ihre Datenbank frisch anlegt. Gefunden beim Durchspielen
   auf einer KOPIE der echten Datenbank. Der alte Index wird jetzt
   ausdruecklich weggenommen, der neue heisst anders.

GEMESSEN:
- pruef-support 59 -> 63 Pruefungen, 0 Fehler (darunter: die Leitung
  bekommt die Knoepfe NICHT, und Nachlegen laesst EINE Runde stehen).
- Die Index-Umstellung auf einer Kopie der echten Datenbank
  durchgespielt: alter Index weg, neuer eindeutig, ON CONFLICT trifft.
- pruef-kachelfarben 26/0, pruef-css-klassen, pruef-deutsche-texte: gruen.
- server/mess-support-runde.mjs (neu) macht vier Bilder: Leitung,
  Melder, Melder auf dem Handy, und den Verlauf nach zwei Runden.
  Es misst den "wer ist dran"-Hinweis ausdruecklich mit -- der war
  einmal stumm ausgefallen (before() auf einem Element ohne
  Elternknoten tut nichts, ohne Fehlermeldung).

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-09-25 05:10:58 +02:00
co-authored by Claude Opus 5
parent cebdd88e8d
commit 257c01b8f0
49 changed files with 1158 additions and 688 deletions
+215
View File
@@ -0,0 +1,215 @@
/* =====================================================================
WIE DER SUPPORT JETZT AUSSIEHT UND SICH ANFUEHLT (25.09.2026)
Filipe, zwei Wuensche an einem Abend:
„ich will dass die leute die mir was geschickt haben im support,
auch meine notiz bekommen wenn ich fertig bin ... und erst wenn
es funktioniert gedrueckt wird, will ich dass alles richtig
fertig ist."
„ich will dass du bitte diese kachel viel geiler viel
profissioneller machst, die soll koomplett anders aussehen und
strukturiert sein ... die hauptfarbe der kachel soll auch
babyblau sein mit bissl lila."
SIE PRUEFT NICHTS und meldet keinen Fehlschlag -- sie macht Bilder,
auf denen man nachsehen kann. Deshalb `mess-` und nicht `pruef-`.
Gemessen wird die Wahrheit in `pruef-support.mjs` (58 Pruefungen);
hier geht es um das, was man nur SIEHT.
VIER BILDER, weil die Sache vier Seiten hat:
1. Die Leitung sieht die Meldung und ihren Knopf.
2. Der Melder sieht die Notiz und seine zwei Knoepfe -- der Kern
des ganzen Umbaus.
3. Derselbe Blick auf dem Handy, 412 px. Das ist die Breite, auf
der die Modis tatsaechlich arbeiten.
4. Nach zwei Runden: der Verlauf mit beiden Urteilen. Genau der
Fall, den Filipe gemeint hat („manchmal ... nicht sofort
perfekt").
EIGENE WEGWERF-DATENBANK in einem `mktemp`-Ordner: Es entstehen
echte Meldungen. In einem laufenden System waeren das Testdaten,
und die sind verboten.
Aufrufen mit: node server/mess-support-runde.mjs
===================================================================== */
import { mkdtempSync, rmSync, readFileSync } from "node:fs";
import { tmpdir } from "node:os";
import { join } from "node:path";
import { execFileSync } from "node:child_process";
import { request as httpAnfrage } from "node:http";
import { createServer as httpsServer } from "node:https";
const PORT = 5411, HP = 5412;
const CREW = "crew.dogfather-universe.com";
const ordner = mkdtempSync(join(tmpdir(), "ws-supportrunde-"));
process.env.WORKSPACE_DB = join(ordner, "workspace.db");
process.env.PORT = String(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 });
};
import { notbremse } from "./helfer-notbremse.mjs";
await import("./index.js");
notbremse(240_000, "mess-support-runde");
await new Promise((r) => setTimeout(r, 900));
process.on("uncaughtException", (f) => { console.error("ABSTURZ:", f); process.exit(7); });
process.on("unhandledRejection", (f) => { console.error("ABSTURZ (Versprechen):", f); process.exit(7); });
const { DatabaseSync } = await import("node:sqlite");
const { scryptSync, randomBytes, createHmac } = await import("node:crypto");
const d = new DatabaseSync(process.env.WORKSPACE_DB);
const jetzt = new Date().toISOString();
const sch = randomBytes(32).toString("hex");
d.prepare("INSERT INTO einstellungen (schluessel, wert, geaendert, von)"
+ " VALUES (?,?,?,NULL) ON CONFLICT(schluessel) DO NOTHING")
.run("code_kennung_schluessel", sch, jetzt);
const anlegen = (name, rolle, code) => {
const s = randomBytes(16).toString("hex");
const h = scryptSync(code, s, 64,
{ N: 32768, r: 8, p: 1, maxmem: 96 * 1024 * 1024 }).toString("hex");
return d.prepare("INSERT INTO personen"
+ " (name, rolle, code_hash, code_salt, code_n, code_kennung, aktiv, erstellt)"
+ " VALUES (?,?,?,?,?,?,1,?) RETURNING id")
.get(name, rolle, h, s, 32768,
createHmac("sha256", sch).update(code).digest("hex"), jetzt).id;
};
anlegen("Filipe", "admin", "CODE-DOGI-0001");
const idHand = anlegen("Rechte Hand", "hand", "CODE-HAND-0001");
const idModi = anlegen("Miss", "modi", "CODE-MODI-0001");
const idM2 = anlegen("Marina", "modi", "CODE-MODI-0002");
/* `von_name` GEHOERT DAZU -- die echte Melderoute schreibt ihn mit.
Ohne ihn saehe die Leitung „Liegt beim Melder" statt „Liegt bei
Miss", und das Bild zeigte einen Fall, den es im Betrieb nicht
gibt. Eine Messung mit zu wenig Daten misst die falsche Seite. */
const meldung = (person, name, text, seite, stand) => d.prepare(`INSERT INTO support_meldungen
(person_id, von_name, von_rolle, text, seite, stand, erstellt, geaendert)
VALUES (?,?,?,?,?,?,?,?) RETURNING id`)
.get(person, name, "modi", text, seite, stand, jetzt, jetzt).id;
const offen = meldung(idM2, "Marina",
"Der Kalender springt beim Wischen manchmal zwei Monate weiter.",
"/workspace/kalender.html", "neu");
const dran = meldung(idModi, "Miss",
"Ich konnte da wieder nicht zurück gehen, musste die App schließen "
+ "damit ich wieder auf die Hauptseite kam.",
"/workspace/support.html", "in_arbeit");
d.close();
const anfrage = (pfad, art, koerper, keks) => new Promise((fertig, schief) => {
const a = httpAnfrage({
host: "127.0.0.1", port: PORT, path: pfad, method: art,
headers: {
Host: CREW, "Content-Type": "application/json",
...(keks ? { Cookie: keks } : {}),
},
}, (r) => {
let t = ""; r.on("data", (x) => { t += x; });
r.on("end", () => fertig({ code: r.statusCode, kopf: r.headers, text: t }));
});
a.on("error", schief);
if (koerper) a.write(JSON.stringify(koerper));
a.end();
});
const anmelden = async (rolle, code) => {
const an = await anfrage("/workspace/api/anmelden", "POST", { rolle, code });
if (an.code !== 200) { console.log(`ABBRUCH: Anmeldung ${rolle} ${an.code}`); process.exit(2); }
return (an.kopf["set-cookie"] || []).map((x) => x.split(";")[0]).join("; ");
};
const kHand = await anmelden("hand", "CODE-HAND-0001");
const kModi = await anmelden("modi", "CODE-MODI-0001");
/* --- Runde 1: die Leitung sagt „behoben" ---------------------------- */
await anfrage(`/workspace/api/support/${dran}`, "PATCH",
{ stand: "erledigt", antwort: "Der Zurück-Knopf ist wieder da – "
+ "er war hinter der Kopfleiste verschwunden." }, kHand);
const schl = join(ordner, "b.key"), zert = join(ordner, "b.crt");
execFileSync("openssl", ["req", "-x509", "-newkey", "rsa:2048", "-nodes", "-keyout", schl,
"-out", zert, "-days", "2", "-subj", `/CN=${CREW}`, "-addext", `subjectAltName=DNS:${CREW}`],
{ stdio: "ignore" });
const vorbau = httpsServer({ key: readFileSync(schl), cert: readFileSync(zert) },
(von, nach) => {
const w = httpAnfrage({
host: "127.0.0.1", port: PORT, path: von.url, method: von.method,
headers: { ...von.headers, host: `${CREW}:${HP}` },
}, (a) => { nach.writeHead(a.statusCode || 502, a.headers); a.pipe(nach); });
von.pipe(w);
});
await new Promise((r) => vorbau.listen(HP, "127.0.0.1", r));
const pw = await import(
"file:///C:/Users/qciga/Documents/Obelix/Analyse/node_modules/playwright/index.mjs");
const browser = await pw.chromium.launch({
args: [`--host-resolver-rules=MAP ${CREW} 127.0.0.1`, "--ignore-certificate-errors"],
});
async function blicken(name, keks, breite, hoehe) {
const kontext = await browser.newContext({ viewport: { width: breite, height: hoehe } });
await kontext.addCookies(keks.split("; ").map((k) => {
const [n, ...r] = k.split("=");
return { name: n, value: r.join("="), domain: CREW, path: "/" };
}));
const seite = await kontext.newPage();
const konsole = [];
seite.on("console", (e) => {
if (e.type() === "error" && !/favicon|ERR_CERT|net::ERR/i.test(e.text())) {
konsole.push(e.text().slice(0, 140));
}
});
await seite.goto(`https://${CREW}:${HP}/workspace/support.html`, { waitUntil: "networkidle" });
await seite.waitForTimeout(1400);
const blick = await seite.evaluate(() => {
const karten = [...document.querySelectorAll(".s-karte")];
const knopf = (k) => [...k.querySelectorAll(".s-karte__tun button")]
.map((b) => b.textContent.trim()).join(" | ");
return {
karten: karten.length,
staende: karten.map((k) => k.querySelector(".s-karte__stand")?.textContent.trim())
.join(" / "),
knoepfe: karten.map(knopf).filter(Boolean).join(" // ") || "-",
/* Der Hinweis „wer ist dran" wird MITGEMESSEN -- er ist einmal
stumm ausgefallen (before() auf einem heimatlosen Element),
und im Bild sah das aus wie Absicht. */
wartet: [...document.querySelectorAll(".s-karte__wartet")]
.map((w) => w.textContent.trim()).join(" | ") || "-",
runden: document.querySelectorAll(".s-runde").length,
urteile: [...document.querySelectorAll(".s-runde__urteil")]
.map((u) => u.dataset.urteil).join(", ") || "-",
akzent: getComputedStyle(document.querySelector(".inhalt")).getPropertyValue("--akzent").trim(),
felder: document.querySelectorAll(".s-bilanz__feld").length,
};
});
console.log(`\n=== ${name} (${breite} x ${hoehe}) ===`);
for (const [k, v] of Object.entries(blick)) console.log(` ${k.padEnd(10)} ${v}`);
if (konsole.length) console.log(" FEHLER IN DER KONSOLE:", konsole);
const datei = `server/mess-support-${name}.png`;
await seite.screenshot({ path: datei, fullPage: false }).catch(() => {});
console.log(` Bild: ${datei}`);
await kontext.close();
}
try {
await blicken("leitung-pc", kHand, 1280, 1000);
await blicken("melder-pc", kModi, 1280, 1000);
await blicken("melder-handy", kModi, 412, 915);
/* --- Runde 2: „noch nicht", dann behoben, dann bestaetigt --------- */
await anfrage(`/workspace/api/support/${dran}/rueckmeldung`, "POST",
{ geht: false, text: "Der Knopf ja – aber jetzt springt die Seite nach oben." }, kModi);
await anfrage(`/workspace/api/support/${dran}`, "PATCH",
{ stand: "erledigt", antwort: "Das Springen kam vom Nachladen. Ist raus." }, kHand);
await blicken("melder-runde2", kModi, 1280, 1000);
console.log(`\n(Die offene Meldung #${offen} bleibt unangetastet stehen –`
+ " so sieht man beide Sorten nebeneinander.)");
} finally {
await browser.close();
vorbau.close();
try { rmSync(ordner, { recursive: true, force: true }); } catch { /* egal */ }
process.exit(0);
}
+64 -2
View File
@@ -63,6 +63,33 @@ const FESTGELEGT = [
warum: "knalliges Rot -- wer den vertraulichen Weg sucht, soll ihn finden, ohne zu lesen" },
{ ton: 39, kachel: "Draußen",
warum: "die Farbe, die Regeln & Hilfe hatte -- ausdruecklicher Wunsch (screen5)" },
/* BABYBLAU IST PER DEFINITION BLASS (25.09.2026).
Filipe: „die hauptfarbe der kachel soll auch babyblau sein mit
bissl lila."
Diese Farbe haelt die Buntheitsgrenze von 0,12 NICHT (sie liegt
bei 0,074) -- und kann sie nicht halten, das liegt am Wort.
Nachgemessen mit `node tools/_babyblau-suchen.mjs`: Unter allen
Blautoenen im Umkreis des Wunsches gibt es KEINEN, der gleichzeitig
Buntheit >= 0,12 und Abstand >= 0,09 schafft -- der beste kommt
auf 0,075 Abstand. Der Blaubereich ist von den Toenen 15, 23, 26,
31, 41 und 43 besetzt.
DIE GRENZE WIRD DESHALB NICHT GESENKT, sondern hier BENANNT
ausgenommen. Eine gesenkte Grenze gaelte fuer alle 45 Toene und
liesse ab morgen jede blasse Farbe durch; eine benannte Ausnahme
gilt fuer genau diese eine und steht mit ihrem Grund da.
UND SIE IST NICHT GRATIS: Wer blass sein darf, muss dafuer beim
ABSTAND ueberdurchschnittlich sein -- das ist der Zweck, den die
Buntheitsregel nur stellvertretend misst. Gemessen 0,1125 zur
naechsten Farbe (Ton 15), das 7,3-Fache des engsten Paares, das im
Haus ohnehin steht. Die Bedingung dazu steht unten bei der
Pruefung und ist echt: Faellt der Abstand unter 0,10, wird diese
Zeile rot. */
{ ton: 44, kachel: "Support", hex: "#a8d8ff", blassErlaubt: 0.10,
warum: "Babyblau auf Wunsch -- blass, dafuer mit gemessenem Sicherheitsabstand" },
];
let ok = 0, fehl = 0;
@@ -265,16 +292,43 @@ for (const f of FESTGELEGT) {
console.log("\n=== Lesbar und kraeftig ===");
{
const dunkel = [], blass = [];
/* Die benannten Ausnahmen -- abgeleitet aus FESTGELEGT und nicht
hier noch einmal aufgezaehlt. Eine zweite Liste waere die, die
beim naechsten Mal vergessen wird. */
const darfBlassSein = new Map(
FESTGELEGT.filter((f) => f.blassErlaubt).map((f) => [f.ton, f.blassErlaubt]));
for (const n of benutzt.keys()) {
const hex = farben.get(n);
if (!hex) continue;
if (kontrast(hex) < 4.5) dunkel.push(`Ton ${n} ${hex} (${kontrast(hex).toFixed(2)}:1)`);
if (buntheit(hex) < MINDEST_BUNTHEIT) blass.push(`Ton ${n} ${hex} (${buntheit(hex).toFixed(3)})`);
if (buntheit(hex) < MINDEST_BUNTHEIT && !darfBlassSein.has(n)) {
blass.push(`Ton ${n} ${hex} (${buntheit(hex).toFixed(3)})`);
}
}
pruef(`alle ${benutzt.size} benutzten Toene erreichen 4,5:1 gegen den Grund`,
dunkel.length === 0, dunkel.join(", "));
pruef(`keiner ist blasser als ${MINDEST_BUNTHEIT}`,
pruef(`keiner ist blasser als ${MINDEST_BUNTHEIT}`
+ (darfBlassSein.size ? ` (ausser ${darfBlassSein.size} benannten)` : ""),
blass.length === 0, blass.join(", "));
/* WAS DIE AUSNAHME KOSTET, WIRD EINGEFORDERT. Ohne diese Zeile waere
`blassErlaubt` ein Freibrief: Man setzt eine Farbe fest, und die
Pruefung sieht ab da weg. So ist es umgekehrt -- wer blass sein
darf, muss beim Abstand BESSER sein als die Hausgrenze, und das
wird gemessen, nicht versprochen. */
for (const [ton, noetig] of darfBlassSein) {
const hex = farben.get(ton);
if (!hex) { pruef(`Ton ${ton} ist festgelegt, steht aber nicht in start.css`, false); continue; }
let naechste = Infinity, wer = "-";
for (const [m, h2] of farben) {
if (m === ton || !benutzt.has(m)) continue;
const d = abstand(oklab(hex), oklab(h2));
if (d < naechste) { naechste = d; wer = `Ton ${m}`; }
}
pruef(`Ton ${ton} darf blass sein und haelt dafuer ${noetig} Abstand `
+ `(${naechste.toFixed(4)} zu ${wer})`, naechste >= noetig,
`nur ${naechste.toFixed(4)} -- die Ausnahme ist damit nicht mehr gedeckt`);
}
}
/* ---- Gegenprobe: kann diese Pruefung ueberhaupt rot werden? --------- */
@@ -291,6 +345,14 @@ console.log("\n=== Gegenprobe ===");
abstand(weit, weit2) >= MINDEST_ABSTAND);
pruef("ein zu dunkler Ton wuerde auffallen (#101820)", kontrast("#101820") < 4.5);
pruef("ein blasser Ton wuerde auffallen (#ffe5ae)", buntheit("#ffe5ae") < MINDEST_BUNTHEIT);
/* Und die Ausnahme selbst muss zu eng werden koennen. Sonst waere
die Bedingung darueber nur Text. */
{
const nah = FESTGELEGT.find((f) => f.blassErlaubt);
pruef("die Ausnahme-Bedingung schlaegt bei zu wenig Abstand an "
+ `(0.05 < ${nah?.blassErlaubt ?? "-"})`,
!!nah && 0.05 < nah.blassErlaubt);
}
}
/* =====================================================================
+31
View File
@@ -448,6 +448,16 @@ melde("\n=== Sich kuemmern ===");
`„erledigt" schickt die Meldung zuerst an den Melder (${nach1?.stand})`);
ok(/Behoben/.test(nach1?.antwort || "") && nach1?.darf_bestaetigen === true,
`er sieht die Notiz und darf bestaetigen (${nach1?.darf_bestaetigen})`);
/* UND DIE LEITUNG SIEHT DIESE KNOEPFE NICHT. Im ersten Anlauf tat
sie es: Der Server lehnte sie richtig mit 404 ab, die Karte bot
ihr die Knöpfe trotzdem an -- `darf_bestaetigen` war eine
Aussage ueber die Meldung statt ueber den Betrachter. Gefunden
hat das kein Test, sondern ein Bildschirmfoto. Ab jetzt findet
es der Test. */
const beiDerLeitung = await standVon("hand", meldungMitBild);
ok(beiDerLeitung?.darf_bestaetigen === false,
`die Leitung bekommt diese Knoepfe NICHT (${beiDerLeitung?.darf_bestaetigen})`);
ok((nach1?.verlauf || []).length === 1 && nach1.verlauf[0].nr === 1,
`und der Verlauf hat Runde 1 (${(nach1?.verlauf || []).length})`);
@@ -461,6 +471,27 @@ melde("\n=== Sich kuemmern ===");
ok(fremd.status === 404,
`Gegenprobe: die Leitung bestaetigt nicht fuer den Melder (${fremd.status})`);
/* ---- NACHLEGEN ERSETZT, ES VERDOPPELT NICHT ------------------
Der Leitung faellt hinterher noch etwas ein, waehrend die
Meldung schon beim Melder liegt. Ohne ON CONFLICT entstuende
eine ZWEITE Zeile „Runde 1", und sein spaeteres Urteil traefe
beide gleichzeitig -- der Verlauf zeigte dasselbe Urteil unter
zwei verschiedenen Antworten. */
const nachgelegt = await hol("hand", `/workspace/api/support/${meldungMitBild}`, {
method: "PATCH", headers: { "Content-Type": "application/json" },
body: JSON.stringify({ stand: "erledigt", antwort: "Behoben – und der Rand stimmt auch wieder." }),
});
ok(nachgelegt.status === 200, `die Leitung legt noch etwas nach (${nachgelegt.status})`);
const nachNachtrag = await standVon("modi", meldungMitBild);
ok((nachNachtrag?.verlauf || []).length === 1,
`der Verlauf hat immer noch EINE Runde (${(nachNachtrag?.verlauf || []).length})`);
ok(/Rand stimmt/.test((nachNachtrag?.verlauf || [])[0]?.antwort || ""),
"und darin steht der neue Satz, nicht der alte");
ok(nachNachtrag?.stand === "wartet",
`die Meldung liegt weiter beim Melder (${nachNachtrag?.stand})`);
/* ---- „Noch nicht" -- und ohne Wort geht das nicht ------------- */
const ohneWort = await hol("modi", `/workspace/api/support/${meldungMitBild}/rueckmeldung`, {
method: "POST", headers: { "Content-Type": "application/json" },
+37 -1
View File
@@ -182,7 +182,43 @@ export function supportTabellen(d) {
urteil_text TEXT,
urteil_am TEXT
);
CREATE INDEX IF NOT EXISTS idx_support_runden_meldung
/* EINDEUTIG, NICHT NUR SCHNELL (25.09.2026).
Hier stand ein gewoehnlicher Index. Dann faellt auf: Antwortet
die Leitung ein zweites Mal, waehrend die Meldung schon beim
Melder liegt, entsteht eine ZWEITE Zeile mit derselben Nummer --
und sein spaeteres „geht wieder" beschriftet dann beide auf
einmal (das UPDATE trifft ueber meldung_id und nr -- KEINE
Schraegstriche drum herum: Dieser Text steht in einem
Template-Literal, und ein Gegen-Apostroph darin beendet es. Das
hat heute Nacht schon einmal den Start gekostet). Der
Verlauf zeigte zweimal „Runde 1" mit demselben Urteil.
Der Index macht das unmoeglich, statt es zu verbieten. Die
Route traegt seither mit ON CONFLICT nach: Wer nachlegt,
ERSETZT seine Antwort in derselben Runde. Beides zusammen --
ohne den Index waere ON CONFLICT wirkungslos, ohne ON CONFLICT
wuerde der Index das Nachlegen mit einem Fehler beantworten.
UNBEDENKLICH BEIM UMSTELLEN: Die Tabelle ist in derselben Nacht
entstanden; es gibt nur einen Weg, der sie fuellt. Gaebe es doch
eine Dublette, schluege der Aufbau LAUT fehl statt still.
UND WARUM DER NAME EIN ANDERER IST -- der eigentliche Fund:
Hier stand zuerst CREATE UNIQUE INDEX IF NOT EXISTS unter dem
ALTEN Namen. Lokal war alles gruen, weil jede Pruefung ihre
Datenbank frisch anlegt. Auf dem Server gab es den Namen aber
schon, als gewoehnlichen Index -- und IF NOT EXISTS sieht nur
den NAMEN, nicht die Bauart. Der Index waere also nie eindeutig
geworden, ON CONFLICT haette kein Ziel gefunden, und das
Nachlegen waere mit einem Fehler abgebrochen. GENAU DORT, wo
lokal alles gruen ist. Aufgefallen beim Durchspielen auf einer
Kopie der echten Datenbank, nicht in der Pruefung.
Deshalb: den alten ausdruecklich wegnehmen, den neuen unter
eigenem Namen anlegen. Beides vertraegt jede Wiederholung. */
DROP INDEX IF EXISTS idx_support_runden_meldung;
CREATE UNIQUE INDEX IF NOT EXISTS idx_support_runden_einmal
ON support_runden (meldung_id, nr);
/* Die Leitung fragt „was ist offen?", der Melder „was ist meins?".
+46 -9
View File
@@ -111,6 +111,23 @@ function meldungFuer(person, id) {
return m.person_id === person?.id ? m : null;
}
/** Darf DIESE Person bei DIESER Meldung jetzt bestätigen?
*
* AN EINER STELLE, weil es zwei Stellen gibt, die es wissen müssen:
* die Route, die die Antwort annimmt, und die Anzeige, die die
* Knöpfe zeigt. Standen sie getrennt da, driften sie — und genau das
* ist am 25.09.2026 im ersten Anlauf passiert: Der Server lehnte die
* Leitung richtig mit 404 ab, die Karte zeigte ihr die Knöpfe
* trotzdem. Zwei Knöpfe, die nur eine Fehlermeldung können, sind
* schlimmer als gar keine.
*
* ES IST DER MELDER, NICHT „WER NICHT LEITUNG IST": Die Leitung darf
* ihre eigene Meldung sehr wohl selbst bestätigen — sie hat sie ja
* geschrieben. Verboten ist nur, FREMDE Arbeit abzunicken. */
function darfBestaetigen(m, personId) {
return !!m && m.person_id === personId && m.stand === SUPPORT_STAND.wartet;
}
/** Wie eine Meldung nach draußen aussieht.
*
* AN EINER STELLE, weil vier Routen sie ausgeben. Vier Stellen wären
@@ -119,8 +136,13 @@ function meldungFuer(person, id) {
*
* `fuerLeitung` entscheidet nur über die Zusatzangaben, nicht über
* den Inhalt: Wer meldet, sieht seine eigene Meldung vollständig,
* auch den Namen, den er selbst trägt. */
function nachDraussen(m, fuerLeitung) {
* auch den Namen, den er selbst trägt.
*
* `werFragtId` ist Pflicht, seit es die Knöpfe des Melders gibt —
* ohne sie ist `darf_bestaetigen` eine Aussage über die Meldung
* statt über den Betrachter, und die Leitung bekommt Knöpfe, die sie
* nicht drücken darf. */
function nachDraussen(m, fuerLeitung, werFragtId) {
return {
id: m.id,
text: m.text,
@@ -162,7 +184,7 @@ function nachDraussen(m, fuerLeitung) {
/* DARF ICH JETZT BESTAETIGEN? Vom Server beantwortet, nicht im
Browser nachgerechnet: Dort stuende die Regel ein zweites Mal,
und die zweite Fassung waere ab der naechsten Aenderung falsch. */
darf_bestaetigen: m.stand === SUPPORT_STAND.wartet,
darf_bestaetigen: darfBestaetigen(m, werFragtId),
};
}
@@ -202,7 +224,7 @@ supportRouter.get("/workspace/api/support", (req, res) => {
res.json({
leitung,
meldungen: zeilen.map((m) => nachDraussen(m, leitung)),
meldungen: zeilen.map((m) => nachDraussen(m, leitung, req.person.id)),
/* Die Zahlen stehen in der Antwort und werden nicht im Browser
nachgezählt: Die Liste ist bei 300 abgeschnitten, eine Zählung
darauf wäre ab der 301. Meldung still falsch. */
@@ -347,7 +369,9 @@ supportRouter.post("/workspace/api/support",
}
const frisch = db().prepare("SELECT * FROM support_meldungen WHERE id = ?").get(id);
res.status(201).json({ meldung: nachDraussen(frisch, istLeitung(req.person)) });
res.status(201).json({
meldung: nachDraussen(frisch, istLeitung(req.person), req.person.id),
});
} catch (fehler) {
/* DIE DATEI GEHT MIT, WENN DIE ZEILE NICHT ZUSTANDE KAM. Sonst
sammelt der Ordner Bilder an, zu denen es keine Meldung gibt —
@@ -409,7 +433,12 @@ supportRouter.post("/workspace/api/support/:id/rueckmeldung",
if (!m || m.person_id !== req.person.id) {
return res.status(404).json({ fehler: "nicht_gefunden" });
}
if (m.stand !== SUPPORT_STAND.wartet) {
/* 404 oben war die SICHTBARKEITSFRAGE, das hier ist die
STANDFRAGE -- zwei verschiedene Auskünfte, deshalb zwei Codes.
Gefragt wird mit derselben Funktion, die auch die Knöpfe
zeigt: Was der Bildschirm anbietet und was der Server annimmt,
ist damit ein Satz und nicht zwei. */
if (!darfBestaetigen(m, req.person.id)) {
return res.status(409).json({
fehler: "Hier wartet gerade nichts auf deine Antwort.",
});
@@ -468,7 +497,7 @@ supportRouter.post("/workspace/api/support/:id/rueckmeldung",
}
const frisch = db().prepare("SELECT * FROM support_meldungen WHERE id = ?").get(m.id);
res.json({ meldung: nachDraussen(frisch, false) });
res.json({ meldung: nachDraussen(frisch, false, req.person.id) });
} catch (fehler) {
console.error("[support] Rueckmeldung:", fehler?.message);
res.status(503).json({ fehler: "nicht_verfuegbar" });
@@ -559,9 +588,17 @@ supportRouter.patch("/workspace/api/support/:id(\\d+)", express.json(), (req, re
entsteht hier und nicht beim Melden: Runde 1 beginnt mit dem
ersten „so, probier mal", nicht mit dem Problem. */
if (stand === SUPPORT_STAND.wartet && antwort) {
/* NACHLEGEN ERSETZT, ES VERDOPPELT NICHT. Antwortet die Leitung
ein zweites Mal, waehrend die Meldung schon beim Melder liegt
(„ach, und noch etwas ..."), gehoert das in DIESELBE Runde.
Ohne diese Zeile stuenden zwei „Runde 1" untereinander, und
sein spaeteres Urteil traefe beide gleichzeitig. */
db().prepare(`INSERT INTO support_runden
(meldung_id, nr, antwort, von_id, von_name, am)
VALUES (?,?,?,?,?,?)`)
VALUES (?,?,?,?,?,?)
ON CONFLICT (meldung_id, nr) DO UPDATE
SET antwort = excluded.antwort, von_id = excluded.von_id,
von_name = excluded.von_name, am = excluded.am`)
.run(m.id, m.runde || 1, antwort, req.person.id, req.person.name, n);
}
@@ -588,7 +625,7 @@ supportRouter.patch("/workspace/api/support/:id(\\d+)", express.json(), (req, re
}
const frisch = db().prepare("SELECT * FROM support_meldungen WHERE id = ?").get(m.id);
res.json({ meldung: nachDraussen(frisch, true) });
res.json({ meldung: nachDraussen(frisch, true, req.person.id) });
} catch (fehler) {
console.error("[support] Bearbeiten:", fehler?.message);
res.status(503).json({ fehler: "nicht_verfuegbar" });
+5 -5
View File
@@ -16,15 +16,15 @@
verdeckt. Gefunden hat es pruef-struktur.
Richtig sind `gate.css` (die Farbwerte des Hauses) und `haus.css`. -->
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
<!-- Ohne diese drei nimmt ein iPhone einen Bildschirmausschnitt als
Symbol, Android zeichnet die Leiste weiss, und die Seite oeffnet
ausserhalb der App -- auf einer Seite, die genau erklaeren soll,
WARUM das Telefon nicht klingelt, ist das besonders unpassend. -->
<link rel="manifest" href="/workspace/crew.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<style>
/* Bewusst in der Seite und nicht in einer eigenen Datei: Diese Seite
soll auch dann noch etwas anzeigen, wenn genau das schiefgeht,
@@ -126,7 +126,7 @@
<script src="assets/js/anruf-probe.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/anruf-probe.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
</body>
</html>
+4 -4
View File
@@ -23,25 +23,25 @@
},
"icons": [
{
"src": "/assets/img/app-symbole/workspace-192.png?v=202609250454",
"src": "/assets/img/app-symbole/workspace-192.png?v=202609250510",
"sizes": "192x192",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/workspace-512.png?v=202609250454",
"src": "/assets/img/app-symbole/workspace-512.png?v=202609250510",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609250454",
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609250510",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609250454",
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609250510",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
+50 -37
View File
@@ -1136,20 +1136,33 @@ body.start > main { position: relative; z-index: 1; }
[data-ton="41"] { --ton: #6d8cfe; } /* Treff-Chat */
[data-ton="42"] { --ton: #918a01; } /* Material (Platzhalter, wird gerechnet) */
[data-ton="43"] { --ton: #027afb; } /* Calls & Protokolle (gerechnet 22.09.2026) */
/* GERECHNET, NICHT GEWAEHLT (24.09.2026) -- mit
`node tools/kachel-farben.mjs --neu 44`, das die Farbe sucht, die
von den 43 vorhandenen am weitesten entfernt liegt, ohne eine
einzige davon anzufassen.
/* GEWUENSCHT UND NACHGEMESSEN (25.09.2026)
Abstand zur naechsten vorhandenen Farbe 0,1339 -- das engste
vorhandene Paar liegt bei 0,0154, sie ist also fast neunmal weiter
weg als das schwaechste Glied. Kontrast 13,16:1.
Filipe zum Bildschirmfoto der Support-Seite: „ich will dass du bitte
diese kachel viel geiler viel profissioneller machst, die soll
koomplett anders aussehen und strukturiert sein ... die hauptfarbe
der kachel soll auch babyblau sein mit bissl lila."
HELL, ABER NICHT DIE HELLSTE: nachgemessen liegen Ton 30 (15,56:1),
36 (15,19), 26 (14,83), 22 (14,77) und 37 (14,14) darueber. Die
Sorge, eine fast weisse Kachel koennte blenden, war unbegruendet --
gemessen statt vermutet. */
[data-ton="44"] { --ton: #fd6401; } /* Support (gerechnet 24.09.2026) */
HIER STAND #fd6401, ein Orange, das am 24.09. GERECHNET worden war
(Abstand 0,1339). Diesmal kam die Farbe aus einem Wunsch und nicht
aus einer Rechnung -- also wurde sie nachgemessen, statt sie
einfach einzutragen (`node tools/_kachel-abstand-probe.mjs #a8d8ff 44`):
Kontrast gegen den dunklen Grund 12,46:1 (Hausgrenze 4,5)
Abstand zur naechsten Farbe 0,1125 (Ton 15, #01d7e3)
Engstes Paar im Haus 0,0154 (Ton 20 <-> Ton 35)
-> 7,3-fach weiter weg als das schwaechste Glied
Der Wunsch kostet also 0,0214 Abstand gegenueber dem gerechneten
Orange und bleibt weit ueber allem, was im Haus ohnehin steht. Haette
die Messung etwas anderes gesagt, waere sie die Antwort gewesen --
die Zahl entscheidet, nicht die Reihenfolge der Argumente.
DAS LILA STEHT NICHT HIER, SONDERN IN support.css (`--s-lila`).
Ein Ton ist EINE Farbe: Er faerbt die Kachel auf der Wand, den Kopf
der Seite, das Wasserzeichen und jede Zahl darin. Das Lila ist die
zweite Stimme daneben und gilt nur auf der Support-Seite. */
[data-ton="44"] { --ton: #a8d8ff; } /* Support (Wunschfarbe, nachgemessen 25.09.2026) */
/* GERECHNET, NICHT GEWAEHLT (24.09.2026) -- mit
`node tools/kachel-farbe-einzeln.mjs 45 --schreiben`, das die Farbe
sucht, die von den 44 vorhandenen am weitesten entfernt liegt, ohne
@@ -1165,7 +1178,7 @@ body.start > main { position: relative; z-index: 1; }
(vorher hielt es eine zu blasse Farbe, weil ihr Abstand gut war).
Wer diesen Ton spaeter aufhellen will, muss den Abstand neu rechnen
-- nicht nach Gefuehl nachbessern. */
[data-ton="45"] { --ton: #7567fe; } /* Unterstützen (gerechnet 24.09.2026) */
[data-ton="45"] { --ton: #fd6401; } /* Unterstützen (gerechnet 24.09.2026) */
/* Rückfallwert für alles, was einen Ton braucht, aber keine Nummer hat.
Steht bewusst in :where() -- damit zählt die Zeile beim Wettstreit der
@@ -8528,104 +8541,104 @@ body.start .k-leiste .feldschild::after {
radial-gradient(4.82px 4.82px at 21.3px 22.8px, color-mix(in srgb, #07fff1 88%, #ffffff), color-mix(in srgb, #07fff1 88%, #ffffff) 34%, color-mix(in srgb, #07fff1 55%, transparent) 52%, transparent 100%),
radial-gradient(5.48px 5.48px at 50.6px 7.0px, color-mix(in srgb, #fe8ebe 88%, #ffffff), color-mix(in srgb, #fe8ebe 88%, #ffffff) 34%, color-mix(in srgb, #fe8ebe 55%, transparent) 52%, transparent 100%),
radial-gradient(6.57px 6.57px at 81.2px 6.7px, color-mix(in srgb, #72d512 88%, #ffffff), color-mix(in srgb, #72d512 88%, #ffffff) 34%, color-mix(in srgb, #72d512 55%, transparent) 52%, transparent 100%),
radial-gradient(4.71px 4.71px at 110.3px 23.0px, color-mix(in srgb, #b699fe 88%, #ffffff), color-mix(in srgb, #b699fe 88%, #ffffff) 34%, color-mix(in srgb, #b699fe 55%, transparent) 52%, transparent 100%),
radial-gradient(4.71px 4.71px at 110.3px 23.0px, color-mix(in srgb, #6d8cfe 88%, #ffffff), color-mix(in srgb, #6d8cfe 88%, #ffffff) 34%, color-mix(in srgb, #6d8cfe 55%, transparent) 52%, transparent 100%),
radial-gradient(4.88px 4.88px at 154.3px 8.0px, color-mix(in srgb, #c16302 88%, #ffffff), color-mix(in srgb, #c16302 88%, #ffffff) 34%, color-mix(in srgb, #c16302 55%, transparent) 52%, transparent 100%),
radial-gradient(4.83px 4.83px at 185.7px 11.5px, color-mix(in srgb, #12b37e 88%, #ffffff), color-mix(in srgb, #12b37e 88%, #ffffff) 34%, color-mix(in srgb, #12b37e 55%, transparent) 52%, transparent 100%),
radial-gradient(4.33px 4.33px at 16.5px 42.0px, color-mix(in srgb, #ff57ba 88%, #ffffff), color-mix(in srgb, #ff57ba 88%, #ffffff) 34%, color-mix(in srgb, #ff57ba 55%, transparent) 52%, transparent 100%),
radial-gradient(5.17px 5.17px at 49.7px 52.7px, color-mix(in srgb, #a2af10 88%, #ffffff), color-mix(in srgb, #a2af10 88%, #ffffff) 34%, color-mix(in srgb, #a2af10 55%, transparent) 52%, transparent 100%),
radial-gradient(4.63px 4.63px at 82.5px 47.6px, color-mix(in srgb, #6d8cfe 88%, #ffffff), color-mix(in srgb, #6d8cfe 88%, #ffffff) 34%, color-mix(in srgb, #6d8cfe 55%, transparent) 52%, transparent 100%),
radial-gradient(4.63px 4.63px at 82.5px 47.6px, color-mix(in srgb, #027afb 88%, #ffffff), color-mix(in srgb, #027afb 88%, #ffffff) 34%, color-mix(in srgb, #027afb 55%, transparent) 52%, transparent 100%),
radial-gradient(4.55px 4.55px at 105.1px 54.1px, color-mix(in srgb, #fd6401 88%, #ffffff), color-mix(in srgb, #fd6401 88%, #ffffff) 34%, color-mix(in srgb, #fd6401 55%, transparent) 52%, transparent 100%),
radial-gradient(6.07px 6.07px at 149.6px 56.3px, color-mix(in srgb, #08eb9f 88%, #ffffff), color-mix(in srgb, #08eb9f 88%, #ffffff) 34%, color-mix(in srgb, #08eb9f 55%, transparent) 52%, transparent 100%),
radial-gradient(4.34px 4.34px at 182.8px 53.3px, color-mix(in srgb, #e701c1 88%, #ffffff), color-mix(in srgb, #e701c1 88%, #ffffff) 34%, color-mix(in srgb, #e701c1 55%, transparent) 52%, transparent 100%),
radial-gradient(4.34px 4.34px at 182.8px 53.3px, color-mix(in srgb, #f4acff 88%, #ffffff), color-mix(in srgb, #f4acff 88%, #ffffff) 34%, color-mix(in srgb, #f4acff 55%, transparent) 52%, transparent 100%),
radial-gradient(5.58px 5.58px at 14.4px 89.8px, color-mix(in srgb, #cace02 88%, #ffffff), color-mix(in srgb, #cace02 88%, #ffffff) 34%, color-mix(in srgb, #cace02 55%, transparent) 52%, transparent 100%),
radial-gradient(4.55px 4.55px at 56.4px 81.9px, color-mix(in srgb, #027afb 88%, #ffffff), color-mix(in srgb, #027afb 88%, #ffffff) 34%, color-mix(in srgb, #027afb 55%, transparent) 52%, transparent 100%),
radial-gradient(4.55px 4.55px at 56.4px 81.9px, color-mix(in srgb, #a8d8ff 88%, #ffffff), color-mix(in srgb, #a8d8ff 88%, #ffffff) 34%, color-mix(in srgb, #a8d8ff 55%, transparent) 52%, transparent 100%),
radial-gradient(5.65px 5.65px at 78.8px 88.9px, color-mix(in srgb, #ff9d82 88%, #ffffff), color-mix(in srgb, #ff9d82 88%, #ffffff) 34%, color-mix(in srgb, #ff9d82 55%, transparent) 52%, transparent 100%),
radial-gradient(4.85px 4.85px at 113.3px 78.4px, color-mix(in srgb, #069511 88%, #ffffff), color-mix(in srgb, #069511 88%, #ffffff) 34%, color-mix(in srgb, #069511 55%, transparent) 52%, transparent 100%),
radial-gradient(4.40px 4.40px at 142.4px 90.0px, color-mix(in srgb, #f4acff 88%, #ffffff), color-mix(in srgb, #f4acff 88%, #ffffff) 34%, color-mix(in srgb, #f4acff 55%, transparent) 52%, transparent 100%),
radial-gradient(4.40px 4.40px at 142.4px 90.0px, color-mix(in srgb, #e871ff 88%, #ffffff), color-mix(in srgb, #e871ff 88%, #ffffff) 34%, color-mix(in srgb, #e871ff 55%, transparent) 52%, transparent 100%),
radial-gradient(4.65px 4.65px at 190.5px 85.8px, color-mix(in srgb, #eeef08 88%, #ffffff), color-mix(in srgb, #eeef08 88%, #ffffff) 34%, color-mix(in srgb, #eeef08 55%, transparent) 52%, transparent 100%),
radial-gradient(6.19px 6.19px at 20.7px 123.9px, color-mix(in srgb, #08b5fc 88%, #ffffff), color-mix(in srgb, #08b5fc 88%, #ffffff) 34%, color-mix(in srgb, #08b5fc 55%, transparent) 52%, transparent 100%),
radial-gradient(5.44px 5.44px at 56.7px 116.6px, color-mix(in srgb, #ff1a1a 88%, #ffffff), color-mix(in srgb, #ff1a1a 88%, #ffffff) 34%, color-mix(in srgb, #ff1a1a 55%, transparent) 52%, transparent 100%),
radial-gradient(6.28px 6.28px at 89.2px 122.9px, color-mix(in srgb, #18b803 88%, #ffffff), color-mix(in srgb, #18b803 88%, #ffffff) 34%, color-mix(in srgb, #18b803 55%, transparent) 52%, transparent 100%),
radial-gradient(4.52px 4.52px at 105.6px 108.9px, color-mix(in srgb, #e871ff 88%, #ffffff), color-mix(in srgb, #e871ff 88%, #ffffff) 34%, color-mix(in srgb, #e871ff 55%, transparent) 52%, transparent 100%),
radial-gradient(4.52px 4.52px at 105.6px 108.9px, color-mix(in srgb, #d21afd 88%, #ffffff), color-mix(in srgb, #d21afd 88%, #ffffff) 34%, color-mix(in srgb, #d21afd 55%, transparent) 52%, transparent 100%),
radial-gradient(4.31px 4.31px at 150.4px 108.8px, color-mix(in srgb, #918a01 88%, #ffffff), color-mix(in srgb, #918a01 88%, #ffffff) 34%, color-mix(in srgb, #918a01 55%, transparent) 52%, transparent 100%),
radial-gradient(5.83px 5.83px at 189.4px 117.4px, color-mix(in srgb, #0687bc 88%, #ffffff), color-mix(in srgb, #0687bc 88%, #ffffff) 34%, color-mix(in srgb, #0687bc 55%, transparent) 52%, transparent 100%),
radial-gradient(4.38px 4.38px at 10.9px 139.1px, color-mix(in srgb, #ff6877 88%, #ffffff), color-mix(in srgb, #ff6877 88%, #ffffff) 34%, color-mix(in srgb, #ff6877 55%, transparent) 52%, transparent 100%),
radial-gradient(6.29px 6.29px at 54.7px 155.9px, color-mix(in srgb, #a7ff98 88%, #ffffff), color-mix(in srgb, #a7ff98 88%, #ffffff) 34%, color-mix(in srgb, #a7ff98 55%, transparent) 52%, transparent 100%),
radial-gradient(6.12px 6.12px at 75.1px 154.0px, color-mix(in srgb, #d21afd 88%, #ffffff), color-mix(in srgb, #d21afd 88%, #ffffff) 34%, color-mix(in srgb, #d21afd 55%, transparent) 52%, transparent 100%),
radial-gradient(6.12px 6.12px at 75.1px 154.0px, color-mix(in srgb, #ab68ff 88%, #ffffff), color-mix(in srgb, #ab68ff 88%, #ffffff) 34%, color-mix(in srgb, #ab68ff 55%, transparent) 52%, transparent 100%),
radial-gradient(6.08px 6.08px at 123.3px 154.7px, color-mix(in srgb, #ffbd4a 88%, #ffffff), color-mix(in srgb, #ffbd4a 88%, #ffffff) 34%, color-mix(in srgb, #ffbd4a 55%, transparent) 52%, transparent 100%),
radial-gradient(5.81px 5.81px at 141.2px 142.7px, color-mix(in srgb, #0ed1d0 88%, #ffffff), color-mix(in srgb, #0ed1d0 88%, #ffffff) 34%, color-mix(in srgb, #0ed1d0 55%, transparent) 52%, transparent 100%),
radial-gradient(4.42px 4.42px at 177.4px 144.5px, color-mix(in srgb, #f10778 88%, #ffffff), color-mix(in srgb, #f10778 88%, #ffffff) 34%, color-mix(in srgb, #f10778 55%, transparent) 52%, transparent 100%),
radial-gradient(5.16px 5.16px at 17.7px 183.1px, color-mix(in srgb, #61ff09 88%, #ffffff), color-mix(in srgb, #61ff09 88%, #ffffff) 34%, color-mix(in srgb, #61ff09 55%, transparent) 52%, transparent 100%),
radial-gradient(4.80px 4.80px at 46.6px 182.2px, color-mix(in srgb, #ab68ff 88%, #ffffff), color-mix(in srgb, #ab68ff 88%, #ffffff) 34%, color-mix(in srgb, #ab68ff 55%, transparent) 52%, transparent 100%),
radial-gradient(4.80px 4.80px at 46.6px 182.2px, color-mix(in srgb, #b699fe 88%, #ffffff), color-mix(in srgb, #b699fe 88%, #ffffff) 34%, color-mix(in srgb, #b699fe 55%, transparent) 52%, transparent 100%),
radial-gradient(5.00px 5.00px at 80.1px 179.7px, color-mix(in srgb, #db8908 88%, #ffffff), color-mix(in srgb, #db8908 88%, #ffffff) 34%, color-mix(in srgb, #db8908 55%, transparent) 52%, transparent 100%),
/* 4. DIE MITTLEREN — die Masse des Feldes. */
radial-gradient(3.21px 3.21px at 5.1px 5.6px, color-mix(in srgb, #07fff1 82%, #ffffff), color-mix(in srgb, #07fff1 82%, #ffffff) 34%, transparent 100%),
radial-gradient(3.60px 3.60px at 30.9px 16.4px, color-mix(in srgb, #d21afd 82%, #ffffff), color-mix(in srgb, #d21afd 82%, #ffffff) 34%, transparent 100%),
radial-gradient(3.60px 3.60px at 30.9px 16.4px, color-mix(in srgb, #ab68ff 82%, #ffffff), color-mix(in srgb, #ab68ff 82%, #ffffff) 34%, transparent 100%),
radial-gradient(3.00px 3.00px at 52.4px 11.5px, color-mix(in srgb, #ff1a1a 82%, #ffffff), color-mix(in srgb, #ff1a1a 82%, #ffffff) 34%, transparent 100%),
radial-gradient(2.86px 2.86px at 82.4px 14.9px, color-mix(in srgb, #cace02 82%, #ffffff), color-mix(in srgb, #cace02 82%, #ffffff) 34%, transparent 100%),
radial-gradient(2.96px 2.96px at 98.8px 9.3px, color-mix(in srgb, #12b37e 82%, #ffffff), color-mix(in srgb, #12b37e 82%, #ffffff) 34%, transparent 100%),
radial-gradient(2.65px 2.65px at 121.0px 14.2px, color-mix(in srgb, #ab68ff 82%, #ffffff), color-mix(in srgb, #ab68ff 82%, #ffffff) 34%, transparent 100%),
radial-gradient(2.65px 2.65px at 121.0px 14.2px, color-mix(in srgb, #b699fe 82%, #ffffff), color-mix(in srgb, #b699fe 82%, #ffffff) 34%, transparent 100%),
radial-gradient(2.49px 2.49px at 11.8px 26.8px, color-mix(in srgb, #ff6877 82%, #ffffff), color-mix(in srgb, #ff6877 82%, #ffffff) 34%, transparent 100%),
radial-gradient(2.92px 2.92px at 33.8px 37.3px, color-mix(in srgb, #eeef08 82%, #ffffff), color-mix(in srgb, #eeef08 82%, #ffffff) 34%, transparent 100%),
radial-gradient(2.47px 2.47px at 55.5px 38.6px, color-mix(in srgb, #08eb9f 82%, #ffffff), color-mix(in srgb, #08eb9f 82%, #ffffff) 34%, transparent 100%),
radial-gradient(2.55px 2.55px at 74.8px 28.0px, color-mix(in srgb, #b699fe 82%, #ffffff), color-mix(in srgb, #b699fe 82%, #ffffff) 34%, transparent 100%),
radial-gradient(2.55px 2.55px at 74.8px 28.0px, color-mix(in srgb, #6d8cfe 82%, #ffffff), color-mix(in srgb, #6d8cfe 82%, #ffffff) 34%, transparent 100%),
radial-gradient(2.43px 2.43px at 103.9px 38.4px, color-mix(in srgb, #f10778 82%, #ffffff), color-mix(in srgb, #f10778 82%, #ffffff) 34%, transparent 100%),
radial-gradient(2.62px 2.62px at 124.3px 27.3px, color-mix(in srgb, #918a01 82%, #ffffff), color-mix(in srgb, #918a01 82%, #ffffff) 34%, transparent 100%),
radial-gradient(2.61px 2.61px at 6.8px 55.0px, color-mix(in srgb, #069511 82%, #ffffff), color-mix(in srgb, #069511 82%, #ffffff) 34%, transparent 100%),
radial-gradient(3.19px 3.19px at 36.1px 60.1px, color-mix(in srgb, #6d8cfe 82%, #ffffff), color-mix(in srgb, #6d8cfe 82%, #ffffff) 34%, transparent 100%),
radial-gradient(3.19px 3.19px at 36.1px 60.1px, color-mix(in srgb, #027afb 82%, #ffffff), color-mix(in srgb, #027afb 82%, #ffffff) 34%, transparent 100%),
radial-gradient(3.63px 3.63px at 56.8px 55.5px, color-mix(in srgb, #fe8ebe 82%, #ffffff), color-mix(in srgb, #fe8ebe 82%, #ffffff) 34%, transparent 100%),
radial-gradient(2.62px 2.62px at 82.6px 57.2px, color-mix(in srgb, #ffbd4a 82%, #ffffff), color-mix(in srgb, #ffbd4a 82%, #ffffff) 34%, transparent 100%),
radial-gradient(2.89px 2.89px at 97.7px 59.0px, color-mix(in srgb, #18b803 82%, #ffffff), color-mix(in srgb, #18b803 82%, #ffffff) 34%, transparent 100%),
radial-gradient(3.29px 3.29px at 125.8px 57.6px, color-mix(in srgb, #027afb 82%, #ffffff), color-mix(in srgb, #027afb 82%, #ffffff) 34%, transparent 100%),
radial-gradient(3.29px 3.29px at 125.8px 57.6px, color-mix(in srgb, #a8d8ff 82%, #ffffff), color-mix(in srgb, #a8d8ff 82%, #ffffff) 34%, transparent 100%),
radial-gradient(2.52px 2.52px at 10.9px 83.0px, color-mix(in srgb, #ff57ba 82%, #ffffff), color-mix(in srgb, #ff57ba 82%, #ffffff) 34%, transparent 100%),
radial-gradient(2.37px 2.37px at 33.1px 72.6px, color-mix(in srgb, #db8908 82%, #ffffff), color-mix(in srgb, #db8908 82%, #ffffff) 34%, transparent 100%),
radial-gradient(3.21px 3.21px at 54.6px 78.8px, color-mix(in srgb, #a7ff98 82%, #ffffff), color-mix(in srgb, #a7ff98 82%, #ffffff) 34%, transparent 100%),
radial-gradient(3.43px 3.43px at 71.0px 71.9px, color-mix(in srgb, #08b5fc 82%, #ffffff), color-mix(in srgb, #08b5fc 82%, #ffffff) 34%, transparent 100%),
radial-gradient(3.16px 3.16px at 92.6px 70.6px, color-mix(in srgb, #e701c1 82%, #ffffff), color-mix(in srgb, #e701c1 82%, #ffffff) 34%, transparent 100%),
radial-gradient(3.16px 3.16px at 92.6px 70.6px, color-mix(in srgb, #f4acff 82%, #ffffff), color-mix(in srgb, #f4acff 82%, #ffffff) 34%, transparent 100%),
radial-gradient(3.22px 3.22px at 118.9px 78.1px, color-mix(in srgb, #c16302 82%, #ffffff), color-mix(in srgb, #c16302 82%, #ffffff) 34%, transparent 100%),
radial-gradient(2.50px 2.50px at 16.0px 101.8px, color-mix(in srgb, #61ff09 82%, #ffffff), color-mix(in srgb, #61ff09 82%, #ffffff) 34%, transparent 100%),
radial-gradient(2.80px 2.80px at 33.8px 102.3px, color-mix(in srgb, #0687bc 82%, #ffffff), color-mix(in srgb, #0687bc 82%, #ffffff) 34%, transparent 100%),
radial-gradient(2.52px 2.52px at 49.8px 93.9px, color-mix(in srgb, #f4acff 82%, #ffffff), color-mix(in srgb, #f4acff 82%, #ffffff) 34%, transparent 100%),
radial-gradient(2.52px 2.52px at 49.8px 93.9px, color-mix(in srgb, #e871ff 82%, #ffffff), color-mix(in srgb, #e871ff 82%, #ffffff) 34%, transparent 100%),
radial-gradient(2.87px 2.87px at 77.0px 95.8px, color-mix(in srgb, #fd6401 82%, #ffffff), color-mix(in srgb, #fd6401 82%, #ffffff) 34%, transparent 100%),
radial-gradient(2.37px 2.37px at 101.9px 95.3px, color-mix(in srgb, #72d512 82%, #ffffff), color-mix(in srgb, #72d512 82%, #ffffff) 34%, transparent 100%),
radial-gradient(3.42px 3.42px at 113.5px 91.8px, color-mix(in srgb, #0ed1d0 82%, #ffffff), color-mix(in srgb, #0ed1d0 82%, #ffffff) 34%, transparent 100%),
radial-gradient(3.22px 3.22px at 12.7px 116.5px, color-mix(in srgb, #e871ff 82%, #ffffff), color-mix(in srgb, #e871ff 82%, #ffffff) 34%, transparent 100%),
radial-gradient(3.22px 3.22px at 12.7px 116.5px, color-mix(in srgb, #d21afd 82%, #ffffff), color-mix(in srgb, #d21afd 82%, #ffffff) 34%, transparent 100%),
radial-gradient(2.35px 2.35px at 26.5px 120.2px, color-mix(in srgb, #ff9d82 82%, #ffffff), color-mix(in srgb, #ff9d82 82%, #ffffff) 34%, transparent 100%),
radial-gradient(3.34px 3.34px at 53.1px 119.0px, color-mix(in srgb, #a2af10 82%, #ffffff), color-mix(in srgb, #a2af10 82%, #ffffff) 34%, transparent 100%),
/* 5. DER FEINE STAUB. Er füllt die Lücken: Ein Feld aus nur
großen Punkten sieht aus wie aufgeklebt. */
radial-gradient(1.70px 1.70px at 6.2px 11.0px, color-mix(in srgb, #07fff1 74%, #ffffff), color-mix(in srgb, #07fff1 74%, #ffffff) 34%, transparent 100%),
radial-gradient(2.00px 2.00px at 19.0px 4.4px, color-mix(in srgb, #ab68ff 74%, #ffffff), color-mix(in srgb, #ab68ff 74%, #ffffff) 34%, transparent 100%),
radial-gradient(2.00px 2.00px at 19.0px 4.4px, color-mix(in srgb, #b699fe 74%, #ffffff), color-mix(in srgb, #b699fe 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.88px 1.88px at 38.0px 4.6px, color-mix(in srgb, #f10778 74%, #ffffff), color-mix(in srgb, #f10778 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.78px 1.78px at 49.4px 2.8px, color-mix(in srgb, #ffbd4a 74%, #ffffff), color-mix(in srgb, #ffbd4a 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.68px 1.68px at 65.7px 3.2px, color-mix(in srgb, #a7ff98 74%, #ffffff), color-mix(in srgb, #a7ff98 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.75px 1.75px at 77.7px 7.7px, color-mix(in srgb, #0687bc 74%, #ffffff), color-mix(in srgb, #0687bc 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.44px 1.44px at 3.7px 23.9px, color-mix(in srgb, #e871ff 74%, #ffffff), color-mix(in srgb, #e871ff 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.44px 1.44px at 3.7px 23.9px, color-mix(in srgb, #d21afd 74%, #ffffff), color-mix(in srgb, #d21afd 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.64px 1.64px at 23.7px 21.2px, color-mix(in srgb, #ff1a1a 74%, #ffffff), color-mix(in srgb, #ff1a1a 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.53px 1.53px at 30.8px 17.1px, color-mix(in srgb, #eeef08 74%, #ffffff), color-mix(in srgb, #eeef08 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.69px 1.69px at 46.6px 21.7px, color-mix(in srgb, #069511 74%, #ffffff), color-mix(in srgb, #069511 74%, #ffffff) 34%, transparent 100%),
radial-gradient(2.03px 2.03px at 64.3px 18.5px, color-mix(in srgb, #027afb 74%, #ffffff), color-mix(in srgb, #027afb 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.36px 1.36px at 77.2px 20.7px, color-mix(in srgb, #e701c1 74%, #ffffff), color-mix(in srgb, #e701c1 74%, #ffffff) 34%, transparent 100%),
radial-gradient(2.03px 2.03px at 64.3px 18.5px, color-mix(in srgb, #a8d8ff 74%, #ffffff), color-mix(in srgb, #a8d8ff 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.36px 1.36px at 77.2px 20.7px, color-mix(in srgb, #f4acff 74%, #ffffff), color-mix(in srgb, #f4acff 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.40px 1.40px at 3.8px 31.4px, color-mix(in srgb, #fd6401 74%, #ffffff), color-mix(in srgb, #fd6401 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.36px 1.36px at 17.0px 32.1px, color-mix(in srgb, #a2af10 74%, #ffffff), color-mix(in srgb, #a2af10 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.84px 1.84px at 32.1px 35.9px, color-mix(in srgb, #12b37e 74%, #ffffff), color-mix(in srgb, #12b37e 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.63px 1.63px at 48.3px 34.6px, color-mix(in srgb, #b699fe 74%, #ffffff), color-mix(in srgb, #b699fe 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.63px 1.63px at 48.3px 34.6px, color-mix(in srgb, #6d8cfe 74%, #ffffff), color-mix(in srgb, #6d8cfe 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.47px 1.47px at 61.7px 38.8px, color-mix(in srgb, #fe8ebe 74%, #ffffff), color-mix(in srgb, #fe8ebe 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.59px 1.59px at 73.2px 36.6px, color-mix(in srgb, #db8908 74%, #ffffff), color-mix(in srgb, #db8908 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.34px 1.34px at 2.9px 51.3px, color-mix(in srgb, #61ff09 74%, #ffffff), color-mix(in srgb, #61ff09 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.78px 1.78px at 17.6px 52.6px, color-mix(in srgb, #0ed1d0 74%, #ffffff), color-mix(in srgb, #0ed1d0 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.72px 1.72px at 35.6px 46.1px, color-mix(in srgb, #d21afd 74%, #ffffff), color-mix(in srgb, #d21afd 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.72px 1.72px at 35.6px 46.1px, color-mix(in srgb, #ab68ff 74%, #ffffff), color-mix(in srgb, #ab68ff 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.87px 1.87px at 50.9px 49.3px, color-mix(in srgb, #ff6877 74%, #ffffff), color-mix(in srgb, #ff6877 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.44px 1.44px at 59.6px 52.2px, color-mix(in srgb, #918a01 74%, #ffffff), color-mix(in srgb, #918a01 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.77px 1.77px at 73.3px 49.9px, color-mix(in srgb, #18b803 74%, #ffffff), color-mix(in srgb, #18b803 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.76px 1.76px at 3.5px 65.0px, color-mix(in srgb, #08b5fc 74%, #ffffff), color-mix(in srgb, #08b5fc 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.72px 1.72px at 25.0px 58.0px, color-mix(in srgb, #f4acff 74%, #ffffff), color-mix(in srgb, #f4acff 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.72px 1.72px at 25.0px 58.0px, color-mix(in srgb, #e871ff 74%, #ffffff), color-mix(in srgb, #e871ff 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.77px 1.77px at 30.9px 65.9px, color-mix(in srgb, #ff9d82 74%, #ffffff), color-mix(in srgb, #ff9d82 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.87px 1.87px at 51.0px 65.4px, color-mix(in srgb, #cace02 74%, #ffffff), color-mix(in srgb, #cace02 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.38px 1.38px at 61.3px 65.1px, color-mix(in srgb, #08eb9f 74%, #ffffff), color-mix(in srgb, #08eb9f 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.79px 1.79px at 78.3px 63.7px, color-mix(in srgb, #6d8cfe 74%, #ffffff), color-mix(in srgb, #6d8cfe 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.79px 1.79px at 78.3px 63.7px, color-mix(in srgb, #027afb 74%, #ffffff), color-mix(in srgb, #027afb 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.34px 1.34px at 9.8px 74.9px, color-mix(in srgb, #ff57ba 74%, #ffffff), color-mix(in srgb, #ff57ba 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.54px 1.54px at 20.7px 75.9px, color-mix(in srgb, #c16302 74%, #ffffff), color-mix(in srgb, #c16302 74%, #ffffff) 34%, transparent 100%),
radial-gradient(1.61px 1.61px at 31.6px 74.4px, color-mix(in srgb, #72d512 74%, #ffffff), color-mix(in srgb, #72d512 74%, #ffffff) 34%, transparent 100%),
+38
View File
@@ -589,3 +589,41 @@
background: rgba(143, 227, 176, .14);
border-color: #8fe3b0;
}
/* =====================================================================
„WER IST DRAN?" -- der ruhige Hinweis fuer die Leitung (25.09.2026)
=====================================================================
Liegt eine Meldung beim Melder, ist die Leitung nicht dran. Das
steht als Satz da und nicht als Warnung: Es ist der NORMALE Lauf
der Dinge, und eine Seite, die den Normalfall anschreit, hat am
Ernstfall keine Lautstaerke mehr uebrig.
DER PUNKT ATMET, aber langsam (3,2 s) und nur zwischen 40 % und
100 % Deckkraft -- er soll auffindbar sein, nicht blinken. Bei
`prefers-reduced-motion` steht er still; das ist Hausregel und hier
besonders wichtig, weil dieser Hinweis auf jeder wartenden Karte
steht und sich damit vervielfacht. */
.inhalt.support-seite .s-karte__wartet {
display: flex; align-items: center; gap: 9px;
margin: 12px 0 0;
font-size: .84rem; line-height: 1.45;
color: color-mix(in srgb, var(--s-lila, #b9a7ff) 34%, #d7e4f2);
}
.inhalt.support-seite .s-karte__wartet-punkt {
flex: none;
width: 7px; height: 7px; border-radius: 50%;
background: var(--s-lila, #b9a7ff);
box-shadow: 0 0 0 3px color-mix(in srgb, var(--s-lila, #b9a7ff) 16%, transparent);
animation: s-wartet-atmen 3.2s ease-in-out infinite;
}
@keyframes s-wartet-atmen {
0%, 100% { opacity: 1; }
50% { opacity: .4; }
}
@media (prefers-reduced-motion: reduce) {
.inhalt.support-seite .s-karte__wartet-punkt { animation: none; }
}
@media (forced-colors: active) {
.inhalt.support-seite .s-karte__wartet-punkt { background: CanvasText; }
}
+46 -8
View File
@@ -382,6 +382,25 @@
reihe.append(dran);
}
/* ==== WER IST DRAN? (25.09.2026) =============================
Liegt die Meldung beim Melder, ist die Leitung NICHT dran --
und ein Knopf „Behoben – nachfragen ..." waere dort schlicht
falsch: Sie hat ja schon nachgefragt. Gefunden hat das kein
Test, sondern ein Bildschirmfoto der fertigen Seite.
DER HINWEIS STEHT VOR DEM KNOPF, nicht statt seiner: Manchmal
faellt einem hinterher noch etwas ein, und dann soll man es
schicken koennen. Der Knopf heisst dann aber, was er tut. */
let hinweis = null;
if (m.stand === 'wartet') {
hinweis = el('p', 's-karte__wartet');
hinweis.append(el('span', 's-karte__wartet-punkt'));
hinweis.append(document.createTextNode(
m.von ? `Liegt bei ${m.von} – sie oder er sagt, ob es wieder geht.`
: 'Liegt beim Melder – er sagt, ob es wieder geht.'));
}
/* DER KNOPF HEISST ANDERS, WEIL ER ETWAS ANDERES TUT (25.09.2026).
„Erledigt" hiess: zu. Jetzt geht die Meldung damit zuerst an den
@@ -389,29 +408,48 @@
„Erledigt" sagt und in Wahrheit eine Frage stellt, waere genau
die Sorte Beschriftung, die man einmal glaubt und danach nie
wieder. */
const fertig = el('button', 'schritt', 'Behoben – nachfragen …');
const fertig = el('button', 'schritt',
m.stand === 'wartet' ? 'Noch etwas nachschicken …' : 'Behoben – nachfragen …');
fertig.type = 'button';
fertig.addEventListener('click', async () => {
/* WER ZUMACHT, SAGT WARUM. Der Melder sieht nur diesen Satz —
ohne ihn weiß er nicht, ob etwas behoben wurde oder ob
niemand Zeit hatte. Der Server verlangt ihn ohnehin; hier
wird er gefragt, statt eine Absage zu kassieren. */
const nachtrag = m.stand === 'wartet';
const antwort = await window.frageNach?.({
titel: 'Behoben – beim Melder nachfragen?',
was: 'Er bekommt deinen Satz und zwei Knöpfe: „Geht wieder" oder „Noch nicht".',
bleibt: 'Erledigt ist sie erst, wenn ER bestätigt. Sagt er „noch nicht", '
+ 'kommt sie zurück – mit allem, was ihr bisher geschrieben habt.',
ja: 'Nachfragen',
titel: nachtrag ? 'Noch etwas nachschicken?' : 'Behoben – beim Melder nachfragen?',
was: nachtrag
? 'Dein neuer Satz ERSETZT den alten in dieser Runde – der Melder sieht nur ihn.'
: 'Er bekommt deinen Satz und zwei Knöpfe: „Geht wieder" oder „Noch nicht".',
bleibt: nachtrag
? 'Die Meldung bleibt bei ihm liegen. Der Verlauf davor bleibt stehen.'
: 'Erledigt ist sie erst, wenn ER bestätigt. Sagt er „noch nicht", '
+ 'kommt sie zurück – mit allem, was ihr bisher geschrieben habt.',
ja: nachtrag ? 'Nachschicken' : 'Nachfragen',
grund: 'Was ist daraus geworden?',
grundPflicht: true,
grundMin: 3,
platzhalter: 'z. B. Behoben, der Knopf geht wieder.',
platzhalter: nachtrag
? 'z. B. Behoben, der Knopf geht wieder – und das Datum stimmt jetzt auch.'
: 'z. B. Behoben, der Knopf geht wieder.',
});
if (!antwort) return;
await aendern(m, 'erledigt', antwort.grund || '');
});
reihe.append(fertig);
return reihe;
/* EIN FRAGMENT, WEIL `reihe.before(...)` HIER NICHTS TUT.
Die Reihe haengt in diesem Moment noch an keinem Elternknoten --
sie wird erst vom Aufrufer eingesetzt --, und `before()` auf
einem heimatlosen Element ist wirkungslos. Ohne Fehlermeldung:
Der Hinweis wurde gebaut, stand nirgends, und das Bild sah aus
wie vorher. Aufgefallen beim Nachsehen am Bildschirmfoto, nicht
im Code. */
if (!hinweis) return reihe;
const beides = document.createDocumentFragment();
beides.append(hinweis, reihe);
return beides;
}
async function aendern(m, stand, antwort) {
+19 -19
View File
@@ -12,19 +12,19 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -391,22 +391,22 @@
<!-- TEXTFORM ZUERST (21.09.2026): Die Seite fragt beim Zeichnen nach
`window.Textform`. Kaeme sie spaeter, waere der erste Eintrag ohne
Gestaltung. Kein `defer`, damit sie wirklich vorher dasteht. -->
<script src="assets/js/textform.js?v=202609250454"></script>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/hochladen.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/textform.js?v=202609250510"></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/hochladen.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/zuteilung.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/zuteilung.js?v=202609250510" defer></script>
<!-- Der Vorlagenkatalog stand bis zum 23.09.2026 mitten in
aufgaben.js. Er bedient jetzt zwei Seiten und hat deshalb eine
eigene Datei; hier zeigt er den Creator-Katalog.
Vor aufgaben.js, weil die Seite ihn beim Start einrichtet. -->
<script src="assets/js/vorlagenbrett.js?v=202609250454" defer></script>
<script src="assets/js/aufgaben.js?v=202609250454" defer></script>
<script src="assets/js/vorlagenbrett.js?v=202609250510" defer></script>
<script src="assets/js/aufgaben.js?v=202609250510" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/automation.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/automation.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -168,15 +168,15 @@
</main>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/automation.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/automation.js?v=202609250510" defer></script>
</body>
</html>
+17 -17
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -197,16 +197,16 @@
</main>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/holen.js?v=202609250454" defer></script>
<script src="assets/js/befinden.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/holen.js?v=202609250510" defer></script>
<script src="assets/js/befinden.js?v=202609250510" defer></script>
</body>
</html>
+22 -22
View File
@@ -12,24 +12,24 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609250510" />
<!-- Wegen des Blocks „Willst du dazugehoeren?" auf dem Brett
„Mitmachen". Eine eigene Kopie der Regel hier waere die zweite
Stelle, an der dieselbe Sache anders aussieht. -->
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -304,19 +304,19 @@
<!-- TEXTFORM ZUERST (21.09.2026): Die Seite fragt beim Zeichnen nach
`window.Textform`. Kaeme sie spaeter, waere der erste Eintrag ohne
Gestaltung. Kein `defer`, damit sie wirklich vorher dasteht. -->
<script src="assets/js/textform.js?v=202609250454"></script>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/textform.js?v=202609250510"></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/checkliste.js?v=202609250454" defer></script>
<script src="assets/js/ampel.js?v=202609250454" defer></script>
<script src="assets/js/schulung.js?v=202609250454" defer></script>
<script src="assets/js/holen.js?v=202609250454" defer></script>
<script src="assets/js/bereich.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/checkliste.js?v=202609250510" defer></script>
<script src="assets/js/ampel.js?v=202609250510" defer></script>
<script src="assets/js/schulung.js?v=202609250510" defer></script>
<script src="assets/js/holen.js?v=202609250510" defer></script>
<script src="assets/js/bereich.js?v=202609250510" defer></script>
</body>
</html>
+19 -19
View File
@@ -7,17 +7,17 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -108,15 +108,15 @@
</main>
<!-- Der Fuß gehört zu jeder Seite - siehe pruef-css-klassen. -->
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/auskunft.js?v=202609250454" defer></script>
<script src="assets/js/bewerben.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/auskunft.js?v=202609250510" defer></script>
<script src="assets/js/bewerben.js?v=202609250510" defer></script>
</body>
</html>
+18 -18
View File
@@ -7,16 +7,16 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -80,16 +80,16 @@
</main>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/auskunft.js?v=202609250454" defer></script>
<script src="assets/js/bewerbungen.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/auskunft.js?v=202609250510" defer></script>
<script src="assets/js/bewerbungen.js?v=202609250510" defer></script>
</body>
</html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/calls.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/calls.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -89,15 +89,15 @@
</main>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/ki.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/calls.js?v=202609250454" defer></script>
<script src="assets/js/ki.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/calls.js?v=202609250510" defer></script>
</body>
</html>
+20 -20
View File
@@ -12,26 +12,26 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<!-- aufgaben.css bringt die Dialog- und Formularstile mit (.dialog,
.neu__zeile, .dialog__knoepfe). Sie stehen dort seit dem
Aufgabenbrett; sie hierher zu kopieren hiesse, sie an zwei Stellen
zu pflegen. Dieselbe Lösung nutzen kalender.html und content.html.
Gemeldet von pruef-css-klassen.mjs, bevor jemand einen ungestylten
Dialog zu sehen bekam. -->
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/chat.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/chat.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -739,24 +739,24 @@
</form>
</dialog>
<script src="assets/js/bereiche.js?v=202609250454"></script>
<script src="assets/js/bereiche.js?v=202609250510"></script>
<!-- TEXTFORM VOR ALLEM ANDEREN (21.09.2026): chat.js und bereich.js
fragen beim Zeichnen nach `window.Textform`. Kaeme sie spaeter,
waere die erste gezeichnete Nachricht ohne Gestaltung -- und das
faellt nur dem auf, der genau hinsieht. KEIN `defer`, damit sie
wirklich vor den anderen dasteht. -->
<script src="assets/js/textform.js?v=202609250454"></script>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/hochladen.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454"></script>
<script src="assets/js/glocke.js?v=202609250454"></script>
<script src="assets/js/textform.js?v=202609250510"></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/hochladen.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510"></script>
<script src="assets/js/glocke.js?v=202609250510"></script>
<!-- ANRUF VOR CHAT (18.09.2026): anruf.js stellt `window.anrufStarten`
bereit, und chat.js baut die Knoepfe nur, wenn es das gibt.
Andersherum waere die Reihenfolge eine stille Abhaengigkeit --
die Knoepfe fehlten, und niemand wuesste warum. -->
<script src="assets/js/anruf.js?v=202609250454"></script>
<script src="assets/js/anruf.js?v=202609250510"></script>
<!-- DIE BILDSCHAU (25.09.2026). Eigene Datei, weil sie nichts vom
Chat weiss: Sie bekommt einen Weg und einen Namen und zeigt ein
Bild. Jede andere Seite mit Fotos kann sie ebenso benutzen, ohne
@@ -767,8 +767,8 @@
sie beim ersten Foto noch nicht da -- und der erste Klick ginge
wie frueher in den Tab. Ein Fehler, der nur beim ERSTEN Mal
auftritt, ist der, den man nie nachstellen kann. -->
<script src="assets/js/bildschau.js?v=202609250454"></script>
<script src="assets/js/chat.js?v=202609250454"></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/bildschau.js?v=202609250510"></script>
<script src="assets/js/chat.js?v=202609250510"></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
</body>
</html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/content.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/content.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -179,15 +179,15 @@
</main>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/checkliste.js?v=202609250454" defer></script>
<script src="assets/js/content.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/checkliste.js?v=202609250510" defer></script>
<script src="assets/js/content.js?v=202609250510" defer></script>
</body>
</html>
+6 -6
View File
@@ -36,15 +36,15 @@
<link rel="preload" as="image" href="assets/img/buehne/crew-gate-hoch-580.webp"
type="image/webp" media="(max-width: 899px)" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/crew-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/crew-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<!-- Diese Wand steht NUR auf der Adresse von Team Dogi (ueberall sonst
404, siehe crewWeiche). Sie darf das Haus deshalb direkt nennen
statt ueber den Platzhalter haus.css zu gehen -- und sie MUSS es:
Eine Zugangswand, die sich erst nach dem Umbiegen faerbt, waere
die eine Seite, auf der man das Umfaerben sieht. -->
<link rel="stylesheet" href="assets/css/crew-haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/crew-haus.css?v=202609250510" />
</head>
<body class="gate gate--crew">
@@ -459,7 +459,7 @@
<script src="assets/js/gate.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/gate.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
</body>
</html>
+4 -4
View File
@@ -23,25 +23,25 @@
},
"icons": [
{
"src": "/assets/img/app-symbole/crew-192.png?v=202609250454",
"src": "/assets/img/app-symbole/crew-192.png?v=202609250510",
"sizes": "192x192",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/crew-512.png?v=202609250454",
"src": "/assets/img/app-symbole/crew-512.png?v=202609250510",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202609250454",
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202609250510",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202609250454",
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202609250510",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/dateien.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/dateien.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -108,15 +108,15 @@
</main>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/hochladen.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/hochladen.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/dateien.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/dateien.js?v=202609250510" defer></script>
</body>
</html>
+18 -18
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -297,20 +297,20 @@
</main>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/holen.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/holen.js?v=202609250510" defer></script>
<!-- VOR entwicklung.js: Die Seite richtet den Katalog beim Start ein,
also muss es ihn zu dem Zeitpunkt geben. Mit "defer" laufen beide
in Dokumentreihenfolge. -->
<script src="assets/js/vorlagenbrett.js?v=202609250454" defer></script>
<script src="assets/js/entwicklung.js?v=202609250454" defer></script>
<script src="assets/js/vorlagenbrett.js?v=202609250510" defer></script>
<script src="assets/js/entwicklung.js?v=202609250510" defer></script>
</body>
</html>
+15 -15
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/hilfe.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/hilfe.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -146,14 +146,14 @@
</main>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/hilfe.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/hilfe.js?v=202609250510" defer></script>
</body>
</html>
+5 -5
View File
@@ -30,9 +30,9 @@
<link rel="preload" as="image" href="assets/img/buehne/gate-hoch-580.webp"
type="image/webp" media="(max-width: 899px)" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
</head>
<body class="gate">
@@ -427,7 +427,7 @@
<script src="assets/js/gate.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/gate.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
</body>
</html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/kalender.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/kalender.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -383,15 +383,15 @@
</main>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/kalender.js?v=202609250454" defer></script>
<script src="assets/js/kalender-abo.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/kalender.js?v=202609250510" defer></script>
<script src="assets/js/kalender-abo.js?v=202609250510" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/leistung.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/leistung.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -444,13 +444,13 @@
</form>
</dialog>
<script src="assets/js/meldung.js?v=202609250454"></script>
<script src="assets/js/nachfrage.js?v=202609250454"></script>
<script src="assets/js/wahl.js?v=202609250454"></script>
<script src="assets/js/bereiche.js?v=202609250454"></script>
<script src="assets/js/kopf.js?v=202609250454"></script>
<script src="assets/js/glocke.js?v=202609250454"></script>
<script src="assets/js/leistung.js?v=202609250454"></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510"></script>
<script src="assets/js/nachfrage.js?v=202609250510"></script>
<script src="assets/js/wahl.js?v=202609250510"></script>
<script src="assets/js/bereiche.js?v=202609250510"></script>
<script src="assets/js/kopf.js?v=202609250510"></script>
<script src="assets/js/glocke.js?v=202609250510"></script>
<script src="assets/js/leistung.js?v=202609250510"></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,13 +12,13 @@
vergessen wird. -->
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/material.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/material.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start" data-ton="42" data-buehne="studio">
@@ -138,14 +138,14 @@
<p class="m-laedt" id="laedt">Einen Moment …</p>
</main>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/hochladen.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/material.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/hochladen.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/material.js?v=202609250510" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/personen.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/personen.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -453,14 +453,14 @@
</main>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/personen.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/personen.js?v=202609250510" defer></script>
</body>
</html>
+18 -18
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -214,16 +214,16 @@
</main>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/hochladen.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/hochladen.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/steckbrief.js?v=202609250454" defer></script>
<script src="assets/js/profil.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/steckbrief.js?v=202609250510" defer></script>
<script src="assets/js/profil.js?v=202609250510" defer></script>
</body>
</html>
+17 -17
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -134,14 +134,14 @@
Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen
Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen,
die seit dem 07.09. jede Seite danach absucht. -->
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/holen.js?v=202609250454" defer></script>
<script src="assets/js/rechte.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/holen.js?v=202609250510" defer></script>
<script src="assets/js/rechte.js?v=202609250510" defer></script>
</body>
</html>
+18 -18
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/report.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/report.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -106,17 +106,17 @@
</main>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/ki.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/holen.js?v=202609250454" defer></script>
<script src="assets/js/report.js?v=202609250454" defer></script>
<script src="assets/js/ki.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/holen.js?v=202609250510" defer></script>
<script src="assets/js/report.js?v=202609250510" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/scouting.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/scouting.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -173,14 +173,14 @@
</div>
</div>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/scouting.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/scouting.js?v=202609250510" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,21 +12,21 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<!-- Nur die Startseite: Begrüßungskachel, Uhr, Glockenmulde. Siehe
den Hinweis in start.css -- dort stand es bis zum 07.09.2026. -->
<link rel="stylesheet" href="assets/css/heim.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/heim.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -700,16 +700,16 @@
</p>
</main>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/live.js?v=202609250454" defer></script>
<script src="assets/js/start.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/live.js?v=202609250510" defer></script>
<script src="assets/js/start.js?v=202609250510" defer></script>
</body>
</html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -85,16 +85,16 @@
</main>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/ki.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/startcheck.js?v=202609250454" defer></script>
<script src="assets/js/ki.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/startcheck.js?v=202609250510" defer></script>
</body>
</html>
+18 -18
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -150,16 +150,16 @@
</main>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/hochladen.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/hochladen.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/auskunft.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/steckbrief.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/auskunft.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/steckbrief.js?v=202609250510" defer></script>
</body>
</html>
+14 -14
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/support.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/support.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -128,16 +128,16 @@
(reading 'LEITUNG')" ab -- gemessen am 24.09.2026, als diese
Zeile beim Anlegen der Seite fehlte. Die Kopfleiste kam
trotzdem, deshalb sah man es nur in der Browserkonsole. -->
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<!-- wahl.js gehoert zu kopf.js: Der Sicht-Umschalter in der
Kopfleiste baut daraus seine Liste. pruef-css-klassen setzt das
seit dem 07.09.2026 durch -- damals fehlte es auf chat.html und
uebersicht.html, und heute hier. -->
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/support.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/support.js?v=202609250510" defer></script>
</body>
</html>
+18 -18
View File
@@ -7,18 +7,18 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609250510" />
<!-- Wegen des Kastens „Anfragen“ ueber der Liste. Eine eigene Kopie
der Regel hier waere die zweite Stelle, an der dieselbe Sache
anders aussieht. -->
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -111,15 +111,15 @@
</main>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/holen.js?v=202609250454" defer></script>
<script src="assets/js/talente.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/holen.js?v=202609250510" defer></script>
<script src="assets/js/talente.js?v=202609250510" defer></script>
</body>
</html>
+16 -16
View File
@@ -7,20 +7,20 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/team.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/team.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -110,15 +110,15 @@
</main>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/holen.js?v=202609250454" defer></script>
<script src="assets/js/team.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/holen.js?v=202609250510" defer></script>
<script src="assets/js/team.js?v=202609250510" defer></script>
</body>
</html>
+17 -17
View File
@@ -7,20 +7,20 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/team.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/team.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<!-- `data-buehne` steht hier fest und nicht im Skript: Die Kachel zu
@@ -84,15 +84,15 @@
Kaputt ist dabei nichts -- er funktioniert. Genau deshalb faellt
es niemandem auf, und deshalb prueft pruef-css-klassen die
ABHAENGIGKEIT statt der Optik. Hier hat sie angeschlagen. -->
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/holen.js?v=202609250454" defer></script>
<script src="assets/js/teamlage.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/holen.js?v=202609250510" defer></script>
<script src="assets/js/teamlage.js?v=202609250510" defer></script>
</body>
</html>
+15 -15
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -112,15 +112,15 @@
</main>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/teilen.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/teilen.js?v=202609250510" defer></script>
</body>
</html>
+16 -16
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -126,14 +126,14 @@
</main>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/treff-moderation.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/treff-moderation.js?v=202609250510" defer></script>
</body>
</html>
+16 -16
View File
@@ -7,18 +7,18 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<!-- haus.css MUSS die letzte Stilvorlage sein. Auf der Adresse des
Rudels biegt der Server genau diesen Dateinamen auf crew-haus.css
um, und die Seite kommt schon beim ERSTEN Abruf in Lila und
Babyblau an -- ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -248,14 +248,14 @@
Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen
Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen,
die seit dem 07.09. jede Seite danach absucht. -->
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/auskunft.js?v=202609250454" defer></script>
<script src="assets/js/treff-regeln.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/auskunft.js?v=202609250510" defer></script>
<script src="assets/js/treff-regeln.js?v=202609250510" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,22 +12,22 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<!-- Formular- und Dialogstile: seit dem 07.09.2026 steht hier der
Dialog "Creator anlegen". -->
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -149,16 +149,16 @@
</main>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/uebersicht.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/uebersicht.js?v=202609250510" defer></script>
</body>
</html>
+15 -15
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -335,14 +335,14 @@
</main>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/live.js?v=202609250454" defer></script>
<script src="assets/js/unsere-seiten.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/live.js?v=202609250510" defer></script>
<script src="assets/js/unsere-seiten.js?v=202609250510" defer></script>
</body>
</html>
+16 -16
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/unterstuetzen.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/unterstuetzen.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -106,17 +106,17 @@
<!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js
liest daraus die Leitungsrollen. Ohne sie stürzt jede Seite mit
„Cannot read properties of undefined (reading 'LEITUNG')" ab. -->
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/holen.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/holen.js?v=202609250510" defer></script>
<!-- Die Satz-Tafel. Ohne sie stand auf dieser Seite das Maschinenwort
des Servers (z.B. "nicht_gefunden") statt eines Satzes -- gemeldet
von pruef-meldungen, nicht beim Ansehen. -->
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/unterstuetzen.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/unterstuetzen.js?v=202609250510" defer></script>
</body>
</html>
+16 -16
View File
@@ -7,15 +7,15 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/werdegang.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/werdegang.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -144,14 +144,14 @@
</main>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/werdegang.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/werdegang.js?v=202609250510" defer></script>
</body>
</html>
+15 -15
View File
@@ -12,13 +12,13 @@
vergessen wird. -->
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/willkommen.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/willkommen.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<!-- KOERPERKLASSE "start", NICHT "gate" (berichtigt 21.09.2026).
`body.gate` ist die Anmeldewand: `display:flex; align-items:center`,
@@ -75,13 +75,13 @@
<p class="fehler" id="fehler" hidden></p>
</main>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/willkommen.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/willkommen.js?v=202609250510" defer></script>
</body>
</html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/wissen.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609250510" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250510" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/wissen.css?v=202609250510" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250510" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250510" />
</head>
<body class="start">
@@ -190,15 +190,15 @@
</main>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/hochladen.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/meldung.js?v=202609250510" defer></script>
<script src="assets/js/hochladen.js?v=202609250510" defer></script>
<script src="assets/js/nachfrage.js?v=202609250510" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/wissen.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250510" defer></script>
<script src="assets/js/bereiche.js?v=202609250510" defer></script>
<script src="assets/js/installieren.js?v=202609250510" defer></script>
<script src="assets/js/kopf.js?v=202609250510" defer></script>
<script src="assets/js/glocke.js?v=202609250510" defer></script>
<script src="assets/js/wissen.js?v=202609250510" defer></script>
</body>
</html>