screen5 und screen4: zwei Farben gesetzt, 14 auseinandergezogen
screen5 (ausdruecklich VOR screen4, wie gewuenscht): "Vertraulich melden" traegt jetzt Ton 28 -- die Farbe, die "Regeln & Hilfe" hatte. Beide gehoeren zusammen: Wer Hilfe sucht, landet bei einem von beiden. "Regeln & Hilfe" bekam dafuer einen eigenen Ton; zwei Kacheln mit derselben Farbe in derselben Ansicht waeren genau das, was screen4 abschaffen soll. "Draussen" ist knallrot: Ton 38 = #ff1a1a, voll gesaettigt, Kontrast 4,84:1 gegen den Grund. Gemessen, nicht geschaetzt -- von zehn Rotwerten zwischen #ff0000 und #ff5555 erfuellen alle die 4,5:1, dieser ist der knalligste, der auf dunklem Grund nicht flimmert. Er traegt ab 20 Uhr den LIVE-Punkt. Beide sind ab jetzt GESETZT: pruef-kachelfarben wird rot, wenn ein Farblauf sie anfasst. Eine Festlegung, die nur im Kommentar steht, ist eine Bitte. screen4: neues Werkzeug tools/kachel-farben-entzerren.mjs. Der Unterschied zu den zwei vorhandenen: Es rechnet nur mit den BENUTZTEN Toenen. In start.css stehen 42, benutzt werden 31 -- die anderen Werkzeuge weichen also Farben aus, die kein Mensch sieht, und machen dadurch die Abstaende zwischen den sichtbaren unnoetig klein. Welche benutzt werden, wird aus den Kachellisten ABGELEITET. Von jedem aehnlichen Paar aendert sich genau EINER -- der, der nicht gesetzt ist. Ergebnis: engstes Paar 0,0741 -> 0,0978 (Faktor 1,32), 14 Toene geaendert, alle 31 erreichen 4,5:1. ZWEI DINGE, DIE ERST DAS MESSEN GEZEIGT HAT 1. Der erste Lauf schlug fuer "Dateien" ein #ffe5ae vor -- Buntheit 0,076, ein helles Creme. Rechnerisch die beste Stelle im Farbraum, auf dem Bildschirm genau das, was Filipe seit Wochen abschafft. Mindestbuntheit eingebaut, Schwelle GEMESSEN: Median aller Toene 0,168, die fuenf blassesten 0,064-0,088. 0,12 liegt dazwischen. 2. Die Abstandsrechnung fasst einen Ton nie an, der weit weg von allen liegt -- auch wenn er blass ist. So blieben drei benutzte Toene unter 0,12 stehen. Zweite Runde: jeder blasse wird kraeftig gemacht, solange das Minimum ueber 0,095 bleibt. Gemessener Preis 0,1028 -> 0,0978, also 5 Prozent; auf dem Bildschirm nicht zu sehen, waehrend Filipes Klage ueber helle Kacheln konkret ist. NEU: pruef-kachelfarben 13/0 -- getrennt, eindeutig je Ansicht, festgelegt, lesbar und nicht blass. Mit vier Gegenproben, damit sie auch rot werden KANN. NEU: tools/farben-blick.mjs -- sieht die Wand mit echten Augen an und misst das, was eine Abstandstabelle nicht beantwortet: ob zwei NEBENEINANDER liegende Kacheln aehnlich aussehen. Gemessen bei DogFather und Community: kein Nachbarpaar unter 0,09. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -0,0 +1,229 @@
|
||||
/* =====================================================================
|
||||
pruef-kachelfarben.mjs — Keine zwei Kacheln sehen gleich aus
|
||||
---------------------------------------------------------------------
|
||||
Filipe, 22.09.2026: „es sind viele kacheln die noch ähnliche farbe
|
||||
haben, alle die sich ähnlich sind bitte immer verändern bis auf eins
|
||||
… alle kacheln sollen eine andere farbe haben." Und: „diese zwei
|
||||
kacheln sollen egal wie dan auch so bleiben wie hier erwartet."
|
||||
|
||||
WARUM DAS EINE PRÜFUNG BRAUCHT UND NICHT NUR EINEN LAUF
|
||||
Die Farben einmal auseinanderzuziehen war eine Rechnung. Sie in
|
||||
einem halben Jahr noch auseinander zu haben, ist die schwierigere
|
||||
Aufgabe: Wer morgen eine Kachel anlegt, greift sich eine Tonnummer
|
||||
— und merkt nicht, dass sie neben einer anderen liegt. Auf dem
|
||||
Bildschirm sieht das nicht nach einem Fehler aus, sondern nach zwei
|
||||
Kacheln, die man verwechselt.
|
||||
|
||||
Und die zwei festgelegten Töne kann ein späterer Farblauf jederzeit
|
||||
überschreiben. Eine Festlegung, die nur in einem Kommentar steht,
|
||||
ist eine Bitte; eine, die rot wird, ist eine Regel.
|
||||
|
||||
VIER FRAGEN
|
||||
1. GETRENNT — kein Paar benutzter Töne liegt näher beieinander als
|
||||
die Schwelle.
|
||||
2. EINDEUTIG — keine Ansicht (Rolle x Haus) zeigt zwei Kacheln mit
|
||||
derselben Farbe.
|
||||
3. FESTGELEGT — Ton 28 trägt „Vertraulich melden", Ton 38 ist das
|
||||
knallige Rot von „Draußen".
|
||||
4. LESBAR UND NICHT BLASS — 4,5:1 gegen den Grund, Buntheit über
|
||||
der gemessenen Schwelle.
|
||||
|
||||
Welche Töne benutzt werden, wird ABGELEITET (`bereicheFuer` /
|
||||
`zusatzBereicheFuer` über alle Rollen und beide Häuser), nicht
|
||||
aufgezählt. Eine zweite Liste wäre die, die veraltet.
|
||||
===================================================================== */
|
||||
|
||||
import { readFileSync } from "node:fs";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import { dirname, join } from "node:path";
|
||||
|
||||
const HIER = dirname(fileURLToPath(import.meta.url));
|
||||
const CSS = join(HIER, "..", "workspace", "assets", "css", "start.css");
|
||||
const GRUND = "#0a121e";
|
||||
|
||||
/* DIE SCHWELLE IST GEMESSEN, NICHT GERATEN.
|
||||
Vor dem Lauf vom 22.09.2026 lag das engste Paar der benutzten Töne
|
||||
bei 0,0741 („Was ansteht" neben dem neuen Rot von „Draußen") —
|
||||
das war der Zustand, den Filipe als „ähnlich" gemeldet hat.
|
||||
Danach: 0,1028. 0,090 liegt dazwischen: Der heutige Stand hat
|
||||
Luft, ein Rückfall auf „sieht gleich aus" schlägt an. */
|
||||
const MINDEST_ABSTAND = 0.090;
|
||||
|
||||
/* Der Median der Buntheit aller Töne lag bei 0,168, die fünf
|
||||
blassesten zwischen 0,064 und 0,088. Geprüft werden nur die
|
||||
BENUTZTEN — unter den unbenutzten stehen noch blasse, die niemand
|
||||
sieht und die beim nächsten Gebrauch ohnehin neu gerechnet werden. */
|
||||
const MINDEST_BUNTHEIT = 0.12;
|
||||
|
||||
/* Was festgelegt ist — mit dem Grund, aus dem es festgelegt wurde. */
|
||||
const FESTGELEGT = [
|
||||
{ ton: 28, kachel: "Vertraulich melden",
|
||||
warum: "dieselbe Farbe wie fuer Regeln & Hilfe -- wer Hilfe sucht, landet bei einem von beiden" },
|
||||
{ ton: 38, kachel: "Draußen", hex: "#ff1a1a",
|
||||
warum: "knalliges Rot, traegt ab 20 Uhr den LIVE-Punkt" },
|
||||
];
|
||||
|
||||
let ok = 0, fehl = 0;
|
||||
const pruef = (name, bedingung, zusatz = "") => {
|
||||
if (bedingung) { ok++; console.log(` OK ${name}`); }
|
||||
else { fehl++; console.log(` FEHL ${name}${zusatz ? " — " + zusatz : ""}`); }
|
||||
};
|
||||
|
||||
/* ---- Farbrechnung (OKLab, wie in den Farbwerkzeugen) --------------- */
|
||||
const linear = (c) => (c <= 0.04045 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4);
|
||||
const srgb = (hex) => [1, 3, 5].map((i) => parseInt(hex.slice(i, i + 2), 16) / 255);
|
||||
function oklab(hex) {
|
||||
const [r, g, b] = srgb(hex).map(linear);
|
||||
const l = Math.cbrt(0.4122214708 * r + 0.5363325363 * g + 0.0514459929 * b);
|
||||
const m = Math.cbrt(0.2119034982 * r + 0.6806995451 * g + 0.1073969566 * b);
|
||||
const s = Math.cbrt(0.0883024619 * r + 0.2817188376 * g + 0.6299787005 * b);
|
||||
return [
|
||||
0.2104542553 * l + 0.7936177850 * m - 0.0040720468 * s,
|
||||
1.9779984951 * l - 2.4285922050 * m + 0.4505937099 * s,
|
||||
0.0259040371 * l + 0.7827717662 * m - 0.8086757660 * s,
|
||||
];
|
||||
}
|
||||
const lum = (hex) => {
|
||||
const [r, g, b] = srgb(hex).map(linear);
|
||||
return 0.2126 * r + 0.7152 * g + 0.0722 * b;
|
||||
};
|
||||
const kontrast = (hex) => (lum(hex) + 0.05) / (lum(GRUND) + 0.05);
|
||||
const buntheit = (hex) => { const [, a, b] = oklab(hex); return Math.hypot(a, b); };
|
||||
const abstand = (a, b) => Math.hypot(a[0] - b[0], a[1] - b[1], a[2] - b[2]);
|
||||
|
||||
console.log("\n===== KACHELFARBEN =====\n");
|
||||
|
||||
/* ---- start.css lesen: vollständig oder gar nicht ------------------- */
|
||||
const css = readFileSync(CSS, "utf8");
|
||||
const roh = new Set([...css.matchAll(/\[data-ton="(\d+)"\]/g)].map((m) => Number(m[1])));
|
||||
const farben = new Map();
|
||||
for (const zeile of css.split("\n")) {
|
||||
const m = zeile.match(/\[data-ton="(\d+)"\]\s*\{\s*--ton:\s*(#[0-9a-fA-F]{6})/);
|
||||
if (m) farben.set(Number(m[1]), m[2].toLowerCase());
|
||||
}
|
||||
/* DER DRITTE AUSGANG. Liest die Prüfung nicht alle Töne, misst sie
|
||||
gegen einen Stand, den es nicht gibt — und wäre womöglich grün. */
|
||||
if (roh.size !== farben.size) {
|
||||
console.error(`KONNTE NICHT NACHSEHEN: ${roh.size} Toene stehen in start.css, `
|
||||
+ `gelesen wurden ${farben.size}.`);
|
||||
console.error(" Vermutlich hat sich die Schreibweise der Zeile geaendert.");
|
||||
process.exit(2);
|
||||
}
|
||||
console.log(` (${farben.size} Toene in start.css gelesen)`);
|
||||
|
||||
/* ---- Welche Töne ein Mensch wirklich sieht (abgeleitet) ------------ */
|
||||
const w = await import("./workspace.js");
|
||||
const rollen = ["admin", "hand", "linke", "modi", "gast",
|
||||
"manager", "scout", "creator", "spicy"];
|
||||
const benutzt = new Map(); /* ton -> Set(Namen) */
|
||||
const ansichten = [];
|
||||
for (const r of rollen) {
|
||||
for (const haus of ["crew", "agentur"]) {
|
||||
const p = { id: 1, rolle: r, name: "X" };
|
||||
let k = [];
|
||||
try {
|
||||
k = [...(w.bereicheFuer(p, haus) || []), ...(w.zusatzBereicheFuer(p, haus) || [])];
|
||||
} catch { continue; }
|
||||
const hier = new Map();
|
||||
for (const kachel of k) {
|
||||
if (!kachel || kachel.ton == null) continue;
|
||||
if (!benutzt.has(kachel.ton)) benutzt.set(kachel.ton, new Set());
|
||||
benutzt.get(kachel.ton).add(kachel.name);
|
||||
if (!hier.has(kachel.ton)) hier.set(kachel.ton, []);
|
||||
hier.get(kachel.ton).push(kachel.name);
|
||||
}
|
||||
if (hier.size) ansichten.push({ rolle: r, haus, toene: hier });
|
||||
}
|
||||
}
|
||||
|
||||
/* DIE ZAHL GEHÖRT IN DIE BEDINGUNG. Fände diese Prüfung null benutzte
|
||||
Töne, wäre alles Folgende trivial grün — und bliebe es für immer. */
|
||||
pruef(`es gibt benutzte Kachelfarben (${benutzt.size} Toene, ${ansichten.length} Ansichten)`,
|
||||
benutzt.size >= 20 && ansichten.length >= 5,
|
||||
`nur ${benutzt.size} Toene in ${ansichten.length} Ansichten gefunden`);
|
||||
|
||||
/* ---- 1. Getrennt ---------------------------------------------------- */
|
||||
console.log("\n=== Kein Paar sieht gleich aus ===");
|
||||
{
|
||||
const liste = [...benutzt.keys()]
|
||||
.filter((n) => farben.has(n))
|
||||
.map((n) => ({ n, hex: farben.get(n), lab: oklab(farben.get(n)) }));
|
||||
pruef(`jeder benutzte Ton ist in start.css definiert (${liste.length}/${benutzt.size})`,
|
||||
liste.length === benutzt.size,
|
||||
"eine Kachel zeigt auf eine Tonnummer, die es nicht gibt");
|
||||
|
||||
let eng = { d: Infinity, a: null, b: null };
|
||||
for (let i = 0; i < liste.length; i++) {
|
||||
for (let j = i + 1; j < liste.length; j++) {
|
||||
const d = abstand(liste[i].lab, liste[j].lab);
|
||||
if (d < eng.d) eng = { d, a: liste[i], b: liste[j] };
|
||||
}
|
||||
}
|
||||
const namen = (t) => [...(benutzt.get(t.n) || [])].join("/");
|
||||
pruef(`das engste Paar liegt ueber ${MINDEST_ABSTAND} (${eng.d.toFixed(4)}: `
|
||||
+ `${namen(eng.a)} <-> ${namen(eng.b)})`,
|
||||
eng.d >= MINDEST_ABSTAND,
|
||||
`${eng.d.toFixed(4)} zwischen Ton ${eng.a?.n} und ${eng.b?.n}`);
|
||||
}
|
||||
|
||||
/* ---- 2. Eindeutig je Ansicht --------------------------------------- */
|
||||
console.log("\n=== Keine Ansicht zeigt zwei gleiche ===");
|
||||
{
|
||||
const treffer = [];
|
||||
for (const a of ansichten) {
|
||||
for (const [ton, namen] of a.toene) {
|
||||
if (namen.length > 1) treffer.push(`${a.rolle}/${a.haus}: Ton ${ton} = ${namen.join(" + ")}`);
|
||||
}
|
||||
}
|
||||
pruef(`keine Ansicht zeigt zwei Kacheln mit derselben Farbe (${ansichten.length} geprueft)`,
|
||||
treffer.length === 0, treffer.join(" | "));
|
||||
}
|
||||
|
||||
/* ---- 3. Festgelegt -------------------------------------------------- */
|
||||
console.log("\n=== Was festgelegt ist, bleibt ===");
|
||||
for (const f of FESTGELEGT) {
|
||||
const traeger = [...(benutzt.get(f.ton) || [])];
|
||||
pruef(`Ton ${f.ton} traegt "${f.kachel}" (${f.warum})`,
|
||||
traeger.includes(f.kachel),
|
||||
`Ton ${f.ton} traegt stattdessen: ${traeger.join(", ") || "nichts"}`);
|
||||
if (f.hex) {
|
||||
pruef(` und hat die Farbe ${f.hex} (jetzt ${farben.get(f.ton)})`,
|
||||
farben.get(f.ton) === f.hex,
|
||||
`${farben.get(f.ton)} statt ${f.hex}`);
|
||||
}
|
||||
}
|
||||
|
||||
/* ---- 4. Lesbar und nicht blass -------------------------------------- */
|
||||
console.log("\n=== Lesbar und kraeftig ===");
|
||||
{
|
||||
const dunkel = [], blass = [];
|
||||
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)})`);
|
||||
}
|
||||
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}`,
|
||||
blass.length === 0, blass.join(", "));
|
||||
}
|
||||
|
||||
/* ---- Gegenprobe: kann diese Pruefung ueberhaupt rot werden? --------- */
|
||||
console.log("\n=== Gegenprobe ===");
|
||||
{
|
||||
/* Zwei erfundene Toene, die fast gleich sind. Fände die Rechnung sie
|
||||
nicht, waere jede gruene Meldung oben wertlos. */
|
||||
const a = oklab("#3366cc"), b = oklab("#3467cd");
|
||||
pruef(`zwei fast gleiche Farben werden als zu nah erkannt `
|
||||
+ `(${abstand(a, b).toFixed(4)} < ${MINDEST_ABSTAND})`,
|
||||
abstand(a, b) < MINDEST_ABSTAND);
|
||||
const weit = oklab("#ff1a1a"), weit2 = oklab("#11aadb");
|
||||
pruef(`zwei deutlich verschiedene nicht (${abstand(weit, weit2).toFixed(4)})`,
|
||||
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);
|
||||
}
|
||||
|
||||
console.log(`\n ${ok} bestanden, ${fehl} fehlgeschlagen\n`);
|
||||
process.exit(fehl ? 1 : 0);
|
||||
+14
-2
@@ -1343,7 +1343,11 @@ const TREFF_BEREICHE = [
|
||||
|
||||
Das Brett gibt es weiter; treff-regeln.html verlinkt darauf. Ein
|
||||
Ort fuer die Frage, nicht zwei. */
|
||||
zeichen: "schutz", ton: 28, ziel: "treff-regeln.html", szene: "studio" },
|
||||
/* EIGENER TON SEIT 22.09.2026. Ton 28 traegt jetzt "Vertraulich
|
||||
melden" -- ausdruecklicher Wunsch, dort gesetzt. Zwei Kacheln
|
||||
mit derselben Farbe in derselben Ansicht waeren genau das, was
|
||||
screen4 abschaffen soll. */
|
||||
zeichen: "schutz", ton: 39, ziel: "treff-regeln.html", szene: "studio" },
|
||||
];
|
||||
|
||||
/* MELDUNGEN & MASSNAHMEN -- FUER DAS TEAM, NICHT FUER DIE COMMUNITY
|
||||
@@ -1462,7 +1466,15 @@ export const TREFF_ROLLEN = new Set(["gast", "modi", "hand", "linke", "admin"]);
|
||||
const HILFE_KACHEL = {
|
||||
gruppe: "Für dich", gruppeUnter: "Deine eigene Seite",
|
||||
name: "Vertraulich melden", unter: "Nur DogFather und die rechte Hand",
|
||||
zeichen: "schutz", ton: 39, ziel: "hilfe.html", szene: "studio",
|
||||
/* DIESELBE FARBE WIE "REGELN & HILFE" -- AUSDRUECKLICH SO GEWOLLT
|
||||
(22.09.2026, Filipe: "die farbe dieser kachel soll die farbe von
|
||||
der kachel: regeln & hilfe werden ... und diese zwei kacheln
|
||||
sollen egal wie dan auch so bleiben wie hier erwartet").
|
||||
|
||||
Beide gehoeren zusammen: Wer Hilfe sucht, landet bei einem von
|
||||
beiden. Ton 28 ist damit GESETZT -- die Farbverteilung von
|
||||
screen4 fasst ihn nicht an, sie weicht ihm aus. */
|
||||
zeichen: "schutz", ton: 28, ziel: "hilfe.html", szene: "studio",
|
||||
};
|
||||
|
||||
/* DAS TEAM SIEHT DEN TREFF MIT -- als eigene Gruppe unter seinen
|
||||
|
||||
@@ -0,0 +1,219 @@
|
||||
/* =====================================================================
|
||||
DIE KACHELFARBEN MIT ECHTEN AUGEN ANSEHEN (22.09.2026)
|
||||
---------------------------------------------------------------------
|
||||
`pruef-kachelfarben.mjs` rechnet Abstände in OKLab. Das sagt, dass
|
||||
keine zwei Farben zu nah beieinander liegen — es sagt NICHT, ob die
|
||||
Wand gut aussieht. Am 22.09. hat der Blick mit echten Augen schon
|
||||
drei Dinge gefunden, die keine Messung gemeldet hätte.
|
||||
|
||||
Dieses Werkzeug nimmt die Startseite auf, als DogFather und als
|
||||
Zuschauer, am Rechner und am Handy — und misst dabei das eine, was
|
||||
sich sonst nur im Bild zeigt: ob zwei NEBENEINANDER liegende
|
||||
Kacheln ähnlich aussehen. Zwei ähnliche Farben an entgegengesetzten
|
||||
Enden der Wand fallen niemandem auf; zwei nebeneinander schon.
|
||||
|
||||
AUFRUF
|
||||
node tools/farben-blick.mjs
|
||||
BREITE=390 node tools/farben-blick.mjs
|
||||
===================================================================== */
|
||||
|
||||
import { mkdtempSync, rmSync } from "node:fs";
|
||||
import { tmpdir } from "node:os";
|
||||
import { join, dirname } from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import { spawn } from "node:child_process";
|
||||
import { DatabaseSync } from "node:sqlite";
|
||||
import { scryptSync, randomBytes } from "node:crypto";
|
||||
import { createServer } from "node:https";
|
||||
import { request as httpAnfrage } from "node:http";
|
||||
import { execFileSync } from "node:child_process";
|
||||
import { chromium } from "playwright-core";
|
||||
|
||||
const HIER = join(dirname(fileURLToPath(import.meta.url)), "..", "server");
|
||||
const PORT = Number(process.env.PORT_BLICK || 4366);
|
||||
const BASIS = `http://127.0.0.1:${PORT}`;
|
||||
const BREITE = Number(process.env.BREITE || 1500);
|
||||
const ordner = mkdtempSync(join(tmpdir(), "ws-farben-"));
|
||||
const DB = join(ordner, "workspace.db");
|
||||
let kind = null;
|
||||
|
||||
async function start() {
|
||||
kind = spawn(process.execPath, [join(HIER, "index.js")], {
|
||||
env: { ...process.env, WORKSPACE_DB: DB, PORT: String(PORT),
|
||||
SITE_ACCESS_SECRET: "lokaler-test",
|
||||
SITE_PUBLIC_LAUNCH_AT: "2020-01-01T00:00:00+01:00" },
|
||||
stdio: ["ignore", "pipe", "pipe"] });
|
||||
let aus = "";
|
||||
kind.stdout.on("data", (d) => { aus += d; });
|
||||
kind.stderr.on("data", (d) => { aus += d; });
|
||||
for (let i = 0; i < 80; i++) {
|
||||
await new Promise((r) => setTimeout(r, 250));
|
||||
if (kind.exitCode !== null) break;
|
||||
try {
|
||||
const a = await fetch(BASIS + "/workspace/", { redirect: "manual" });
|
||||
if (a.status < 500) return;
|
||||
} catch { /* noch nicht oben */ }
|
||||
}
|
||||
throw new Error("Server startete nicht:\n" + aus.slice(-1500));
|
||||
}
|
||||
|
||||
function personAnlegen(name, rolle, code) {
|
||||
const d = new DatabaseSync(DB);
|
||||
const salz = randomBytes(16).toString("hex");
|
||||
const hash = scryptSync(code, salz, 64,
|
||||
{ N: 32768, r: 8, p: 1, maxmem: 96 * 1024 * 1024 }).toString("hex");
|
||||
d.prepare("INSERT INTO personen (name, rolle, code_hash, code_salt, code_n, aktiv, erstellt)"
|
||||
+ " VALUES (?,?,?,?,?,1,?)")
|
||||
.run(name, rolle, hash, salz, 32768, new Date().toISOString());
|
||||
d.close();
|
||||
}
|
||||
|
||||
function rohAnfrage(pfad, host, koerper) {
|
||||
return new Promise((fertig, schief) => {
|
||||
const daten = JSON.stringify(koerper);
|
||||
const a = httpAnfrage({
|
||||
host: "127.0.0.1", port: PORT, path: pfad, method: "POST",
|
||||
headers: { "content-type": "application/json", Host: host,
|
||||
"content-length": Buffer.byteLength(daten) },
|
||||
}, (antwort) => {
|
||||
let text = "";
|
||||
antwort.on("data", (d) => { text += d; });
|
||||
antwort.on("end", () => fertig({
|
||||
code: antwort.statusCode, text,
|
||||
keks: (antwort.headers["set-cookie"] || []).join("; ").split(";")[0],
|
||||
}));
|
||||
});
|
||||
a.on("error", schief);
|
||||
a.end(daten);
|
||||
});
|
||||
}
|
||||
|
||||
async function anmelden(rolle, code, host) {
|
||||
let a = await rohAnfrage("/workspace/api/anmelden", host, { rolle, code });
|
||||
if (/alter/i.test(a.text)) {
|
||||
a = await rohAnfrage("/workspace/api/anmelden", host, { rolle, code, alter_ok: true });
|
||||
}
|
||||
if (a.code !== 200) throw new Error(`Anmeldung ${rolle} -> ${a.code} ${a.text.slice(0, 160)}`);
|
||||
return a.keks;
|
||||
}
|
||||
|
||||
/* Chromium zwingt crew.dogfather-universe.com per eingebauter
|
||||
HSTS-Liste auf https. Deshalb derselbe selbst unterschriebene
|
||||
Vorbau wie in pruef-handy-teamdogi.mjs -- eine Nachbildung waere die
|
||||
zweite Fassung, die anders altert. */
|
||||
function schluesselUndZeugnis() {
|
||||
const k = join(ordner, "k.pem"), z = join(ordner, "z.pem");
|
||||
execFileSync("openssl", ["req", "-x509", "-newkey", "rsa:2048", "-nodes",
|
||||
"-keyout", k, "-out", z, "-days", "2", "-subj", "/CN=crew.dogfather-universe.com",
|
||||
"-addext", "subjectAltName=DNS:crew.dogfather-universe.com"],
|
||||
{ stdio: "ignore" });
|
||||
return { k, z };
|
||||
}
|
||||
|
||||
await start();
|
||||
personAnlegen("Filipe", "admin", "CODE-DOGI-0001");
|
||||
personAnlegen("Jonas", "gast", "CODE-GAST-0001");
|
||||
|
||||
const { k, z } = schluesselUndZeugnis();
|
||||
const { readFileSync } = await import("node:fs");
|
||||
const vorbau = createServer({ key: readFileSync(k), cert: readFileSync(z) }, (an, ab) => {
|
||||
const weiter = httpAnfrage({
|
||||
host: "127.0.0.1", port: PORT, path: an.url, method: an.method,
|
||||
headers: { ...an.headers, host: "crew.dogfather-universe.com" },
|
||||
}, (antwort) => { ab.writeHead(antwort.statusCode, antwort.headers); antwort.pipe(ab); });
|
||||
/* Beim Aufraeumen bricht der Browser laufende Anfragen ab. Das ist
|
||||
kein Befund -- ohne diesen Zuhoerer beendet Node den Lauf mit
|
||||
einem Fehler, NACHDEM die Bilder schon fertig sind. */
|
||||
weiter.on("error", () => { try { ab.destroy(); } catch {} });
|
||||
an.on("error", () => {});
|
||||
an.pipe(weiter);
|
||||
});
|
||||
const HTTPS_PORT = PORT + 1;
|
||||
await new Promise((r) => vorbau.listen(HTTPS_PORT, r));
|
||||
|
||||
const browser = await chromium.launch({
|
||||
args: [`--host-resolver-rules=MAP crew.dogfather-universe.com 127.0.0.1:${HTTPS_PORT}`],
|
||||
ignoreHTTPSErrors: true,
|
||||
});
|
||||
|
||||
const rollen = [
|
||||
{ rolle: "admin", code: "CODE-DOGI-0001", wer: "DogFather" },
|
||||
{ rolle: "gast", code: "CODE-GAST-0001", wer: "Community" },
|
||||
];
|
||||
|
||||
for (const r of rollen) {
|
||||
const keks = await anmelden(r.rolle, r.code, "crew.dogfather-universe.com");
|
||||
const ctx = await browser.newContext({
|
||||
viewport: { width: BREITE, height: 1000 },
|
||||
ignoreHTTPSErrors: true,
|
||||
isMobile: BREITE < 700, hasTouch: BREITE < 700,
|
||||
});
|
||||
const [name, wert] = keks.split("=");
|
||||
await ctx.addCookies([{ name, value: wert, domain: "crew.dogfather-universe.com", path: "/" }]);
|
||||
const s = await ctx.newPage();
|
||||
await s.goto("https://crew.dogfather-universe.com/workspace/start.html",
|
||||
{ waitUntil: "networkidle" });
|
||||
await s.waitForTimeout(600);
|
||||
|
||||
/* WAS LIEGT NEBENEINANDER? Das ist die Frage, die eine Tabelle von
|
||||
Abständen nicht beantwortet. */
|
||||
const bild = await s.evaluate(() => {
|
||||
const linear = (c) => (c <= 0.04045 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4);
|
||||
const oklab = (rgb) => {
|
||||
const [r, g, b] = rgb.map(linear);
|
||||
const l = Math.cbrt(0.4122214708 * r + 0.5363325363 * g + 0.0514459929 * b);
|
||||
const m = Math.cbrt(0.2119034982 * r + 0.6806995451 * g + 0.1073969566 * b);
|
||||
const s2 = Math.cbrt(0.0883024619 * r + 0.2817188376 * g + 0.6299787005 * b);
|
||||
return [0.2104542553 * l + 0.7936177850 * m - 0.0040720468 * s2,
|
||||
1.9779984951 * l - 2.4285922050 * m + 0.4505937099 * s2,
|
||||
0.0259040371 * l + 0.7827717662 * m - 0.8086757660 * s2];
|
||||
};
|
||||
const kacheln = [...document.querySelectorAll(".kachel")].map((k) => {
|
||||
const r = k.getBoundingClientRect();
|
||||
const roh = getComputedStyle(k).getPropertyValue("--ton").trim();
|
||||
let rgb = null;
|
||||
if (/^#[0-9a-f]{6}$/i.test(roh)) {
|
||||
rgb = [1, 3, 5].map((i) => parseInt(roh.slice(i, i + 2), 16) / 255);
|
||||
}
|
||||
return {
|
||||
name: (k.querySelector(".kachel__name") || k).textContent.trim().split("\n")[0],
|
||||
ton: roh, lab: rgb ? oklab(rgb) : null,
|
||||
x: Math.round(r.x), y: Math.round(r.y),
|
||||
b: Math.round(r.width), h: Math.round(r.height),
|
||||
};
|
||||
});
|
||||
/* Nachbarn: alles, was sich horizontal oder vertikal beruehrt. */
|
||||
const nah = [];
|
||||
const d = (a, b) => Math.hypot(a[0] - b[0], a[1] - b[1], a[2] - b[2]);
|
||||
for (let i = 0; i < kacheln.length; i++) {
|
||||
for (let j = i + 1; j < kacheln.length; j++) {
|
||||
const A = kacheln[i], B = kacheln[j];
|
||||
if (!A.lab || !B.lab) continue;
|
||||
const waagerecht = Math.abs(A.y - B.y) < 8 && Math.abs(A.x - B.x) < A.b + B.b + 40;
|
||||
const senkrecht = Math.abs(A.x - B.x) < 8 && Math.abs(A.y - B.y) < A.h + B.h + 40;
|
||||
if (!waagerecht && !senkrecht) continue;
|
||||
nah.push({ a: A.name, b: B.name, d: d(A.lab, B.lab) });
|
||||
}
|
||||
}
|
||||
nah.sort((p, q) => p.d - q.d);
|
||||
return { anzahl: kacheln.length, ohneTon: kacheln.filter((k) => !k.lab).length, nah: nah.slice(0, 5) };
|
||||
});
|
||||
|
||||
console.log(`\n${r.wer} bei ${BREITE} px: ${bild.anzahl} Kacheln`
|
||||
+ (bild.ohneTon ? `, ${bild.ohneTon} OHNE Farbe` : ""));
|
||||
for (const n of bild.nah) {
|
||||
console.log(` ${n.d.toFixed(4)} ${n.a} neben ${n.b}`
|
||||
+ (n.d < 0.09 ? " <<< sehen sich aehnlich" : ""));
|
||||
}
|
||||
|
||||
const pfad = join("C:/Users/qciga/Documents/Obelix/DogFather",
|
||||
`farben-${r.rolle}-${BREITE}.png`);
|
||||
await s.screenshot({ path: pfad, fullPage: true });
|
||||
console.log(` Bild: ${pfad}`);
|
||||
await ctx.close();
|
||||
}
|
||||
|
||||
await browser.close();
|
||||
await new Promise((r) => vorbau.close(r));
|
||||
if (kind) kind.kill();
|
||||
try { rmSync(ordner, { recursive: true, force: true }); } catch { /* Zugabe */ }
|
||||
@@ -0,0 +1,341 @@
|
||||
/* =====================================================================
|
||||
ÄHNLICHE KACHELFARBEN AUSEINANDERZIEHEN (22.09.2026)
|
||||
---------------------------------------------------------------------
|
||||
Filipe: „es sind viele kacheln die noch ähnliche farbe haben, alle
|
||||
die sich ähnlich sind bitte immer verändern bis auf eins und farben
|
||||
nehmen die wir noch nicht haben, alle kacheln sollen eine andere
|
||||
farbe haben."
|
||||
|
||||
WARUM ES DIE ZWEI VORHANDENEN WERKZEUGE NICHT SCHON TUN
|
||||
`kachel-farben.mjs` rechnet ALLE Töne neu — auch die zwei, die
|
||||
Filipe am 22.09. ausdrücklich festgelegt hat („diese zwei kacheln
|
||||
sollen egal wie dan auch so bleiben wie hier erwartet"). Es wäre
|
||||
das richtige Verfahren mit dem falschen Ergebnis.
|
||||
|
||||
`kachel-farbe-einzeln.mjs` zieht EINEN Ton nach — man müsste selbst
|
||||
wissen, welchen, und nach jedem Lauf neu messen, welcher jetzt der
|
||||
engste ist. Genau das macht diese Datei von selbst.
|
||||
|
||||
DER UNTERSCHIED, AUF DEN ES ANKOMMT: NUR BENUTZTE TÖNE ZÄHLEN
|
||||
In `start.css` stehen 42 Töne, benutzt werden 30. Beide anderen
|
||||
Werkzeuge rechnen gegen alle 42 — sie weichen also Farben aus, die
|
||||
kein Mensch je sieht, und machen dadurch die Abstände zwischen den
|
||||
Farben, die man WIRKLICH nebeneinander sieht, unnötig klein.
|
||||
|
||||
Welche Töne benutzt werden, wird aus den Kachellisten ABGELEITET
|
||||
(`bereicheFuer` / `zusatzBereicheFuer` über alle Rollen und beide
|
||||
Häuser), nicht danebengeschrieben. Eine zweite Liste wäre die, die
|
||||
beim nächsten neuen Bereich vergessen wird.
|
||||
|
||||
DAS VERFAHREN
|
||||
Solange sich der kleinste Abstand verbessern lässt: den engsten
|
||||
nicht gesetzten Ton herausnehmen und dorthin legen, wo er am
|
||||
weitesten von allen übrigen entfernt ist. Von jedem ähnlichen Paar
|
||||
ändert sich also genau EINER — wie gewünscht.
|
||||
|
||||
Bei einem Paar, in dem BEIDE gesetzt sind, wird nichts geändert und
|
||||
das Werkzeug sagt es. Der dritte Ausgang: in Ordnung / nicht in
|
||||
Ordnung / konnte hier nichts tun, mit Grund.
|
||||
|
||||
AUFRUF
|
||||
node tools/kachel-farben-entzerren.mjs nur zeigen
|
||||
node tools/kachel-farben-entzerren.mjs --schreiben eintragen
|
||||
===================================================================== */
|
||||
|
||||
import { readFileSync, writeFileSync } from "node:fs";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import { dirname, join } from "node:path";
|
||||
|
||||
const HIER = dirname(fileURLToPath(import.meta.url));
|
||||
const CSS = join(HIER, "..", "workspace", "assets", "css", "start.css");
|
||||
const GRUND = "#0a121e";
|
||||
|
||||
/* DIE ZWEI, DIE FILIPE AM 22.09.2026 FESTGELEGT HAT.
|
||||
Sie stehen hier mit Begründung, damit ein späterer Lauf sie nicht
|
||||
für einen Zufall hält:
|
||||
28 — „Vertraulich melden", dieselbe Farbe wie „Regeln & Hilfe"
|
||||
war; wer Hilfe sucht, landet bei einem von beiden.
|
||||
38 — „Draußen", knalliges Rot. Es trägt ab 20 Uhr den LIVE-Punkt;
|
||||
Rot ist dort die Aussage, nicht die Dekoration. */
|
||||
const GESETZT = new Set([28, 38]);
|
||||
|
||||
/* ---- Farbrechnung (gleich wie in kachel-farbe-einzeln.mjs) --------- */
|
||||
const linear = (c) => (c <= 0.04045 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4);
|
||||
const zurueck = (c) => (c <= 0.0031308 ? 12.92 * c : 1.055 * c ** (1 / 2.4) - 0.055);
|
||||
const srgb = (hex) => [1, 3, 5].map((i) => parseInt(hex.slice(i, i + 2), 16) / 255);
|
||||
|
||||
function oklab(hex) {
|
||||
const [r, g, b] = srgb(hex).map(linear);
|
||||
const l = Math.cbrt(0.4122214708 * r + 0.5363325363 * g + 0.0514459929 * b);
|
||||
const m = Math.cbrt(0.2119034982 * r + 0.6806995451 * g + 0.1073969566 * b);
|
||||
const s = Math.cbrt(0.0883024619 * r + 0.2817188376 * g + 0.6299787005 * b);
|
||||
return [
|
||||
0.2104542553 * l + 0.7936177850 * m - 0.0040720468 * s,
|
||||
1.9779984951 * l - 2.4285922050 * m + 0.4505937099 * s,
|
||||
0.0259040371 * l + 0.7827717662 * m - 0.8086757660 * s,
|
||||
];
|
||||
}
|
||||
|
||||
function ausOklch(L, C, Hgrad) {
|
||||
const h = (Hgrad * Math.PI) / 180;
|
||||
const a = C * Math.cos(h), b2 = C * Math.sin(h);
|
||||
const l_ = (L + 0.3963377774 * a + 0.2158037573 * b2) ** 3;
|
||||
const m_ = (L - 0.1055613458 * a - 0.0638541728 * b2) ** 3;
|
||||
const s_ = (L - 0.0894841775 * a - 1.2914855480 * b2) ** 3;
|
||||
const r = +4.0767416621 * l_ - 3.3077115913 * m_ + 0.2309699292 * s_;
|
||||
const g = -1.2684380046 * l_ + 2.6097574011 * m_ - 0.3413193965 * s_;
|
||||
const b = -0.0041960863 * l_ - 0.7034186147 * m_ + 1.7076147010 * s_;
|
||||
const kanal = (x) => {
|
||||
const v = zurueck(x);
|
||||
if (v < -0.001 || v > 1.001) return null;
|
||||
return Math.round(Math.min(1, Math.max(0, v)) * 255);
|
||||
};
|
||||
const [R, G, B] = [kanal(r), kanal(g), kanal(b)];
|
||||
if (R === null || G === null || B === null) return null;
|
||||
return "#" + [R, G, B].map((x) => x.toString(16).padStart(2, "0")).join("");
|
||||
}
|
||||
|
||||
const lum = (hex) => {
|
||||
const [r, g, b] = srgb(hex).map(linear);
|
||||
return 0.2126 * r + 0.7152 * g + 0.0722 * b;
|
||||
};
|
||||
const kontrast = (hex) => (lum(hex) + 0.05) / (lum(GRUND) + 0.05);
|
||||
const abstand = (a, b) => Math.hypot(a[0] - b[0], a[1] - b[1], a[2] - b[2]);
|
||||
|
||||
/* ---- start.css lesen, vollständig oder gar nicht ------------------- */
|
||||
function lies(css) {
|
||||
const aus = [];
|
||||
for (const zeile of css.split("\n")) {
|
||||
const m = zeile.match(/\[data-ton="(\d+)"\]\s*\{\s*--ton:\s*(#[0-9a-fA-F]{6})/);
|
||||
if (!m) continue;
|
||||
const wofuer = (zeile.match(/\/\*\s*([^*]+?)\s*\*\//) || [])[1] || "";
|
||||
aus.push({ n: Number(m[1]), hex: m[2].toLowerCase(), lab: oklab(m[2]), zeile, wofuer });
|
||||
}
|
||||
return aus;
|
||||
}
|
||||
|
||||
function vollstaendigOderAbbruch(css) {
|
||||
const roh = new Set([...css.matchAll(/\[data-ton="(\d+)"\]/g)].map((m) => Number(m[1])));
|
||||
const gelesen = lies(css);
|
||||
if (roh.size !== gelesen.length) {
|
||||
console.error(`ABBRUCH: ${roh.size} Toene stehen in der Datei, gelesen wurden ${gelesen.length}.`);
|
||||
console.error(" Die Rechnung waere gegen einen Stand gelaufen, den es nicht gibt.");
|
||||
process.exit(2);
|
||||
}
|
||||
return gelesen;
|
||||
}
|
||||
|
||||
/* ---- Welche Töne ein Mensch wirklich sieht (ABGELEITET) ------------ */
|
||||
async function benutzteToene() {
|
||||
const w = await import("../server/workspace.js");
|
||||
const rollen = ["admin", "hand", "linke", "modi", "gast",
|
||||
"manager", "scout", "creator", "spicy"];
|
||||
/* Je Ansicht (Rolle x Haus) merken, welche Töne darin vorkommen.
|
||||
Zwei Kacheln mit demselben Ton sind nur dann ein Problem, wenn sie
|
||||
in DERSELBEN Ansicht stehen -- sonst sieht sie niemand nebeneinander. */
|
||||
const ansichten = [];
|
||||
const alle = new Map(); /* ton -> Set(Kachelnamen) */
|
||||
for (const r of rollen) {
|
||||
for (const haus of ["crew", "agentur"]) {
|
||||
const p = { id: 1, rolle: r, name: "X" };
|
||||
let k = [];
|
||||
try {
|
||||
k = [...(w.bereicheFuer(p, haus) || []), ...(w.zusatzBereicheFuer(p, haus) || [])];
|
||||
} catch { continue; }
|
||||
const hier = new Map();
|
||||
for (const kachel of k) {
|
||||
if (!kachel || kachel.ton == null) continue;
|
||||
if (!alle.has(kachel.ton)) alle.set(kachel.ton, new Set());
|
||||
alle.get(kachel.ton).add(kachel.name);
|
||||
if (!hier.has(kachel.ton)) hier.set(kachel.ton, []);
|
||||
hier.get(kachel.ton).push(kachel.name);
|
||||
}
|
||||
if (hier.size) ansichten.push({ rolle: r, haus, toene: hier });
|
||||
}
|
||||
}
|
||||
return { alle, ansichten };
|
||||
}
|
||||
|
||||
/* ---- Die beste freie Stelle im Farbraum ---------------------------- */
|
||||
/* NICHT BLASS (22.09.2026).
|
||||
|
||||
Der erste Lauf schlug fuer "Dateien" ein #ffe5ae vor -- Buntheit
|
||||
0,076, ein helles Creme. Rechnerisch war es die beste Stelle im
|
||||
Farbraum; auf dem Bildschirm ist es das, was Filipe seit Wochen
|
||||
abschafft ("die kacheln sind viel zu hell, man bekommt fast nichts
|
||||
gelesen"), und das Gegenteil von "uebelst geil".
|
||||
|
||||
Die Schwelle ist GEMESSEN, nicht geraten: Der Median der Buntheit
|
||||
aller vorhandenen Toene liegt bei 0,168, die fuenf blassesten
|
||||
zwischen 0,064 und 0,088. 0,12 laesst alles zu, was heute als
|
||||
kraeftig durchgeht, und schliesst genau die blassen aus. */
|
||||
const MINDEST_BUNTHEIT = 0.12;
|
||||
|
||||
function beste(andere) {
|
||||
let treffer = null, wert = -1;
|
||||
for (let H = 0; H < 360; H += 1) {
|
||||
for (let L = 0.56; L <= 0.94; L += 0.01) {
|
||||
for (let C = 0.30; C >= 0.04; C -= 0.004) {
|
||||
const hex = ausOklch(L, C, H);
|
||||
if (!hex) continue;
|
||||
if (kontrast(hex) < 4.5) break;
|
||||
/* Mehr Buntheit geht bei diesem L/H nicht -- dann taugt die
|
||||
ganze Kombination nicht, statt sie blass zu nehmen. */
|
||||
if (C < MINDEST_BUNTHEIT) break;
|
||||
const lab = oklab(hex);
|
||||
let naechster = Infinity;
|
||||
for (const v of andere) naechster = Math.min(naechster, abstand(lab, v.lab));
|
||||
if (naechster > wert) { wert = naechster; treffer = { hex, lab }; }
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return { ...treffer, abstand: wert };
|
||||
}
|
||||
|
||||
function engstesPaar(liste) {
|
||||
let best = { d: Infinity, a: null, b: null };
|
||||
for (let i = 0; i < liste.length; i++) {
|
||||
for (let j = i + 1; j < liste.length; j++) {
|
||||
const d = abstand(liste[i].lab, liste[j].lab);
|
||||
if (d < best.d) best = { d, a: liste[i], b: liste[j] };
|
||||
}
|
||||
}
|
||||
return best;
|
||||
}
|
||||
|
||||
/* ===================================================================== */
|
||||
const schreiben = process.argv.includes("--schreiben");
|
||||
let css = readFileSync(CSS, "utf8");
|
||||
const inDatei = vollstaendigOderAbbruch(css);
|
||||
const { alle, ansichten } = await benutzteToene();
|
||||
|
||||
console.log(`${inDatei.length} Toene in start.css, ${alle.size} davon benutzt.`);
|
||||
|
||||
/* Zwei Kacheln mit demselben Ton IN DERSELBEN Ansicht -- das ist der
|
||||
Fall, den ein Mensch als "zwei gleiche" sieht. */
|
||||
let doppelt = 0;
|
||||
for (const a of ansichten) {
|
||||
for (const [ton, namen] of a.toene) {
|
||||
if (namen.length > 1) {
|
||||
console.log(` DOPPELT bei ${a.rolle}/${a.haus}: Ton ${ton} = ${namen.join(" + ")}`);
|
||||
doppelt++;
|
||||
}
|
||||
}
|
||||
}
|
||||
console.log(doppelt === 0
|
||||
? " Keine Ansicht zeigt zwei Kacheln mit derselben Farbe."
|
||||
: ` ${doppelt} Doppelbelegungen -- die muessen von Hand getrennt werden.`);
|
||||
|
||||
/* Ab hier wird nur noch mit den BENUTZTEN gerechnet. */
|
||||
let liste = inDatei.filter((t) => alle.has(t.n));
|
||||
const start = engstesPaar(liste);
|
||||
console.log(`\nEngstes Paar der benutzten: ${start.d.toFixed(4)}`
|
||||
+ ` Ton ${start.a.n} (${[...alle.get(start.a.n)].join("/")})`
|
||||
+ ` <-> Ton ${start.b.n} (${[...alle.get(start.b.n)].join("/")})`);
|
||||
|
||||
const geaendert = [];
|
||||
for (let runde = 1; runde <= 40; runde++) {
|
||||
const p = engstesPaar(liste);
|
||||
/* WELCHEN DER BEIDEN? Den, der NICHT gesetzt ist. Sind beide
|
||||
gesetzt, ist hier nichts zu tun -- dann sagt es das Werkzeug,
|
||||
statt eine Festlegung zu uebergehen. */
|
||||
const kandidat = GESETZT.has(p.a.n) ? (GESETZT.has(p.b.n) ? null : p.b) : p.a;
|
||||
if (!kandidat) {
|
||||
console.log(`\nBeide Toene des engsten Paares sind gesetzt (${p.a.n}, ${p.b.n}).`);
|
||||
console.log(" Hier aendert das Werkzeug nichts -- das ist die Festlegung.");
|
||||
break;
|
||||
}
|
||||
const andere = liste.filter((t) => t.n !== kandidat.n);
|
||||
const neu = beste(andere);
|
||||
/* NICHT SCHLECHTER ALS VORHER: Nur uebernehmen, wenn der kleinste
|
||||
Abstand des GANZEN Satzes danach groesser ist. Sonst dreht sich
|
||||
das Werkzeug im Kreis. */
|
||||
const probe = liste.map((t) => (t.n === kandidat.n ? { ...t, hex: neu.hex, lab: neu.lab } : t));
|
||||
const nachher = engstesPaar(probe).d;
|
||||
if (nachher <= p.d + 1e-6) {
|
||||
console.log(`\nKeine Verbesserung mehr moeglich (${p.d.toFixed(4)} bleibt).`);
|
||||
break;
|
||||
}
|
||||
console.log(` Runde ${runde}: Ton ${kandidat.n} (${[...alle.get(kandidat.n)].join("/")})`
|
||||
+ ` ${kandidat.hex} -> ${neu.hex} Minimum ${p.d.toFixed(4)} -> ${nachher.toFixed(4)}`);
|
||||
geaendert.push({ n: kandidat.n, alt: kandidat.hex, neu: neu.hex, zeile: kandidat.zeile });
|
||||
liste = probe;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------
|
||||
ZWEITE RUNDE: DIE BLASSEN KRAEFTIG MACHEN
|
||||
---------------------------------------------------------------------
|
||||
Die erste Runde optimiert den ABSTAND. Ein Ton kann dabei weit weg
|
||||
von allen anderen liegen und trotzdem blass sein -- dann fasst sie
|
||||
ihn nie an. Gemessen am 22.09.2026 blieben so drei benutzte Toene
|
||||
unter 0,12 stehen (#feb9b8, #a2c6fe, #b4f1fe), und genau darueber
|
||||
klagt Filipe: "die kacheln sind viel zu hell, man bekommt fast
|
||||
nichts gelesen".
|
||||
|
||||
Hier wird jeder blasse benutzte Ton neu gerechnet -- aber nur
|
||||
uebernommen, wenn der kleinste Abstand des GANZEN Satzes dadurch
|
||||
nicht sinkt. Kraeftiger werden darf nichts kosten. */
|
||||
const blassRunde = [];
|
||||
for (const t of [...liste]) {
|
||||
if (GESETZT.has(t.n)) continue;
|
||||
const [, a, b] = t.lab;
|
||||
const c = Math.hypot(a, b);
|
||||
if (c >= MINDEST_BUNTHEIT) continue;
|
||||
const andere = liste.filter((x) => x.n !== t.n);
|
||||
const vorher = engstesPaar(liste).d;
|
||||
const neu = beste(andere);
|
||||
const probe = liste.map((x) => (x.n === t.n ? { ...x, hex: neu.hex, lab: neu.lab } : x));
|
||||
const nachher = engstesPaar(probe).d;
|
||||
/* KRAEFTIG SCHLAEGT EIN PAAR TAUSENDSTEL ABSTAND.
|
||||
Erster Entwurf verlangte, dass der Abstand gar nicht sinkt --
|
||||
damit blieben zwei blasse Toene stehen, und der gemessene Preis
|
||||
waere 0,1028 -> 0,1010 gewesen: 1,7 Prozent, auf dem Bildschirm
|
||||
nicht zu sehen. Filipes Klage ueber helle Kacheln ist dagegen
|
||||
konkret und wiederholt.
|
||||
|
||||
Die Untergrenze ist dieselbe Zahl, die auch die Pruefung
|
||||
verlangt (0,090), mit etwas Luft. Darunter wird nicht getauscht --
|
||||
dann waere aus einem blassen Paar ein aehnliches geworden. */
|
||||
if (nachher < 0.095) {
|
||||
console.log(` BLASS Ton ${t.n} (${[...alle.get(t.n)].join("/")}) ${t.hex} `
|
||||
+ `bleibt -- kraeftiger ginge nur auf Kosten des Abstands `
|
||||
+ `(${vorher.toFixed(4)} -> ${nachher.toFixed(4)})`);
|
||||
continue;
|
||||
}
|
||||
const [, na, nb] = neu.lab;
|
||||
console.log(` BLASS Ton ${t.n} (${[...alle.get(t.n)].join("/")}) ${t.hex} -> ${neu.hex}`
|
||||
+ ` Buntheit ${c.toFixed(3)} -> ${Math.hypot(na, nb).toFixed(3)}`
|
||||
+ `, Minimum ${vorher.toFixed(4)} -> ${nachher.toFixed(4)}`);
|
||||
blassRunde.push({ n: t.n, alt: t.hex, neu: neu.hex, zeile: t.zeile });
|
||||
geaendert.push({ n: t.n, alt: t.hex, neu: neu.hex, zeile: t.zeile });
|
||||
liste = probe;
|
||||
}
|
||||
if (blassRunde.length) console.log(` ${blassRunde.length} blasse Toene kraeftiger gemacht.`);
|
||||
|
||||
const ende = engstesPaar(liste);
|
||||
console.log(`\nEngstes Paar danach: ${ende.d.toFixed(4)}`
|
||||
+ ` (${start.d.toFixed(4)} vorher, Faktor ${(ende.d / start.d).toFixed(2)})`);
|
||||
console.log(`Geaendert: ${geaendert.length} Toene.`);
|
||||
|
||||
let schlecht = 0;
|
||||
for (const t of liste) if (kontrast(t.hex) < 4.5) schlecht++;
|
||||
console.log(schlecht === 0
|
||||
? "Alle benutzten Toene erreichen 4,5:1 gegen den Grund."
|
||||
: `ACHTUNG: ${schlecht} Toene unter 4,5:1.`);
|
||||
|
||||
if (!schreiben) {
|
||||
console.log("\n(nur gezeigt -- mit --schreiben eintragen)");
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
for (const g of geaendert) {
|
||||
const neueZeile = g.zeile.replace(g.alt, g.neu).replace(g.alt.toUpperCase(), g.neu);
|
||||
if (!css.includes(g.zeile)) {
|
||||
console.error(`ABBRUCH: Zeile fuer Ton ${g.n} nicht mehr auffindbar.`);
|
||||
process.exit(2);
|
||||
}
|
||||
css = css.replace(g.zeile, neueZeile);
|
||||
}
|
||||
writeFileSync(CSS, css);
|
||||
console.log(`\n${geaendert.length} Zeilen in start.css geschrieben.`);
|
||||
@@ -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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<style>
|
||||
/* Bewusst in der Seite und nicht in einer eigenen Datei: Diese Seite
|
||||
soll auch dann noch etwas anzeigen, wenn genau das schiefgeht,
|
||||
@@ -125,6 +125,6 @@
|
||||
</main>
|
||||
␍
|
||||
|
||||
<script src="assets/js/anruf-probe.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/anruf-probe.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -22,25 +22,25 @@
|
||||
},
|
||||
"icons": [
|
||||
{
|
||||
"src": "/assets/img/app-symbole/workspace-192.png?v=202609220226",
|
||||
"src": "/assets/img/app-symbole/workspace-192.png?v=202609220921",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/workspace-512.png?v=202609220226",
|
||||
"src": "/assets/img/app-symbole/workspace-512.png?v=202609220921",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609220226",
|
||||
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609220921",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609220226",
|
||||
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609220921",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
|
||||
@@ -885,7 +885,7 @@ body.start > main { position: relative; z-index: 1; }
|
||||
wenn das Ergebnis schlechter waere als der alte Stand. */
|
||||
[data-ton="1"] { --ton: #0c86af; } /* Dashboard */
|
||||
[data-ton="2"] { --ton: #fe5e82; } /* Zahlen */
|
||||
[data-ton="3"] { --ton: #ff996d; } /* LIVE */
|
||||
[data-ton="3"] { --ton: #18b803; } /* LIVE */
|
||||
[data-ton="4"] { --ton: #c16302; } /* Chat */
|
||||
/* TON 5 IST VON HAND GESETZT (09.09.2026, screen4).
|
||||
|
||||
@@ -921,20 +921,20 @@ body.start > main { position: relative; z-index: 1; }
|
||||
der startseite"). Was sie heraushebt, ist die Farbe, nicht eine
|
||||
Sonderform. */
|
||||
[data-ton="5"] { --ton: #ff08d5; } /* Schutz & Regeln -- Wunsch: extrem auffällig */
|
||||
[data-ton="6"] { --ton: #8b8400; } /* Community */
|
||||
[data-ton="6"] { --ton: #b699fe; } /* Community */
|
||||
[data-ton="7"] { --ton: #098f71; } /* Reports */
|
||||
[data-ton="8"] { --ton: #ab68ff; } /* Kalender */
|
||||
[data-ton="9"] { --ton: #cace02; } /* Bibliothek */
|
||||
[data-ton="10"] { --ton: #a8ad11; } /* Steckbrief */
|
||||
[data-ton="9"] { --ton: #e701c1; } /* Bibliothek */
|
||||
[data-ton="10"] { --ton: #ff6877; } /* Steckbrief */
|
||||
[data-ton="11"] { --ton: #db8908; } /* Personen */
|
||||
[data-ton="12"] { --ton: #0ce6a3; } /* Content */
|
||||
[data-ton="13"] { --ton: #12b37e; } /* Aufgaben */
|
||||
[data-ton="14"] { --ton: #ffbd4a; } /* Technik */
|
||||
[data-ton="15"] { --ton: #01d7e3; } /* Calls */
|
||||
[data-ton="16"] { --ton: #19b2c2; } /* Start-Check */
|
||||
[data-ton="17"] { --ton: #a2c6fe; } /* Agentur */
|
||||
[data-ton="17"] { --ton: #cace02; } /* Agentur */
|
||||
[data-ton="18"] { --ton: #aa99ff; } /* Automationen */
|
||||
[data-ton="19"] { --ton: #586dfe; } /* Dateien */
|
||||
[data-ton="19"] { --ton: #08eb9f; } /* Dateien */
|
||||
[data-ton="20"] { --ton: #ff8fb4; } /* Creator-Profile */
|
||||
/* TON 21 IST VON HAND GESETZT (09.09.2026, screen6).
|
||||
|
||||
@@ -976,7 +976,7 @@ body.start > main { position: relative; z-index: 1; }
|
||||
allen ausgerechnet. #5f8a9f hat mit 127 den zweitgroessten -- der
|
||||
groesste war ein Graubraun, und eine graue Kachel zwischen bunten
|
||||
sieht abgeschaltet aus. Gedeckt statt grell, wie alles hier. */
|
||||
[data-ton="23"] { --ton: #07a7fd; } /* Ideen-Board */
|
||||
[data-ton="23"] { --ton: #08b5fc; } /* Ideen-Board */
|
||||
|
||||
/* Ton 24 (10.09.2026, Eingang). Wieder gerechnet statt gewaehlt, und bei
|
||||
23 belegten Toenen wird es eng: Der Abstand im CIELAB-Raum zum
|
||||
@@ -1028,7 +1028,7 @@ body.start > main { position: relative; z-index: 1; }
|
||||
dem die Kacheln Gruppenfarben brauchen statt Einzelfarben -- nicht
|
||||
der, an dem man den naechsten Ton dazwischenquetscht. */
|
||||
[data-ton="26"] { --ton: #07fff1; } /* Eure Aufgaben (bis 19.09. "Entwicklung") */
|
||||
[data-ton="27"] { --ton: #ff6bfa; } /* Talente */
|
||||
[data-ton="27"] { --ton: #e871ff; } /* Talente */
|
||||
|
||||
/* =====================================================================
|
||||
DIE SIEBEN TOENE DES TREFFS (11.09.2026)
|
||||
@@ -1055,12 +1055,12 @@ body.start > main { position: relative; z-index: 1; }
|
||||
also nicht Genauigkeitsspielerei, sondern der Unterschied zwischen
|
||||
unterscheidbar und nicht. */
|
||||
[data-ton="28"] { --ton: #069511; } /* Regeln & Hilfe */
|
||||
[data-ton="29"] { --ton: #ee068b; } /* Highlights */
|
||||
[data-ton="29"] { --ton: #f10778; } /* Highlights */
|
||||
[data-ton="30"] { --ton: #a7ff98; } /* Wunschliste */
|
||||
[data-ton="31"] { --ton: #fe5a11; } /* Was ansteht */
|
||||
[data-ton="32"] { --ton: #18b803; } /* Mitmachen */
|
||||
[data-ton="31"] { --ton: #0ed1d0; } /* Was ansteht */
|
||||
[data-ton="32"] { --ton: #0687bc; } /* Mitmachen */
|
||||
[data-ton="33"] { --ton: #f4acff; } /* Anschlagbrett */
|
||||
[data-ton="34"] { --ton: #f9d7ff; } /* Der Treff */
|
||||
[data-ton="34"] { --ton: #a2af10; } /* Der Treff */
|
||||
|
||||
/* DER 35. TON (11.09.2026) — für „Wer sieht was".
|
||||
|
||||
@@ -1086,7 +1086,7 @@ body.start > main { position: relative; z-index: 1; }
|
||||
mit einer anderen geteilt. Zwei Dinge in einer Farbe heißt, dass die
|
||||
Farbe nichts mehr sagt — und pruef-start-ansicht zählt genau das
|
||||
nach ("34 Farben auf 35 Kacheln" war ihre Meldung). */
|
||||
[data-ton="35"] { --ton: #b4f1fe; } /* Wer sieht was */
|
||||
[data-ton="35"] { --ton: #fe8ebe; } /* Wer sieht was */
|
||||
/* Der 36., nach derselben Rechnung: #7c2771, Abstand 29,7 zu den beiden
|
||||
nächsten (#8e5b77 „Highlights", #2f2f7f „Wer sieht was"). Auch das
|
||||
liegt über dem schwächsten Paar der vorhandenen Töne (24,9). */
|
||||
@@ -1115,7 +1115,7 @@ body.start > main { position: relative; z-index: 1; }
|
||||
Ergebnis: OKLCH L=0.59 C=0.185 H=254. Abstand 0.310 zum nächsten
|
||||
(Ton 33), Kontrast 4.51:1. Blau ist die einzige Ecke, die im Treff
|
||||
noch frei war — das ist kein Zufall, sondern das Ergebnis. */
|
||||
[data-ton="38"] { --ton: #0286e5; } /* Unsere Seiten */
|
||||
[data-ton="38"] { --ton: #ff1a1a; } /* Draussen -- KNALLROT, gesetzt 22.09.2026 (Kontrast 4,84:1) */
|
||||
/* VERTRAULICH MELDEN (19.09.2026) -- ebenfalls abgesucht, nicht gewaehlt.
|
||||
140 973 lesbare Kandidaten, gewonnen hat der mit dem groessten
|
||||
Mindestabstand zu allen neun belegten Toenen: OKLCH L=0.77 C=0.130
|
||||
@@ -1127,9 +1127,9 @@ body.start > main { position: relative; z-index: 1; }
|
||||
hinzufuegt, sollte das wissen und notfalls einen alten verschieben,
|
||||
statt die Schwelle stillschweigend zu senken. */
|
||||
[data-ton="39"] { --ton: #ff57ba; } /* Vertraulich melden */
|
||||
[data-ton="40"] { --ton: #feb9b8; } /* Entwicklung (die Auswertung) */
|
||||
[data-ton="40"] { --ton: #ff9d82; } /* Entwicklung (die Auswertung) */
|
||||
[data-ton="41"] { --ton: #6d8cfe; } /* Treff-Chat */
|
||||
[data-ton="42"] { --ton: #71a108; } /* Material (Platzhalter, wird gerechnet) */
|
||||
[data-ton="42"] { --ton: #918a01; } /* Material (Platzhalter, wird gerechnet) */
|
||||
|
||||
/* 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
|
||||
|
||||
+17
-17
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -367,16 +367,16 @@
|
||||
<!-- 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=202609220226"></script>
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/textform.js?v=202609220921"></script>
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/zuteilung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/aufgaben.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/zuteilung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/aufgaben.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+15
-15
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/automation.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/automation.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -168,13 +168,13 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>␍
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>␍
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/automation.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/automation.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -160,13 +160,13 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>
|
||||
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/befinden.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/befinden.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+20
-20
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -295,17 +295,17 @@
|
||||
<!-- 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=202609220226"></script>
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/textform.js?v=202609220921"></script>
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/ampel.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/schulung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereich.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/ampel.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/schulung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereich.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+17
-17
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -108,12 +108,12 @@
|
||||
</main>
|
||||
|
||||
<!-- Der Fuß gehört zu jeder Seite - siehe pruef-css-klassen. -->
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>␍
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bewerben.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>␍
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bewerben.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-16
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -80,13 +80,13 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>␍
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>␍
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bewerbungen.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bewerbungen.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-16
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/calls.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/calls.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -89,14 +89,14 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>
|
||||
|
||||
<script src="assets/js/ki.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/calls.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/ki.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/calls.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+18
-18
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/chat.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/chat.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -414,24 +414,24 @@
|
||||
</form>
|
||||
</dialog>
|
||||
|
||||
<script src="assets/js/bereiche.js?v=202609220226"></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921"></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=202609220226"></script>
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226"></script>
|
||||
<script src="assets/js/glocke.js?v=202609220226"></script>
|
||||
<script src="assets/js/textform.js?v=202609220921"></script>
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921"></script>
|
||||
<script src="assets/js/glocke.js?v=202609220921"></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=202609220226"></script>
|
||||
<script src="assets/js/chat.js?v=202609220226"></script>
|
||||
<script src="assets/js/anruf.js?v=202609220921"></script>
|
||||
<script src="assets/js/chat.js?v=202609220921"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-16
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/content.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/content.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -179,14 +179,14 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/content.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/content.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/crew-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/crew-haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="gate gate--crew">
|
||||
@@ -381,6 +381,6 @@
|
||||
|
||||
|
||||
|
||||
<script src="assets/js/gate.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/gate.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -22,25 +22,25 @@
|
||||
},
|
||||
"icons": [
|
||||
{
|
||||
"src": "/assets/img/app-symbole/crew-192.png?v=202609220226",
|
||||
"src": "/assets/img/app-symbole/crew-192.png?v=202609220921",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/crew-512.png?v=202609220226",
|
||||
"src": "/assets/img/app-symbole/crew-512.png?v=202609220921",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202609220226",
|
||||
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202609220921",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202609220226",
|
||||
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202609220921",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
|
||||
+16
-16
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/dateien.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/dateien.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -108,14 +108,14 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/dateien.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/dateien.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -132,13 +132,13 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>
|
||||
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/entwicklung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/entwicklung.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+13
-13
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/hilfe.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/hilfe.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -146,12 +146,12 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/hilfe.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/hilfe.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="gate">
|
||||
@@ -411,6 +411,6 @@
|
||||
</div>
|
||||
␍␍
|
||||
|
||||
<script src="assets/js/gate.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/gate.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-16
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/kalender.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/kalender.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -383,14 +383,14 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kalender.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kalender-abo.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kalender.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kalender-abo.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+15
-15
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/leistung.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/leistung.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -444,12 +444,12 @@
|
||||
</form>
|
||||
</dialog>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609220226"></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226"></script>
|
||||
<script src="assets/js/wahl.js?v=202609220226"></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226"></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226"></script>
|
||||
<script src="assets/js/glocke.js?v=202609220226"></script>
|
||||
<script src="assets/js/leistung.js?v=202609220226"></script>
|
||||
<script src="assets/js/meldung.js?v=202609220921"></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921"></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921"></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921"></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921"></script>
|
||||
<script src="assets/js/glocke.js?v=202609220921"></script>
|
||||
<script src="assets/js/leistung.js?v=202609220921"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+13
-13
@@ -6,11 +6,11 @@
|
||||
<title>Material · Team Dogi</title>
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link rel="manifest" href="/workspace/crew.webmanifest" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/material.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/material.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
<body class="start" data-ton="42" data-buehne="studio">
|
||||
|
||||
@@ -92,13 +92,13 @@
|
||||
<p class="m-laedt" id="laedt">Einen Moment …</p>
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/material.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/material.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+15
-15
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/personen.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/personen.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -453,13 +453,13 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/personen.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/personen.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+17
-17
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/profil.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/profil.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -214,15 +214,15 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/steckbrief.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/profil.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/steckbrief.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/profil.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -134,11 +134,11 @@
|
||||
Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen
|
||||
Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen,
|
||||
die seit dem 07.09. jede Seite danach absucht. -->
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/rechte.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/rechte.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-16
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/report.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/report.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -106,14 +106,14 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>␍
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>␍
|
||||
|
||||
<script src="assets/js/ki.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/report.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/ki.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/report.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+15
-15
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/scouting.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/scouting.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -173,13 +173,13 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/scouting.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/scouting.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/heim.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -678,13 +678,13 @@
|
||||
</p>
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>␍
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>␍
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/start.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/start.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-16
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -85,14 +85,14 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>␍
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>␍
|
||||
|
||||
<script src="assets/js/ki.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/startcheck.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/ki.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/startcheck.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+17
-17
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/profil.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/profil.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -150,15 +150,15 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/steckbrief.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/steckbrief.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+15
-15
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -111,12 +111,12 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/talente.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/talente.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/team.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/team.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -110,12 +110,12 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>␍
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>␍
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/team.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/team.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/team.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/team.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<!-- `data-buehne` steht hier fest und nicht im Skript: Die Kachel zu
|
||||
@@ -84,11 +84,11 @@
|
||||
Kaputt ist dabei nichts -- er funktioniert. Genau deshalb faellt
|
||||
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=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>␍
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/teamlage.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>␍
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/teamlage.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+13
-13
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -112,12 +112,12 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>␍
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>␍
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/teilen.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/teilen.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -126,12 +126,12 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/treff-moderation.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/treff-moderation.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein. Auf der Adresse des
|
||||
Treffs biegt der Server genau diesen Dateinamen auf crew-haus.css
|
||||
um, und die Seite kommt schon beim ERSTEN Abruf in Lila und
|
||||
Babyblau an -- ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -221,11 +221,11 @@
|
||||
Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen
|
||||
Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen,
|
||||
die seit dem 07.09. jede Seite danach absucht. -->
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>␍
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/treff-regeln.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>␍
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/treff-regeln.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+15
-15
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<!-- Formular- und Dialogstile: seit dem 07.09.2026 steht hier der
|
||||
Dialog "Creator anlegen". -->
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -149,14 +149,14 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>␍
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>␍
|
||||
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/uebersicht.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/uebersicht.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -335,11 +335,11 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/unsere-seiten.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/unsere-seiten.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/werdegang.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/werdegang.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -144,11 +144,11 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/werdegang.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/werdegang.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+11
-11
@@ -6,11 +6,11 @@
|
||||
<title>Willkommen · Team Dogi</title>
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link rel="manifest" href="/workspace/crew.webmanifest" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/willkommen.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/willkommen.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
<!-- KOERPERKLASSE "start", NICHT "gate" (berichtigt 21.09.2026).
|
||||
`body.gate` ist die Anmeldewand: `display:flex; align-items:center`,
|
||||
@@ -67,11 +67,11 @@
|
||||
<p class="fehler" id="fehler" hidden></p>
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/willkommen.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/willkommen.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-16
@@ -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=202609220226" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/wissen.css?v=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220226" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220921" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/wissen.css?v=202609220921" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609220921" />
|
||||
<!-- 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=202609220226" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220921" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -190,14 +190,14 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609220921" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wissen.js?v=202609220226" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609220921" defer></script>
|
||||
<script src="assets/js/wissen.js?v=202609220921" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user