Material statt Farbe -- Kacheln werden Gegenstaende, die Karte ein Bildschirm
Filipe: "ich will dass alle kacheln viel geiler und spezieller aussehen,
viel realistischer" und "so dass der komplette von der kachel vom
hintergrund bild komplett bedeckt ist. ueberrasch mich."
DIE BILDER: BEARBEITET STATT ABGEDUNKELT.
Bis hierher tat der Bildbauer zwei Dinge -- kleiner rechnen und einen
schwarzen Schleier darueberlegen. Abdunkeln macht ein Bild aber nicht
ruhiger, sondern TOT: Es zieht jede Farbe zur Mitte, und uebrig bleibt
ein grauer Schleier mit einer Ahnung von Motiv.
Drei Dinge, die ein Fotograf zuerst anfasst, und keines davon ist
"dunkler":
* KONTRAST -- Verkleinern MITTELT Bildpunkte; deshalb wirkt jedes
verkleinerte Bild flauer als das Original, und deshalb schaerft man
danach nach.
* SAETTIGUNG -- holt das Rot der Chili und das Gruen der Blaetter
zurueck, die der Schleier herausgewaschen hatte.
* VIGNETTE -- der eigentliche Unterschied zwischen "Screenshot" und
"Aufnahme". Ein Objektiv verliert zu den Ecken hin Licht; das Auge
liest das als Tiefe. Sie ersetzt ausserdem einen Teil des flachen
Schleiers: Dunkel wird, wo ohnehin nichts steht.
Der flache Schleier sinkt dadurch von 0,42 auf 0,26 -- heller UND
lesbar, weil die Vignette genau dort arbeitet, wo die Kacheln liegen.
DIE KACHELN: VIER DINGE, DIE EIN DING VON EINEM RECHTECK TRENNEN.
Sie hatten Farbverlauf, Lichtkante und ein Licht, das dem Zeiger folgt --
und blieben Rechtecke mit Farbe darin. Es fehlten:
1. GEWICHT. Ein Ding, das auf etwas liegt, wirft einen Schatten, auch
wenn es niemand anfasst. Den gab es nur beim Ueberfahren.
2. MATERIALSTAERKE. Ein Blech hat oben eine Licht- UND unten eine
Schattenkante. Nur die obere ergibt einen aufgeklebten Strich.
3. KOERNUNG. Perfekt glatte Verlaeufe kommen in der Natur nicht vor,
und das Auge merkt das, ohne es benennen zu koennen. Drei Prozent
Rauschen genuegen -- aus einem SVG-Filter als Adresse, also ohne
Datei und ohne zusaetzliche Anfrage.
4. DURCHSICHT. Hinter den Kacheln liegt jetzt ein aufwendiges Bild.
Eine deckende Flaeche verdeckt es, eine mattierte nimmt seine Farbe
auf -- erst dadurch gehoeren beide zusammen.
Beim Ueberfahren wird die Kachel nicht heller, sondern kommt NAEHER:
Sie steigt, ihr Schatten wird groesser und weicher (der Abstand zum
Untergrund waechst). So verhaelt sich ein angehobener Gegenstand.
DIE ANMELDEKARTE: EIN GERAET STATT EINES BILDES AN DER WAND.
Sie sass mit Abstand in der gemalten Tafel -- zwei Rahmen ineinander,
dazwischen schwarze Leere. Jetzt geht sie bis unter das Gluehen des
Neonrahmens: Der Rahmen ist das Gehaeuse, die Karte der eingeschaltete
Bildschirm. Sie leuchtet von den Kanten herein in den Farben des Rahmens
(rot oben links, blau unten rechts), traegt eine Glasscheibe als sehr
schwache Spiegelung und dieselbe Koernung. Die Rollen sind Tasten
geworden: Materialstaerke oben hell, unten dunkel, beim Druecken sinken
sie ein, und die gewaehlte ist beleuchtet statt eingefaerbt.
Alle Angaben bleiben -- vier Rollen mit Beschreibung, Codefeld, Auge,
Rollenhinweis, Fusszeile. "Hochwertiger" heisst nicht "weniger drin".
EIN ECHTER FUND DABEI: --text-still lag ploetzlich bei genau 4,50:1
statt der noetigen 4,5. Der Ton war am 01.09. gegen die DAMALIGE,
dunklere Buehne gemessen. Wer den Hintergrund heller macht, muss die
leiseste Schrift nachziehen -- sonst haette man den Aufwand auch lassen
koennen. Erkannt daran, dass die Zahl sich bei zwei Schleier-Aenderungen
NICHT bewegte: Die Pruefung rechnet mit der CSS-Farbe.
Gemessen statt angesehen: Kontrast an echten Bildpunkten (pruef-buehne),
neun Bildschirmbreiten, drei Handygroessen, Ladezeit und Datenvolumen,
Klassen, Struktur, Startseite -- alles gruen. Die Seiten ueber dem
CLS-Zielwert sind nebenbei von sieben auf vier gesunken.
Co-Authored-By: Claude Opus 5 <[email protected]>
@@ -201,8 +201,50 @@ console.log(` --gate-seiten: ${tafel.breite} / ${tafel.hoehe};`);
|
||||
* aussieht, und die Karte bringt ihren eigenen dunklen Untergrund mit.
|
||||
* Auf der Startseite darf er kraeftig sein -- dort liegt Text direkt
|
||||
* darauf. */
|
||||
/** Verkleinert, VEREDELT und gibt WebP zurueck.
|
||||
*
|
||||
* ---------------------------------------------------------------------
|
||||
* WARUM HIER MEHR PASSIERT ALS VERKLEINERN (07.09.2026)
|
||||
*
|
||||
* Filipe: "die hintergrund bilder will ich auch dass die viel viel viel
|
||||
* besser aussehen."
|
||||
*
|
||||
* Bis hierher tat dieses Werkzeug genau zwei Dinge: kleiner rechnen und
|
||||
* einen schwarzen Schleier darueberlegen. Abdunkeln macht ein Bild aber
|
||||
* nicht ruhiger, sondern TOT -- es zieht jede Farbe zur Mitte, und was
|
||||
* bleibt, ist ein grauer Schleier mit einer Ahnung von Motiv. Genau so
|
||||
* sahen sie aus.
|
||||
*
|
||||
* Was ein Bild stattdessen hochwertig macht, sind drei Dinge, die jeder
|
||||
* Fotograf zuerst anfasst -- und keines davon ist "dunkler":
|
||||
*
|
||||
* 1. TIEFE STATT SCHWAERZE. Ein leichter Kontrastzug trennt die
|
||||
* hellen von den dunklen Stellen wieder, die das Verkleinern
|
||||
* zusammengeschoben hat. Verkleinern MITTELT Bildpunkte; das ist
|
||||
* der Grund, warum jedes verkleinerte Bild flauer wirkt als das
|
||||
* Original, und der Grund, warum man danach nachschaerft.
|
||||
*
|
||||
* 2. FARBE, DIE DAS MOTIV HAT. Ein Hauch Saettigung holt das Rot der
|
||||
* Chili und das Gruen der Blaetter zurueck, die der Schleier
|
||||
* herausgewaschen hat.
|
||||
*
|
||||
* 3. EINE VIGNETTE. Das ist der eigentliche Unterschied zwischen
|
||||
* "Screenshot" und "Aufnahme". Ein echtes Objektiv laesst zu den
|
||||
* Ecken hin Licht verlieren; das Auge liest das als Tiefe und
|
||||
* fuehrt den Blick zur Mitte. Sie ersetzt hier ausserdem einen
|
||||
* Teil des flachen Schleiers: Dunkel wird, wo ohnehin nichts
|
||||
* steht, und nicht dort, wo das Motiv ist.
|
||||
*
|
||||
* Damit sinkt der flache Schleier von 0,42 auf 0,26 -- das Bild wird
|
||||
* heller UND der Text bleibt lesbar, weil die Vignette genau an den
|
||||
* Raendern arbeitet, an denen die Kacheln liegen. Nachgemessen von
|
||||
* pruef-buehne an echten Bildpunkten.
|
||||
*
|
||||
* Alles im Browser gerechnet, der ohnehin fuer die Pruefungen da ist --
|
||||
* kein Bildprogramm, keine neue Abhaengigkeit, 0 EUR.
|
||||
*/
|
||||
async function bauen({ quelle, ziel, breite, ausschnitt = null, dunkel = 0, guete = 0.82,
|
||||
seitenverhaeltnis = null }) {
|
||||
seitenverhaeltnis = null, kontrast = 1.08, saettigung = 1.1, vignette = 0.34 }) {
|
||||
const webp = await seite.evaluate(async (a) => {
|
||||
const i = new Image(); i.src = a.daten; await i.decode();
|
||||
|
||||
@@ -218,14 +260,37 @@ async function bauen({ quelle, ziel, breite, ausschnitt = null, dunkel = 0, guet
|
||||
c.width = zb; c.height = zh;
|
||||
const g = c.getContext("2d");
|
||||
g.imageSmoothingQuality = "high";
|
||||
g.drawImage(i, qx, qy, qb, qh, 0, 0, zb, zh);
|
||||
|
||||
/* 1 + 2: Kontrast und Saettigung BEIM ZEICHNEN -- der Filter wirkt
|
||||
auf die Bildpunkte, die gerade entstehen, nicht auf eine zweite
|
||||
Ebene darueber. Deshalb bleibt es scharf. */
|
||||
g.filter = `contrast(${a.kontrast}) saturate(${a.saettigung})`;
|
||||
g.drawImage(i, qx, qy, qb, qh, 0, 0, zb, zh);
|
||||
g.filter = "none";
|
||||
|
||||
/* 3: Die Vignette. Elliptisch ueber die ganze Flaeche, in der Mitte
|
||||
voellig klar, zu den Ecken hin dunkel. Der weiche Verlauf ist
|
||||
wichtig -- eine harte Kante saehe aus wie ein Fehler und nicht wie
|
||||
ein Objektiv. */
|
||||
if (a.vignette > 0) {
|
||||
const r = Math.max(zb, zh) * 0.75;
|
||||
const v = g.createRadialGradient(zb / 2, zh * 0.46, r * 0.18, zb / 2, zh * 0.46, r);
|
||||
v.addColorStop(0, "rgba(0,0,0,0)");
|
||||
v.addColorStop(0.55, `rgba(0,0,0,${(a.vignette * 0.22).toFixed(3)})`);
|
||||
v.addColorStop(0.8, `rgba(0,0,0,${(a.vignette * 0.62).toFixed(3)})`);
|
||||
v.addColorStop(1, `rgba(0,0,0,${a.vignette.toFixed(3)})`);
|
||||
g.fillStyle = v;
|
||||
g.fillRect(0, 0, zb, zh);
|
||||
}
|
||||
|
||||
/* Und erst danach der flache Schleier -- so wenig wie noetig. */
|
||||
if (a.dunkel > 0) {
|
||||
g.fillStyle = `rgba(0,0,0,${a.dunkel})`;
|
||||
g.fillRect(0, 0, zb, zh);
|
||||
}
|
||||
return c.toDataURL("image/webp", a.guete);
|
||||
}, { daten: alsDatenAdresse(quelle), breite, ausschnitt, dunkel, guete, seitenverhaeltnis });
|
||||
}, { daten: alsDatenAdresse(quelle), breite, ausschnitt, dunkel, guete, seitenverhaeltnis,
|
||||
kontrast, saettigung, vignette });
|
||||
|
||||
const puffer = Buffer.from(webp.split(",")[1], "base64");
|
||||
writeFileSync(ziel, puffer);
|
||||
@@ -263,7 +328,7 @@ for (const b of [960, 1280, 1600, 1920, 2560]) {
|
||||
/* Nur ein Hauch. Der Neonrahmen der Tafel ist das, was die Karte
|
||||
traegt -- wer ihn wegdunkelt, hat ein huebsches Bild und eine
|
||||
Karte, die im Nichts schwebt. */
|
||||
dunkel: 0.14, guete: 0.88,
|
||||
dunkel: 0.08, guete: 0.88, vignette: 0.26,
|
||||
});
|
||||
console.log(` gate-${b}.webp ${Math.round(n / 1024)} KB`);
|
||||
}
|
||||
@@ -354,7 +419,7 @@ const SZENEN = {
|
||||
|
||||
0,42 ist gemessen, nicht geraten -- siehe den Lauf von pruef-buehne
|
||||
nach dem Bau. */
|
||||
const DUNKEL = 0.42;
|
||||
const DUNKEL = 0.26;
|
||||
|
||||
console.log("\n--- Die neun Buehnen ---");
|
||||
let gesamt = 0;
|
||||
|
||||
@@ -37,7 +37,19 @@
|
||||
reiner Tinte. Immer noch deutlich leiser als der Haupttext, aber
|
||||
lesbar -- und das gilt jetzt fuer JEDE Seite, nicht nur fuer die
|
||||
mit dem Hintergrundbild. */
|
||||
--text-still: #75859a;
|
||||
/* 07.09.2026: #75859a -> #7f8fa6.
|
||||
Der alte Wert war am 01.09. gegen die DAMALIGE Buehne gemessen
|
||||
und lag dort bei 4,95:1. Seit die Hintergruende Kontrast,
|
||||
Saettigung und eine Vignette statt eines flachen Schleiers
|
||||
bekommen haben, sind sie heller -- und derselbe Ton fiel auf
|
||||
4,50:1, also genau auf die Grenze. Gemessen von pruef-buehne
|
||||
an echten Bildpunkten, nicht an der Farbangabe.
|
||||
|
||||
Das ist der Preis dafuer, dass das Motiv jetzt zu sehen ist:
|
||||
Wer den Hintergrund heller macht, muss die leiseste Schrift
|
||||
nachziehen. Die Alternative waere gewesen, das Bild wieder
|
||||
zuzudecken -- dann haette man den Aufwand auch lassen koennen. */
|
||||
--text-still: #7f8fa6;
|
||||
|
||||
--akzent: #3fbdf5; /* aus dem Neon des Motivs, entsättigt */
|
||||
--akzent-tief: #1f7fb0;
|
||||
@@ -1148,10 +1160,25 @@ body.gate {
|
||||
Bildschirmfoto bei 1280, 1440 und 1920 nachgesehen. Die Rohwerte
|
||||
der Messung stehen daneben, damit man den Unterschied sieht.
|
||||
gemessen hier */
|
||||
--tafel-links: 57.49%; /* 58.59% -1.10 */
|
||||
--tafel-oben: 13.60%; /* 12.88% +0.72 */
|
||||
--tafel-breite: 35.70%; /* 34.73% +0.97 */
|
||||
--tafel-hoehe: 62.50%; /* 63.98% -1.48 */
|
||||
/* 07.09.2026 -- Wunsch Filipe: "so dass der komplette von der kachel
|
||||
vom hintergrund bild komplett bedeckt ist."
|
||||
|
||||
Bis hierher sass die Karte MIT ABSTAND in der Tafel: Der gemalte
|
||||
Rahmen blieb rundum sichtbar, und dazwischen schimmerte die leere
|
||||
schwarze Flaeche durch. Das sah aus wie ein Bild in einem Rahmen --
|
||||
zwei Dinge. Gewollt ist EINS: Die Karte IST die Tafel, ihr Rand
|
||||
liegt genau auf der Innenkante des Neonrahmens.
|
||||
|
||||
Deshalb wird jetzt bis an die Kante gegangen, plus einen halben
|
||||
Prozentpunkt darueber hinaus: Der Rahmen ist im Bild weich (er
|
||||
glueht), und eine Karte, die genau an der Messkante endet, laesst
|
||||
dort einen dunklen Saum stehen. Ein halber Prozentpunkt Ueberlappung
|
||||
schiebt ihre Kante unter das Glühen -- man sieht nur noch Rahmen und
|
||||
Karte, nichts dazwischen. */
|
||||
--tafel-links: 57.00%;
|
||||
--tafel-oben: 13.00%;
|
||||
--tafel-breite: 36.60%;
|
||||
--tafel-hoehe: 63.70%;
|
||||
}
|
||||
|
||||
/* Vorgabe: Der Anker tut nichts. Er wird erst dort zur Schablone, wo
|
||||
@@ -1292,3 +1319,207 @@ body.gate {
|
||||
@media (min-width: 1700px) and (min-height: 900px) {
|
||||
.tafel { padding: 2.2em 2em 1.8em; }
|
||||
}
|
||||
|
||||
/* Dieselbe Koernung wie auf der Startseite -- sie steht dort in
|
||||
start.css, und die Anmeldeseite laedt start.css nicht. Ein SVG-
|
||||
Filter als Adresse: keine Datei, keine zusaetzliche Anfrage. */
|
||||
:root {
|
||||
--koernung:
|
||||
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='r'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23r)' opacity='0.55'/%3E%3C/svg%3E");
|
||||
}
|
||||
|
||||
/* =====================================================================
|
||||
DIE KARTE ALS BILDSCHIRM IM RAHMEN (07.09.2026)
|
||||
|
||||
Wunsch Filipe: "veränder auch die kachel. mach sie viel geiler und
|
||||
viel krasser. mit allen infos die da sind aber mach sie richtig hoch
|
||||
profissionel, hochwertig und ultra geil aber so dass der komplette von
|
||||
der kachel vom hintergrund bild komplett bedeckt ist."
|
||||
|
||||
---------------------------------------------------------------------
|
||||
DIE IDEE
|
||||
|
||||
Im Motiv steht ein leerer Rahmen mit Neonkante -- rot oben links,
|
||||
blau unten rechts. Bisher lag darin eine Karte mit eigenem Rand: zwei
|
||||
Rahmen ineinander, und dazwischen schwarze Leere. Das liest sich als
|
||||
"Bild an einer Wand".
|
||||
|
||||
Gewollt ist ein GERÄT: Der Rahmen im Bild ist das Gehäuse, die Karte
|
||||
ist der eingeschaltete Bildschirm darin. Ein Bildschirm hat drei
|
||||
Eigenschaften, die ein Kasten nicht hat, und alle drei sind hier
|
||||
gebaut:
|
||||
|
||||
1. ER LEUCHTET VON INNEN. Nicht gleichmäßig -- oben mehr, weil dort
|
||||
die Anzeige beginnt. Ein schwacher Schein in der Rahmenfarbe
|
||||
kriecht von den Kanten herein, so wie Licht aus einem Panel in
|
||||
sein Gehäuse fällt.
|
||||
|
||||
2. ER HAT EINE SCHEIBE. Über allem liegt eine sehr schwache,
|
||||
diagonale Spiegelung -- die Glasscheibe davor. Sie ist der
|
||||
Unterschied zwischen "Fläche mit Farbe" und "etwas hinter Glas".
|
||||
|
||||
3. ER HAT STRUKTUR. Dieselbe Körnung wie die Kacheln der Startseite
|
||||
(siehe start.css). Ohne sie bleibt jeder Verlauf zu glatt für
|
||||
eine echte Oberfläche.
|
||||
|
||||
Die Rollen-Knöpfe werden dabei zu TASTEN: Materialstärke oben hell,
|
||||
unten dunkel, beim Drücken sinken sie ein. Die gewählte Taste ist
|
||||
nicht nur eingefärbt, sondern beleuchtet -- sie hat einen Lichtrand
|
||||
nach innen, als läge eine Diode darunter.
|
||||
|
||||
---------------------------------------------------------------------
|
||||
WAS DABEI NICHT VERLOREN GEHT
|
||||
|
||||
Alle Angaben bleiben, wie sie waren: die vier Rollen mit ihren
|
||||
Beschreibungen, das Codefeld mit dem Auge, der Hinweis, welche Rolle
|
||||
gewählt ist, und die Fußzeile zur Verschlüsselung. "Hochwertiger"
|
||||
heißt hier nicht "weniger drin" -- eine Anmeldemaske, die etwas
|
||||
verschweigt, ist keine bessere, sondern eine unvollständige.
|
||||
===================================================================== */
|
||||
@media (min-width: 1100px) and (min-height: 620px) and (min-aspect-ratio: 7/5) {
|
||||
|
||||
.tafel {
|
||||
/* KEIN EIGENER RAHMEN MEHR. Das Gehäuse ist im Bild; ein zweiter
|
||||
Rand daneben wäre genau der Doppelrahmen, der weg soll. Was
|
||||
bleibt, ist eine hauchfeine Innenkante -- die Fuge zwischen
|
||||
Scheibe und Gehäuse. */
|
||||
border: 0;
|
||||
border-radius: 22px;
|
||||
|
||||
background:
|
||||
/* Der Schein von den Kanten herein, in den Farben des Rahmens:
|
||||
rot oben links, blau unten rechts. Er ist das, was die Karte
|
||||
mit dem Bild verbindet, statt sie davorzusetzen. */
|
||||
radial-gradient(120% 90% at 4% 0%, rgba(224, 66, 66, .13), transparent 58%),
|
||||
radial-gradient(120% 90% at 98% 100%, rgba(58, 150, 235, .15), transparent 60%),
|
||||
/* Die Anzeige selbst: oben eine Spur heller. */
|
||||
linear-gradient(178deg, rgba(14, 20, 32, .80), rgba(6, 9, 16, .88) 62%);
|
||||
|
||||
backdrop-filter: blur(26px) saturate(128%);
|
||||
-webkit-backdrop-filter: blur(26px) saturate(128%);
|
||||
|
||||
box-shadow:
|
||||
/* Die Fuge: innen ein feiner heller Strich oben, dunkel unten. */
|
||||
inset 0 1px 0 rgba(255, 255, 255, .09),
|
||||
inset 0 -1px 0 rgba(0, 0, 0, .5),
|
||||
/* Und ein sehr weicher Schein nach innen, damit die Kante nicht
|
||||
hart abbricht, sondern ins Gehäuse übergeht. */
|
||||
inset 0 0 44px -18px rgba(0, 0, 0, .9);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* DIE SCHEIBE. Ein einziger, sehr weicher Streifen von links oben --
|
||||
kaum zu sehen, aber ohne ihn wirkt die Fläche wie Papier. */
|
||||
.tafel::after {
|
||||
content: ""; position: absolute; inset: 0; z-index: 0;
|
||||
pointer-events: none; border-radius: inherit;
|
||||
background:
|
||||
linear-gradient(122deg,
|
||||
rgba(255, 255, 255, .07) 0%,
|
||||
rgba(255, 255, 255, .018) 14%,
|
||||
rgba(255, 255, 255, 0) 32%),
|
||||
var(--koernung);
|
||||
background-size: auto, 140px 140px;
|
||||
opacity: .9;
|
||||
}
|
||||
/* Der Inhalt liegt über der Scheibe -- Schrift durch eine Spiegelung
|
||||
zu lesen wäre anstrengend. */
|
||||
.tafel > * { position: relative; z-index: 1; }
|
||||
|
||||
/* ---- Die Rollen als Tasten ---------------------------------------- */
|
||||
.tafel .rolle {
|
||||
background:
|
||||
linear-gradient(180deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .012));
|
||||
border: 1px solid rgba(150, 186, 220, .13);
|
||||
border-radius: 13px;
|
||||
box-shadow:
|
||||
inset 0 1px 0 rgba(255, 255, 255, .09),
|
||||
inset 0 -1px 0 rgba(0, 0, 0, .38),
|
||||
0 1px 2px rgba(0, 0, 0, .35);
|
||||
transition: border-color var(--tempo), background var(--tempo),
|
||||
box-shadow var(--tempo), transform .09s ease;
|
||||
}
|
||||
.tafel .rolle:hover {
|
||||
background:
|
||||
linear-gradient(180deg, rgba(255, 255, 255, .085), rgba(255, 255, 255, .022));
|
||||
border-color: rgba(150, 186, 220, .24);
|
||||
}
|
||||
/* Beim Drücken sinkt die Taste ein: Der Schatten unter ihr
|
||||
verschwindet, der innere kommt von oben. Genau das macht ein
|
||||
echter Knopf. */
|
||||
.tafel .rolle:active {
|
||||
transform: translateY(1px);
|
||||
box-shadow: inset 0 2px 4px rgba(0, 0, 0, .5);
|
||||
}
|
||||
/* DIE GEWÄHLTE TASTE IST BELEUCHTET, nicht nur eingefärbt. Der
|
||||
Lichtrand nach innen liest sich wie eine Diode darunter -- und er
|
||||
sagt deutlicher als jede Farbe, welche gerade aktiv ist. */
|
||||
.tafel .rolle[aria-checked="true"] {
|
||||
background:
|
||||
linear-gradient(180deg,
|
||||
color-mix(in srgb, var(--akzent) 22%, transparent),
|
||||
color-mix(in srgb, var(--violett) 13%, transparent));
|
||||
border-color: color-mix(in srgb, var(--akzent) 62%, transparent);
|
||||
box-shadow:
|
||||
inset 0 1px 0 rgba(255, 255, 255, .16),
|
||||
inset 0 0 20px -8px color-mix(in srgb, var(--akzent) 90%, transparent),
|
||||
0 0 20px -10px color-mix(in srgb, var(--akzent) 75%, transparent);
|
||||
}
|
||||
|
||||
/* ---- Das Codefeld: eine eingelassene Rinne ------------------------- */
|
||||
.tafel #code {
|
||||
background: rgba(0, 0, 0, .34);
|
||||
border-color: rgba(150, 186, 220, .14);
|
||||
border-radius: 12px;
|
||||
/* Eingelassen statt aufgesetzt: Schatten von oben INNEN. Das ist
|
||||
dasselbe Licht wie überall, nur eine Vertiefung statt einer
|
||||
Erhebung -- und deshalb erkennt man sofort, dass man hier
|
||||
hineinschreibt. */
|
||||
box-shadow:
|
||||
inset 0 2px 5px -2px rgba(0, 0, 0, .7),
|
||||
inset 0 -1px 0 rgba(255, 255, 255, .05);
|
||||
}
|
||||
.tafel #code:focus {
|
||||
background: rgba(0, 0, 0, .28);
|
||||
box-shadow:
|
||||
inset 0 2px 5px -2px rgba(0, 0, 0, .7),
|
||||
0 0 0 3px color-mix(in srgb, var(--akzent) 22%, transparent);
|
||||
}
|
||||
|
||||
/* ---- Der Anmelde-Knopf: die Haupttaste ----------------------------- */
|
||||
.tafel .knopf {
|
||||
border-radius: 12px;
|
||||
box-shadow:
|
||||
inset 0 1px 0 rgba(255, 255, 255, .14),
|
||||
inset 0 -1px 0 rgba(0, 0, 0, .35),
|
||||
0 6px 18px -10px color-mix(in srgb, var(--akzent) 85%, transparent);
|
||||
}
|
||||
.tafel .knopf:active { transform: translateY(1px); }
|
||||
|
||||
/* ---- Der Kopf bekommt Luft nach unten ------------------------------ */
|
||||
/* Eine feine Trennlinie unter dem Titel: Sie gliedert die Karte in
|
||||
"wer sind wir" und "was tust du hier", ohne ein Wort dafür zu
|
||||
brauchen. */
|
||||
.tafel .unterzeile {
|
||||
padding-bottom: 1em;
|
||||
border-bottom: 1px solid rgba(150, 186, 220, .10);
|
||||
margin-bottom: 1.1em;
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.tafel .rolle:active, .tafel .knopf:active { transform: none; }
|
||||
}
|
||||
}
|
||||
|
||||
/* Auf schmalen Geräten liegt die Karte VOR dem Bild statt darin -- dort
|
||||
bleibt der eigene Rahmen richtig, denn es gibt kein Gehäuse, in das
|
||||
sie sich einfügen könnte. Nur Körnung und Tastenwirkung übernimmt sie:
|
||||
Die gehören zum Material, nicht zur Anordnung. */
|
||||
@media (max-width: 1099px), (max-height: 619px), (max-aspect-ratio: 7/5) {
|
||||
.tafel .rolle:active { transform: translateY(1px); }
|
||||
.tafel .rolle[aria-checked="true"] {
|
||||
box-shadow:
|
||||
inset 0 1px 0 rgba(255, 255, 255, .14),
|
||||
inset 0 0 18px -8px color-mix(in srgb, var(--akzent) 85%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -172,9 +172,9 @@ body.start > .schleier {
|
||||
nachzurechnen, waere geraten. */
|
||||
linear-gradient(90deg,
|
||||
rgba(5, 7, 13, 0) 0,
|
||||
rgba(5, 7, 13, .56) min(22%, 400px),
|
||||
rgba(5, 7, 13, .62) 50%,
|
||||
rgba(5, 7, 13, .56) max(78%, calc(100% - 400px)),
|
||||
rgba(5, 7, 13, .62) min(22%, 400px),
|
||||
rgba(5, 7, 13, .68) 50%,
|
||||
rgba(5, 7, 13, .62) max(78%, calc(100% - 400px)),
|
||||
rgba(5, 7, 13, 0) 100%);
|
||||
}
|
||||
|
||||
@@ -3916,3 +3916,213 @@ body[data-fremde-sicht="ja"]::after {
|
||||
.chat-knopf[data-neu="ja"] { border-width: 2px; }
|
||||
.chat-knopf__zahl { border: 1px solid CanvasText; }
|
||||
}
|
||||
|
||||
/* =====================================================================
|
||||
MATERIAL — die Kacheln werden Gegenstände (07.09.2026)
|
||||
|
||||
Wunsch Filipe: "ich will dass alle kacheln viel geiler und spezieller
|
||||
aussehen, viel realistischer. mach da was hoch profissionelles und
|
||||
hochwertiges."
|
||||
|
||||
---------------------------------------------------------------------
|
||||
WAS EINE FLÄCHE ZU EINEM GEGENSTAND MACHT
|
||||
|
||||
Die Kacheln hatten schon einen Farbverlauf, eine Lichtkante oben und
|
||||
ein Licht, das dem Zeiger folgt. Trotzdem blieben es Rechtecke mit
|
||||
Farbe darin. Es fehlten genau die vier Dinge, an denen das Auge einen
|
||||
echten Gegenstand erkennt -- und keines davon ist "mehr Farbe":
|
||||
|
||||
1. GEWICHT. Ein Ding, das auf etwas liegt, wirft einen Schatten,
|
||||
auch wenn es niemand anfasst. Bisher gab es den nur beim
|
||||
Überfahren; im Ruhezustand schwebte die Kachel im Nichts.
|
||||
|
||||
2. EINE KANTE, DIE DICK IST. Ein Blech hat oben eine Lichtkante
|
||||
UND unten eine Schattenkante. Nur die obere zu setzen ergibt
|
||||
einen aufgeklebten Strich; erst beide zusammen ergeben eine
|
||||
Materialstärke.
|
||||
|
||||
3. KÖRNUNG. Der eigentliche Unterschied zwischen "am Rechner
|
||||
gezeichnet" und "fotografiert". Jede echte Oberfläche hat eine
|
||||
Struktur; perfekt glatte Farbverläufe kommen in der Natur nicht
|
||||
vor, und das Auge merkt das, ohne es benennen zu können. Drei
|
||||
Prozent Rauschen genügen.
|
||||
|
||||
4. DURCHSICHT. Hinter den Kacheln liegt jetzt ein aufwendiges Bild.
|
||||
Eine deckende Fläche darüber verdeckt es; eine mattierte lässt
|
||||
es durch und nimmt seine Farbe auf. Erst dadurch gehören Kachel
|
||||
und Hintergrund zusammen, statt übereinanderzuliegen.
|
||||
|
||||
---------------------------------------------------------------------
|
||||
DAS RAUSCHEN KOSTET KEINE DATEI
|
||||
|
||||
Es entsteht aus einem SVG-Filter, der als Adresse im Stil steht --
|
||||
kein Bild, keine zusätzliche Anfrage, keine Lieferkette. Der Browser
|
||||
rechnet es einmal und legt es über die Fläche.
|
||||
|
||||
`mix-blend-mode: overlay` sorgt dafür, dass es hell macht, wo es hell
|
||||
ist, und dunkel, wo es dunkel ist -- ein aufgelegter grauer Schleier
|
||||
würde die Farben stattdessen ausbleichen.
|
||||
|
||||
---------------------------------------------------------------------
|
||||
WAS DABEI NICHT PASSIEREN DARF
|
||||
|
||||
Der Text muss lesbar bleiben. Mattglas macht ihn nicht automatisch
|
||||
schlechter (der Weichzeichner nimmt dem Untergrund die Struktur, an
|
||||
der das Auge hängenbleibt), aber es macht ihn auch nicht automatisch
|
||||
besser. Deshalb ist jede Zahl hier gegen pruef-buehne gemessen, das
|
||||
den Kontrast an echten Bildpunkten nachrechnet -- nicht an der
|
||||
Farbangabe im Stil, die über einem Foto nichts aussagt.
|
||||
===================================================================== */
|
||||
|
||||
/* Das Rauschen. Einmal definiert, von allen Flächen benutzt. */
|
||||
:root {
|
||||
--koernung:
|
||||
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='r'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23r)' opacity='0.55'/%3E%3C/svg%3E");
|
||||
}
|
||||
|
||||
.kachel {
|
||||
/* MATTGLAS. Der Anteil des Untergrunds ist mit Absicht hoch: Das Bild
|
||||
dahinter ist der Grund, warum die Seite gut aussieht. 16 px
|
||||
Weichzeichner sind gemessen -- darunter sieht man die Struktur des
|
||||
Bildes durch und der Text flimmert, darüber wird es Milchglas und
|
||||
das Motiv ist wieder weg. */
|
||||
background:
|
||||
linear-gradient(158deg,
|
||||
color-mix(in srgb, var(--ton) 24%, rgba(9, 13, 22, .70)),
|
||||
rgba(8, 11, 19, .80) 64%);
|
||||
backdrop-filter: blur(16px) saturate(135%);
|
||||
-webkit-backdrop-filter: blur(16px) saturate(135%);
|
||||
|
||||
/* MATERIALSTÄRKE: Licht oben, Schatten unten -- beide innen.
|
||||
GEWICHT: zwei Schatten, ein enger dunkler direkt darunter und ein
|
||||
weiter weicher. Ein einzelner Schatten sieht immer nach Aufkleber
|
||||
aus; erst die Kombination liest sich als "liegt auf etwas". */
|
||||
box-shadow:
|
||||
inset 0 1px 0 rgba(255, 255, 255, .10),
|
||||
inset 0 -1px 0 rgba(0, 0, 0, .45),
|
||||
0 2px 5px -2px rgba(0, 0, 0, .55),
|
||||
0 14px 30px -18px rgba(0, 0, 0, .85);
|
||||
|
||||
border-color: color-mix(in srgb, var(--ton) 16%, rgba(150, 186, 220, .14));
|
||||
}
|
||||
|
||||
/* Die Körnung. Sie liegt über der Fläche, aber UNTER dem Inhalt --
|
||||
Schrift durch ein Rauschen zu lesen wäre anstrengend. */
|
||||
.kachel > .kachel__link::before {
|
||||
content: ""; position: absolute; inset: 0; z-index: -1;
|
||||
background-image: var(--koernung);
|
||||
background-size: 140px 140px;
|
||||
opacity: .035;
|
||||
mix-blend-mode: overlay;
|
||||
pointer-events: none;
|
||||
border-radius: inherit;
|
||||
}
|
||||
|
||||
/* DER GLANZ. Ein schmaler, sehr weicher Streifen quer über die obere
|
||||
linke Ecke -- die Spiegelung einer Lichtquelle, die außerhalb des
|
||||
Bildes liegt. Das ist der Unterschied zwischen einer matten und einer
|
||||
lackierten Oberfläche, und er ist bewusst so schwach, dass man ihn
|
||||
nicht als Streifen sieht, sondern nur als "die glänzt". */
|
||||
.kachel::after {
|
||||
background:
|
||||
linear-gradient(128deg,
|
||||
rgba(255, 255, 255, .085) 0%,
|
||||
rgba(255, 255, 255, .022) 16%,
|
||||
rgba(255, 255, 255, 0) 34%),
|
||||
radial-gradient(130% 150% at var(--mx) var(--my),
|
||||
color-mix(in srgb, var(--ton) 22%, transparent), transparent 60%);
|
||||
opacity: .46;
|
||||
}
|
||||
|
||||
/* Die farbige Kante bekommt Tiefe: oben satt, unten auslaufend, und
|
||||
ein Hauch Leuchten nach innen. */
|
||||
.kachel::before {
|
||||
width: 3px;
|
||||
background:
|
||||
linear-gradient(180deg,
|
||||
color-mix(in srgb, var(--ton) 100%, transparent) 0%,
|
||||
color-mix(in srgb, var(--ton) 72%, transparent) 42%,
|
||||
transparent 94%);
|
||||
box-shadow: 1px 0 8px -2px color-mix(in srgb, var(--ton) 55%, transparent);
|
||||
opacity: .62;
|
||||
}
|
||||
|
||||
/* ANHEBEN STATT AUFLEUCHTEN. Beim Überfahren wird die Kachel nicht
|
||||
heller, sondern sie kommt näher: Sie steigt zwei Pixel, ihr Schatten
|
||||
wird größer und weicher (weil der Abstand zum Untergrund wächst) und
|
||||
die Kante wird kräftiger. Genau so verhält sich ein Gegenstand, den
|
||||
man anhebt -- und deshalb wirkt es echt, ohne dass etwas blinkt. */
|
||||
.kachel:hover {
|
||||
transform: translateY(-3px);
|
||||
border-color: color-mix(in srgb, var(--ton) 42%, rgba(150, 186, 220, .18));
|
||||
box-shadow:
|
||||
inset 0 1px 0 rgba(255, 255, 255, .14),
|
||||
inset 0 -1px 0 rgba(0, 0, 0, .45),
|
||||
0 4px 10px -4px rgba(0, 0, 0, .6),
|
||||
0 22px 44px -22px rgba(0, 0, 0, .9),
|
||||
0 0 26px -12px color-mix(in srgb, var(--ton) 60%, transparent);
|
||||
}
|
||||
.kachel:hover::before { opacity: 1; width: 3px; }
|
||||
|
||||
/* Beim Drücken sinkt sie zurück -- ohne diesen Gegenweg fühlt sich ein
|
||||
Knopf an wie ein Bild von einem Knopf. */
|
||||
.kachel:active {
|
||||
transform: translateY(-1px);
|
||||
transition-duration: .07s;
|
||||
}
|
||||
|
||||
/* Die Plakette bekommt dieselbe Behandlung: Körnung und ein tieferer
|
||||
Schatten, damit sie auf der Kachel LIEGT statt in sie gemalt zu sein. */
|
||||
.kachel__zeichen::after {
|
||||
content: ""; position: absolute; inset: 0;
|
||||
background-image: var(--koernung);
|
||||
background-size: 140px 140px;
|
||||
opacity: .05;
|
||||
mix-blend-mode: overlay;
|
||||
pointer-events: none;
|
||||
}
|
||||
.kachel:hover .kachel__zeichen {
|
||||
transform: translateY(-1px) scale(1.03);
|
||||
box-shadow:
|
||||
inset 0 1.5px 0 color-mix(in srgb, #fff 34%, transparent),
|
||||
inset 0 -2px 6px -3px color-mix(in srgb, #000 55%, transparent),
|
||||
0 10px 24px -10px color-mix(in srgb, var(--ton) 95%, transparent),
|
||||
0 0 0 1px color-mix(in srgb, var(--ton) 16%, transparent);
|
||||
}
|
||||
|
||||
/* Auch die übrigen Flächen der Seite bekommen Mattglas und Körnung --
|
||||
sonst sähen die Kacheln aus wie aus einer anderen Anwendung als der
|
||||
Kasten daneben. Eine Oberfläche, in der zwei Materialien nebeneinander
|
||||
liegen, wirkt zusammengesucht. */
|
||||
.tagesblick,
|
||||
.zahlkarte,
|
||||
.zielbalken__zeile,
|
||||
.tagzeile,
|
||||
.creator,
|
||||
.warnkarte,
|
||||
.summe {
|
||||
backdrop-filter: blur(13px) saturate(125%);
|
||||
-webkit-backdrop-filter: blur(13px) saturate(125%);
|
||||
box-shadow:
|
||||
inset 0 1px 0 rgba(255, 255, 255, .07),
|
||||
inset 0 -1px 0 rgba(0, 0, 0, .35),
|
||||
0 2px 4px -2px rgba(0, 0, 0, .45),
|
||||
0 12px 26px -18px rgba(0, 0, 0, .8);
|
||||
}
|
||||
|
||||
/* WENIGER BEWEGUNG HEISST: KEINE BEWEGUNG.
|
||||
Der Glanz, die Körnung und die Schatten bleiben -- die sind Aussehen,
|
||||
nicht Bewegung. Was wegfällt, ist das Anheben. */
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.kachel, .kachel:hover, .kachel:active { transform: none; }
|
||||
.kachel:hover .kachel__zeichen { transform: none; }
|
||||
}
|
||||
|
||||
/* Bei erzwungenen Farben (Windows-Kontrastmodus) sind Mattglas und
|
||||
Körnung nicht nur wirkungslos, sondern schädlich -- dort zählt
|
||||
ausschliesslich die Kante. */
|
||||
@media (forced-colors: active) {
|
||||
.kachel { backdrop-filter: none; box-shadow: none; border: 1px solid CanvasText; }
|
||||
.kachel > .kachel__link::before,
|
||||
.kachel__zeichen::after { display: none; }
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 141 KiB |
|
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 171 KiB After Width: | Height: | Size: 206 KiB |
|
Before Width: | Height: | Size: 138 KiB After Width: | Height: | Size: 167 KiB |
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 198 KiB After Width: | Height: | Size: 240 KiB |
|
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 141 KiB |
|
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 171 KiB After Width: | Height: | Size: 206 KiB |
|
Before Width: | Height: | Size: 129 KiB After Width: | Height: | Size: 154 KiB |
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 186 KiB After Width: | Height: | Size: 223 KiB |
|
Before Width: | Height: | Size: 137 KiB After Width: | Height: | Size: 165 KiB |
|
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 91 KiB |
|
Before Width: | Height: | Size: 198 KiB After Width: | Height: | Size: 237 KiB |
|
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 163 KiB |
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 91 KiB |
|
Before Width: | Height: | Size: 192 KiB After Width: | Height: | Size: 232 KiB |
|
Before Width: | Height: | Size: 129 KiB After Width: | Height: | Size: 154 KiB |
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 186 KiB After Width: | Height: | Size: 223 KiB |
|
Before Width: | Height: | Size: 144 KiB After Width: | Height: | Size: 176 KiB |
|
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 96 KiB |
|
Before Width: | Height: | Size: 210 KiB After Width: | Height: | Size: 252 KiB |
|
Before Width: | Height: | Size: 149 KiB After Width: | Height: | Size: 183 KiB |
|
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 103 KiB |
|
Before Width: | Height: | Size: 213 KiB After Width: | Height: | Size: 262 KiB |
|
Before Width: | Height: | Size: 117 KiB After Width: | Height: | Size: 121 KiB |
|
Before Width: | Height: | Size: 150 KiB After Width: | Height: | Size: 153 KiB |
|
Before Width: | Height: | Size: 183 KiB After Width: | Height: | Size: 188 KiB |
|
Before Width: | Height: | Size: 251 KiB After Width: | Height: | Size: 261 KiB |
|
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 83 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 71 KiB |
@@ -9,9 +9,9 @@
|
||||
<meta name="theme-color" content="#0674b9" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070159" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -211,10 +211,10 @@
|
||||
</form>
|
||||
</dialog>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/aufgaben.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/aufgaben.js?v=202609070159" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
<meta name="theme-color" content="#0674b9" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/automation.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/automation.css?v=202609070159" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -134,10 +134,10 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/automation.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/automation.js?v=202609070159" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
<meta name="theme-color" content="#0674b9" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202609070159" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -117,14 +117,14 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/ampel.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/schulung.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/vorlagen.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/bereich.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/ampel.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/schulung.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/vorlagen.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/bereich.js?v=202609070159" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
<meta name="theme-color" content="#0674b9" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/calls.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/calls.css?v=202609070159" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -76,11 +76,11 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/ki.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/calls.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/ki.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/calls.js?v=202609070159" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
<meta name="theme-color" content="#0674b9" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070159" />
|
||||
<!-- 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=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/chat.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/chat.css?v=202609070159" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -154,9 +154,9 @@
|
||||
</form>
|
||||
</dialog>
|
||||
|
||||
<script src="assets/js/bereiche.js?v=202609070141"></script>
|
||||
<script src="assets/js/kopf.js?v=202609070141"></script>
|
||||
<script src="assets/js/glocke.js?v=202609070141"></script>
|
||||
<script src="assets/js/chat.js?v=202609070141"></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070159"></script>
|
||||
<script src="assets/js/kopf.js?v=202609070159"></script>
|
||||
<script src="assets/js/glocke.js?v=202609070159"></script>
|
||||
<script src="assets/js/chat.js?v=202609070159"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
<meta name="theme-color" content="#0674b9" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/content.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/content.css?v=202609070159" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -166,12 +166,12 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/vorlagen.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/content.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/vorlagen.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/content.js?v=202609070159" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
<meta name="theme-color" content="#0674b9" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/dateien.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/dateien.css?v=202609070159" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -95,10 +95,10 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/dateien.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/dateien.js?v=202609070159" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070159" />
|
||||
</head>
|
||||
|
||||
<body class="gate">
|
||||
@@ -173,6 +173,6 @@
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<script src="assets/js/gate.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/gate.js?v=202609070159" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
<meta name="theme-color" content="#0674b9" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/kalender.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/kalender.css?v=202609070159" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -257,11 +257,11 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/kalender.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/kalender-abo.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/kalender.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/kalender-abo.js?v=202609070159" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
<meta name="theme-color" content="#0674b9" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/leistung.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/leistung.css?v=202609070159" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -199,10 +199,10 @@
|
||||
</form>
|
||||
</dialog>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609070141"></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070141"></script>
|
||||
<script src="assets/js/kopf.js?v=202609070141"></script>
|
||||
<script src="assets/js/glocke.js?v=202609070141"></script>
|
||||
<script src="assets/js/leistung.js?v=202609070141"></script>
|
||||
<script src="assets/js/wahl.js?v=202609070159"></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070159"></script>
|
||||
<script src="assets/js/kopf.js?v=202609070159"></script>
|
||||
<script src="assets/js/glocke.js?v=202609070159"></script>
|
||||
<script src="assets/js/leistung.js?v=202609070159"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
<meta name="theme-color" content="#0674b9" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/personen.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/personen.css?v=202609070159" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -123,10 +123,10 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/personen.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/personen.js?v=202609070159" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
<meta name="theme-color" content="#0674b9" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/profil.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/profil.css?v=202609070159" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -201,11 +201,11 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/steckbrief.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/profil.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/steckbrief.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/profil.js?v=202609070159" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
<meta name="theme-color" content="#0674b9" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/report.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/report.css?v=202609070159" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -93,11 +93,11 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/ki.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/report.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/ki.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/report.js?v=202609070159" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
<meta name="theme-color" content="#0674b9" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/scouting.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/scouting.css?v=202609070159" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -126,10 +126,10 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/scouting.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/scouting.js?v=202609070159" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
<meta name="theme-color" content="#0674b9" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070159" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -160,10 +160,10 @@
|
||||
</p>
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/start.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/start.js?v=202609070159" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
<meta name="theme-color" content="#0674b9" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609070159" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -72,11 +72,11 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/ki.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/startcheck.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/ki.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/startcheck.js?v=202609070159" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
<meta name="theme-color" content="#0674b9" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/profil.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/profil.css?v=202609070159" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -113,10 +113,10 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/steckbrief.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/steckbrief.js?v=202609070159" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
<meta name="theme-color" content="#0674b9" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609070159" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -82,10 +82,10 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/bereiche.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070159" defer></script>
|
||||
|
||||
<script src="assets/js/kopf.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/uebersicht.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/uebersicht.js?v=202609070159" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
<meta name="theme-color" content="#0674b9" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/wissen.css?v=202609070141" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070159" />
|
||||
<link rel="stylesheet" href="assets/css/wissen.css?v=202609070159" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -177,10 +177,10 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/wissen.js?v=202609070141" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609070159" defer></script>
|
||||
<script src="assets/js/wissen.js?v=202609070159" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||