Die Buehnen richtig: nicht mehr beschnitten, hell, mit Lesespur

Drei handfeste Fehler, alle im Screenshot zu sehen gewesen.

1. ABGESCHNITTEN. background-size stand auf "138% auto". Auf einem
   2540 px breiten Schirm wurde das Bild damit 3500 px breit und knapp
   2000 px hoch -- in einem 1300 px hohen Fenster fehlten 700 px, und
   zwar oben. Genau deshalb waren die Figuren riesig und ihre Koepfe
   weg. Jetzt cover mit Verankerung auf 50% 42%: Die Flaeche wird immer
   gefuellt, so wenig wie noetig skaliert, und wenn etwas beschnitten
   werden muss, dann Fussboden und Decke -- nicht die Gesichter.

2. DIE VIGNETTE LAG FALSCH HERUM. Abgedunkelt wurde die MITTE, also
   genau der Teil, in dem die Szene steht. Man sah die Raender des
   Bildes und in der Mitte einen grauen Fleck. Jetzt laufen die RAENDER
   ins Dunkle und die Mitte bleibt klar -- so wie in der Fotografie.

3. ZWEI SCHICHTEN DUNKELHEIT. Zusaetzlich zur Vignette legte der
   Schleier .86/.58/.44 Schwarz ueber dasselbe Bild. Jetzt nur noch
   oben (Kopfleiste) und unten (Seitenende) ein Streifen.

Dazu die Bilder selbst: Helligkeit 0.66 -> 0.88, mehr Kontrast und
Farbe. Sie sind ein BILD, kein Nebel.

DIE LESESPUR ist der eigentliche Kniff. In allen neun Szenen stehen
HasiDog und DogFather AUSSEN, die Mitte ist frei -- danach wurden sie
ausgesucht. Diese Aufteilung wird jetzt benutzt statt bekaempft: aussen
bleibt das Bild hell und scharf, in der Mitte (wo der Text steht) wird
gedaempft. Der klare Rand ist in jedem Fenster mindestens 400 px breit.
Auf dem Handy gibt es daneben keinen Platz, dort deckt die Spur alles.

Was frei stand und keine Karte hatte, bekommt eine Lesezone mit
backdrop-filter: Der Hintergrund bleibt in Farbe und Form sichtbar,
wird an dieser Stelle aber weichgezeichnet. Die billige Loesung waere
gewesen, das Bild wieder abzudunkeln -- damit waere man dort, wo man
angefangen hat.

ZWEITER FUND AN DER EIGENEN KONTRASTMESSUNG. Sie tastete
ausschliesslich NEBEN dem Element ab. Traegt ein Text seine Flaeche
aber selbst (eine Beschriftung mit Hintergrund und Polsterung), liegt
jeder Punkt daneben schon auf dem Bild -- gemeldet wurden 1,89:1,
obwohl der Text auf deckender Flaeche steht und tadellos lesbar ist.
Jetzt wird zuerst in der eigenen Polsterung gemessen, also auf dem,
worauf der Text WIRKLICH liegt. (Der erste Fund an derselben Stelle war
gestern: Sie mass Text gegen Nachbartext.)

Nach dem Aufhellen einmal komplett durchgemessen: von sieben roten
Stellen auf null. Schlechtester Wert jetzt 4,70:1 bei 4,5:1 Norm.

Die Bilder sind groesser geworden (580 KB -> 1,8 MB fuer alle achtzehn),
weil weniger Dunkelheit weniger komprimierbar ist. Geladen wird pro
Seite genau eine: 42 bis 132 KB.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-09-01 11:43:08 +02:00
co-authored by Claude Opus 5
parent 299ef0d506
commit 766c75b51d
44 changed files with 373 additions and 141 deletions
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 289 KiB

After

Width:  |  Height:  |  Size: 371 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 730 KiB

After

Width:  |  Height:  |  Size: 790 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 870 KiB

+24 -3
View File
@@ -150,11 +150,32 @@ for (const [breite, hoehe, wie] of [[1440, 950, "Computer"], [390, 780, "Handy"]
if (r.top < 0 || r.bottom > window.innerHeight) continue;
const mitte = r.top + r.height / 2;
const kandidaten = [
const st0 = getComputedStyle(e);
const kandidaten = [];
/* ZUERST IN DER EIGENEN POLSTERUNG.
Zweiter Fund an derselben Pruefung: Sie tastete ausschliesslich
NEBEN dem Element ab. Traegt der Text seine Flaeche aber selbst
(eine Beschriftung mit eigenem Hintergrund und Polsterung), dann
liegt jeder Punkt daneben schon auf dem Hintergrundbild -- und
gemeldet wurde 1,89:1, obwohl der Text auf einer deckenden
Flaeche steht und tadellos lesbar ist.
Der Untergrund eines Textes ist das, worauf er WIRKLICH liegt.
Hat das Element genug Polsterung, wird dort gemessen: innen,
aber sicher neben jedem Buchstaben. */
const pl = parseFloat(st0.paddingLeft) || 0;
const pt = parseFloat(st0.paddingTop) || 0;
if (pt >= 5) kandidaten.push([r.left + r.width / 2, r.top + pt / 2]);
if (pl >= 7) kandidaten.push([r.left + pl / 2, mitte]);
/* Danach wie bisher rings herum. */
kandidaten.push(
[r.right + 4, mitte], [r.right + 14, mitte],
[r.left - 4, mitte], [r.left - 14, mitte],
[r.left + r.width / 2, r.top - 3], [r.left + r.width / 2, r.bottom + 3],
];
);
let p = null;
for (const [kx, ky] of kandidaten) {
if (kx < 0 || ky < 0 || kx >= window.innerWidth || ky >= window.innerHeight) continue;
@@ -169,7 +190,7 @@ for (const [breite, hoehe, wie] of [[1440, 950, "Computer"], [390, 780, "Handy"]
behauptet, etwas geprüft zu haben. */
if (!p) { ohneStelle++; continue; }
const st = getComputedStyle(e);
const st = st0;
const farbe = st.color.match(/\d+/g).slice(0, 3).map(Number);
const gr = parseFloat(st.fontSize);
const fett = Number(st.fontWeight) >= 700;
+38 -7
View File
@@ -100,11 +100,14 @@ const AUFTRAEGE = [
Zug DICHTER geworden sind (siehe --glas in gate.css). Der Text
steht dadurch auf eigener Flaeche statt direkt auf dem Bild --
das Bild darf hell sein, ohne die Lesbarkeit anzugreifen. */
helligkeit: 0.66, saettigung: 1.08, kontrast: 1.04,
/* Die Vignette macht die Mitte ruhig, in der der Inhalt steht.
Schwaecher als vorher (0.52 statt 0.72), weil die Flaechen die
Arbeit jetzt selbst machen. */
vignette: { x: 0.5, y: 0.42, rx: 0.5, ry: 0.66, staerke: 0.52 },
/* Dritter Anlauf am 01.09.2026, und diesmal deutlich: 0.42 -> 0.66
war noch zu wenig. Jetzt 0.88 mit mehr Kontrast und Farbe -- die
Szene ist ein BILD, kein Nebel. Tragen kann sie das, weil aller
Text auf eigenen, deckenden Flaechen steht (--flaeche). */
helligkeit: 0.88, saettigung: 1.16, kontrast: 1.1,
/* Kein dunkler Fleck mehr in der Mitte -- stattdessen laufen die
RAENDER weich ins Dunkle. Siehe die Begruendung weiter unten. */
randvignette: { beginn: 0.5, staerke: 0.78 },
/* Oben ausblenden: dort sitzt die Kopfleiste. */
verlauf: [{ von: [0, 0], nach: [0, 0.14], stopps: [[0, 0.55], [1, 0]] }],
guete: 0.72,
@@ -116,8 +119,8 @@ const AUFTRAEGE = [
ausschnitt: schmalA,
/* Auf dem Handy etwas zurueckhaltender als am Rechner: Der Text
nimmt dort fast die ganze Flaeche ein, das Bild traegt weniger. */
helligkeit: 0.56, saettigung: 1.02, kontrast: 1.03,
vignette: { x: 0.5, y: 0.45, rx: 0.72, ry: 0.64, staerke: 0.6 },
helligkeit: 0.74, saettigung: 1.1, kontrast: 1.06,
randvignette: { beginn: 0.42, staerke: 0.8 },
verlauf: [{ von: [0, 0], nach: [0, 0.12], stopps: [[0, 0.55], [1, 0]] }],
guete: 0.68,
},
@@ -214,6 +217,34 @@ for (const a of AUFTRAEGE) {
/* Vignette: dunkler Fleck in der Mitte. Er wird DRAUFGEMALT (nicht
ausradiert), damit dort, wo der Text steht, wirklich Ruhe ist. */
/* DIE VIGNETTE LIEGT AUSSEN, NICHT IN DER MITTE.
Bis zum 01.09.2026 wurde die MITTE abgedunkelt -- also genau der
Teil, in dem die Szene steht. Ergebnis: Man sah nur die Raender
des Bildes, und die Mitte war ein grauer Fleck. Genau das meinte
Filipe mit "sieht ganz komisch aus".
Richtig herum ist es andersherum, so wie in der Fotografie: Die
Raender laufen weich ins Dunkle, die MITTE bleibt hell und klar.
Das Bild bekommt dadurch Tiefe statt Nebel. Moeglich ist das,
seit der Text auf eigenen Flaechen steht (--flaeche) und nicht
mehr direkt auf dem Bild liegt. */
if (a.randvignette) {
const v = a.randvignette;
g.save();
g.translate(0.5 * a.breite, 0.5 * a.hoehe);
/* Ueber die Diagonale skaliert, damit die Ecken wirklich erfasst
werden -- bei einem Kreis ueber die Breite blieben sie hell. */
g.scale(a.breite * 0.78, a.hoehe * 0.78);
const gr = g.createRadialGradient(0, 0, 0, 0, 0, 1);
gr.addColorStop(0, "rgba(5,7,13,0)");
gr.addColorStop(v.beginn ?? 0.55, "rgba(5,7,13,0)");
gr.addColorStop(1, `rgba(5,7,13,${v.staerke})`);
g.fillStyle = gr;
g.fillRect(-1.4, -1.4, 2.8, 2.8);
g.restore();
}
if (a.vignette) {
const v = a.vignette;
g.save();
+191 -11
View File
@@ -50,8 +50,18 @@ body.start::before {
position: fixed; inset: 0; z-index: 0;
pointer-events: none;
background-repeat: no-repeat;
background-position: center bottom;
background-size: 138% auto;
/* cover statt "138% auto". Der alte Wert war der eigentliche Fehler:
Bei 138 % Fensterbreite wurde das Bild auf einem 2540 px breiten
Schirm 3500 px breit und knapp 2000 px hoch -- in einem 1300 px
hohen Fenster fehlten damit 700 px, und zwar oben. Genau deshalb
waren die Figuren riesig und ihre Koepfe abgeschnitten.
cover fuellt die Flaeche IMMER vollstaendig und skaliert dabei so
wenig wie noetig. Die Verankerung liegt auf 50 % 42 %: etwas ueber
der Mitte, weil dort in allen neun Szenen die Gesichter sitzen --
wenn etwas beschnitten werden muss, dann Fussboden und Decke. */
background-position: 50% 42%;
background-size: cover;
/* Rueckfall, falls eine Seite keine eigene Szene hat. */
background-image: url("../img/buehne-studio-breit.webp");
}
@@ -99,11 +109,47 @@ body.start[data-buehne="portal"]::before { background-image: url("../img/buehne-
body.start > .schleier {
position: fixed; inset: 0; z-index: 0; pointer-events: none;
background:
linear-gradient(180deg, rgba(5, 7, 13, .86) 0%, rgba(5, 7, 13, .58) 13%,
rgba(5, 7, 13, .44) 48%, rgba(5, 7, 13, .66) 100%),
radial-gradient(70% 55% at 18% 8%, rgba(63, 189, 245, .06), transparent 70%),
radial-gradient(70% 60% at 88% 96%, rgba(138, 118, 255, .07), transparent 72%),
radial-gradient(56% 68% at 50% 46%, rgba(5, 7, 13, .66), transparent 84%);
/* NUR NOCH DIE RAENDER. Der Schleier legte vorher .86/.58/.44
Schwarz ueber das ganze Bild -- also auch ueber die Mitte, in der
die Szene steht, und das ZUSAETZLICH zur Vignette, die dort
ebenfalls dunkel war. Zwei Schichten Dunkelheit uebereinander,
genau an der Stelle, die man sehen will.
Jetzt: oben ein Streifen (dort sitzt die Kopfleiste), unten ein
Streifen (dort laeuft die Seite aus), die Mitte fast frei. Der
Text braucht das nicht mehr -- er steht auf eigenen Flaechen. */
linear-gradient(180deg,
rgba(5, 7, 13, .82) 0%,
rgba(5, 7, 13, .34) 12%,
rgba(5, 7, 13, .12) 40%,
rgba(5, 7, 13, .12) 62%,
rgba(5, 7, 13, .52) 100%),
/* Zwei sehr weiche Farbschimmer in den gegenueberliegenden Ecken.
Sie nehmen dem Bild das reine Schwarz und geben ihm Tiefe, ohne
eine einzige Farbe zu verfaelschen -- 5 bis 7 Prozent. */
radial-gradient(75% 60% at 12% 4%, rgba(63, 189, 245, .07), transparent 70%),
radial-gradient(75% 65% at 90% 98%, rgba(138, 118, 255, .08), transparent 72%),
/* DIE LESESPUR — und der eigentliche Kniff.
In allen neun Szenen stehen HasiDog und DogFather AUSSEN, die
Mitte ist frei. Genau danach wurden die Bilder ausgesucht. Diese
Aufteilung wird jetzt benutzt, statt gegen sie zu arbeiten:
aussen das Bild bleibt hell und scharf -- dort stehen die
Figuren, und die sollen zu sehen sein
mitte gedaempft -- dort steht der Text
Vorher wurde entweder alles abgedunkelt (dann war das Bild
Nebel) oder gar nichts (dann war Schrift auf einer hellen Stelle
unlesbar, gemessene 1,08:1). Beides falsch. Der Rand bleibt in
jedem Fenster mindestens 380 px breit klar -- genug fuer die
Figuren, egal wie breit der Schirm ist. */
linear-gradient(90deg,
rgba(5, 7, 13, 0) 0,
rgba(5, 7, 13, .8) min(22%, 400px),
rgba(5, 7, 13, .86) 50%,
rgba(5, 7, 13, .8) max(78%, calc(100% - 400px)),
rgba(5, 7, 13, 0) 100%);
}
/* Alles Bedienbare liegt über der Bühne. Ohne das läge der Inhalt zwar
@@ -118,6 +164,7 @@ body.start > main { position: relative; z-index: 1; }
body.start::before {
background-image: url("../img/buehne-studio-schmal.webp");
background-size: cover;
background-position: 50% 38%;
}
body.start[data-buehne="studio"]::before { background-image: url("../img/buehne-studio-schmal.webp"); }
body.start[data-buehne="showbuehne"]::before { background-image: url("../img/buehne-showbuehne-schmal.webp"); }
@@ -130,10 +177,10 @@ body.start > main { position: relative; z-index: 1; }
body.start[data-buehne="portal"]::before { background-image: url("../img/buehne-portal-schmal.webp"); }
body.start > .schleier {
background:
linear-gradient(180deg, rgba(5, 7, 13, .92) 0%, rgba(5, 7, 13, .74) 15%,
rgba(5, 7, 13, .7) 60%, rgba(5, 7, 13, .84) 100%),
radial-gradient(90% 40% at 20% 4%, rgba(63, 189, 245, .05), transparent 70%),
radial-gradient(90% 40% at 85% 98%, rgba(138, 118, 255, .06), transparent 72%);
linear-gradient(180deg, rgba(5, 7, 13, .86) 0%, rgba(5, 7, 13, .48) 14%,
rgba(5, 7, 13, .3) 55%, rgba(5, 7, 13, .66) 100%),
radial-gradient(90% 40% at 20% 4%, rgba(63, 189, 245, .06), transparent 70%),
radial-gradient(90% 40% at 85% 98%, rgba(138, 118, 255, .07), transparent 72%);
}
}
@@ -1283,3 +1330,136 @@ body.start > main { position: relative; z-index: 1; }
background: linear-gradient(90deg, var(--akzent), transparent);
opacity: .8;
}
/* =====================================================================
LESEZONEN — Text auf einem hellen Bild
Seit die Buehnen wirklich hell sind, reicht "dunkler Text auf dunklem
Grund" nicht mehr: Wo kein Kasten liegt, steht Schrift direkt auf dem
Bild. Die Kontrastmessung an echten Bildpunkten hat das sofort
gemeldet -- 1,08:1 an einer hellen Stelle. Unlesbar.
Die billige Loesung waere, das Bild wieder abzudunkeln. Damit waere
man aber wieder da, wo man angefangen hat.
Die richtige: Der Untergrund wird NUR DORT abgedunkelt, wo Text
steht -- und zwar mit backdrop-filter. Der Hintergrund bleibt in
Farbe und Form sichtbar, wird an dieser Stelle aber weichgezeichnet
und gedimmt. Das ist dieselbe Technik, die hochwertige Oberflaechen
fuer ihre Leisten benutzen: Man sieht, dass da etwas ist, aber es
stoert nicht mehr.
Faellt backdrop-filter aus (aeltere Browser), traegt der Verlauf
darunter die Lesbarkeit allein -- deshalb steht er da und ist nicht
nur Beiwerk.
===================================================================== */
body.start .willkommen,
body.start .kopf-zeile,
body.start .k-kopf {
padding: 20px 24px;
border-radius: var(--radius);
background: linear-gradient(180deg, rgba(6, 9, 16, .74), rgba(6, 9, 16, .58));
backdrop-filter: blur(14px) saturate(.9);
-webkit-backdrop-filter: blur(14px) saturate(.9);
}
/* Die Trennlinie darunter war fuer eine Zeile ohne Flaeche gedacht.
Auf einer eigenen Flaeche waere sie eine Kante zu viel. */
body.start .willkommen { border-bottom: 0; margin-bottom: 26px; }
body.start .kopf-zeile,
body.start .k-kopf { border-bottom: 0; }
/* Die Gruppenueberschriften auf der Startseite stehen frei zwischen den
Kacheln. Sie bekommen keinen Kasten (das waeren drei weitere Kaesten),
sondern nur einen schmalen, weich auslaufenden Traeger. */
body.start .gruppe__kopf {
position: relative;
padding: 7px 14px;
margin-left: -14px;
border-radius: 999px;
width: fit-content; max-width: 100%;
background: linear-gradient(90deg, rgba(6, 9, 16, .72), rgba(6, 9, 16, .3) 82%, transparent);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
}
/* Der Fusstext und freistehende Hinweise brauchen dasselbe. */
body.start .inhalt .fuss,
body.start .leer-hinweis,
body.start .protokoll-block,
body.start .zahlen-block,
body.start .dran {
position: relative;
}
body.start .inhalt .fuss {
padding: 14px 16px;
border-radius: var(--radius-klein);
background: rgba(6, 9, 16, .6);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
}
/* Listen und Bloecke, die bisher gar keine Flaeche hatten (Protokolle,
Verlaeufe, Tabellenzeilen) -- sie liegen jetzt auf --flaeche wie
alles andere. */
body.start #protokoll,
body.start #liste > .leise,
body.start .verlauf {
border-radius: var(--radius-klein);
}
@media (max-width: 620px) {
body.start .willkommen,
body.start .kopf-zeile,
body.start .k-kopf { padding: 16px 15px; }
body.start .gruppe__kopf { margin-left: -10px; padding: 6px 11px; }
}
/* Ohne backdrop-filter (Kontrastmodus, aeltere Browser) muss der
Verlauf allein tragen -- deshalb wird er dort deckend. */
@media (forced-colors: active) {
body.start .willkommen,
body.start .kopf-zeile,
body.start .k-kopf,
body.start .gruppe__kopf { background: Canvas; }
}
/* Die letzten drei freistehenden Textstellen, die die Kontrastmessung
nach dem Aufhellen noch gefunden hat. Alle drei sind Beschriftungen
ohne eigene Flaeche -- sie bekommen dieselbe schmale Lesezone wie die
Gruppenueberschriften. */
body.start .dran .feldschild,
body.start .zahlen-block .feldschild,
body.start .protokoll-block .feldschild,
body.start .k-leiste .feldschild {
padding: 6px 13px 6px 11px;
margin-left: -11px;
border-radius: 999px;
width: fit-content; max-width: 100%;
background: linear-gradient(90deg, rgba(6, 9, 16, .74), rgba(6, 9, 16, .32) 84%, transparent);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
}
/* Das Ereignisprotokoll auf der Personenseite stand als einziges ganz
ohne Traeger da -- IP-Adressen und Zeitstempel direkt auf dem Bild. */
body.start #protokoll {
padding: 4px 14px;
border-radius: var(--radius-klein);
background: rgba(6, 9, 16, .66);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
}
/* Auf dem Handy gibt es keinen Platz fuer Figuren neben dem Text --
dort darf die Lesespur ueber die ganze Breite gehen. Das Bild bleibt
oben und unten sichtbar, wo der Inhalt nicht steht. */
@media (max-width: 760px) {
body.start > .schleier {
background:
linear-gradient(180deg, rgba(5, 7, 13, .88) 0%, rgba(5, 7, 13, .6) 12%,
rgba(5, 7, 13, .5) 55%, rgba(5, 7, 13, .72) 100%),
radial-gradient(90% 40% at 20% 4%, rgba(63, 189, 245, .06), transparent 70%),
radial-gradient(90% 40% at 85% 98%, rgba(138, 118, 255, .07), transparent 72%);
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 70 KiB

+7 -7
View File
@@ -7,9 +7,9 @@
<meta name="robots" content="noindex, nofollow" />
<meta name="theme-color" content="#05070d" />
<link rel="icon" href="assets/img/favicon.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011138" />
</head>
<body class="start">
@@ -139,9 +139,9 @@
</form>
</dialog>
<script src="assets/js/wahl.js?v=202609011130" defer></script>
<script src="assets/js/bereiche.js?v=202609011130" defer></script>
<script src="assets/js/kopf.js?v=202609011130" defer></script>
<script src="assets/js/aufgaben.js?v=202609011130" defer></script>
<script src="assets/js/wahl.js?v=202609011138" defer></script>
<script src="assets/js/bereiche.js?v=202609011138" defer></script>
<script src="assets/js/kopf.js?v=202609011138" defer></script>
<script src="assets/js/aufgaben.js?v=202609011138" defer></script>
</body>
</html>
+8 -8
View File
@@ -7,10 +7,10 @@
<meta name="robots" content="noindex, nofollow" />
<meta name="theme-color" content="#05070d" />
<link rel="icon" href="assets/img/favicon.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/automation.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/automation.css?v=202609011138" />
</head>
<body class="start">
@@ -132,9 +132,9 @@
</main>
<script src="assets/js/wahl.js?v=202609011130" defer></script>
<script src="assets/js/bereiche.js?v=202609011130" defer></script>
<script src="assets/js/kopf.js?v=202609011130" defer></script>
<script src="assets/js/automation.js?v=202609011130" defer></script>
<script src="assets/js/wahl.js?v=202609011138" defer></script>
<script src="assets/js/bereiche.js?v=202609011138" defer></script>
<script src="assets/js/kopf.js?v=202609011138" defer></script>
<script src="assets/js/automation.js?v=202609011138" defer></script>
</body>
</html>
+8 -8
View File
@@ -7,10 +7,10 @@
<meta name="robots" content="noindex, nofollow" />
<meta name="theme-color" content="#05070d" />
<link rel="icon" href="assets/img/favicon.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609011138" />
</head>
<body class="start">
@@ -107,9 +107,9 @@
</main>
<script src="assets/js/wahl.js?v=202609011130" defer></script>
<script src="assets/js/bereiche.js?v=202609011130" defer></script>
<script src="assets/js/kopf.js?v=202609011130" defer></script>
<script src="assets/js/bereich.js?v=202609011130" defer></script>
<script src="assets/js/wahl.js?v=202609011138" defer></script>
<script src="assets/js/bereiche.js?v=202609011138" defer></script>
<script src="assets/js/kopf.js?v=202609011138" defer></script>
<script src="assets/js/bereich.js?v=202609011138" defer></script>
</body>
</html>
+9 -9
View File
@@ -7,10 +7,10 @@
<meta name="robots" content="noindex, nofollow" />
<meta name="theme-color" content="#05070d" />
<link rel="icon" href="assets/img/favicon.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/calls.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/calls.css?v=202609011138" />
</head>
<body class="start">
@@ -54,10 +54,10 @@
</main>
<script src="assets/js/ki.js?v=202609011130" defer></script>
<script src="assets/js/wahl.js?v=202609011130" defer></script>
<script src="assets/js/bereiche.js?v=202609011130" defer></script>
<script src="assets/js/kopf.js?v=202609011130" defer></script>
<script src="assets/js/calls.js?v=202609011130" defer></script>
<script src="assets/js/ki.js?v=202609011138" defer></script>
<script src="assets/js/wahl.js?v=202609011138" defer></script>
<script src="assets/js/bereiche.js?v=202609011138" defer></script>
<script src="assets/js/kopf.js?v=202609011138" defer></script>
<script src="assets/js/calls.js?v=202609011138" defer></script>
</body>
</html>
+8 -8
View File
@@ -7,10 +7,10 @@
<meta name="robots" content="noindex, nofollow" />
<meta name="theme-color" content="#05070d" />
<link rel="icon" href="assets/img/favicon.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/content.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/content.css?v=202609011138" />
</head>
<body class="start">
@@ -158,9 +158,9 @@
</main>
<script src="assets/js/wahl.js?v=202609011130" defer></script>
<script src="assets/js/bereiche.js?v=202609011130" defer></script>
<script src="assets/js/kopf.js?v=202609011130" defer></script>
<script src="assets/js/content.js?v=202609011130" defer></script>
<script src="assets/js/wahl.js?v=202609011138" defer></script>
<script src="assets/js/bereiche.js?v=202609011138" defer></script>
<script src="assets/js/kopf.js?v=202609011138" defer></script>
<script src="assets/js/content.js?v=202609011138" defer></script>
</body>
</html>
+8 -8
View File
@@ -7,10 +7,10 @@
<meta name="robots" content="noindex, nofollow" />
<meta name="theme-color" content="#05070d" />
<link rel="icon" href="assets/img/favicon.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/dateien.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/dateien.css?v=202609011138" />
</head>
<body class="start">
@@ -93,9 +93,9 @@
</main>
<script src="assets/js/wahl.js?v=202609011130" defer></script>
<script src="assets/js/bereiche.js?v=202609011130" defer></script>
<script src="assets/js/kopf.js?v=202609011130" defer></script>
<script src="assets/js/dateien.js?v=202609011130" defer></script>
<script src="assets/js/wahl.js?v=202609011138" defer></script>
<script src="assets/js/bereiche.js?v=202609011138" defer></script>
<script src="assets/js/kopf.js?v=202609011138" defer></script>
<script src="assets/js/dateien.js?v=202609011138" defer></script>
</body>
</html>
+2 -2
View File
@@ -25,7 +25,7 @@
type="image/webp" media="(max-width: 899px)" />
<link rel="icon" href="assets/img/favicon.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011138" />
</head>
<body class="gate">
@@ -143,6 +143,6 @@
</p>
</main>
<script src="assets/js/gate.js?v=202609011130" defer></script>
<script src="assets/js/gate.js?v=202609011138" defer></script>
</body>
</html>
+8 -8
View File
@@ -7,10 +7,10 @@
<meta name="robots" content="noindex, nofollow" />
<meta name="theme-color" content="#05070d" />
<link rel="icon" href="assets/img/favicon.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/kalender.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/kalender.css?v=202609011138" />
</head>
<body class="start">
@@ -147,9 +147,9 @@
</main>
<script src="assets/js/wahl.js?v=202609011130" defer></script>
<script src="assets/js/bereiche.js?v=202609011130" defer></script>
<script src="assets/js/kopf.js?v=202609011130" defer></script>
<script src="assets/js/kalender.js?v=202609011130" defer></script>
<script src="assets/js/wahl.js?v=202609011138" defer></script>
<script src="assets/js/bereiche.js?v=202609011138" defer></script>
<script src="assets/js/kopf.js?v=202609011138" defer></script>
<script src="assets/js/kalender.js?v=202609011138" defer></script>
</body>
</html>
+8 -8
View File
@@ -7,10 +7,10 @@
<meta name="robots" content="noindex, nofollow" />
<meta name="theme-color" content="#05070d" />
<link rel="icon" href="assets/img/favicon.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/personen.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/personen.css?v=202609011138" />
</head>
<body class="start">
@@ -121,9 +121,9 @@
</main>
<script src="assets/js/wahl.js?v=202609011130" defer></script>
<script src="assets/js/bereiche.js?v=202609011130" defer></script>
<script src="assets/js/kopf.js?v=202609011130" defer></script>
<script src="assets/js/personen.js?v=202609011130" defer></script>
<script src="assets/js/wahl.js?v=202609011138" defer></script>
<script src="assets/js/bereiche.js?v=202609011138" defer></script>
<script src="assets/js/kopf.js?v=202609011138" defer></script>
<script src="assets/js/personen.js?v=202609011138" defer></script>
</body>
</html>
+8 -8
View File
@@ -7,10 +7,10 @@
<meta name="robots" content="noindex, nofollow" />
<meta name="theme-color" content="#05070d" />
<link rel="icon" href="assets/img/favicon.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609011138" />
</head>
<body class="start">
@@ -170,9 +170,9 @@
</main>
<script src="assets/js/wahl.js?v=202609011130" defer></script>
<script src="assets/js/bereiche.js?v=202609011130" defer></script>
<script src="assets/js/kopf.js?v=202609011130" defer></script>
<script src="assets/js/profil.js?v=202609011130" defer></script>
<script src="assets/js/wahl.js?v=202609011138" defer></script>
<script src="assets/js/bereiche.js?v=202609011138" defer></script>
<script src="assets/js/kopf.js?v=202609011138" defer></script>
<script src="assets/js/profil.js?v=202609011138" defer></script>
</body>
</html>
+9 -9
View File
@@ -7,10 +7,10 @@
<meta name="robots" content="noindex, nofollow" />
<meta name="theme-color" content="#05070d" />
<link rel="icon" href="assets/img/favicon.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/report.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/report.css?v=202609011138" />
</head>
<body class="start">
@@ -91,10 +91,10 @@
</main>
<script src="assets/js/ki.js?v=202609011130" defer></script>
<script src="assets/js/wahl.js?v=202609011130" defer></script>
<script src="assets/js/bereiche.js?v=202609011130" defer></script>
<script src="assets/js/kopf.js?v=202609011130" defer></script>
<script src="assets/js/report.js?v=202609011130" defer></script>
<script src="assets/js/ki.js?v=202609011138" defer></script>
<script src="assets/js/wahl.js?v=202609011138" defer></script>
<script src="assets/js/bereiche.js?v=202609011138" defer></script>
<script src="assets/js/kopf.js?v=202609011138" defer></script>
<script src="assets/js/report.js?v=202609011138" defer></script>
</body>
</html>
+8 -8
View File
@@ -7,10 +7,10 @@
<meta name="robots" content="noindex, nofollow" />
<meta name="theme-color" content="#05070d" />
<link rel="icon" href="assets/img/favicon.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/scouting.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/scouting.css?v=202609011138" />
</head>
<body class="start">
@@ -124,9 +124,9 @@
</div>
</div>
<script src="assets/js/wahl.js?v=202609011130" defer></script>
<script src="assets/js/bereiche.js?v=202609011130" defer></script>
<script src="assets/js/kopf.js?v=202609011130" defer></script>
<script src="assets/js/scouting.js?v=202609011130" defer></script>
<script src="assets/js/wahl.js?v=202609011138" defer></script>
<script src="assets/js/bereiche.js?v=202609011138" defer></script>
<script src="assets/js/kopf.js?v=202609011138" defer></script>
<script src="assets/js/scouting.js?v=202609011138" defer></script>
</body>
</html>
+6 -6
View File
@@ -7,8 +7,8 @@
<meta name="robots" content="noindex, nofollow" />
<meta name="theme-color" content="#05070d" />
<link rel="icon" href="assets/img/favicon.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011138" />
</head>
<body class="start">
@@ -99,9 +99,9 @@
</p>
</main>
<script src="assets/js/wahl.js?v=202609011130" defer></script>
<script src="assets/js/bereiche.js?v=202609011130" defer></script>
<script src="assets/js/kopf.js?v=202609011130" defer></script>
<script src="assets/js/start.js?v=202609011130" defer></script>
<script src="assets/js/wahl.js?v=202609011138" defer></script>
<script src="assets/js/bereiche.js?v=202609011138" defer></script>
<script src="assets/js/kopf.js?v=202609011138" defer></script>
<script src="assets/js/start.js?v=202609011138" defer></script>
</body>
</html>
+9 -9
View File
@@ -7,10 +7,10 @@
<meta name="robots" content="noindex, nofollow" />
<meta name="theme-color" content="#05070d" />
<link rel="icon" href="assets/img/favicon.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609011138" />
</head>
<body class="start">
@@ -70,10 +70,10 @@
</main>
<script src="assets/js/ki.js?v=202609011130" defer></script>
<script src="assets/js/wahl.js?v=202609011130" defer></script>
<script src="assets/js/bereiche.js?v=202609011130" defer></script>
<script src="assets/js/kopf.js?v=202609011130" defer></script>
<script src="assets/js/startcheck.js?v=202609011130" defer></script>
<script src="assets/js/ki.js?v=202609011138" defer></script>
<script src="assets/js/wahl.js?v=202609011138" defer></script>
<script src="assets/js/bereiche.js?v=202609011138" defer></script>
<script src="assets/js/kopf.js?v=202609011138" defer></script>
<script src="assets/js/startcheck.js?v=202609011138" defer></script>
</body>
</html>
+6 -6
View File
@@ -7,9 +7,9 @@
<meta name="robots" content="noindex, nofollow" />
<meta name="theme-color" content="#05070d" />
<link rel="icon" href="assets/img/favicon.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609011138" />
</head>
<body class="start">
@@ -57,9 +57,9 @@
</main>
<script src="assets/js/bereiche.js?v=202609011130" defer></script>
<script src="assets/js/bereiche.js?v=202609011138" defer></script>
<script src="assets/js/kopf.js?v=202609011130" defer></script>
<script src="assets/js/uebersicht.js?v=202609011130" defer></script>
<script src="assets/js/kopf.js?v=202609011138" defer></script>
<script src="assets/js/uebersicht.js?v=202609011138" defer></script>
</body>
</html>
+8 -8
View File
@@ -7,10 +7,10 @@
<meta name="robots" content="noindex, nofollow" />
<meta name="theme-color" content="#05070d" />
<link rel="icon" href="assets/img/favicon.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/wissen.css?v=202609011130" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/start.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609011138" />
<link rel="stylesheet" href="assets/css/wissen.css?v=202609011138" />
</head>
<body class="start">
@@ -175,9 +175,9 @@
</main>
<script src="assets/js/wahl.js?v=202609011130" defer></script>
<script src="assets/js/bereiche.js?v=202609011130" defer></script>
<script src="assets/js/kopf.js?v=202609011130" defer></script>
<script src="assets/js/wissen.js?v=202609011130" defer></script>
<script src="assets/js/wahl.js?v=202609011138" defer></script>
<script src="assets/js/bereiche.js?v=202609011138" defer></script>
<script src="assets/js/kopf.js?v=202609011138" defer></script>
<script src="assets/js/wissen.js?v=202609011138" defer></script>
</body>
</html>