Das Maus-Licht ist zurueck, und die Begruessung ist keine Kachel mehr

DAS LICHT, DAS DEM ZEIGER FOLGT -- MEIN EIGENER FEHLER VON HEUTE FRUEH

Es war nicht geloescht. In module.css stand seit heute

    .kachel > * { position: relative; z-index: 1; }

damit der Inhalt ueber Raster und Kantenlicht liegt. Das Lichtelement
ist aber ein direktes KIND jeder Karte -- ihm wurde damit sein
`position: absolute` genommen. Aus einer Flaeche ueber der ganzen Karte
wurde ein leerer Inline-Span ohne Ausdehnung. Im Browser gemessen:
`display: inline`, obwohl in start.css `absolute` steht.

Merksatz dazu im Code: Eine Regel auf `> *` trifft auch das, was gar
kein Inhalt ist.

Zweiter, aelterer Fehler beim selben Thema, den erst die Pruefung
gefunden hat: Beim Wechsel von einer Kachel direkt auf die naechste
ging das Licht GANZ aus. `pointermove` der neuen Karte meldet einen
Bildaufbau an, `pointerout` der alten kommt danach und hat ihn
geloescht -- obwohl er gar nicht ihr gehoerte. Jetzt wird nur noch der
EIGENE Bildaufbau entwertet.

DIE BEGRUESSUNG FLIEGT AUS DER REIHE

Filipe: "diese hauptkachel muss komplett aus der rolle fliegen im
gegenzug zu den anderen ... AUCH MIT DER UHR RECHTS; WIE IN DER
BUISNESS HUB SEITE VON VANVAN."

Nachgesehen statt geraten: Auf VanVans Business-Hub gibt es keine Uhr.
Gemeint ist das `gate-medaillon` der Anmeldeseite -- ein runder
Kegelverlauf, der wie gebuerstetes Metall aussieht, gefasst in zwei
eingelassenen Ringen. Diese Bauart steht jetzt hier, weitergetrieben.

Die Begruessung ist keine Kachel mehr, sondern eine KONSOLE, und sie
unterscheidet sich in der FORM, nicht im Lack:

  * Sie ist BREITER ALS DIE SEITE -- sie tritt links und rechts ueber
    die Spalte hinaus, in der alle Kacheln stehen.
  * Sie ist ein ACHTECK. Die Module haben EINE abgeschnittene Ecke,
    sie hat VIER.
  * Sie hat eine METALLFASSUNG, laengs gebuerstet, mit je einer warmen
    und einer kuehlen Spiegelung.

Die Uhr ist von 124 auf 164 px gewachsen und hat eine echte Luenette:
10 px deckendes Metall, zwoelf eingravierte Stundenmarken, sechzig
feine Minutenstriche, Glaskuppe.

VIER FEHLER AUF DEM WEG DAHIN, ALLE IM BILDSCHIRMFOTO GESEHEN

  1. HALBDURCHSICHTIGES METALL ist kein Metall, sondern graues Glas.
     Stand gleichzeitig an Konsole und Uhr.
  2. KEGELVERLAUF AUF EINEM BREITEN BALKEN bewirkt nichts: Die ganze
     Oberkante liegt in wenigen Grad. Rund -> conic, lang -> linear.
     Die Verlaufsart muss zur FORM passen, nicht zum Material.
  3. DIE SKALA DER UHR WAR NIE SICHTBAR, seit es sie gibt. Ihre Maske
     rechnete Prozente auf die weiteste ECKE (116 px) statt auf den
     Radius (82 px) -- der Ring lag komplett ausserhalb der Uhr.
     `closest-side` behebt es. Eine unsichtbare Verzierung sieht aus
     wie gar keine, nicht wie ein Fehler.
  4. `body.start .willkommen` in start.css hat die neue Konsole
     ueberschrieben -- nicht ueber die Ladereihenfolge, sondern ueber
     die SPEZIFITAET (0,2,1 gegen 0,1,0). Derselbe Fehler wie mit
     `:where()` heute Frueh, nur andersherum: damals zu schwach
     geschrieben, hier zu stark stehen gelassen.

Der Ueberstand haengt an der Polsterung der Inhaltsspalte
(`min(34px, 3.6vw)`) statt an einer festen Zahl -- eine feste haette
auf dem Handy 17 px aus dem Bildschirm geragt.

UND EINE PRUEFUNG, DIE UNTER DEN BILDRAND GEZIELT HAT

pruef-start-ansicht meldete zwei Fehler am Licht. Das Licht war in
Ordnung: Die hoehere Konsole hatte Kachel 3 auf y = 1134 geschoben,
bei einem 1200 px hohen Fenster lag ihre Mitte unter dem Rand. Sie
rollt jetzt hin, misst danach neu -- und die Zahl der wirklich
gemessenen Kacheln steht in der Bedingung. 140 statt 137 Pruefungen.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-09-07 13:03:16 +02:00
co-authored by Claude Opus 5
parent ac432d85e1
commit 2acb6bc020
24 changed files with 568 additions and 318 deletions
+29 -2
View File
@@ -501,9 +501,25 @@ console.log("\n=== Das Licht folgt dem Zeiger");
ok(await anzahlAn() === 0, `in der Luecke geht es aus (${await anzahlAn()})`); ok(await anzahlAn() === 0, `in der Luecke geht es aus (${await anzahlAn()})`);
/* 2. Direkt von einer Kachel auf die naechste -- es darf nie mehr /* 2. Direkt von einer Kachel auf die naechste -- es darf nie mehr
als eine gleichzeitig leuchten. */ als eine gleichzeitig leuchten.
ERST INS BILD ROLLEN, DANN MESSEN, DANN ZIELEN. Diese Datei
schreibt denselben Satz zwanzig Zeilen weiter unten schon
einmal, und trotzdem stand er hier nicht: Am 07.09.2026 wurde
die Begruessungskachel hoeher, Kachel 3 rutschte auf y = 1134 bei
einem 1200 px hohen Fenster -- ihre Mitte lag bei 1210, also
UNTER dem Bildrand. Der Zeiger landete im Nichts, keine Kachel
leuchtete, und die Pruefung meldete einen Fehler am Licht,
obwohl das Licht in Ordnung war.
Der Kasten wird NACH dem Rollen neu gelesen. Ein vor dem Rollen
gemessener Kasten ist danach falsch -- das waere derselbe Fehler
mit einem Zwischenschritt mehr. */
await seite.locator(".kachel").nth(2).scrollIntoViewIfNeeded();
await seite.waitForTimeout(250);
const k2 = await seite.locator(".kachel").nth(2).boundingBox(); const k2 = await seite.locator(".kachel").nth(2).boundingBox();
await seite.mouse.move(k1.x + k1.width / 2, k1.y + k1.height / 2); const k1neu = await seite.locator(".kachel").nth(1).boundingBox();
await seite.mouse.move(k1neu.x + k1neu.width / 2, k1neu.y + k1neu.height / 2);
await seite.waitForTimeout(250); await seite.waitForTimeout(250);
await seite.mouse.move(k2.x + k2.width / 2, k2.y + k2.height / 2); await seite.mouse.move(k2.x + k2.width / 2, k2.y + k2.height / 2);
await seite.waitForTimeout(300); await seite.waitForTimeout(300);
@@ -542,6 +558,13 @@ console.log("\n=== Das Licht folgt dem Zeiger");
{ {
const farben = []; const farben = [];
for (const nr of [1, 2, 3]) { for (const nr of [1, 2, 3]) {
/* Auch hier: erst ins Bild rollen, dann den Kasten lesen. Eine
Kachel unter dem Bildrand bekommt keinen Zeiger, also auch
kein Licht-Element -- und `licht: null` fuer zwei von drei
Kacheln sah aus wie "zwei Kacheln leuchten gleich". Ein Fehler,
der etwas ganz anderes meldet, als er ist. */
await seite.locator(".kachel").nth(nr).scrollIntoViewIfNeeded();
await seite.waitForTimeout(200);
const b = await seite.locator(".kachel").nth(nr).boundingBox(); const b = await seite.locator(".kachel").nth(nr).boundingBox();
if (!b) continue; if (!b) continue;
await seite.mouse.move(b.x + b.width / 2, b.y + b.height / 2); await seite.mouse.move(b.x + b.width / 2, b.y + b.height / 2);
@@ -555,6 +578,10 @@ console.log("\n=== Das Licht folgt dem Zeiger");
}; };
}, nr)); }, nr));
} }
/* DIE ANZAHL GEHOERT IN DIE BEDINGUNG. Waeren keine Kacheln
messbar, waere `farben` leer -- und "0 verschiedene Toene bei 0
Kacheln" ist immer wahr. Grün, ohne etwas angesehen zu haben. */
ok(farben.length === 3, `drei Kacheln wirklich gemessen (${farben.length})`);
const toene = new Set(farben.map((f) => f.ton)); const toene = new Set(farben.map((f) => f.ton));
ok(toene.size === farben.length, ok(toene.size === farben.length,
`jede Kachel hat ihren eigenen Ton (${[...toene].join(", ")})`); `jede Kachel hat ihren eigenen Ton (${[...toene].join(", ")})`);
+291 -115
View File
@@ -48,74 +48,176 @@
Der Sprung ist außerdem ehrlicher: Die Anzeige ist digital. Der Sprung ist außerdem ehrlicher: Die Anzeige ist digital.
===================================================================== */ ===================================================================== */
/* Die Kachel selbst: dasselbe Material wie die Bereichskacheln, damit /* =====================================================================
nicht zwei Oberflächen nebeneinanderliegen. Sie hat KEINE eigene DIE KONSOLE — sie gehoert absichtlich NICHT zu den Modulen
Farbschiene -- sie gehört zu keiner Kategorie, sie ist der Anfang. */ (07.09.2026)
Filipe: "diese hauptkachel muss komplett aus der rolle fliegen im
gegenzug zu den anderen, VIEL SPEZIELLER AUFFAELLIGER UND KRASSER."
Hier stand vorher woertlich: "dasselbe Material wie die
Bereichskacheln, damit nicht zwei Oberflaechen nebeneinanderliegen."
Das war eine vernuenftige Regel -- und genau sie war das Problem.
Eine Flaeche, die sich an alle anderen anpasst, kann nicht
herausstechen. Die Begruessung ist aber keine Kachel unter Kacheln,
sondern der Anfang der Seite.
DREI DINGE MACHEN SIE ZU ETWAS ANDEREM, und alle drei sind FORM,
nicht Farbe -- das ist die Lehre aus den drei Anlaeufen, die Filipe
zu Recht als "wieder nur eine kleine Aenderung" bezeichnet hat:
1. SIE IST BREITER ALS DIE SEITE. Sie tritt links und rechts ueber
die Spalte hinaus, in der alle Kacheln stehen. Das ist
"aus der Reihe fliegen", woertlich genommen: Ihre Kante liegt
dort, wo bei allem anderen keine mehr ist.
2. SIE IST EIN ACHTECK. Die Module haben EINE abgeschnittene Ecke
oben links. Diese Flaeche hat VIER -- eine andere geometrische
Klasse, erkennbar aus fuenf Metern, ohne ein Wort zu lesen.
3. SIE HAT EINE METALLFASSUNG. Ein Kegelverlauf mit acht Stopps,
wie ihn VanVans Business-Hub fuer sein Medaillon benutzt: Hell,
dunkel, hell, dunkel rundherum -- so wirft gebuerstetes Metall
das Licht zurueck. Kein Rahmen, sondern ein Werkstoff.
Deshalb steht `.willkommen` seit heute NICHT mehr in der Modulliste
von module.css. Stuende sie dort, bekaeme sie dieselbe Silhouette wie
siebzehn andere Flaechen -- und module.css laedt nach dieser Datei,
haette also das letzte Wort. Sie herauszunehmen ist keine Auslassung,
sondern die Voraussetzung.
===================================================================== */
.willkommen { .willkommen {
/* Zwei Groessen, ein Ort. Die Fase steht als Variable da, damit
Silhouette, Fassung und Innenglas garantiert dieselbe benutzen --
drei getippte Zahlen waeren drei Gelegenheiten, dass die Kante
einen halben Pixel danebenliegt. */
--k-fase: 26px;
--k-rand: 4px;
position: relative; position: relative;
padding: 22px 24px; padding: 26px 30px;
border: 1px solid var(--rand); border: 0;
border-radius: 4px 20px 20px 4px; border-radius: 0;
/* SIE TRITT AUS DER SPALTE HERAUS -- ABER NIE UEBER DEN BILDRAND.
Der Wert ist an die Polsterung der Inhaltsspalte GEBUNDEN und
nicht danebengeschrieben: `.inhalt` hat
`padding: … clamp(16px, 4vw, 40px)`, also 40 px am Rechner und
nur 16 px auf dem Handy. Eine feste Zahl waere hier genau die
Sorte Fehler, die dieses Haus schon zweimal teuer bezahlt hat:
Bei 1600 px sieht 34 px gut aus, bei 412 px ragt die Flaeche
17 px aus dem Bildschirm und die Seite laesst sich seitlich
schieben.
`min(34px, 3.6vw)` bleibt an jeder Breite unter der Polsterung --
3,6 % sind immer weniger als 4 %, und bei den 13 px unter 380 px
Breite (eigene Regel in start.css) ebenfalls. Gedeckelt bei
34 px, weil der Ueberstand ein Hinweis sein soll und kein
Vorsprung.
Er steht in einer Variablen, weil ihn drei Regeln brauchen
(Breite, linker Rand, rechter Rand); drei getippte Zahlen waeren
drei Gelegenheiten, dass die Konsole schief steht. */
--k-ueber: min(34px, 3.6vw);
width: calc(100% + 2 * var(--k-ueber));
margin-left: calc(-1 * var(--k-ueber));
margin-right: calc(-1 * var(--k-ueber));
/* DIE FASSUNG: gebuerstetes Metall als Kegelverlauf. Acht Stopps,
nicht zwei -- ein Verlauf von hell nach dunkel ist eine Flaeche mit
Farbverlauf; erst der WECHSEL hell/dunkel/hell liest sich als
geschliffenes Metall. Dieselbe Bauart wie das Medaillon auf
VanVans Business-Hub, nur rechteckig gefasst und mit den beiden
Hausfarben statt reinem Silber. */
/* DIE FASSUNG: gebuerstetes Metall, LAENGS gerichtet.
ZWEI FEHLER LAGEN HIER HINTEREINANDER, beide im Bildschirmfoto
gesehen und nicht im Kopf:
(1) HALBDURCHSICHTIG. Metall, durch das der Hintergrund scheint,
ist kein Metall -- es las sich als graue Linie. Derselbe
Fehler stand gleichzeitig an der Uhr. Jetzt deckende Farben.
(2) KEGELVERLAUF AUF EINER BREITEN FLAECHE. Bei der runden Uhr ist
`conic-gradient` genau richtig: Jede Stelle des Rings liegt in
einem anderen Winkel, also wandert das Licht rundherum. Bei
einem 1200 px breiten Balken liegt die GANZE Oberkante in
einem Winkelausschnitt von wenigen Grad -- der Verlauf
passiert dort fast nichts, und die Fassung sah wieder flach
aus. Ein gebuersteter Metallbalken glaenzt der LAENGE nach:
helle und dunkle Zonen wandern von links nach rechts. Deshalb
hier ein linearer Verlauf mit zwoelf Stopps, und nur an den
beiden Stellen, an denen das Haus seine Farben hat, eine
warme und eine kuehle Spiegelung.
Die Lehre gilt allgemein: Die Verlaufsart muss zur FORM passen,
nicht zum Material. Rund -> conic, lang -> linear. */
background: background:
linear-gradient(90deg, linear-gradient(96deg,
rgba(63, 189, 245, .10) 0%, #cfdcec 0%,
rgba(63, 189, 245, .03) 14%, #f6fbff 4%,
transparent 40%), #64768d 9%,
linear-gradient(163deg, #e3ecf7 15%,
rgba(23, 31, 45, .95) 0%, #7d8fa6 22%,
rgba(11, 15, 24, .95) 58%, #ff8a94 27%,
rgba(8, 11, 18, .95) 100%); #f8fcff 31%,
box-shadow: #55677e 38%,
inset 0 1px 0 rgba(255, 255, 255, .10), #dbe6f3 46%,
inset 0 -1px 0 rgba(0, 0, 0, .50), #6b7d94 55%,
inset 2px 0 0 -1px color-mix(in srgb, var(--akzent) 34%, transparent), #f2f8ff 63%,
0 2px 5px -2px rgba(0, 0, 0, .55), #8fd8ff 70%,
0 16px 34px -20px rgba(0, 0, 0, .88); #5d6f87 77%,
overflow: hidden; #e9f1fb 85%,
#7a8ca3 92%,
#f4f9ff 97%,
#cfdcec 100%);
clip-path: polygon(
var(--k-fase) 0, calc(100% - var(--k-fase)) 0,
100% var(--k-fase), 100% calc(100% - var(--k-fase)),
calc(100% - var(--k-fase)) 100%, var(--k-fase) 100%,
0 calc(100% - var(--k-fase)), 0 var(--k-fase));
/* Die Tiefe liegt im `filter`, nicht im `box-shadow`: Ein
box-shadow folgt immer dem Rechteck und zeichnete Schatten fuer
vier Ecken, die es nicht mehr gibt. */
filter:
drop-shadow(0 3px 5px rgba(0, 0, 0, .6))
drop-shadow(0 22px 44px rgba(0, 0, 0, .7));
} }
/* Die Leuchtschiene links -- dieselbe Sprache wie überall, hier im
Hausakzent statt in einer Kategoriefarbe. */ /* DAS INNENGLAS. Eigene Ebene, damit die Fassung ringsum stehen bleibt
-- genau wie bei der Uhr und beim Medaillon. Der Horizont unten ist
der einzige farbige Akzent: Rot links, Babyblau rechts, beide weit
unter der Blendschwelle. */
.willkommen::before { .willkommen::before {
content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; content: ""; position: absolute; inset: var(--k-rand);
border-radius: 4px 0 0 4px; z-index: 0; pointer-events: none;
background: linear-gradient(180deg, clip-path: polygon(
color-mix(in srgb, var(--akzent) 55%, #fff) 0%, calc(var(--k-fase) - var(--k-rand)) 0, calc(100% - var(--k-fase) + var(--k-rand)) 0,
var(--akzent) 26%, 100% calc(var(--k-fase) - var(--k-rand)), 100% calc(100% - var(--k-fase) + var(--k-rand)),
color-mix(in srgb, var(--akzent) 50%, transparent) 100%); calc(100% - var(--k-fase) + var(--k-rand)) 100%, calc(var(--k-fase) - var(--k-rand)) 100%,
box-shadow: 0 calc(100% - var(--k-fase) + var(--k-rand)), 0 calc(var(--k-fase) - var(--k-rand)));
0 0 9px 0 color-mix(in srgb, var(--akzent) 55%, transparent),
3px 0 20px -3px color-mix(in srgb, var(--akzent) 42%, transparent);
opacity: .9;
z-index: 2;
}
/* Körnung und ein fester Glanz. Kein wandernder wie bei den Kacheln:
Diese Fläche wird nicht angeklickt, also gibt es nichts zu quittieren. */
.willkommen::after {
content: ""; position: absolute; inset: 0; pointer-events: none;
border-radius: inherit;
background: background:
linear-gradient(104deg, radial-gradient(120% 90% at 4% 108%, rgba(255, 95, 109, .16), transparent 52%),
transparent 26%, radial-gradient(120% 90% at 96% 108%, rgba(143, 216, 255, .17), transparent 52%),
rgba(255, 255, 255, .05) 40%, linear-gradient(168deg, #131a27 0%, #0a0e17 62%, #06090f 100%);
rgba(255, 255, 255, .085) 47%,
rgba(255, 255, 255, .03) 55%,
transparent 70%);
/* KEINE Körnung auf DIESER Ebene (07.09.2026, gemessen).
Sie stand hier als zweite Schicht und hat die Deckkraft der
Spiegelung geerbt -- 50 % eines mittelgrauen Rauschens heben jeden
Bildpunkt um rund 30 Stufen an. Gemessen: rgb(56,44,58) statt der
berechneten rgb(20,26,38), und über einer hellen Stelle des
Motivs rgb(85,83,81). Die Karte sah dadurch durchsichtig aus,
obwohl sie zu 95 % deckt.
Derselbe Fehler wie an der Anmeldekarte heute Nachmittag, und
genau derselbe Grund: Körnung gehört auf eine EIGENE Ebene mit
`mix-blend-mode: overlay` und 3 bis 4 Prozent -- so wie bei den
Kacheln der Startseite. Auf einer geteilten Ebene ist sie kein
Material, sondern ein grauer Schleier. */
opacity: .5;
} }
/* RASTER UND KANTENLICHT auf einer zweiten Ebene. Das Raster ist
feiner als das der Module (16 statt 26 px) -- eine Konsole ist ein
Messgeraet, kein Modul, und der Unterschied soll auch aus der Naehe
tragen. */
.willkommen::after {
content: ""; position: absolute; inset: var(--k-rand);
z-index: 0; pointer-events: none;
clip-path: inherit;
background:
linear-gradient(180deg, rgba(255, 255, 255, .12) 0 1px, transparent 1px),
repeating-linear-gradient(0deg, rgba(150, 186, 220, .30) 0 1px, transparent 1px 16px),
repeating-linear-gradient(90deg, rgba(150, 186, 220, .30) 0 1px, transparent 1px 16px);
opacity: .30;
}
.willkommen > * { position: relative; z-index: 1; } .willkommen > * { position: relative; z-index: 1; }
.willkommen__reihe { .willkommen__reihe {
@@ -172,79 +274,153 @@
-> rot. Wo der eine warm ist, ist der andere kuehl; so bleiben sie -> rot. Wo der eine warm ist, ist der andere kuehl; so bleiben sie
auseinanderzuhalten, wo sie sich ueberlagern. auseinanderzuhalten, wo sie sich ueberlagern.
-------------------------------------------------------------------- */ -------------------------------------------------------------------- */
/* =====================================================================
DIE UHR — ein Instrument, keine Anzeige (07.09.2026, zweiter Anlauf)
Filipe: "AUCH MIT DER UHR RECHTS; DAS IST VIEL ZU EINFACH; ICH WILL
SIE NOCH VIEEEEEEL KRASSER; WIE IN DER BUISNESS HUB SEITE VON VANVAN,
WIE DIE UHR BEI IHR ABER NOCH KRASSER UND SPEZIELLER."
NACHGESEHEN, NICHT GERATEN. Auf VanVans Business-Hub gibt es keine
Uhr -- gemeint ist das `gate-medaillon` auf der Anmeldeseite: ein
runder Kegelverlauf, der wie gebuerstetes Metall aussieht, gefasst in
zwei eingelassenen Ringen. Genau diese Bauart steht jetzt hier, in
drei Punkten weitergetrieben:
1. FASSUNG STATT RAND. Der Kegelverlauf laeuft rundherum durch
hell/dunkel/hell -- deshalb sieht die Fassung gedreht aus und
nicht bemalt. Sie ist 5 px breit statt 3; darunter liegt ein
zweiter, dunkler Ring, der sie einlaesst.
2. AUFGESETZTE STUNDENMARKEN. Zwoelf kraeftige Striche aus einem
einzigen sich wiederholenden Kegelverlauf, dazu sechzig feine.
Sechzig Elemente im HTML waeren dieselbe Optik mit sechzig
Elementen mehr im Baum.
3. GLASKUPPE. Eine Spiegelung von oben links plus ein heller Bogen
an der Oberkante. Ohne den Bogen wirkt jede runde Flaeche flach.
UND SIE IST GROESSER: 164 statt 124 px. Das ist kein Detail --
"krasser" heisst bei einem Instrument zuerst "lesbar". Auf dem Handy
bleibt sie bei 118 px, dort steht sie unter dem Text statt daneben.
===================================================================== */
.uhr { .uhr {
position: relative; position: relative;
width: 124px; height: 124px; flex: none; width: 164px; height: 164px; flex: none;
display: grid; place-items: center; display: grid; place-items: center;
border-radius: 50%; border-radius: 50%;
/* SCHICHT 1: der Metallrand. Ein Verlauf von hell (oben links, wo das padding: 10px;
Licht herkommt) nach dunkel und wieder etwas heller unten rechts -- /* SCHICHT 1: DIE LUENETTE. Zehn Pixel breit und DECKEND.
so sieht eine gedrehte Metallfassung aus. Als `padding` gebaut, Halbdurchsichtig war der Fehler des ersten Anlaufs: Metall, durch
damit die Scheibe darin sitzt statt daneben. */ das der Hintergrund scheint, sieht nicht nach Metall aus, sondern
padding: 3px; nach grauem Glas -- im Bildschirmfoto gemessen, es las sich als
flacher grauer Ring. Echtes Metall ist undurchsichtig; sein
Aussehen entsteht allein daraus, WIE es das Licht zurueckwirft.
Deshalb hier volle Farben und ein harter Wechsel hell/dunkel. */
background: background:
linear-gradient(150deg, conic-gradient(from 208deg,
rgba(255, 255, 255, .20) 0%, #eaf2fb 0deg,
rgba(255, 120, 132, .16) 26%, #8fa3bd 26deg,
rgba(8, 12, 20, .9) 52%, #f6fbff 52deg,
rgba(143, 216, 255, .16) 78%, #6f8299 84deg,
rgba(255, 255, 255, .10) 100%); #dfe9f5 116deg,
#ff8a94 150deg,
#f4f9ff 176deg,
#5d6f87 214deg,
#e6eff9 246deg,
#8fd8ff 282deg,
#f8fcff 312deg,
#7c8ea6 340deg,
#eaf2fb 360deg);
box-shadow: box-shadow:
/* Der Rand wirft nach aussen einen sehr weichen zweifarbigen /* Der zweifarbige Schein nach aussen, weit unter der Blendschwelle. */
Schein -- rot oben links, blau unten rechts, wie der Rahmen im -4px -4px 26px -13px rgba(255, 95, 109, .6),
Motiv. Beides weit unter der Schwelle, an der es blendet. */ 4px 4px 26px -13px rgba(143, 216, 255, .6),
-3px -3px 22px -12px rgba(255, 95, 109, .55), 0 14px 30px -14px rgba(0, 0, 0, .95),
3px 3px 22px -12px rgba(143, 216, 255, .55), /* Und der dunkle Ring, der die Fassung einlaesst -- ohne ihn liegt
0 12px 26px -14px rgba(0, 0, 0, .95); sie auf dem Zifferblatt statt darin. */
inset 0 0 0 1px rgba(6, 10, 18, .85);
} }
/* SCHICHT 2: die vertiefte Scheibe. Eigene Ebene, damit der Metallrand /* SCHICHT 2: die vertiefte Scheibe. */
darum stehen bleibt. */
.uhr::before { .uhr::before {
content: ""; position: absolute; inset: 3px; border-radius: 50%; content: ""; position: absolute; inset: 10px; border-radius: 50%;
background: background:
radial-gradient(circle at 50% 28%, rgba(255, 255, 255, .055), transparent 58%), radial-gradient(circle at 50% 26%, rgba(255, 255, 255, .06), transparent 56%),
radial-gradient(circle at 50% 50%, #0c121e 58%, #05080e 100%); radial-gradient(circle at 50% 50%, #0c121e 56%, #04070d 100%);
box-shadow: box-shadow:
inset 0 2px 6px -2px rgba(0, 0, 0, .95), inset 0 2px 7px -2px rgba(0, 0, 0, .95),
inset 0 0 0 1px rgba(190, 205, 225, .16),
inset 0 -1px 0 rgba(255, 255, 255, .05); inset 0 -1px 0 rgba(255, 255, 255, .05);
} }
/* Die Skala: sechzig feine Striche, aus EINEM sich wiederholenden /* DIE SKALA LIEGT AUF DER LUENETTE, NICHT AUF DEM ZIFFERBLATT.
Kegelverlauf. Sechzig Elemente im HTML waeren dieselbe Optik mit
sechzig Elementen mehr im Baum. Jeder fuenfte Strich ist kraeftiger Im ersten Anlauf lag sie bei 90 bis 99 Prozent des Radius -- und
-- das ist der Unterschied zwischen "Punkte im Kreis" und "Skala". */ genau dort laeuft der Sekundenring. Sie war vollstaendig verdeckt,
und zwar so, dass man es nicht merkt: Eine unsichtbare Skala sieht
aus wie gar keine, nicht wie ein Fehler. Im Bildschirmfoto gesehen,
nicht im Kopf ausgerechnet.
Jetzt sitzt sie dort, wo sie bei einer echten Uhr sitzt: eingraviert
in den Metallring. Deshalb sind die Striche DUNKEL -- eine Gravur ist
eine Vertiefung, in der Schatten steht, kein aufgemalter heller
Strich. Zwoelf kraeftige fuer die Stunden, sechzig feine dazwischen,
beide aus je EINEM sich wiederholenden Kegelverlauf. */
.uhr__skala { .uhr__skala {
/* Die Skala liegt GANZ AUSSEN, jenseits des Stundenrings -- zwischen position: absolute; inset: 0; border-radius: 50%;
den Ringen waere sie ein vierter Kreis und der Grund, warum das /* NUR die zwoelf Stundenmarken -- lang und kraeftig. Die sechzig
Zifferblatt unruhig wirkt. Zwoelf kraeftige Striche fuer die feinen Minutenstriche liegen auf einer eigenen Ebene (.uhr::after),
Stunden, sechzig feine dazwischen. */ weil sie eine ANDERE Laenge brauchen: Auf einer echten Luenette
position: absolute; inset: 1px; border-radius: 50%; reichen Stundenmarken durch den ganzen Ring, Minutenstriche nur
ein Stueck vom Rand herein. Zwei Laengen heissen zwei Masken, und
zwei Masken heissen zwei Ebenen -- eine Ebene kann nur eine haben.
Beim ersten Anlauf lagen beide hier, gleich lang: Aus der Skala
wurde ein Zahnkranz. Im Bildschirmfoto gesehen. */
background: background:
repeating-conic-gradient(from 0deg, repeating-conic-gradient(from 0deg,
rgba(226, 234, 244, .70) 0deg 0.8deg, rgba(6, 10, 18, .85) 0deg 1.5deg,
transparent 0.8deg 30deg), transparent 1.5deg 30deg);
repeating-conic-gradient(from 0deg, /* `closest-side` IST HIER PFLICHT, NICHT GESCHMACK.
rgba(150, 186, 220, .22) 0deg 0.4deg,
transparent 0.4deg 6deg); Ohne Angabe rechnet ein `radial-gradient` seine Prozente auf die
-webkit-mask: radial-gradient(circle, transparent 0 92%, #000 92% 99%, transparent 99%); WEITESTE ECKE des Kastens -- bei 164 px Kantenlaenge sind das
mask: radial-gradient(circle, transparent 0 92%, #000 92% 99%, transparent 99%); 116 px, nicht die 82 px des Radius. "89 % bis 99,5 %" lag damit
opacity: .8; bei 103 bis 115 px und komplett AUSSERHALB der runden Uhr: Die
pointer-events: none; z-index: 1; Skala war unsichtbar, und zwar seit es sie gibt. Eine unsichtbare
Verzierung sieht aus wie gar keine, nicht wie ein Fehler -- genau
deshalb ist sie nie aufgefallen.
Mit `closest-side` sind 100 % der Radius, und die Prozente
bedeuten das, wonach sie aussehen. */
-webkit-mask: radial-gradient(circle closest-side, transparent 0 88%, #000 88% 99.5%, transparent 99.5%);
mask: radial-gradient(circle closest-side, transparent 0 88%, #000 88% 99.5%, transparent 99.5%);
pointer-events: none; z-index: 4;
} }
/* SCHICHT 3: das Glas. Eine Spiegelung von oben links ueber die Kuppe, /* Die sechzig feinen Minutenstriche -- kurz, vom Aussenrand herein,
dazu ein hauchfeiner heller Bogen am oberen Rand -- die Kante der und deutlich leiser als die Stundenmarken. Das Verhaeltnis der beiden
Scheibe. Ohne diesen Bogen wirkt die Uhr flach. */ ist der ganze Unterschied zwischen "Skala" und "Zahnkranz". */
.uhr::after {
content: ""; position: absolute; inset: 0; border-radius: 50%;
z-index: 4; pointer-events: none;
background:
repeating-conic-gradient(from 0deg,
rgba(6, 10, 18, .42) 0deg 0.4deg,
transparent 0.4deg 6deg);
-webkit-mask: radial-gradient(circle closest-side, transparent 0 94%, #000 94% 99.5%, transparent 99.5%);
mask: radial-gradient(circle closest-side, transparent 0 94%, #000 94% 99.5%, transparent 99.5%);
}
/* SCHICHT 3: die Glaskuppe. */
.uhr__glas { .uhr__glas {
position: absolute; inset: 3px; border-radius: 50%; position: absolute; inset: 10px; border-radius: 50%;
background: background:
linear-gradient(146deg, linear-gradient(146deg,
rgba(255, 255, 255, .13) 0%, rgba(255, 255, 255, .15) 0%,
rgba(255, 255, 255, .03) 20%, rgba(255, 255, 255, .035) 19%,
transparent 44%); transparent 42%);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2);
pointer-events: none; z-index: 3; pointer-events: none; z-index: 3;
} }
.uhr__ring { .uhr__ring {
position: absolute; inset: 3px; width: calc(100% - 6px); height: calc(100% - 6px); position: absolute; inset: 10px; width: calc(100% - 20px); height: calc(100% - 20px);
/* Bei Null soll der Ring OBEN beginnen, nicht rechts. */ /* Bei Null soll der Ring OBEN beginnen, nicht rechts. */
transform: rotate(-90deg); transform: rotate(-90deg);
z-index: 2; z-index: 2;
@@ -317,7 +493,7 @@
display: grid; justify-items: center; gap: 2px; line-height: 1; display: grid; justify-items: center; gap: 2px; line-height: 1;
} }
.uhr__zeit { .uhr__zeit {
font-size: 1.46rem; font-weight: 700; letter-spacing: -.015em; font-size: 1.86rem; font-weight: 700; letter-spacing: -.015em;
/* Gleiche Zifferbreite: Ohne sie zappelt die Anzeige bei jedem /* Gleiche Zifferbreite: Ohne sie zappelt die Anzeige bei jedem
Minutenwechsel, weil die 1 schmaler ist als die 8. */ Minutenwechsel, weil die 1 schmaler ist als die 8. */
font-variant-numeric: tabular-nums; font-variant-numeric: tabular-nums;
@@ -365,8 +541,8 @@
keine Zeile mehr übrig. */ keine Zeile mehr übrig. */
.willkommen { padding: 18px 16px; } .willkommen { padding: 18px 16px; }
.willkommen__rechts { margin-left: 0; width: 100%; justify-content: flex-start; } .willkommen__rechts { margin-left: 0; width: 100%; justify-content: flex-start; }
.uhr { width: 96px; height: 96px; } .uhr { width: 118px; height: 118px; padding: 4px; }
.uhr__zeit { font-size: 1.18rem; } .uhr__zeit { font-size: 1.3rem; }
} }
@media (prefers-reduced-motion: reduce) { @media (prefers-reduced-motion: reduce) {
+25 -10
View File
@@ -89,7 +89,7 @@
} }
/* MODULLISTE */ /* MODULLISTE */
:is(.eintrag-karte, .call, .datei, .ablage, .zahlkarte, .regel, .zustand, .ki-kasten, .k-ansicht, .spalte, .balance, .saeulen-kasten, .neu, .call-raum, .creator, .summe, .pdf, .pdf-ablage, .suchleiste, .person, .kk, .fortschritt, .punkt, .unterweisung, .warnkarte, .kachel, .willkommen, .tagesblick, .leer-hinweis, .team-karte, .zahl, .k-listentag, .import-vorschau, .code-fenster, .schulung__neu) { :is(.eintrag-karte, .call, .datei, .ablage, .zahlkarte, .regel, .zustand, .ki-kasten, .k-ansicht, .spalte, .balance, .saeulen-kasten, .neu, .call-raum, .creator, .summe, .pdf, .pdf-ablage, .suchleiste, .person, .kk, .fortschritt, .punkt, .unterweisung, .warnkarte, .kachel, .tagesblick, .leer-hinweis, .team-karte, .zahl, .k-listentag, .import-vorschau, .code-fenster, .schulung__neu) {
position: relative; position: relative;
clip-path: polygon(var(--fase) 0, 100% 0, 100% 100%, 0 100%, 0 var(--fase)); clip-path: polygon(var(--fase) 0, 100% 0, 100% 100%, 0 100%, 0 var(--fase));
border-radius: 0; border-radius: 0;
@@ -104,7 +104,7 @@
was übrig bleibt, ist eine Linie, die exakt der Form folgt, Schräge was übrig bleibt, ist eine Linie, die exakt der Form folgt, Schräge
inklusive. Ein `border` könnte das nicht: Er folgt dem Rechteck. */ inklusive. Ein `border` könnte das nicht: Er folgt dem Rechteck. */
/* MODULLISTE */ /* MODULLISTE */
:is(.eintrag-karte, .call, .datei, .ablage, .zahlkarte, .regel, .zustand, .ki-kasten, .k-ansicht, .spalte, .balance, .saeulen-kasten, .neu, .call-raum, .creator, .summe, .pdf, .pdf-ablage, .suchleiste, .person, .kk, .fortschritt, .punkt, .unterweisung, .warnkarte, .kachel, .willkommen, .tagesblick, .leer-hinweis, .team-karte, .zahl, .k-listentag, .import-vorschau, .code-fenster, .schulung__neu)::before { :is(.eintrag-karte, .call, .datei, .ablage, .zahlkarte, .regel, .zustand, .ki-kasten, .k-ansicht, .spalte, .balance, .saeulen-kasten, .neu, .call-raum, .creator, .summe, .pdf, .pdf-ablage, .suchleiste, .person, .kk, .fortschritt, .punkt, .unterweisung, .warnkarte, .kachel, .tagesblick, .leer-hinweis, .team-karte, .zahl, .k-listentag, .import-vorschau, .code-fenster, .schulung__neu)::before {
content: ""; content: "";
position: absolute; inset: 0; position: absolute; inset: 0;
pointer-events: none; pointer-events: none;
@@ -127,7 +127,7 @@
/* RASTER UND ECKWINKEL. Beides auf ::after -- ein drittes Element gibt /* RASTER UND ECKWINKEL. Beides auf ::after -- ein drittes Element gibt
es nicht, und beides ist reine Optik ohne Klicks. */ es nicht, und beides ist reine Optik ohne Klicks. */
/* MODULLISTE */ /* MODULLISTE */
:is(.eintrag-karte, .call, .datei, .ablage, .zahlkarte, .regel, .zustand, .ki-kasten, .k-ansicht, .spalte, .balance, .saeulen-kasten, .neu, .call-raum, .creator, .summe, .pdf, .pdf-ablage, .suchleiste, .person, .kk, .fortschritt, .punkt, .unterweisung, .warnkarte, .kachel, .willkommen, .tagesblick, .leer-hinweis, .team-karte, .zahl, .k-listentag, .import-vorschau, .code-fenster, .schulung__neu)::after { :is(.eintrag-karte, .call, .datei, .ablage, .zahlkarte, .regel, .zustand, .ki-kasten, .k-ansicht, .spalte, .balance, .saeulen-kasten, .neu, .call-raum, .creator, .summe, .pdf, .pdf-ablage, .suchleiste, .person, .kk, .fortschritt, .punkt, .unterweisung, .warnkarte, .kachel, .tagesblick, .leer-hinweis, .team-karte, .zahl, .k-listentag, .import-vorschau, .code-fenster, .schulung__neu)::after {
content: ""; content: "";
position: absolute; inset: 0; position: absolute; inset: 0;
pointer-events: none; pointer-events: none;
@@ -147,9 +147,24 @@
/* Der Inhalt gehört ÜBER Raster und Kantenlicht. Ohne diese Zeile /* Der Inhalt gehört ÜBER Raster und Kantenlicht. Ohne diese Zeile
liegt bei Karten ohne eigenen Stapelwert der Text unter dem Raster liegt bei Karten ohne eigenen Stapelwert der Text unter dem Raster
und wird von ihm überzeichnet. */ und wird von ihm überzeichnet.
:is(.eintrag-karte, .call, .datei, .kachel, .willkommen, .leer-hinweis,
.team-karte, .zahl, .k-listentag, .person, .creator) > * { `:not(.licht)` IST KEINE FEINHEIT, SONDERN DIE REPARATUR EINES
FEHLERS, DEN DIESE ZEILE SELBST VERURSACHT HAT (07.09.2026).
Das Licht, das dem Zeiger folgt, ist ein <span class="licht"> und
damit ein direktes Kind jeder Karte. `position: relative` hat ihm
sein `position: absolute` genommen: Aus einer Fläche über der ganzen
Karte wurde ein leerer Inline-Span ohne Ausdehnung. Im Browser
gemessen -- `display: inline`, obwohl in start.css `absolute`
steht -- und genau deshalb war das Licht weg, das Filipe
zurückhaben wollte.
Merksatz: Eine Regel auf `> *` trifft auch das, was gar kein Inhalt
ist. Wer sie schreibt, muss wissen, was sonst noch als Kind in
diesen Karten liegt. */
:is(.eintrag-karte, .call, .datei, .kachel, .leer-hinweis,
.team-karte, .zahl, .k-listentag, .person, .creator) > *:not(.licht) {
position: relative; position: relative;
z-index: 1; z-index: 1;
} }
@@ -171,7 +186,7 @@
/* Dieselbe Form, kleiner -- keine zweite Gestaltung. */ /* Dieselbe Form, kleiner -- keine zweite Gestaltung. */
:root { --fase: 12px; } :root { --fase: 12px; }
/* MODULLISTE */ /* MODULLISTE */
:is(.eintrag-karte, .call, .datei, .ablage, .zahlkarte, .regel, .zustand, .ki-kasten, .k-ansicht, .spalte, .balance, .saeulen-kasten, .neu, .call-raum, .creator, .summe, .pdf, .pdf-ablage, .suchleiste, .person, .kk, .fortschritt, .punkt, .unterweisung, .warnkarte, .kachel, .willkommen, .tagesblick, .leer-hinweis, .team-karte, .zahl, .k-listentag, .import-vorschau, .code-fenster, .schulung__neu) { :is(.eintrag-karte, .call, .datei, .ablage, .zahlkarte, .regel, .zustand, .ki-kasten, .k-ansicht, .spalte, .balance, .saeulen-kasten, .neu, .call-raum, .creator, .summe, .pdf, .pdf-ablage, .suchleiste, .person, .kk, .fortschritt, .punkt, .unterweisung, .warnkarte, .kachel, .tagesblick, .leer-hinweis, .team-karte, .zahl, .k-listentag, .import-vorschau, .code-fenster, .schulung__neu) {
filter: drop-shadow(0 3px 8px rgba(0, 0, 0, .7)); filter: drop-shadow(0 3px 8px rgba(0, 0, 0, .7));
} }
} }
@@ -185,15 +200,15 @@
/* Im Kontrastmodus zählt die Kante, und die muss ein echter `border` /* Im Kontrastmodus zählt die Kante, und die muss ein echter `border`
sein. Die Schräge bleibt: Sie ist Geometrie, keine Farbe. */ sein. Die Schräge bleibt: Sie ist Geometrie, keine Farbe. */
/* MODULLISTE */ /* MODULLISTE */
:is(.eintrag-karte, .call, .datei, .ablage, .zahlkarte, .regel, .zustand, .ki-kasten, .k-ansicht, .spalte, .balance, .saeulen-kasten, .neu, .call-raum, .creator, .summe, .pdf, .pdf-ablage, .suchleiste, .person, .kk, .fortschritt, .punkt, .unterweisung, .warnkarte, .kachel, .willkommen, .tagesblick, .leer-hinweis, .team-karte, .zahl, .k-listentag, .import-vorschau, .code-fenster, .schulung__neu) { :is(.eintrag-karte, .call, .datei, .ablage, .zahlkarte, .regel, .zustand, .ki-kasten, .k-ansicht, .spalte, .balance, .saeulen-kasten, .neu, .call-raum, .creator, .summe, .pdf, .pdf-ablage, .suchleiste, .person, .kk, .fortschritt, .punkt, .unterweisung, .warnkarte, .kachel, .tagesblick, .leer-hinweis, .team-karte, .zahl, .k-listentag, .import-vorschau, .code-fenster, .schulung__neu) {
filter: none; border: 1px solid CanvasText; filter: none; border: 1px solid CanvasText;
} }
/* MODULLISTE */ /* MODULLISTE */
:is(.eintrag-karte, .call, .datei, .ablage, .zahlkarte, .regel, .zustand, .ki-kasten, .k-ansicht, .spalte, .balance, .saeulen-kasten, .neu, .call-raum, .creator, .summe, .pdf, .pdf-ablage, .suchleiste, .person, .kk, .fortschritt, .punkt, .unterweisung, .warnkarte, .kachel, .willkommen, .tagesblick, .leer-hinweis, .team-karte, .zahl, .k-listentag, .import-vorschau, .code-fenster, .schulung__neu)::after { :is(.eintrag-karte, .call, .datei, .ablage, .zahlkarte, .regel, .zustand, .ki-kasten, .k-ansicht, .spalte, .balance, .saeulen-kasten, .neu, .call-raum, .creator, .summe, .pdf, .pdf-ablage, .suchleiste, .person, .kk, .fortschritt, .punkt, .unterweisung, .warnkarte, .kachel, .tagesblick, .leer-hinweis, .team-karte, .zahl, .k-listentag, .import-vorschau, .code-fenster, .schulung__neu)::after {
display: none; display: none;
} }
/* MODULLISTE */ /* MODULLISTE */
:is(.eintrag-karte, .call, .datei, .ablage, .zahlkarte, .regel, .zustand, .ki-kasten, .k-ansicht, .spalte, .balance, .saeulen-kasten, .neu, .call-raum, .creator, .summe, .pdf, .pdf-ablage, .suchleiste, .person, .kk, .fortschritt, .punkt, .unterweisung, .warnkarte, .kachel, .willkommen, .tagesblick, .leer-hinweis, .team-karte, .zahl, .k-listentag, .import-vorschau, .code-fenster, .schulung__neu)::before { :is(.eintrag-karte, .call, .datei, .ablage, .zahlkarte, .regel, .zustand, .ki-kasten, .k-ansicht, .spalte, .balance, .saeulen-kasten, .neu, .call-raum, .creator, .summe, .pdf, .pdf-ablage, .suchleiste, .person, .kk, .fortschritt, .punkt, .unterweisung, .warnkarte, .kachel, .tagesblick, .leer-hinweis, .team-karte, .zahl, .k-listentag, .import-vorschau, .code-fenster, .schulung__neu)::before {
display: none; display: none;
} }
} }
+19 -1
View File
@@ -1819,7 +1819,25 @@ body.start > main { position: relative; z-index: 1; }
nur Beiwerk. nur Beiwerk.
===================================================================== */ ===================================================================== */
body.start .willkommen, /* `.willkommen` STAND HIER UND IST AM 07.09.2026 HERAUSGENOMMEN.
Die Begruessung ist seit heute eine eigene Konsole mit Metallfassung
und Achteck-Silhouette (heim.css). Diese Regel hier hat sie
ueberschrieben -- und zwar nicht ueber die Ladereihenfolge, sondern
ueber die SPEZIFITAET: `body.start .willkommen` ist (0,2,1), die neue
Regel `.willkommen` nur (0,1,0). Sie hat also gewonnen, obwohl sie
frueher geladen wird, und die Konsole trug weiter die alte Glastafel:
20 px Polsterung, abgerundete Ecken, ein grauer Verlauf. Im
Bildschirmfoto gemessen -- die Metallfassung war nie zu sehen.
Das ist derselbe Fehler wie mit `:where()` heute Frueh, nur
andersherum: damals zu SCHWACH geschrieben, hier zu STARK stehen
gelassen. Wer eine Flaeche neu baut, muss zuerst nachsehen, wer sie
vorher beschrieben hat -- und mit welchem Gewicht.
Der Weichzeichner faellt damit auch weg, und das ist gut so: Er
holt die Neonfarben von AUSSERHALB der Flaeche herein und hat schon
zweimal dafuer gesorgt, dass eine Karte grau statt dunkelblau aussah. */
body.start .kopf-zeile, body.start .kopf-zeile,
body.start .k-kopf { body.start .k-kopf {
padding: 20px 24px; padding: 20px 24px;
+15 -1
View File
@@ -349,7 +349,21 @@
verlaesst, wird geloescht -- sonst flackerte das Licht bei jeder verlaesst, wird geloescht -- sonst flackerte das Licht bei jeder
Bewegung ueber ein Wort hinweg. */ Bewegung ueber ein Wort hinweg. */
if (karte.contains(e.relatedTarget)) return; if (karte.contains(e.relatedTarget)) return;
letzte = null; /* den angemeldeten Bildaufbau entwerten */ /* NUR DEN EIGENEN Bildaufbau entwerten (07.09.2026).
Hier stand `letzte = null` ohne Bedingung -- und das hat beim
Wechsel von einer Karte auf die naechste das Licht GANZ
ausgeschaltet. Der Grund ist die Reihenfolge der Ereignisse:
`pointermove` auf der neuen Karte kommt zuerst und meldet
einen Bildaufbau an; `pointerout` der alten Karte kommt danach
und hat ihn geloescht, obwohl er gar nicht ihr gehoerte. Der
Bildaufbau lief, fand `letzte === null` und tat nichts.
Gemessen mit pruef-start-ansicht: "beim Wechsel leuchtet
weiterhin nur eine (0)" -- null statt einer. Ein Fehler, den
man von Hand nur bemerkt, wenn man zufaellig schnell genug
von Kachel zu Kachel faehrt. */
if (letzte && letzte.karte === karte) letzte = null;
aus(karte); aus(karte);
}, { capture: true, passive: true }); }, { capture: true, passive: true });
+9 -9
View File
@@ -9,10 +9,10 @@
<meta name="theme-color" content="#0674b9" /> <meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" /> <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="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/start.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/start.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/module.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/module.css?v=202609071253" />
</head> </head>
<body class="start"> <body class="start">
@@ -212,10 +212,10 @@
</form> </form>
</dialog> </dialog>
<script src="assets/js/wahl.js?v=202609070729" defer></script> <script src="assets/js/wahl.js?v=202609071253" defer></script>
<script src="assets/js/bereiche.js?v=202609070729" defer></script> <script src="assets/js/bereiche.js?v=202609071253" defer></script>
<script src="assets/js/kopf.js?v=202609070729" defer></script> <script src="assets/js/kopf.js?v=202609071253" defer></script>
<script src="assets/js/glocke.js?v=202609070729" defer></script> <script src="assets/js/glocke.js?v=202609071253" defer></script>
<script src="assets/js/aufgaben.js?v=202609070729" defer></script> <script src="assets/js/aufgaben.js?v=202609071253" defer></script>
</body> </body>
</html> </html>
+10 -10
View File
@@ -9,11 +9,11 @@
<meta name="theme-color" content="#0674b9" /> <meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" /> <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="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/start.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/start.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/automation.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/automation.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/module.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/module.css?v=202609071253" />
</head> </head>
<body class="start"> <body class="start">
@@ -135,10 +135,10 @@
</main> </main>
<script src="assets/js/wahl.js?v=202609070729" defer></script> <script src="assets/js/wahl.js?v=202609071253" defer></script>
<script src="assets/js/bereiche.js?v=202609070729" defer></script> <script src="assets/js/bereiche.js?v=202609071253" defer></script>
<script src="assets/js/kopf.js?v=202609070729" defer></script> <script src="assets/js/kopf.js?v=202609071253" defer></script>
<script src="assets/js/glocke.js?v=202609070729" defer></script> <script src="assets/js/glocke.js?v=202609071253" defer></script>
<script src="assets/js/automation.js?v=202609070729" defer></script> <script src="assets/js/automation.js?v=202609071253" defer></script>
</body> </body>
</html> </html>
+14 -14
View File
@@ -9,11 +9,11 @@
<meta name="theme-color" content="#0674b9" /> <meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" /> <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="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/start.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/start.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/bereich.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/module.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/module.css?v=202609071253" />
</head> </head>
<body class="start"> <body class="start">
@@ -144,14 +144,14 @@
</main> </main>
<script src="assets/js/wahl.js?v=202609070729" defer></script> <script src="assets/js/wahl.js?v=202609071253" defer></script>
<script src="assets/js/bereiche.js?v=202609070729" defer></script> <script src="assets/js/bereiche.js?v=202609071253" defer></script>
<script src="assets/js/kopf.js?v=202609070729" defer></script> <script src="assets/js/kopf.js?v=202609071253" defer></script>
<script src="assets/js/glocke.js?v=202609070729" defer></script> <script src="assets/js/glocke.js?v=202609071253" defer></script>
<script src="assets/js/checkliste.js?v=202609070729" defer></script> <script src="assets/js/checkliste.js?v=202609071253" defer></script>
<script src="assets/js/ampel.js?v=202609070729" defer></script> <script src="assets/js/ampel.js?v=202609071253" defer></script>
<script src="assets/js/schulung.js?v=202609070729" defer></script> <script src="assets/js/schulung.js?v=202609071253" defer></script>
<script src="assets/js/vorlagen.js?v=202609070729" defer></script> <script src="assets/js/vorlagen.js?v=202609071253" defer></script>
<script src="assets/js/bereich.js?v=202609070729" defer></script> <script src="assets/js/bereich.js?v=202609071253" defer></script>
</body> </body>
</html> </html>
+11 -11
View File
@@ -9,11 +9,11 @@
<meta name="theme-color" content="#0674b9" /> <meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" /> <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="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/start.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/start.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/calls.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/calls.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/module.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/module.css?v=202609071253" />
</head> </head>
<body class="start"> <body class="start">
@@ -77,11 +77,11 @@
</main> </main>
<script src="assets/js/ki.js?v=202609070729" defer></script> <script src="assets/js/ki.js?v=202609071253" defer></script>
<script src="assets/js/wahl.js?v=202609070729" defer></script> <script src="assets/js/wahl.js?v=202609071253" defer></script>
<script src="assets/js/bereiche.js?v=202609070729" defer></script> <script src="assets/js/bereiche.js?v=202609071253" defer></script>
<script src="assets/js/kopf.js?v=202609070729" defer></script> <script src="assets/js/kopf.js?v=202609071253" defer></script>
<script src="assets/js/glocke.js?v=202609070729" defer></script> <script src="assets/js/glocke.js?v=202609071253" defer></script>
<script src="assets/js/calls.js?v=202609070729" defer></script> <script src="assets/js/calls.js?v=202609071253" defer></script>
</body> </body>
</html> </html>
+9 -9
View File
@@ -9,17 +9,17 @@
<meta name="theme-color" content="#0674b9" /> <meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" /> <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="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/start.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/start.css?v=202609071253" />
<!-- aufgaben.css bringt die Dialog- und Formularstile mit (.dialog, <!-- aufgaben.css bringt die Dialog- und Formularstile mit (.dialog,
.neu__zeile, .dialog__knoepfe). Sie stehen dort seit dem .neu__zeile, .dialog__knoepfe). Sie stehen dort seit dem
Aufgabenbrett; sie hierher zu kopieren hiesse, sie an zwei Stellen Aufgabenbrett; sie hierher zu kopieren hiesse, sie an zwei Stellen
zu pflegen. Dieselbe Lösung nutzen kalender.html und content.html. zu pflegen. Dieselbe Lösung nutzen kalender.html und content.html.
Gemeldet von pruef-css-klassen.mjs, bevor jemand einen ungestylten Gemeldet von pruef-css-klassen.mjs, bevor jemand einen ungestylten
Dialog zu sehen bekam. --> Dialog zu sehen bekam. -->
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/chat.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/chat.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/module.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/module.css?v=202609071253" />
</head> </head>
<body class="start"> <body class="start">
@@ -155,9 +155,9 @@
</form> </form>
</dialog> </dialog>
<script src="assets/js/bereiche.js?v=202609070729"></script> <script src="assets/js/bereiche.js?v=202609071253"></script>
<script src="assets/js/kopf.js?v=202609070729"></script> <script src="assets/js/kopf.js?v=202609071253"></script>
<script src="assets/js/glocke.js?v=202609070729"></script> <script src="assets/js/glocke.js?v=202609071253"></script>
<script src="assets/js/chat.js?v=202609070729"></script> <script src="assets/js/chat.js?v=202609071253"></script>
</body> </body>
</html> </html>
+12 -12
View File
@@ -9,11 +9,11 @@
<meta name="theme-color" content="#0674b9" /> <meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" /> <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="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/start.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/start.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/content.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/content.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/module.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/module.css?v=202609071253" />
</head> </head>
<body class="start"> <body class="start">
@@ -167,12 +167,12 @@
</main> </main>
<script src="assets/js/wahl.js?v=202609070729" defer></script> <script src="assets/js/wahl.js?v=202609071253" defer></script>
<script src="assets/js/bereiche.js?v=202609070729" defer></script> <script src="assets/js/bereiche.js?v=202609071253" defer></script>
<script src="assets/js/kopf.js?v=202609070729" defer></script> <script src="assets/js/kopf.js?v=202609071253" defer></script>
<script src="assets/js/glocke.js?v=202609070729" defer></script> <script src="assets/js/glocke.js?v=202609071253" defer></script>
<script src="assets/js/checkliste.js?v=202609070729" defer></script> <script src="assets/js/checkliste.js?v=202609071253" defer></script>
<script src="assets/js/vorlagen.js?v=202609070729" defer></script> <script src="assets/js/vorlagen.js?v=202609071253" defer></script>
<script src="assets/js/content.js?v=202609070729" defer></script> <script src="assets/js/content.js?v=202609071253" defer></script>
</body> </body>
</html> </html>
+10 -10
View File
@@ -9,11 +9,11 @@
<meta name="theme-color" content="#0674b9" /> <meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" /> <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="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/start.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/start.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/dateien.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/dateien.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/module.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/module.css?v=202609071253" />
</head> </head>
<body class="start"> <body class="start">
@@ -96,10 +96,10 @@
</main> </main>
<script src="assets/js/wahl.js?v=202609070729" defer></script> <script src="assets/js/wahl.js?v=202609071253" defer></script>
<script src="assets/js/bereiche.js?v=202609070729" defer></script> <script src="assets/js/bereiche.js?v=202609071253" defer></script>
<script src="assets/js/kopf.js?v=202609070729" defer></script> <script src="assets/js/kopf.js?v=202609071253" defer></script>
<script src="assets/js/glocke.js?v=202609070729" defer></script> <script src="assets/js/glocke.js?v=202609071253" defer></script>
<script src="assets/js/dateien.js?v=202609070729" defer></script> <script src="assets/js/dateien.js?v=202609071253" defer></script>
</body> </body>
</html> </html>
+2 -2
View File
@@ -27,7 +27,7 @@
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" /> <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="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609071253" />
</head> </head>
<body class="gate"> <body class="gate">
@@ -202,6 +202,6 @@
</main> </main>
</div> </div>
<script src="assets/js/gate.js?v=202609070729" defer></script> <script src="assets/js/gate.js?v=202609071253" defer></script>
</body> </body>
</html> </html>
+11 -11
View File
@@ -9,11 +9,11 @@
<meta name="theme-color" content="#0674b9" /> <meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" /> <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="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/start.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/start.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/kalender.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/kalender.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/module.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/module.css?v=202609071253" />
</head> </head>
<body class="start"> <body class="start">
@@ -258,11 +258,11 @@
</main> </main>
<script src="assets/js/wahl.js?v=202609070729" defer></script> <script src="assets/js/wahl.js?v=202609071253" defer></script>
<script src="assets/js/bereiche.js?v=202609070729" defer></script> <script src="assets/js/bereiche.js?v=202609071253" defer></script>
<script src="assets/js/kopf.js?v=202609070729" defer></script> <script src="assets/js/kopf.js?v=202609071253" defer></script>
<script src="assets/js/glocke.js?v=202609070729" defer></script> <script src="assets/js/glocke.js?v=202609071253" defer></script>
<script src="assets/js/kalender.js?v=202609070729" defer></script> <script src="assets/js/kalender.js?v=202609071253" defer></script>
<script src="assets/js/kalender-abo.js?v=202609070729" defer></script> <script src="assets/js/kalender-abo.js?v=202609071253" defer></script>
</body> </body>
</html> </html>
+10 -10
View File
@@ -9,11 +9,11 @@
<meta name="theme-color" content="#0674b9" /> <meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" /> <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="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/start.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/start.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/leistung.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/leistung.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/module.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/module.css?v=202609071253" />
</head> </head>
<body class="start"> <body class="start">
@@ -212,10 +212,10 @@
</form> </form>
</dialog> </dialog>
<script src="assets/js/wahl.js?v=202609070729"></script> <script src="assets/js/wahl.js?v=202609071253"></script>
<script src="assets/js/bereiche.js?v=202609070729"></script> <script src="assets/js/bereiche.js?v=202609071253"></script>
<script src="assets/js/kopf.js?v=202609070729"></script> <script src="assets/js/kopf.js?v=202609071253"></script>
<script src="assets/js/glocke.js?v=202609070729"></script> <script src="assets/js/glocke.js?v=202609071253"></script>
<script src="assets/js/leistung.js?v=202609070729"></script> <script src="assets/js/leistung.js?v=202609071253"></script>
</body> </body>
</html> </html>
+10 -10
View File
@@ -9,11 +9,11 @@
<meta name="theme-color" content="#0674b9" /> <meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" /> <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="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/start.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/start.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/personen.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/personen.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/module.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/module.css?v=202609071253" />
</head> </head>
<body class="start"> <body class="start">
@@ -137,10 +137,10 @@
</main> </main>
<script src="assets/js/wahl.js?v=202609070729" defer></script> <script src="assets/js/wahl.js?v=202609071253" defer></script>
<script src="assets/js/bereiche.js?v=202609070729" defer></script> <script src="assets/js/bereiche.js?v=202609071253" defer></script>
<script src="assets/js/kopf.js?v=202609070729" defer></script> <script src="assets/js/kopf.js?v=202609071253" defer></script>
<script src="assets/js/glocke.js?v=202609070729" defer></script> <script src="assets/js/glocke.js?v=202609071253" defer></script>
<script src="assets/js/personen.js?v=202609070729" defer></script> <script src="assets/js/personen.js?v=202609071253" defer></script>
</body> </body>
</html> </html>
+11 -11
View File
@@ -9,11 +9,11 @@
<meta name="theme-color" content="#0674b9" /> <meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" /> <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="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/start.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/start.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/profil.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/module.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/module.css?v=202609071253" />
</head> </head>
<body class="start"> <body class="start">
@@ -202,11 +202,11 @@
</main> </main>
<script src="assets/js/wahl.js?v=202609070729" defer></script> <script src="assets/js/wahl.js?v=202609071253" defer></script>
<script src="assets/js/bereiche.js?v=202609070729" defer></script> <script src="assets/js/bereiche.js?v=202609071253" defer></script>
<script src="assets/js/kopf.js?v=202609070729" defer></script> <script src="assets/js/kopf.js?v=202609071253" defer></script>
<script src="assets/js/glocke.js?v=202609070729" defer></script> <script src="assets/js/glocke.js?v=202609071253" defer></script>
<script src="assets/js/steckbrief.js?v=202609070729" defer></script> <script src="assets/js/steckbrief.js?v=202609071253" defer></script>
<script src="assets/js/profil.js?v=202609070729" defer></script> <script src="assets/js/profil.js?v=202609071253" defer></script>
</body> </body>
</html> </html>
+11 -11
View File
@@ -9,11 +9,11 @@
<meta name="theme-color" content="#0674b9" /> <meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" /> <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="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/start.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/start.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/report.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/report.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/module.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/module.css?v=202609071253" />
</head> </head>
<body class="start"> <body class="start">
@@ -94,11 +94,11 @@
</main> </main>
<script src="assets/js/ki.js?v=202609070729" defer></script> <script src="assets/js/ki.js?v=202609071253" defer></script>
<script src="assets/js/wahl.js?v=202609070729" defer></script> <script src="assets/js/wahl.js?v=202609071253" defer></script>
<script src="assets/js/bereiche.js?v=202609070729" defer></script> <script src="assets/js/bereiche.js?v=202609071253" defer></script>
<script src="assets/js/kopf.js?v=202609070729" defer></script> <script src="assets/js/kopf.js?v=202609071253" defer></script>
<script src="assets/js/glocke.js?v=202609070729" defer></script> <script src="assets/js/glocke.js?v=202609071253" defer></script>
<script src="assets/js/report.js?v=202609070729" defer></script> <script src="assets/js/report.js?v=202609071253" defer></script>
</body> </body>
</html> </html>
+10 -10
View File
@@ -9,11 +9,11 @@
<meta name="theme-color" content="#0674b9" /> <meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" /> <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="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/start.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/start.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/scouting.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/scouting.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/module.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/module.css?v=202609071253" />
</head> </head>
<body class="start"> <body class="start">
@@ -127,10 +127,10 @@
</div> </div>
</div> </div>
<script src="assets/js/wahl.js?v=202609070729" defer></script> <script src="assets/js/wahl.js?v=202609071253" defer></script>
<script src="assets/js/bereiche.js?v=202609070729" defer></script> <script src="assets/js/bereiche.js?v=202609071253" defer></script>
<script src="assets/js/kopf.js?v=202609070729" defer></script> <script src="assets/js/kopf.js?v=202609071253" defer></script>
<script src="assets/js/glocke.js?v=202609070729" defer></script> <script src="assets/js/glocke.js?v=202609071253" defer></script>
<script src="assets/js/scouting.js?v=202609070729" defer></script> <script src="assets/js/scouting.js?v=202609071253" defer></script>
</body> </body>
</html> </html>
+9 -9
View File
@@ -9,12 +9,12 @@
<meta name="theme-color" content="#0674b9" /> <meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" /> <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="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/start.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/start.css?v=202609071253" />
<!-- Nur die Startseite: Begrüßungskachel, Uhr, Glockenmulde. Siehe <!-- Nur die Startseite: Begrüßungskachel, Uhr, Glockenmulde. Siehe
den Hinweis in start.css -- dort stand es bis zum 07.09.2026. --> den Hinweis in start.css -- dort stand es bis zum 07.09.2026. -->
<link rel="stylesheet" href="assets/css/heim.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/heim.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/module.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/module.css?v=202609071253" />
</head> </head>
<body class="start"> <body class="start">
@@ -264,10 +264,10 @@
</p> </p>
</main> </main>
<script src="assets/js/wahl.js?v=202609070729" defer></script> <script src="assets/js/wahl.js?v=202609071253" defer></script>
<script src="assets/js/bereiche.js?v=202609070729" defer></script> <script src="assets/js/bereiche.js?v=202609071253" defer></script>
<script src="assets/js/kopf.js?v=202609070729" defer></script> <script src="assets/js/kopf.js?v=202609071253" defer></script>
<script src="assets/js/glocke.js?v=202609070729" defer></script> <script src="assets/js/glocke.js?v=202609071253" defer></script>
<script src="assets/js/start.js?v=202609070729" defer></script> <script src="assets/js/start.js?v=202609071253" defer></script>
</body> </body>
</html> </html>
+11 -11
View File
@@ -9,11 +9,11 @@
<meta name="theme-color" content="#0674b9" /> <meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" /> <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="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/start.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/start.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/startcheck.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/module.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/module.css?v=202609071253" />
</head> </head>
<body class="start"> <body class="start">
@@ -73,11 +73,11 @@
</main> </main>
<script src="assets/js/ki.js?v=202609070729" defer></script> <script src="assets/js/ki.js?v=202609071253" defer></script>
<script src="assets/js/wahl.js?v=202609070729" defer></script> <script src="assets/js/wahl.js?v=202609071253" defer></script>
<script src="assets/js/bereiche.js?v=202609070729" defer></script> <script src="assets/js/bereiche.js?v=202609071253" defer></script>
<script src="assets/js/kopf.js?v=202609070729" defer></script> <script src="assets/js/kopf.js?v=202609071253" defer></script>
<script src="assets/js/glocke.js?v=202609070729" defer></script> <script src="assets/js/glocke.js?v=202609071253" defer></script>
<script src="assets/js/startcheck.js?v=202609070729" defer></script> <script src="assets/js/startcheck.js?v=202609071253" defer></script>
</body> </body>
</html> </html>
+10 -10
View File
@@ -9,11 +9,11 @@
<meta name="theme-color" content="#0674b9" /> <meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" /> <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="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/start.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/start.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/profil.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/module.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/module.css?v=202609071253" />
</head> </head>
<body class="start"> <body class="start">
@@ -114,10 +114,10 @@
</main> </main>
<script src="assets/js/wahl.js?v=202609070729" defer></script> <script src="assets/js/wahl.js?v=202609071253" defer></script>
<script src="assets/js/bereiche.js?v=202609070729" defer></script> <script src="assets/js/bereiche.js?v=202609071253" defer></script>
<script src="assets/js/kopf.js?v=202609070729" defer></script> <script src="assets/js/kopf.js?v=202609071253" defer></script>
<script src="assets/js/glocke.js?v=202609070729" defer></script> <script src="assets/js/glocke.js?v=202609071253" defer></script>
<script src="assets/js/steckbrief.js?v=202609070729" defer></script> <script src="assets/js/steckbrief.js?v=202609071253" defer></script>
</body> </body>
</html> </html>
+9 -9
View File
@@ -9,13 +9,13 @@
<meta name="theme-color" content="#0674b9" /> <meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" /> <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="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/start.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/start.css?v=202609071253" />
<!-- Formular- und Dialogstile: seit dem 07.09.2026 steht hier der <!-- Formular- und Dialogstile: seit dem 07.09.2026 steht hier der
Dialog "Creator anlegen". --> Dialog "Creator anlegen". -->
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/uebersicht.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/module.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/module.css?v=202609071253" />
</head> </head>
<body class="start"> <body class="start">
@@ -137,10 +137,10 @@
</main> </main>
<script src="assets/js/bereiche.js?v=202609070729" defer></script> <script src="assets/js/bereiche.js?v=202609071253" defer></script>
<script src="assets/js/kopf.js?v=202609070729" defer></script> <script src="assets/js/kopf.js?v=202609071253" defer></script>
<script src="assets/js/glocke.js?v=202609070729" defer></script> <script src="assets/js/glocke.js?v=202609071253" defer></script>
<script src="assets/js/uebersicht.js?v=202609070729" defer></script> <script src="assets/js/uebersicht.js?v=202609071253" defer></script>
</body> </body>
</html> </html>
+10 -10
View File
@@ -9,11 +9,11 @@
<meta name="theme-color" content="#0674b9" /> <meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" /> <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="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/start.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/start.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/wissen.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/wissen.css?v=202609071253" />
<link rel="stylesheet" href="assets/css/module.css?v=202609070729" /> <link rel="stylesheet" href="assets/css/module.css?v=202609071253" />
</head> </head>
<body class="start"> <body class="start">
@@ -178,10 +178,10 @@
</main> </main>
<script src="assets/js/wahl.js?v=202609070729" defer></script> <script src="assets/js/wahl.js?v=202609071253" defer></script>
<script src="assets/js/bereiche.js?v=202609070729" defer></script> <script src="assets/js/bereiche.js?v=202609071253" defer></script>
<script src="assets/js/kopf.js?v=202609070729" defer></script> <script src="assets/js/kopf.js?v=202609071253" defer></script>
<script src="assets/js/glocke.js?v=202609070729" defer></script> <script src="assets/js/glocke.js?v=202609071253" defer></script>
<script src="assets/js/wissen.js?v=202609070729" defer></script> <script src="assets/js/wissen.js?v=202609071253" defer></script>
</body> </body>
</html> </html>