Entwicklung & Nachwuchs: zwei Kataloge zum Anklicken statt zwei leerer Formulare

Filipe: "ich will dass diese zwei kategorien perfektionniert werden, ich
will dass fertige aufgaben da stehen und so ... so dass dogfather und
rechte hand es so einfach wie möglich haben aber so professionell wie
auch nur möglich."

Bis heute waren beide Kacheln ein leeres Formular: Titel tippen, Art
wählen, Text schreiben. Ein leeres Feld beantwortet keine Frage — es
stellt sie noch einmal.

ENTWICKLUNG: 34 Beobachtungen in fünf Blöcken, vier Antworten je Zeile
(Läuft · Wächst gerade · Da hakt es · Kann ich nicht sagen). Es sind
BEOBACHTUNGEN, keine Eigenschaften — "Absagen kommen rechtzeitig" statt
"ist zuverlässig". Eine Eigenschaft kann man nur bestätigen oder
bestreiten; ein Verhalten kann man gesehen haben oder nicht.

TALENTE: 21 Merkmale in fünf Gruppen, 6 Warnzeichen getrennt geführt,
fünf Trichterstufen mit je GENAU EINEM nächsten Schritt. Eine Liste
wächst und wird nie wieder angesehen; ein Trichter fragt bei jeder Karte
"und jetzt?". Die Standzeit steht dabei — "seit 41 Tagen beobachtet"
ist eine Auskunft über uns, nicht über den Kandidaten.

VIER RIEGEL, JEDER MIT GEGENPROBE:
 · Block 5 ("Wie geht es dir damit?") gehört der Person — lesend UND
   schreibend, auch vor DogFather. Er kommt gar nicht erst aus dem
   Server; Schreiben gibt dasselbe 404 wie ein erfundener Schlüssel.
   Nach außen dringt eine Ampel OHNE Namen, und die schweigt, solange
   das Team so klein ist, dass "jemandem geht es zu viel" dasselbe wäre
   wie ein Name.
 · Der Stand des anderen kommt erst nach dem eigenen Klick — sonst
   klickt man dasselbe. Sichtbar ist nur, DASS es einen gibt: sonst
   sähen "noch niemand" und "du darfst es nicht sehen" gleich aus.
 · "Da hakt es" ohne Anlass wird abgelehnt. "Läuft" nicht — 28
   Pflichtfelder je Person wären das Gegenteil von "so einfach wie
   möglich".
 · Talente gehört DogFather und der rechten Hand. Ein Modi bekommt 404
   auf Seite UND Schnittstelle.

WAS NICHT GEBAUT IST, UND WARUM: keine Punktzahl, kein Durchschnitt,
keine Rangliste, keine Gesamtnote. Eine Zahl über einem Menschen wird
gelesen, verglichen und weitererzählt. Und kein Rot — "da hakt es" ist
eine Beobachtung, kein Alarm.

DER PLAN LAG AN EINER STELLE FALSCH, gemessen statt vermutet: Er sagte
"keine neue Tabelle, der Stand liegt in punkt_stand". Dort ist der
Schlüssel (bereich, schluessel, creator_id) — genau EIN Stand je Punkt
und Person. Zwei unabhängige Augenpaare passen da nicht hinein, ohne
eine lebende Tabelle neu zu bauen. Also eine eigene.

EIN RÜCKSCHLAG, DEN NUR DIE PRÜFUNG GEFUNDEN HAT: Die Liste der
Bretter, die ein Modi oder die rechte Hand öffnen darf, wird aus den
KACHELZIELEN abgeleitet. Als die Kacheln auf die neuen Seiten zeigten,
fielen beide Bretter heraus — und die Seite verlinkte auf ein 404. Kein
Fehler im Riegel, sondern in seiner Quelle.

Dazu zwei kleinere Funde vom Hinsehen statt vom Messen: Die Ampel sagte
"Solange ihr zu 1 seid" (jetzt drei Sätze für drei Lagen), und die
Fußzeile der Talente-Seite lag auf der Bühne — die Kontrastprüfung hatte
sie übersprungen, weil ein Link darin steht. Beide behoben, und die
Prüfung hat den stillen Aussetzer gleich mit verloren.

Geprüft: rollen 314 · start-ansicht 147 · crew-adresse 132 · neue-seiten
70 · nachwuchs 69 · entwicklung 40 · css-klassen 30 · zwischenspeicher
21 · alle-wege 19 · rechtetafel 19 — alles grün.

Was noch fehlt, steht in der Notiz, Abschnitt 9: die eigene Karte für
die Person, der Übergang "Probe" → Zugang, der Vorlagentext zum
Ansprechen.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-09-11 22:20:09 +02:00
co-authored by Claude Opus 5
parent 93ba881b18
commit dfd951861a
42 changed files with 3168 additions and 335 deletions
+4 -4
View File
@@ -13,25 +13,25 @@
"theme_color": "#06090f",
"icons": [
{
"src": "/assets/img/app-symbole/workspace-192.png?v=202609111836",
"src": "/assets/img/app-symbole/workspace-192.png?v=202609112217",
"sizes": "192x192",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/workspace-512.png?v=202609111836",
"src": "/assets/img/app-symbole/workspace-512.png?v=202609112217",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609111836",
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609112217",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609111836",
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609112217",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
+365
View File
@@ -0,0 +1,365 @@
/* =====================================================================
Entwicklung & Nachwuchs — die zwei Katalogseiten (11.09.2026)
Zwei Seiten, ein Stil: Auf beiden klickt man kurze Aussagen an,
beide zeigen daneben eine Zahl, die etwas über UNS sagt (wie alt die
Einschätzung ist, wie lange eine Karte liegt).
---------------------------------------------------------------------
DIE WICHTIGSTE ENTSCHEIDUNG IST EINE FARBE, DIE NICHT VORKOMMT
Es gibt hier kein Rot. „Da hakt es" ist eine Beobachtung, kein Alarm;
ein Warnzeichen an einem Kandidaten ist ein Grund hinzusehen, kein
Nein. Rot würde in beiden Fällen mehr sagen als die Sache — und aus
einem Gesprächsanlass ein Urteil machen.
Stattdessen: warm (Bernstein) für „hakt" und für Warnzeichen, kühl
für „läuft", babyblau für „wächst", grau für „kann ich nicht sagen".
Vier unterscheidbare Töne, keiner davon laut. Das ist auch die
Hausregel — augenschonend, gedeckt, dunkles Schema.
---------------------------------------------------------------------
UND EINE, DIE MAN NICHT SIEHT: ES GIBT KEINEN BALKEN
Kein Fortschrittsbalken je Person, kein Prozentwert, keine Punktzahl.
Eine Zahl über einem Menschen wird gelesen, verglichen und
weitererzählt. Was hier gebraucht wird, ist ein Gesprächsanlass.
===================================================================== */
/* ---------------------------------------------------------------------
Gemeinsam
------------------------------------------------------------------- */
.e-abschnitt {
margin: 26px 0 12px;
font-size: .82rem;
font-weight: 650;
letter-spacing: .09em;
text-transform: uppercase;
color: var(--text-still);
}
/* ---------------------------------------------------------------------
Die Ampel
Sie steht ganz oben und ist absichtlich die einzige Fläche auf der
Seite, die eine Farbe trägt. Unter 34 Beobachtungen hätte sie
niemand je gelesen.
------------------------------------------------------------------- */
.e-ampel {
margin: 0 0 22px;
padding: 14px 18px;
border: 1px solid var(--rand);
border-left: 3px solid var(--rand-hell);
background: color-mix(in srgb, var(--tinte) 94%, #ffffff 6%);
}
.e-ampel[data-lage="jemand"] { border-left-color: #cc9451; }
.e-ampel[data-lage="mehrere"] { border-left-color: #cc7a51; }
.e-ampel[data-lage="ruhig"] { border-left-color: #668e6e; }
.e-ampel__satz { margin: 0; font-size: .93rem; line-height: 1.6; color: var(--text); }
.e-ampel__zusatz {
margin: 7px 0 0; font-size: .8rem; line-height: 1.55; color: var(--text-still);
}
/* ---------------------------------------------------------------------
Die Personenreihe
------------------------------------------------------------------- */
.e-personen { display: flex; flex-wrap: wrap; gap: 10px; }
.e-person {
display: flex; flex-direction: column; gap: 3px;
min-width: 210px; flex: 1 1 210px;
padding: 13px 15px; text-align: left; cursor: pointer;
font: inherit;
background: color-mix(in srgb, var(--tinte) 94%, #ffffff 6%);
border: 1px solid var(--rand);
transition: border-color .16s ease;
}
.e-person:hover, .e-person:focus-visible {
border-color: color-mix(in srgb, var(--akzent) 45%, transparent);
}
.e-person__name { font-size: .98rem; font-weight: 640; color: var(--text); }
.e-person__rolle { font-size: .78rem; color: var(--text-still); }
.e-person__zahlen { display: flex; flex-wrap: wrap; gap: 5px 10px; margin-top: 6px; }
.e-person__zahl { font-size: .77rem; color: var(--text-leise); }
/* Die Abweichung ist das Ergebnis dieser Seite — sie darf als Einzige
auffallen. */
.e-person__zahl--wichtig { color: var(--text); font-weight: 620; }
.e-person__zahl--alt { color: var(--text-still); }
/* ---------------------------------------------------------------------
Die Karte
------------------------------------------------------------------- */
.e-karte { margin: 26px 0 0; }
.e-karte__kopf {
display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px;
padding-bottom: 10px; margin-bottom: 16px;
border-bottom: 1px solid var(--rand-hell);
}
.e-karte__name { margin: 0; font-size: 1.22rem; font-weight: 660; color: var(--text); }
.e-karte__rolle { font-size: .82rem; color: var(--text-still); }
.e-karte__stand { font-size: .8rem; color: var(--text-leise); margin-left: auto; }
.e-karte__brett { text-decoration: none; }
/* Die Abweichungen. Sie stehen oben und bekommen als Einzige einen
Rahmen, der auffällt — sie sind der Grund, warum zwei Leute getrennt
klicken. */
.e-abweichung {
margin: 0 0 22px; padding: 15px 18px;
border: 1px solid color-mix(in srgb, var(--akzent) 32%, transparent);
background: color-mix(in srgb, var(--akzent) 7%, var(--tinte));
}
.e-abweichung__titel { margin: 0 0 5px; font-size: 1rem; font-weight: 650; color: var(--text); }
.e-abweichung__satz { margin: 0 0 10px; font-size: .85rem; color: var(--text-leise); }
.e-abweichung__liste { margin: 0; padding-left: 1.1em; }
.e-abweichung__liste li { margin-bottom: 6px; }
.e-abweichung__punkt { display: block; font-size: .88rem; color: var(--text); }
.e-abweichung__gegen { display: block; font-size: .8rem; color: var(--text-leise); }
/* ---------------------------------------------------------------------
Ein Block und seine Punkte
------------------------------------------------------------------- */
.e-block { margin: 0 0 26px; }
.e-block__titel { margin: 0 0 4px; font-size: 1.02rem; font-weight: 650; color: var(--text); }
.e-block__satz {
margin: 0 0 12px; max-width: 64ch;
font-size: .85rem; line-height: 1.6; color: var(--text-leise);
}
.e-punkt {
margin: 0 0 9px; padding: 12px 15px;
background: color-mix(in srgb, var(--tinte) 94%, #ffffff 6%);
border: 1px solid var(--rand);
/* Der linke Balken trägt die Antwort. Er ist die einzige Stelle, an
der man beim Überfliegen sieht, wie eine Zeile steht — ohne dass
die ganze Karte einfärbt. */
border-left: 3px solid transparent;
}
.e-punkt[data-stufe="laeuft"] { border-left-color: #668e6e; }
.e-punkt[data-stufe="waechst"] { border-left-color: #8ec9ff; }
.e-punkt[data-stufe="hakt"] { border-left-color: #cc9451; }
.e-punkt[data-stufe="unklar"] { border-left-color: var(--rand-hell); }
/* Verblasst: die Zeile tritt zurück, verschwindet aber nicht. Eine
Akte, die heimlich vergisst, wäre schlimmer als eine, die alles
behält. */
.e-punkt[data-verblasst="ja"] { opacity: .68; }
.e-punkt__kopf { display: flex; flex-wrap: wrap; align-items: baseline; gap: 9px; }
.e-punkt__titel { margin: 0; font-size: .95rem; font-weight: 620; color: var(--text); }
.e-punkt__erwartung {
/* .75rem = 12 px und nicht .7rem = 11,2 px.
pruef-css-klassen zaehlt die Stellen unter 11,5 px gegen eine
Grundlinie und meldet JEDE neue -- hier war es eine. Elf Pixel in
Grossbuchstaben mit Sperrung liest man auf einem Handy nicht mehr,
man erkennt sie hoechstens wieder. Und das hier ist keine Zierde,
sondern die Angabe, ab wann etwas ueberhaupt erwartet wird. */
font-size: .75rem; letter-spacing: .04em; text-transform: uppercase;
padding: 2px 7px; border: 1px solid var(--rand-hell); border-radius: 999px;
color: var(--text-still);
}
/* Die Erwartungsstufe ist KEINE Note — deshalb drei fast gleiche Töne
und kein Ampelverlauf. Sie sagt, ab wann etwas erwartet wird, nicht
wie gut jemand ist. */
.e-punkt__erwartung[data-erwartung="senior"] { color: var(--text-leise); }
.e-punkt__text {
margin: 5px 0 10px; max-width: 66ch;
font-size: .83rem; line-height: 1.6; color: var(--text-leise);
}
.e-wahl { display: flex; flex-wrap: wrap; gap: 6px; }
.e-wahl__knopf {
display: inline-flex; align-items: center; gap: 6px;
font: inherit; font-size: .8rem; font-weight: 600;
padding: 6px 12px; border-radius: 999px; cursor: pointer;
color: var(--text-leise);
background: transparent;
border: 1px solid var(--rand-hell);
transition: background .16s ease, color .16s ease, border-color .16s ease;
}
.e-wahl__zeichen { font-size: .9rem; line-height: 1; }
.e-wahl__knopf:hover:not(:disabled) { color: var(--text); }
.e-wahl__knopf[aria-pressed="true"] { color: var(--text); }
.e-wahl__knopf[data-stufe="laeuft"][aria-pressed="true"] {
background: color-mix(in srgb, #668e6e 22%, transparent);
border-color: color-mix(in srgb, #668e6e 55%, transparent);
}
.e-wahl__knopf[data-stufe="waechst"][aria-pressed="true"] {
background: color-mix(in srgb, #8ec9ff 18%, transparent);
border-color: color-mix(in srgb, #8ec9ff 50%, transparent);
}
.e-wahl__knopf[data-stufe="hakt"][aria-pressed="true"] {
background: color-mix(in srgb, #cc9451 20%, transparent);
border-color: color-mix(in srgb, #cc9451 55%, transparent);
}
.e-wahl__knopf[data-stufe="unklar"][aria-pressed="true"] {
background: rgba(255, 255, 255, .06);
border-color: var(--rand-hell);
}
.e-punkt__anlass {
display: block; width: 100%; margin: 9px 0 0;
font: inherit; font-size: .84rem; line-height: 1.5;
padding: 8px 10px; resize: vertical;
color: var(--text);
background: rgba(0, 0, 0, .28);
border: 1px solid var(--rand);
}
.e-punkt__anlass::placeholder { color: var(--text-still); }
.e-punkt__andere, .e-punkt__verdeckt, .e-punkt__wann {
margin: 8px 0 0; font-size: .78rem; line-height: 1.5; color: var(--text-still);
}
.e-punkt__andere { color: var(--text-leise); }
/* Der verdeckte Stand: sichtbar, dass es ihn gibt — unsichtbar, was er
ist. Ohne diese Zeile sähen „noch niemand" und „du darfst es noch
nicht sehen" gleich aus, und das erste ist eine Auskunft, das zweite
eine Täuschung. */
.e-punkt__verdeckt { font-style: italic; }
/* Die eigenen sechs Fragen. Sie stehen ganz unten und tragen als
Einzige eine eigene Umrandung — sie gehören nicht in dieselbe Liste
wie das, was über andere gesagt wird. */
.e-meins {
margin: 34px 0 0; padding: 20px 22px;
border: 1px solid color-mix(in srgb, var(--akzent) 26%, transparent);
background: color-mix(in srgb, var(--tinte) 94%, #ffffff 6%);
}
.e-meins__satz {
margin: 0 0 16px; max-width: 62ch;
font-size: .88rem; line-height: 1.65; color: var(--text-leise);
}
.e-punkt--meins { background: rgba(0, 0, 0, .2); }
/* ---------------------------------------------------------------------
Talente — der Trichter
------------------------------------------------------------------- */
.t-trichter { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.t-stufe {
display: flex; flex-direction: column; gap: 1px;
flex: 1 1 130px; padding: 11px 14px;
background: color-mix(in srgb, var(--tinte) 94%, #ffffff 6%);
border: 1px solid var(--rand);
/* Der Trichter wird nach hinten leiser — nicht bunter. Fünf Farben
für fünf Stufen wären fünf Bedeutungen, die keine sind. */
border-top: 2px solid color-mix(in srgb, var(--akzent) 40%, transparent);
}
.t-stufe[data-stufe="probe"] { border-top-color: color-mix(in srgb, var(--akzent) 65%, transparent); }
.t-stufe[data-stufe="imteam"] { border-top-color: #668e6e; }
.t-stufe__zahl { font-size: 1.5rem; font-weight: 660; color: var(--text); line-height: 1.1; }
.t-stufe__name { font-size: .79rem; color: var(--text-leise); }
.t-stufe__liegt { font-size: .74rem; color: #cc9451; margin-top: 3px; }
.t-liste { display: block; }
.t-karte {
margin: 0 0 14px; padding: 16px 18px;
background: color-mix(in srgb, var(--tinte) 94%, #ffffff 6%);
border: 1px solid var(--rand);
border-left: 3px solid transparent;
}
.t-karte[data-liegt="ja"] { border-left-color: #cc9451; }
.t-karte__kopf { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; }
.t-karte__titel { margin: 0; font-size: 1.05rem; font-weight: 650; color: var(--text); }
.t-karte__stufe {
font-size: .74rem; letter-spacing: .05em; text-transform: uppercase;
padding: 2px 8px; border-radius: 999px;
border: 1px solid color-mix(in srgb, var(--akzent) 40%, transparent);
color: var(--text-leise);
}
.t-karte__zeit { font-size: .78rem; color: var(--text-still); }
.t-karte__warn {
font-size: .76rem; color: #cc9451; margin-left: auto;
}
.t-karte__wo, .t-karte__text {
margin: 8px 0 0; max-width: 66ch;
font-size: .85rem; line-height: 1.6; color: var(--text-leise);
}
.t-karte__wo { color: var(--text-still); font-size: .8rem; }
.t-schritt {
display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
margin: 13px 0 0; padding: 11px 13px;
background: rgba(0, 0, 0, .24);
border: 1px solid var(--rand);
}
.t-schritt__satz { margin: 0; flex: 1 1 220px; font-size: .86rem; color: var(--text); }
.t-schritt__liegt { margin: 0; flex: 1 1 100%; font-size: .79rem; color: #cc9451; }
.t-karte__auf {
margin: 12px 0 0; font: inherit; font-size: .8rem;
padding: 5px 0; cursor: pointer;
background: none; border: 0; border-bottom: 1px solid var(--rand-hell);
color: var(--text-leise);
}
.t-karte__auf:hover { color: var(--text); }
.t-gruppe { margin: 16px 0 0; }
.t-gruppe__titel { margin: 0 0 3px; font-size: .9rem; font-weight: 640; color: var(--text); }
.t-gruppe__satz {
margin: 0 0 8px; max-width: 64ch;
font-size: .8rem; line-height: 1.55; color: var(--text-still);
}
.t-merkmale { display: flex; flex-wrap: wrap; gap: 6px; }
.t-merkmal {
display: inline-flex; align-items: center; gap: 7px;
font: inherit; font-size: .8rem; text-align: left;
padding: 6px 12px; border-radius: 999px; cursor: pointer;
color: var(--text-leise);
background: transparent;
border: 1px solid var(--rand-hell);
transition: background .16s ease, color .16s ease, border-color .16s ease;
}
.t-merkmal__haken { font-size: .85rem; line-height: 1; color: var(--text-still); }
.t-merkmal:hover:not(:disabled) { color: var(--text); }
.t-merkmal[aria-pressed="true"] {
color: var(--text);
background: color-mix(in srgb, var(--akzent) 14%, transparent);
border-color: color-mix(in srgb, var(--akzent) 42%, transparent);
}
.t-merkmal[aria-pressed="true"] .t-merkmal__haken { color: var(--akzent); }
/* Warnzeichen: warm, nicht rot. Keines davon ist ein Nein. */
.t-merkmal[data-warnung="ja"][aria-pressed="true"] {
background: color-mix(in srgb, #cc9451 20%, transparent);
border-color: color-mix(in srgb, #cc9451 55%, transparent);
}
.t-merkmal[data-warnung="ja"][aria-pressed="true"] .t-merkmal__haken { color: #cc9451; }
.t-gruppe--warn .t-gruppe__titel { color: #cc9451; }
.t-leer {
padding: 22px; text-align: center;
border: 1px dashed var(--rand-hell);
color: var(--text-leise);
}
.t-leer p { margin: 0 0 12px; max-width: 54ch; margin-inline: auto; font-size: .88rem; line-height: 1.6; }
.t-leer .schritt { text-decoration: none; }
/* DIE FUSSZEILE BRAUCHT DENSELBEN GRUND WIE ALLES ANDERE.
Sie stand als einziger Text der Seite direkt auf der Bühne — dem
Spicy-Media-Motiv mit Neonlicht und Chilischoten. Lesbar war es
knapp; gemessen war es gar nicht, weil die Kontrastprüfung
Elemente mit Kindern überspringt und hier ein Link darin steht.
Das ist derselbe Befund wie am Nachmittag bei der Rechtetafel, nur
eine Ecke weiter — und der Grund, warum in diesem Haus jede Fläche
mit Text eine deckende Unterlage bekommt statt einer
halbdurchsichtigen. */
.t-fuss {
margin: 18px 0 0; padding: 11px 14px;
font-size: .8rem; line-height: 1.55; color: var(--text-still);
background: color-mix(in srgb, var(--tinte) 94%, #ffffff 6%);
border: 1px solid var(--rand);
}
.t-fuss a { color: var(--text-leise); }
@media (prefers-reduced-motion: reduce) {
.e-person, .e-wahl__knopf, .t-merkmal { transition: none; }
}
@media (max-width: 620px) {
.e-karte__stand { margin-left: 0; }
.t-karte__warn { margin-left: 0; }
.e-punkt__text, .e-block__satz { font-size: .88rem; }
}
+7
View File
@@ -1091,6 +1091,13 @@ body.start > main { position: relative; z-index: 1; }
nächsten (#8e5b77 „Highlights", #2f2f7f „Wer sieht was"). Auch das
liegt über dem schwächsten Paar der vorhandenen Töne (24,9). */
[data-ton="36"] { --ton: #7c2771; } /* Meldungen & Maßnahmen */
/* Der 37., nach derselben Rechnung: #46762e, Abstand 25,6 zum nächsten
Nachbarn — knapp über dem schwächsten Paar der ursprünglichen 34
(24,9). Bei 37 Tönen in einem augenschonenden Ausschnitt (kein Rot,
keine Neonsättigung) ist das die Grenze des Machbaren; wird es enger,
ist die nächste Frage nicht „noch ein Ton", sondern „braucht diese
Kachel wirklich eine eigene Farbe". */
[data-ton="37"] { --ton: #46762e; } /* Wie geht's dir? */
/* Rückfallwert für alles, was einen Ton braucht, aber keine Nummer hat.
Steht bewusst in :where() -- damit zählt die Zeile beim Wettstreit der
+311
View File
@@ -0,0 +1,311 @@
/* =====================================================================
Die Entwicklungskarte (11.09.2026)
Vier Knöpfe je Beobachtung, ein Feld für den Anlass, und oben die
Abweichungen zwischen zwei Augenpaaren. Mehr ist es nicht — und das
ist Absicht: „so einfach wie möglich, aber so professionell wie
möglich" (Filipe).
WAS HIER NICHT PASSIERT: rechnen. Es gibt keine Punktzahl, keinen
Durchschnitt, keine Ampel je Person. Eine Zahl über einem Menschen
wird gelesen, verglichen und weitererzählt — gebraucht wird ein
Gesprächsanlass.
UND KEINE RECHTEPRÜFUNG. Ob jemand Block 5 sehen darf, entscheidet
der Server: Er liefert ihn gar nicht erst aus. Was hier steht, ist
höchstens ein Abschnitt, der leer bleibt.
===================================================================== */
(() => {
const $ = (id) => document.getElementById(id);
const el = (t, k, text) => {
const n = document.createElement(t);
if (k) n.className = k;
if (text !== undefined) n.textContent = text;
return n;
};
const melde = (t) => { const f = $('fehler'); if (f) { f.textContent = t; f.hidden = !t; } };
const datum = (iso) => {
if (!iso) return '';
const d = new Date(iso);
return Number.isNaN(d.getTime()) ? '' : d.toLocaleDateString('de-DE',
{ day: 'numeric', month: 'short', year: 'numeric' });
};
async function hole(pfad, optionen = {}) {
const a = await fetch(pfad, { credentials: 'same-origin', ...optionen });
if (a.status === 401) { location.assign('/workspace/'); throw new Error('abgemeldet'); }
if (a.status === 404) { location.assign('/workspace/start.html'); throw new Error('unbekannt'); }
return a;
}
let stufen = [];
let offen = null; // die gerade geöffnete Person
/* ---- Die vier Knöpfe ------------------------------------------------
Sie stehen immer in derselben Reihenfolge, auch wenn einer gesetzt
ist. Ein Knopfsatz, der sich umsortiert, sobald man ihn benutzt,
ist der sicherste Weg, beim zweiten Mal danebenzutippen. */
function knopfsatz(aktuell, waehle) {
const reihe = el('div', 'e-wahl');
for (const s of stufen) {
const b = el('button', 'e-wahl__knopf');
b.type = 'button';
b.dataset.stufe = s.schluessel;
b.setAttribute('aria-pressed', String(aktuell === s.schluessel));
b.title = s.text;
b.append(el('span', 'e-wahl__zeichen', s.zeichen));
b.append(el('span', 'e-wahl__name', s.name));
b.addEventListener('click', () => waehle(s.schluessel, b));
reihe.append(b);
}
return reihe;
}
/* ---- Die Ampel ------------------------------------------------------ */
async function ampel() {
const ziel = $('ampel');
let a;
try { a = await hole('/workspace/api/entwicklung/ampel'); } catch { return; }
if (!a.ok) return; // für einen Modi gibt es sie nicht
const r = await a.json();
ziel.textContent = '';
ziel.hidden = false;
ziel.dataset.lage = r.sagbar ? r.lage : 'still';
ziel.append(el('p', 'e-ampel__satz', r.sagbar ? r.text : r.grund));
if (r.sagbar) {
ziel.append(el('p', 'e-ampel__zusatz',
`${r.geantwortet} von ${r.team} im Team haben die sechs Fragen schon beantwortet. `
+ 'Namen stehen hier nicht – auch für dich nicht.'));
}
}
/* ---- Die Personen --------------------------------------------------- */
function personKarte(p, lage) {
const k = el('button', 'e-person');
k.type = 'button';
k.append(el('span', 'e-person__name', p.name));
k.append(el('span', 'e-person__rolle', p.rolle_name));
const zahlen = el('span', 'e-person__zahlen');
zahlen.append(el('span', 'e-person__zahl',
`${p.gesetzt} von ${lage.gesamt_fremd} angesehen`));
/* DIE ABWEICHUNG STEHT VORNE UND NICHT IM DETAIL. Sie ist das
Ergebnis dieser Seite: Wo zwei Leute dasselbe sehen, gibt es
nichts zu besprechen. */
if (p.abweichungen) {
const z = el('span', 'e-person__zahl e-person__zahl--wichtig',
`${p.abweichungen} × verschieden gesehen`);
z.title = 'Hier lohnt das Gespräch – nicht dort, wo ihr einig seid.';
zahlen.append(z);
}
if (p.veraltet) {
const z = el('span', 'e-person__zahl e-person__zahl--alt',
`${p.veraltet} älter als ${lage.verblasst_nach} Tage`);
z.title = 'Eine alte Einschätzung ist keine Einschätzung mehr.';
zahlen.append(z);
}
k.append(zahlen);
k.addEventListener('click', () => karte(p.id));
return k;
}
/* ---- Die Karte einer Person ----------------------------------------- */
async function karte(id) {
offen = id;
const ziel = $('karte');
ziel.hidden = false;
ziel.textContent = '';
ziel.append(el('p', 'leise', 'wird geladen …'));
ziel.scrollIntoView({ behavior: 'smooth', block: 'start' });
const a = await hole(`/workspace/api/entwicklung/person/${id}`);
if (!a.ok) { melde('Die Karte ließ sich nicht laden.'); return; }
const r = await a.json();
stufen = r.stufen;
ziel.textContent = '';
const kopf = el('div', 'e-karte__kopf');
kopf.append(el('h2', 'e-karte__name', r.person.name));
kopf.append(el('span', 'e-karte__rolle', r.person.rolle_name));
kopf.append(el('span', 'e-karte__stand', `${r.gesetzt} von ${r.gesamt} angesehen`));
/* Der Weg zum Notizbrett. Der Katalog ist das, was man regelmäßig
durchgeht; die Notiz das, was zwischendurch auffällt. Beides
nebeneinander, nicht statt. */
const brett = el('a', 'schritt e-karte__brett', 'Notizen zu dieser Person');
brett.href = 'bereich.html?b=entwicklung';
kopf.append(brett);
ziel.append(kopf);
/* ---- Abweichungen zuerst ------------------------------------------
Sie stehen oben, weil sie das Einzige sind, was diese Seite
liefert und eine Liste nicht: die Stelle, an der zwei Leute
dieselbe Person verschieden sehen. */
if (r.abweichungen.length) {
const box = el('div', 'e-abweichung');
box.append(el('h3', 'e-abweichung__titel',
`${r.abweichungen.length} × seht ihr das verschieden`));
box.append(el('p', 'e-abweichung__satz',
'Genau hier lohnt das Gespräch. Wo ihr einig seid, gibt es nichts zu besprechen.'));
const liste = el('ul', 'e-abweichung__liste');
for (const ab of r.abweichungen) {
const li = document.createElement('li');
li.append(el('span', 'e-abweichung__punkt', ab.titel));
const nn = (s) => stufen.find((x) => x.schluessel === s)?.name || s;
li.append(el('span', 'e-abweichung__gegen',
`du: ${nn(ab.meins)} · ${ab.von_name}: ${nn(ab.andere)}`));
liste.append(li);
}
box.append(liste);
ziel.append(box);
}
/* ---- Die Blöcke ---------------------------------------------------- */
for (const b of r.bloecke) {
const abschnitt = el('section', 'e-block');
abschnitt.append(el('h3', 'e-block__titel', b.name));
abschnitt.append(el('p', 'e-block__satz', b.text));
for (const pt of b.punkte) abschnitt.append(punktZeile(id, pt, r.erwartung));
ziel.append(abschnitt);
}
}
function punktZeile(personId, pt, erwartung) {
const z = el('article', 'e-punkt');
if (pt.meins) z.dataset.stufe = pt.meins.stufe;
if (pt.meins?.verblasst) z.dataset.verblasst = 'ja';
const kopf = el('div', 'e-punkt__kopf');
kopf.append(el('h4', 'e-punkt__titel', pt.titel));
const erw = erwartung.find((e) => e.schluessel === pt.stufe);
if (erw) {
const m = el('span', 'e-punkt__erwartung', erw.name);
m.dataset.erwartung = pt.stufe;
m.title = erw.text;
kopf.append(m);
}
z.append(kopf);
z.append(el('p', 'e-punkt__text', pt.text));
/* Das Anlassfeld. Es steht IMMER da, nicht erst nach dem Klick:
Ein Feld, das aufklappt, kostet einen zweiten Blick, und genau
an der Stelle hört man auf zu schreiben. */
const feld = el('textarea', 'e-punkt__anlass');
feld.rows = 2;
feld.value = pt.meins?.anlass || '';
feld.placeholder = 'Woran hast du das gemerkt? (bei „Da hakt es" nötig)';
z.append(knopfsatz(pt.meins?.stufe || null, async (stufe, knopf) => {
const reihe = knopf.parentElement;
for (const b of reihe.querySelectorAll('.e-wahl__knopf')) {
b.setAttribute('aria-pressed', String(b === knopf));
}
z.dataset.stufe = stufe;
const a = await hole(`/workspace/api/entwicklung/person/${personId}/${pt.schluessel}`, {
method: 'PUT',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ stufe, anlass: feld.value }),
});
if (!a.ok) {
const j = await a.json().catch(() => ({}));
melde(j.fehler || 'Ging nicht.');
feld.focus();
return;
}
melde('');
/* Neu laden, sobald der erste Klick auf einem Punkt sitzt: Erst
danach darf der Stand des anderen überhaupt ausgeliefert
werden, und dann soll er auch sichtbar werden. */
if (!pt.meins) await karte(personId);
}));
z.append(feld);
if (pt.andere?.length) {
for (const a of pt.andere) {
const nn = stufen.find((x) => x.schluessel === a.stufe);
const zeile = el('p', 'e-punkt__andere',
`${a.von_name}: ${nn?.name || a.stufe}${a.anlass ? ' – ' + a.anlass : ''}`);
zeile.dataset.stufe = a.stufe;
z.append(zeile);
}
} else if (pt.andere_offen) {
/* WARUM DA ETWAS STEHT UND NICHT NICHTS: „Noch niemand" und „du
darfst es noch nicht sehen" sähen sonst gleich aus — und das
erste ist eine Auskunft, das zweite eine Täuschung. */
z.append(el('p', 'e-punkt__verdeckt',
`${pt.andere_offen} andere Einschätzung liegt vor – sichtbar, sobald du selbst gesetzt hast.`));
}
if (pt.meins) {
z.append(el('p', 'e-punkt__wann',
`von dir am ${datum(pt.meins.am)}${pt.meins.verblasst ? ' – älter als 90 Tage' : ''}`));
}
return z;
}
/* ---- Die eigenen sechs Fragen ---------------------------------------- */
async function meins() {
const a = await hole('/workspace/api/entwicklung/mich');
if (!a.ok) return;
const r = await a.json();
stufen = stufen.length ? stufen : r.stufen;
$('meins-block').hidden = false;
$('meins-titel').textContent = r.block.name;
$('meins-satz').textContent = r.block.text;
const ziel = $('meins');
ziel.textContent = '';
ziel.setAttribute('aria-busy', 'false');
for (const pt of r.punkte) {
const z = el('article', 'e-punkt e-punkt--meins');
if (pt.meins) z.dataset.stufe = pt.meins.stufe;
z.append(el('h4', 'e-punkt__titel', pt.titel));
z.append(el('p', 'e-punkt__text', pt.text));
z.append(knopfsatz(pt.meins?.stufe || null, async (stufe, knopf) => {
for (const b of knopf.parentElement.querySelectorAll('.e-wahl__knopf')) {
b.setAttribute('aria-pressed', String(b === knopf));
}
z.dataset.stufe = stufe;
const s = await hole(`/workspace/api/entwicklung/mich/${pt.schluessel}`, {
method: 'PUT',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ stufe }),
});
if (!s.ok) melde('Ging nicht.');
}));
ziel.append(z);
}
}
/* ---- Start ------------------------------------------------------------ */
(async () => {
try {
const a = await hole('/workspace/api/entwicklung/lage');
if (!a.ok) { melde('Ging nicht.'); return; }
const lage = await a.json();
stufen = lage.stufen;
if (lage.leitung) {
$('personen-block').hidden = false;
const ziel = $('personen');
ziel.textContent = '';
ziel.setAttribute('aria-busy', 'false');
if (!lage.personen.length) {
ziel.append(el('p', 'leise',
'Noch niemand im Team. Zugänge legst du in „Personen & Zugänge" an.'));
}
for (const p of lage.personen) ziel.append(personKarte(p, lage));
await ampel();
} else {
/* Für einen Modi ist DIESE Seite die sechs Fragen. Der Titel
sagt das auch — sonst steht über sechs Fragen das Wort
„Entwicklung", und das liest sich wie eine Beurteilung. */
$('titel').textContent = "Wie geht's dir?";
$('unterzeile').textContent =
'Sechs Fragen über dich. Niemand aus dem Team sieht deine Antworten.';
}
await meins();
} catch { /* umgeleitet */ }
})();
})();
+214
View File
@@ -0,0 +1,214 @@
/* =====================================================================
Talente — der Trichter (11.09.2026)
Fünf Stufen, und jede hat GENAU EINEN nächsten Schritt. Das ist der
ganze Unterschied zu einer Liste: Eine Liste wächst und wird nie
wieder angesehen; ein Trichter fragt bei jeder Karte „und jetzt?".
DREI DINGE, DIE DIESE SEITE ABSICHTLICH TUT:
1. SIE ZEIGT DIE STANDZEIT. „Seit 41 Tagen beobachtet, nie
angesprochen" ist eine Auskunft über UNS, nicht über den
Kandidaten. Ohne sie wird der Trichter wieder zur Liste.
2. SIE TRENNT WARNZEICHEN VON MERKMALEN. Bei Moderatoren sagt das
Fehlverhalten mehr voraus als das Können — ein Warnzeichen neben
zwanzig Haken ginge unter.
3. SIE RECHNET NICHT. Keine Punktzahl, keine Eignung in Prozent.
Zwanzig Haken und ein Warnzeichen ergeben keine Zahl, sondern ein
Gespräch.
===================================================================== */
(() => {
const $ = (id) => document.getElementById(id);
const el = (t, k, text) => {
const n = document.createElement(t);
if (k) n.className = k;
if (text !== undefined) n.textContent = text;
return n;
};
const melde = (t) => { const f = $('fehler'); if (f) { f.textContent = t; f.hidden = !t; } };
async function hole(pfad, optionen = {}) {
const a = await fetch(pfad, { credentials: 'same-origin', ...optionen });
if (a.status === 401) { location.assign('/workspace/'); throw new Error('abgemeldet'); }
if (a.status === 404) { location.assign('/workspace/start.html'); throw new Error('unbekannt'); }
return a;
}
let lage = null;
const offen = new Set(); // welche Karten aufgeklappt sind
/* ---- Der Trichter oben ---------------------------------------------- */
function trichter() {
const ziel = $('trichter');
ziel.textContent = '';
ziel.setAttribute('aria-busy', 'false');
for (const s of lage.trichter) {
const k = el('div', 't-stufe');
k.dataset.stufe = s.schluessel;
k.append(el('span', 't-stufe__zahl', String(s.anzahl)));
k.append(el('span', 't-stufe__name', s.name));
if (s.liegt) {
/* LIEGENGEBLIEBEN IST UNSERE ZAHL, nicht die des Kandidaten.
Sie steht deshalb am Trichter und nicht als Mahnung. */
const z = el('span', 't-stufe__liegt', `${s.liegt} liegt`);
z.title = 'So lange, dass es eine Auskunft über uns ist – nicht über sie.';
k.append(z);
}
ziel.append(k);
}
}
/* ---- Eine Karte ------------------------------------------------------ */
function karte(k) {
const a = el('article', 't-karte');
a.dataset.stufe = k.stufe;
if (k.liegt) a.dataset.liegt = 'ja';
const kopf = el('div', 't-karte__kopf');
kopf.append(el('h2', 't-karte__titel', k.titel));
kopf.append(el('span', 't-karte__stufe', k.stufe_name));
kopf.append(el('span', 't-karte__zeit',
k.tage === null ? '' : `seit ${k.tage} ${k.tage === 1 ? 'Tag' : 'Tagen'}`));
if (k.warnzeichen.length) {
const w = el('span', 't-karte__warn', `${k.warnzeichen.length} × hinsehen`);
w.title = 'Kein Ausschluss – ein Grund, länger hinzusehen.';
kopf.append(w);
}
a.append(kopf);
if (k.einsatz) a.append(el('p', 't-karte__wo', k.einsatz));
if (k.text) a.append(el('p', 't-karte__text', k.text));
/* DER EINE NÄCHSTE SCHRITT. Nicht drei Möglichkeiten — einer.
Wer eine Karte öffnet, soll in zwei Sekunden wissen, was dran
ist, und nicht erst eine Entscheidung treffen müssen. */
const schritt = el('div', 't-schritt');
schritt.append(el('p', 't-schritt__satz', k.schritt));
if (k.knopf && k.naechste) {
const b = el('button', 'schritt t-schritt__knopf', k.knopf);
b.type = 'button';
b.addEventListener('click', async () => {
b.disabled = true;
const r = await hole(`/workspace/api/talente/${k.id}/stufe`, {
method: 'PUT',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ stufe: k.naechste }),
});
b.disabled = false;
if (!r.ok) { melde('Ging nicht.'); return; }
offen.add(k.id);
await laden();
});
schritt.append(b);
}
if (k.liegt) {
schritt.append(el('p', 't-schritt__liegt',
'Das liegt länger, als es sollte. Entweder weiter – oder bewusst beenden.'));
}
a.append(schritt);
/* ---- Merkmale, aufklappbar ------------------------------------------
Zugeklappt steht dort eine Zahl, aufgeklappt die 21 Merkmale.
Immer offen wären es bei zehn Kandidaten 270 Kästchen auf einer
Seite — und dann klickt niemand mehr eines an. */
const auf = offen.has(k.id);
const schalter = el('button', 't-karte__auf',
auf ? 'Merkmale zuklappen'
: `Merkmale ansehen (${k.merkmale.length} gesetzt${k.warnzeichen.length
? `, ${k.warnzeichen.length} Warnzeichen` : ''})`);
schalter.type = 'button';
schalter.setAttribute('aria-expanded', String(auf));
schalter.addEventListener('click', () => {
if (offen.has(k.id)) offen.delete(k.id); else offen.add(k.id);
zeichne();
});
a.append(schalter);
if (auf) {
for (const g of lage.gruppen) {
const block = el('section', 't-gruppe');
block.append(el('h3', 't-gruppe__titel', g.name));
block.append(el('p', 't-gruppe__satz', g.text));
const reihe = el('div', 't-merkmale');
for (const m of g.merkmale) reihe.append(merkmal(k, m, false));
block.append(reihe);
a.append(block);
}
const warn = el('section', 't-gruppe t-gruppe--warn');
warn.append(el('h3', 't-gruppe__titel', 'Hinsehen'));
warn.append(el('p', 't-gruppe__satz',
'Keines davon ist ein Ausschluss. Bei Moderatoren sagt das Verhalten, '
+ 'das stört, mehr voraus als das, was jemand kann.'));
const reihe = el('div', 't-merkmale');
for (const m of lage.warnzeichen) reihe.append(merkmal(k, m, true));
warn.append(reihe);
a.append(warn);
}
return a;
}
function merkmal(k, m, istWarnung) {
const gesetzt = (istWarnung ? k.warnzeichen : k.merkmale).includes(m.schluessel);
const b = el('button', 't-merkmal');
b.type = 'button';
if (istWarnung) b.dataset.warnung = 'ja';
b.setAttribute('aria-pressed', String(gesetzt));
b.title = m.text;
b.append(el('span', 't-merkmal__haken', gesetzt ? '✓' : '+'));
b.append(el('span', 't-merkmal__titel', m.titel));
b.addEventListener('click', async () => {
b.disabled = true;
const r = await hole(`/workspace/api/talente/${k.id}/merkmal/${m.schluessel}`,
{ method: 'PUT', headers: { 'Content-Type': 'application/json' }, body: '{}' });
b.disabled = false;
if (!r.ok) { melde('Ging nicht.'); return; }
await laden();
});
return b;
}
/* ---- Zeichnen --------------------------------------------------------- */
function zeichne() {
trichter();
const ziel = $('liste');
ziel.textContent = '';
ziel.setAttribute('aria-busy', 'false');
if (!lage.kandidaten.length) {
const leer = el('div', 't-leer');
leer.append(el('p', null,
'Noch niemand auf der Liste. Ein Talent entsteht als Eintrag im Brett '
+ '„Talente" – dort schreibst du auf, wem du etwas zutraust, und hier '
+ 'wird daraus ein Weg.'));
const a = el('a', 'schritt', 'Zum Brett „Talente"');
a.href = 'bereich.html?b=talente';
leer.append(a);
ziel.append(leer);
return;
}
/* LIEGENGEBLIEBENE ZUERST. Die Reihenfolge ist die eigentliche
Arbeitsanweisung dieser Seite: Was liegt, ist das, was dran ist. */
const sortiert = [...lage.kandidaten].sort((a, b) =>
(b.liegt ? 1 : 0) - (a.liegt ? 1 : 0) || (b.tage || 0) - (a.tage || 0));
for (const k of sortiert) ziel.append(karte(k));
const fuss = el('p', 't-fuss');
fuss.append('Ein neues Talent legst du im Brett an – ');
const a = el('a', null, 'Talente-Brett öffnen');
a.href = 'bereich.html?b=talente';
fuss.append(a);
fuss.append('. Von dort landet es hier automatisch auf „Aufgefallen".');
ziel.append(fuss);
}
async function laden() {
const a = await hole('/workspace/api/talente/lage');
if (!a.ok) { melde('Ging nicht.'); return; }
lage = await a.json();
zeichne();
}
(async () => { try { await laden(); } catch { /* umgeleitet */ } })();
})();
+12 -12
View File
@@ -12,19 +12,19 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609111836" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609111836" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/start.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/module.css?v=202609111836" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/start.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/module.css?v=202609112217" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609112217" />
</head>
<body class="start">
@@ -252,10 +252,10 @@
</form>
</dialog>
<script src="assets/js/wahl.js?v=202609111836" defer></script>
<script src="assets/js/bereiche.js?v=202609111836" defer></script>
<script src="assets/js/kopf.js?v=202609111836" defer></script>
<script src="assets/js/glocke.js?v=202609111836" defer></script>
<script src="assets/js/aufgaben.js?v=202609111836" defer></script>
<script src="assets/js/wahl.js?v=202609112217" defer></script>
<script src="assets/js/bereiche.js?v=202609112217" defer></script>
<script src="assets/js/kopf.js?v=202609112217" defer></script>
<script src="assets/js/glocke.js?v=202609112217" defer></script>
<script src="assets/js/aufgaben.js?v=202609112217" defer></script>
</body>
</html>
+13 -13
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609111836" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609111836" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/start.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/automation.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/module.css?v=202609111836" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/start.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/automation.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/module.css?v=202609112217" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609112217" />
</head>
<body class="start">
@@ -147,10 +147,10 @@
</main>
<script src="assets/js/wahl.js?v=202609111836" defer></script>
<script src="assets/js/bereiche.js?v=202609111836" defer></script>
<script src="assets/js/kopf.js?v=202609111836" defer></script>
<script src="assets/js/glocke.js?v=202609111836" defer></script>
<script src="assets/js/automation.js?v=202609111836" defer></script>
<script src="assets/js/wahl.js?v=202609112217" defer></script>
<script src="assets/js/bereiche.js?v=202609112217" defer></script>
<script src="assets/js/kopf.js?v=202609112217" defer></script>
<script src="assets/js/glocke.js?v=202609112217" defer></script>
<script src="assets/js/automation.js?v=202609112217" defer></script>
</body>
</html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609111836" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609111836" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/start.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/module.css?v=202609111836" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/start.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/module.css?v=202609112217" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609112217" />
</head>
<body class="start">
@@ -181,14 +181,14 @@
</main>
<script src="assets/js/wahl.js?v=202609111836" defer></script>
<script src="assets/js/bereiche.js?v=202609111836" defer></script>
<script src="assets/js/kopf.js?v=202609111836" defer></script>
<script src="assets/js/glocke.js?v=202609111836" defer></script>
<script src="assets/js/checkliste.js?v=202609111836" defer></script>
<script src="assets/js/ampel.js?v=202609111836" defer></script>
<script src="assets/js/schulung.js?v=202609111836" defer></script>
<script src="assets/js/vorlagen.js?v=202609111836" defer></script>
<script src="assets/js/bereich.js?v=202609111836" defer></script>
<script src="assets/js/wahl.js?v=202609112217" defer></script>
<script src="assets/js/bereiche.js?v=202609112217" defer></script>
<script src="assets/js/kopf.js?v=202609112217" defer></script>
<script src="assets/js/glocke.js?v=202609112217" defer></script>
<script src="assets/js/checkliste.js?v=202609112217" defer></script>
<script src="assets/js/ampel.js?v=202609112217" defer></script>
<script src="assets/js/schulung.js?v=202609112217" defer></script>
<script src="assets/js/vorlagen.js?v=202609112217" defer></script>
<script src="assets/js/bereich.js?v=202609112217" defer></script>
</body>
</html>
+14 -14
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609111836" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609111836" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/start.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/calls.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/module.css?v=202609111836" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/start.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/calls.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/module.css?v=202609112217" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609112217" />
</head>
<body class="start">
@@ -89,11 +89,11 @@
</main>
<script src="assets/js/ki.js?v=202609111836" defer></script>
<script src="assets/js/wahl.js?v=202609111836" defer></script>
<script src="assets/js/bereiche.js?v=202609111836" defer></script>
<script src="assets/js/kopf.js?v=202609111836" defer></script>
<script src="assets/js/glocke.js?v=202609111836" defer></script>
<script src="assets/js/calls.js?v=202609111836" defer></script>
<script src="assets/js/ki.js?v=202609112217" defer></script>
<script src="assets/js/wahl.js?v=202609112217" defer></script>
<script src="assets/js/bereiche.js?v=202609112217" defer></script>
<script src="assets/js/kopf.js?v=202609112217" defer></script>
<script src="assets/js/glocke.js?v=202609112217" defer></script>
<script src="assets/js/calls.js?v=202609112217" defer></script>
</body>
</html>
+13 -13
View File
@@ -12,26 +12,26 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609111836" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609111836" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/start.css?v=202609111836" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/start.css?v=202609112217" />
<!-- 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=202609111836" />
<link rel="stylesheet" href="assets/css/chat.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/module.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/chat.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/module.css?v=202609112217" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609112217" />
</head>
<body class="start">
@@ -341,10 +341,10 @@
</form>
</dialog>
<script src="assets/js/bereiche.js?v=202609111836"></script>
<script src="assets/js/wahl.js?v=202609111836" defer></script>
<script src="assets/js/kopf.js?v=202609111836"></script>
<script src="assets/js/glocke.js?v=202609111836"></script>
<script src="assets/js/chat.js?v=202609111836"></script>
<script src="assets/js/bereiche.js?v=202609112217"></script>
<script src="assets/js/wahl.js?v=202609112217" defer></script>
<script src="assets/js/kopf.js?v=202609112217"></script>
<script src="assets/js/glocke.js?v=202609112217"></script>
<script src="assets/js/chat.js?v=202609112217"></script>
</body>
</html>
+15 -15
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609111836" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609111836" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/start.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/content.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/module.css?v=202609111836" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/start.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/content.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/module.css?v=202609112217" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609112217" />
</head>
<body class="start">
@@ -179,12 +179,12 @@
</main>
<script src="assets/js/wahl.js?v=202609111836" defer></script>
<script src="assets/js/bereiche.js?v=202609111836" defer></script>
<script src="assets/js/kopf.js?v=202609111836" defer></script>
<script src="assets/js/glocke.js?v=202609111836" defer></script>
<script src="assets/js/checkliste.js?v=202609111836" defer></script>
<script src="assets/js/vorlagen.js?v=202609111836" defer></script>
<script src="assets/js/content.js?v=202609111836" defer></script>
<script src="assets/js/wahl.js?v=202609112217" defer></script>
<script src="assets/js/bereiche.js?v=202609112217" defer></script>
<script src="assets/js/kopf.js?v=202609112217" defer></script>
<script src="assets/js/glocke.js?v=202609112217" defer></script>
<script src="assets/js/checkliste.js?v=202609112217" defer></script>
<script src="assets/js/vorlagen.js?v=202609112217" defer></script>
<script src="assets/js/content.js?v=202609112217" defer></script>
</body>
</html>
+5 -5
View File
@@ -36,15 +36,15 @@
<link rel="preload" as="image" href="assets/img/buehne/crew-gate-hoch-580.webp"
type="image/webp" media="(max-width: 899px)" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/crew-32.png?v=202609111836" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202609111836" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609111836" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/crew-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<!-- Diese Wand steht NUR auf der Adresse von Team Dogi (ueberall sonst
404, siehe crewWeiche). Sie darf das Haus deshalb direkt nennen
statt ueber den Platzhalter haus.css zu gehen -- und sie MUSS es:
Eine Zugangswand, die sich erst nach dem Umbiegen faerbt, waere
die eine Seite, auf der man das Umfaerben sieht. -->
<link rel="stylesheet" href="assets/css/crew-haus.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/crew-haus.css?v=202609112217" />
</head>
<body class="gate gate--crew">
@@ -319,6 +319,6 @@
</main>
</div>
<script src="assets/js/gate.js?v=202609111836" defer></script>
<script src="assets/js/gate.js?v=202609112217" defer></script>
</body>
</html>
+4 -4
View File
@@ -13,25 +13,25 @@
"theme_color": "#06090f",
"icons": [
{
"src": "/assets/img/app-symbole/crew-192.png?v=202609111836",
"src": "/assets/img/app-symbole/crew-192.png?v=202609112217",
"sizes": "192x192",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/crew-512.png?v=202609111836",
"src": "/assets/img/app-symbole/crew-512.png?v=202609112217",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202609111836",
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202609112217",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202609111836",
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202609112217",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
+13 -13
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609111836" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609111836" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/start.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/dateien.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/module.css?v=202609111836" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/start.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/dateien.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/module.css?v=202609112217" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609112217" />
</head>
<body class="start">
@@ -108,10 +108,10 @@
</main>
<script src="assets/js/wahl.js?v=202609111836" defer></script>
<script src="assets/js/bereiche.js?v=202609111836" defer></script>
<script src="assets/js/kopf.js?v=202609111836" defer></script>
<script src="assets/js/glocke.js?v=202609111836" defer></script>
<script src="assets/js/dateien.js?v=202609111836" defer></script>
<script src="assets/js/wahl.js?v=202609112217" defer></script>
<script src="assets/js/bereiche.js?v=202609112217" defer></script>
<script src="assets/js/kopf.js?v=202609112217" defer></script>
<script src="assets/js/glocke.js?v=202609112217" defer></script>
<script src="assets/js/dateien.js?v=202609112217" defer></script>
</body>
</html>
+87
View File
@@ -0,0 +1,87 @@
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
<title>Entwicklung · Spicy &amp; Dogi</title>
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/start.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/module.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609112217" />
</head>
<body class="start">
<div class="schleier" aria-hidden="true"></div>
<header class="kopfleiste">
<button type="button" class="zurueck-knopf" id="zurueck" hidden>
<svg class="zurueck-knopf__pfeil" viewBox="0 0 24 24" aria-hidden="true">
<path d="M14.5 5.5 8 12l6.5 6.5" />
</svg>
<span class="zurueck-knopf__text">Zurück</span>
</button>
<p class="marke"><span class="marke__text"><a class="zurueck" href="start.html">Team&nbsp;Dogi</a> · Entwicklung</span></p>
<div class="kopfleiste__rechts">
<span class="wer" id="wer">…</span>
<button type="button" class="abmelden" id="abmelden">Abmelden</button>
</div>
</header>
<main class="inhalt inhalt--breit">
<section class="kopf-zeile">
<div>
<p class="marke" id="ober">Entwicklung &amp; Nachwuchs</p>
<h1 class="titel" id="titel">Entwicklung</h1>
<p class="unterzeile" id="unterzeile">
Anklicken statt tippen. Keine Noten, keine Punktzahl – ein Gesprächsanlass.
</p>
</div>
</section>
<p class="fehler" id="fehler" role="alert" aria-live="polite"></p>
<!-- ==================================================================
DIE REIHENFOLGE AUF DIESER SEITE IST DAS EIGENTLICHE DESIGN
1. Die Ampel — sie betrifft Menschen, nicht Prozesse.
2. Die Personen — wen gehe ich heute durch.
3. Die Karte — und darin die ABWEICHUNGEN zuerst.
4. Ganz unten: die eigenen sechs Fragen.
Wer die Seite öffnet, soll die wichtigste Sache zuerst sehen, und
das ist nicht die Liste. Eine Ampel unter 34 Beobachtungen hätte
niemand je gelesen.
============================================================== -->
<section id="ampel" class="e-ampel" hidden></section>
<section id="personen-block" hidden>
<h2 class="e-abschnitt">Wen gehst du durch?</h2>
<div id="personen" class="e-personen" aria-busy="true"></div>
</section>
<section id="karte" class="e-karte" hidden></section>
<section id="meins-block" class="e-meins" hidden>
<h2 class="e-abschnitt" id="meins-titel">Wie geht es dir damit?</h2>
<p class="e-meins__satz" id="meins-satz">…</p>
<div id="meins" aria-busy="true"></div>
</section>
</main>
<script src="assets/js/wahl.js?v=202609112217" defer></script>
<script src="assets/js/bereiche.js?v=202609112217" defer></script>
<script src="assets/js/kopf.js?v=202609112217" defer></script>
<script src="assets/js/entwicklung.js?v=202609112217" defer></script>
</body>
</html>
+4 -4
View File
@@ -30,9 +30,9 @@
<link rel="preload" as="image" href="assets/img/buehne/gate-hoch-580.webp"
type="image/webp" media="(max-width: 899px)" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609111836" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609111836" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609111836" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
</head>
<body class="gate">
@@ -401,6 +401,6 @@
</main>
</div>
<script src="assets/js/gate.js?v=202609111836" defer></script>
<script src="assets/js/gate.js?v=202609112217" defer></script>
</body>
</html>
+14 -14
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609111836" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609111836" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/start.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/kalender.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/module.css?v=202609111836" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/start.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/kalender.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/module.css?v=202609112217" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609112217" />
</head>
<body class="start">
@@ -377,11 +377,11 @@
</main>
<script src="assets/js/wahl.js?v=202609111836" defer></script>
<script src="assets/js/bereiche.js?v=202609111836" defer></script>
<script src="assets/js/kopf.js?v=202609111836" defer></script>
<script src="assets/js/glocke.js?v=202609111836" defer></script>
<script src="assets/js/kalender.js?v=202609111836" defer></script>
<script src="assets/js/kalender-abo.js?v=202609111836" defer></script>
<script src="assets/js/wahl.js?v=202609112217" defer></script>
<script src="assets/js/bereiche.js?v=202609112217" defer></script>
<script src="assets/js/kopf.js?v=202609112217" defer></script>
<script src="assets/js/glocke.js?v=202609112217" defer></script>
<script src="assets/js/kalender.js?v=202609112217" defer></script>
<script src="assets/js/kalender-abo.js?v=202609112217" defer></script>
</body>
</html>
+13 -13
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609111836" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609111836" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/start.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/leistung.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/module.css?v=202609111836" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/start.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/leistung.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/module.css?v=202609112217" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609112217" />
</head>
<body class="start">
@@ -382,10 +382,10 @@
</form>
</dialog>
<script src="assets/js/wahl.js?v=202609111836"></script>
<script src="assets/js/bereiche.js?v=202609111836"></script>
<script src="assets/js/kopf.js?v=202609111836"></script>
<script src="assets/js/glocke.js?v=202609111836"></script>
<script src="assets/js/leistung.js?v=202609111836"></script>
<script src="assets/js/wahl.js?v=202609112217"></script>
<script src="assets/js/bereiche.js?v=202609112217"></script>
<script src="assets/js/kopf.js?v=202609112217"></script>
<script src="assets/js/glocke.js?v=202609112217"></script>
<script src="assets/js/leistung.js?v=202609112217"></script>
</body>
</html>
+13 -13
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609111836" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609111836" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/start.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/personen.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/module.css?v=202609111836" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/start.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/personen.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/module.css?v=202609112217" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609112217" />
</head>
<body class="start">
@@ -423,10 +423,10 @@
</main>
<script src="assets/js/wahl.js?v=202609111836" defer></script>
<script src="assets/js/bereiche.js?v=202609111836" defer></script>
<script src="assets/js/kopf.js?v=202609111836" defer></script>
<script src="assets/js/glocke.js?v=202609111836" defer></script>
<script src="assets/js/personen.js?v=202609111836" defer></script>
<script src="assets/js/wahl.js?v=202609112217" defer></script>
<script src="assets/js/bereiche.js?v=202609112217" defer></script>
<script src="assets/js/kopf.js?v=202609112217" defer></script>
<script src="assets/js/glocke.js?v=202609112217" defer></script>
<script src="assets/js/personen.js?v=202609112217" defer></script>
</body>
</html>
+14 -14
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609111836" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609111836" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/start.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/module.css?v=202609111836" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/start.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/module.css?v=202609112217" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609112217" />
</head>
<body class="start">
@@ -214,11 +214,11 @@
</main>
<script src="assets/js/wahl.js?v=202609111836" defer></script>
<script src="assets/js/bereiche.js?v=202609111836" defer></script>
<script src="assets/js/kopf.js?v=202609111836" defer></script>
<script src="assets/js/glocke.js?v=202609111836" defer></script>
<script src="assets/js/steckbrief.js?v=202609111836" defer></script>
<script src="assets/js/profil.js?v=202609111836" defer></script>
<script src="assets/js/wahl.js?v=202609112217" defer></script>
<script src="assets/js/bereiche.js?v=202609112217" defer></script>
<script src="assets/js/kopf.js?v=202609112217" defer></script>
<script src="assets/js/glocke.js?v=202609112217" defer></script>
<script src="assets/js/steckbrief.js?v=202609112217" defer></script>
<script src="assets/js/profil.js?v=202609112217" defer></script>
</body>
</html>
+12 -12
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609111836" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609111836" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/start.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/module.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609111836" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/start.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/module.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609112217" />
</head>
<body class="start">
@@ -117,9 +117,9 @@
Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen
Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen,
die seit dem 07.09. jede Seite danach absucht. -->
<script src="assets/js/wahl.js?v=202609111836" defer></script>
<script src="assets/js/bereiche.js?v=202609111836" defer></script>
<script src="assets/js/kopf.js?v=202609111836" defer></script>
<script src="assets/js/rechte.js?v=202609111836" defer></script>
<script src="assets/js/wahl.js?v=202609112217" defer></script>
<script src="assets/js/bereiche.js?v=202609112217" defer></script>
<script src="assets/js/kopf.js?v=202609112217" defer></script>
<script src="assets/js/rechte.js?v=202609112217" defer></script>
</body>
</html>
+14 -14
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609111836" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609111836" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/start.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/report.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/module.css?v=202609111836" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/start.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/report.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/module.css?v=202609112217" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609112217" />
</head>
<body class="start">
@@ -106,11 +106,11 @@
</main>
<script src="assets/js/ki.js?v=202609111836" defer></script>
<script src="assets/js/wahl.js?v=202609111836" defer></script>
<script src="assets/js/bereiche.js?v=202609111836" defer></script>
<script src="assets/js/kopf.js?v=202609111836" defer></script>
<script src="assets/js/glocke.js?v=202609111836" defer></script>
<script src="assets/js/report.js?v=202609111836" defer></script>
<script src="assets/js/ki.js?v=202609112217" defer></script>
<script src="assets/js/wahl.js?v=202609112217" defer></script>
<script src="assets/js/bereiche.js?v=202609112217" defer></script>
<script src="assets/js/kopf.js?v=202609112217" defer></script>
<script src="assets/js/glocke.js?v=202609112217" defer></script>
<script src="assets/js/report.js?v=202609112217" defer></script>
</body>
</html>
+13 -13
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609111836" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609111836" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/start.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/scouting.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/module.css?v=202609111836" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/start.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/scouting.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/module.css?v=202609112217" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609112217" />
</head>
<body class="start">
@@ -173,10 +173,10 @@
</div>
</div>
<script src="assets/js/wahl.js?v=202609111836" defer></script>
<script src="assets/js/bereiche.js?v=202609111836" defer></script>
<script src="assets/js/kopf.js?v=202609111836" defer></script>
<script src="assets/js/glocke.js?v=202609111836" defer></script>
<script src="assets/js/scouting.js?v=202609111836" defer></script>
<script src="assets/js/wahl.js?v=202609112217" defer></script>
<script src="assets/js/bereiche.js?v=202609112217" defer></script>
<script src="assets/js/kopf.js?v=202609112217" defer></script>
<script src="assets/js/glocke.js?v=202609112217" defer></script>
<script src="assets/js/scouting.js?v=202609112217" defer></script>
</body>
</html>
+12 -12
View File
@@ -12,21 +12,21 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609111836" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609111836" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/start.css?v=202609111836" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/start.css?v=202609112217" />
<!-- Nur die Startseite: Begrüßungskachel, Uhr, Glockenmulde. Siehe
den Hinweis in start.css -- dort stand es bis zum 07.09.2026. -->
<link rel="stylesheet" href="assets/css/heim.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/module.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/heim.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/module.css?v=202609112217" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609112217" />
</head>
<body class="start">
@@ -674,10 +674,10 @@
</p>
</main>
<script src="assets/js/wahl.js?v=202609111836" defer></script>
<script src="assets/js/bereiche.js?v=202609111836" defer></script>
<script src="assets/js/kopf.js?v=202609111836" defer></script>
<script src="assets/js/glocke.js?v=202609111836" defer></script>
<script src="assets/js/start.js?v=202609111836" defer></script>
<script src="assets/js/wahl.js?v=202609112217" defer></script>
<script src="assets/js/bereiche.js?v=202609112217" defer></script>
<script src="assets/js/kopf.js?v=202609112217" defer></script>
<script src="assets/js/glocke.js?v=202609112217" defer></script>
<script src="assets/js/start.js?v=202609112217" defer></script>
</body>
</html>
+14 -14
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609111836" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609111836" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/start.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/module.css?v=202609111836" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/start.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/module.css?v=202609112217" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609112217" />
</head>
<body class="start">
@@ -85,11 +85,11 @@
</main>
<script src="assets/js/ki.js?v=202609111836" defer></script>
<script src="assets/js/wahl.js?v=202609111836" defer></script>
<script src="assets/js/bereiche.js?v=202609111836" defer></script>
<script src="assets/js/kopf.js?v=202609111836" defer></script>
<script src="assets/js/glocke.js?v=202609111836" defer></script>
<script src="assets/js/startcheck.js?v=202609111836" defer></script>
<script src="assets/js/ki.js?v=202609112217" defer></script>
<script src="assets/js/wahl.js?v=202609112217" defer></script>
<script src="assets/js/bereiche.js?v=202609112217" defer></script>
<script src="assets/js/kopf.js?v=202609112217" defer></script>
<script src="assets/js/glocke.js?v=202609112217" defer></script>
<script src="assets/js/startcheck.js?v=202609112217" defer></script>
</body>
</html>
+13 -13
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609111836" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609111836" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/start.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/module.css?v=202609111836" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/start.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/module.css?v=202609112217" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609112217" />
</head>
<body class="start">
@@ -126,10 +126,10 @@
</main>
<script src="assets/js/wahl.js?v=202609111836" defer></script>
<script src="assets/js/bereiche.js?v=202609111836" defer></script>
<script src="assets/js/kopf.js?v=202609111836" defer></script>
<script src="assets/js/glocke.js?v=202609111836" defer></script>
<script src="assets/js/steckbrief.js?v=202609111836" defer></script>
<script src="assets/js/wahl.js?v=202609112217" defer></script>
<script src="assets/js/bereiche.js?v=202609112217" defer></script>
<script src="assets/js/kopf.js?v=202609112217" defer></script>
<script src="assets/js/glocke.js?v=202609112217" defer></script>
<script src="assets/js/steckbrief.js?v=202609112217" defer></script>
</body>
</html>
+80
View File
@@ -0,0 +1,80 @@
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
<title>Talente · Spicy &amp; Dogi</title>
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/start.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/module.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609112217" />
</head>
<body class="start">
<div class="schleier" aria-hidden="true"></div>
<header class="kopfleiste">
<button type="button" class="zurueck-knopf" id="zurueck" hidden>
<svg class="zurueck-knopf__pfeil" viewBox="0 0 24 24" aria-hidden="true">
<path d="M14.5 5.5 8 12l6.5 6.5" />
</svg>
<span class="zurueck-knopf__text">Zurück</span>
</button>
<p class="marke"><span class="marke__text"><a class="zurueck" href="start.html">Team&nbsp;Dogi</a> · Talente</span></p>
<div class="kopfleiste__rechts">
<span class="wer" id="wer">…</span>
<button type="button" class="abmelden" id="abmelden">Abmelden</button>
</div>
</header>
<main class="inhalt inhalt--breit">
<section class="kopf-zeile">
<div>
<p class="marke">Entwicklung &amp; Nachwuchs</p>
<h1 class="titel">Talente</h1>
<p class="unterzeile">
Zuschauer, die ins Team passen könnten. Ein Trichter, keine Liste –
jede Stufe hat genau einen nächsten Schritt.
</p>
</div>
</section>
<p class="fehler" id="fehler" role="alert" aria-live="polite"></p>
<!-- ==================================================================
HIER STEHEN NAMEN VON MENSCHEN, DIE NICHTS DAVON WISSEN.
Diese Seite gehört DogFather und der rechten Hand — kein Modi,
keine Agentur, und ganz sicher nicht die Community. Durchgesetzt
wird das in der Rechtetafel UND in workspace-entwicklung.js; der
Satz hier ist nur die Erinnerung daran, warum.
Deshalb gibt es auch keine Rückmeldung an einen Kandidaten und
keinen heimlichen Test mit einem Zweitkonto. Wer beobachtet wird,
ohne es zu wissen, hat ein Recht darauf, dass daraus nichts
Öffentliches wird.
============================================================== -->
<section id="trichter" class="t-trichter" aria-busy="true"></section>
<section id="liste" class="t-liste" aria-busy="true">
<p class="leise">wird geladen …</p>
</section>
</main>
<script src="assets/js/wahl.js?v=202609112217" defer></script>
<script src="assets/js/bereiche.js?v=202609112217" defer></script>
<script src="assets/js/kopf.js?v=202609112217" defer></script>
<script src="assets/js/talente.js?v=202609112217" defer></script>
</body>
</html>
+13 -13
View File
@@ -7,20 +7,20 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609111836" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609111836" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/start.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/team.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/module.css?v=202609111836" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/start.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/team.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/module.css?v=202609112217" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609112217" />
</head>
<body class="start">
@@ -110,10 +110,10 @@
</main>
<script src="assets/js/wahl.js?v=202609111836" defer></script>
<script src="assets/js/bereiche.js?v=202609111836" defer></script>
<script src="assets/js/kopf.js?v=202609111836" defer></script>
<script src="assets/js/glocke.js?v=202609111836" defer></script>
<script src="assets/js/team.js?v=202609111836" defer></script>
<script src="assets/js/wahl.js?v=202609112217" defer></script>
<script src="assets/js/bereiche.js?v=202609112217" defer></script>
<script src="assets/js/kopf.js?v=202609112217" defer></script>
<script src="assets/js/glocke.js?v=202609112217" defer></script>
<script src="assets/js/team.js?v=202609112217" defer></script>
</body>
</html>
+12 -12
View File
@@ -7,20 +7,20 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609111836" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609111836" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/start.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/team.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/module.css?v=202609111836" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/start.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/team.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/module.css?v=202609112217" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609112217" />
</head>
<!-- `data-buehne` steht hier fest und nicht im Skript: Die Kachel zu
@@ -84,9 +84,9 @@
Kaputt ist dabei nichts -- er funktioniert. Genau deshalb faellt
es niemandem auf, und deshalb prueft pruef-css-klassen die
ABHAENGIGKEIT statt der Optik. Hier hat sie angeschlagen. -->
<script src="assets/js/wahl.js?v=202609111836" defer></script>
<script src="assets/js/bereiche.js?v=202609111836" defer></script>
<script src="assets/js/kopf.js?v=202609111836" defer></script>
<script src="assets/js/teamlage.js?v=202609111836" defer></script>
<script src="assets/js/wahl.js?v=202609112217" defer></script>
<script src="assets/js/bereiche.js?v=202609112217" defer></script>
<script src="assets/js/kopf.js?v=202609112217" defer></script>
<script src="assets/js/teamlage.js?v=202609112217" defer></script>
</body>
</html>
+12 -12
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609111836" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609111836" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/start.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/module.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609111836" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/start.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/module.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609112217" />
</head>
<body class="start">
@@ -110,9 +110,9 @@
</main>
<script src="assets/js/wahl.js?v=202609111836" defer></script>
<script src="assets/js/bereiche.js?v=202609111836" defer></script>
<script src="assets/js/kopf.js?v=202609111836" defer></script>
<script src="assets/js/treff-moderation.js?v=202609111836" defer></script>
<script src="assets/js/wahl.js?v=202609112217" defer></script>
<script src="assets/js/bereiche.js?v=202609112217" defer></script>
<script src="assets/js/kopf.js?v=202609112217" defer></script>
<script src="assets/js/treff-moderation.js?v=202609112217" defer></script>
</body>
</html>
+12 -12
View File
@@ -7,18 +7,18 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609111836" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609111836" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/start.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/module.css?v=202609111836" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/start.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/module.css?v=202609112217" />
<!-- haus.css MUSS die letzte Stilvorlage sein. Auf der Adresse des
Treffs biegt der Server genau diesen Dateinamen auf crew-haus.css
um, und die Seite kommt schon beim ERSTEN Abruf in Lila und
Babyblau an -- ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609112217" />
</head>
<body class="start">
@@ -190,9 +190,9 @@
Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen
Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen,
die seit dem 07.09. jede Seite danach absucht. -->
<script src="assets/js/wahl.js?v=202609111836" defer></script>
<script src="assets/js/bereiche.js?v=202609111836" defer></script>
<script src="assets/js/kopf.js?v=202609111836" defer></script>
<script src="assets/js/treff-regeln.js?v=202609111836" defer></script>
<script src="assets/js/wahl.js?v=202609112217" defer></script>
<script src="assets/js/bereiche.js?v=202609112217" defer></script>
<script src="assets/js/kopf.js?v=202609112217" defer></script>
<script src="assets/js/treff-regeln.js?v=202609112217" defer></script>
</body>
</html>
+13 -13
View File
@@ -12,22 +12,22 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609111836" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609111836" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/start.css?v=202609111836" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/start.css?v=202609112217" />
<!-- Formular- und Dialogstile: seit dem 07.09.2026 steht hier der
Dialog "Creator anlegen". -->
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/module.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/module.css?v=202609112217" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609112217" />
</head>
<body class="start">
@@ -149,11 +149,11 @@
</main>
<script src="assets/js/bereiche.js?v=202609111836" defer></script>
<script src="assets/js/bereiche.js?v=202609112217" defer></script>
<script src="assets/js/wahl.js?v=202609111836" defer></script>
<script src="assets/js/kopf.js?v=202609111836" defer></script>
<script src="assets/js/glocke.js?v=202609111836" defer></script>
<script src="assets/js/uebersicht.js?v=202609111836" defer></script>
<script src="assets/js/wahl.js?v=202609112217" defer></script>
<script src="assets/js/kopf.js?v=202609112217" defer></script>
<script src="assets/js/glocke.js?v=202609112217" defer></script>
<script src="assets/js/uebersicht.js?v=202609112217" defer></script>
</body>
</html>
+13 -13
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609111836" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609111836" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/start.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/wissen.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/module.css?v=202609111836" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609112217" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609112217" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/start.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/wissen.css?v=202609112217" />
<link rel="stylesheet" href="assets/css/module.css?v=202609112217" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609111836" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609112217" />
</head>
<body class="start">
@@ -190,10 +190,10 @@
</main>
<script src="assets/js/wahl.js?v=202609111836" defer></script>
<script src="assets/js/bereiche.js?v=202609111836" defer></script>
<script src="assets/js/kopf.js?v=202609111836" defer></script>
<script src="assets/js/glocke.js?v=202609111836" defer></script>
<script src="assets/js/wissen.js?v=202609111836" defer></script>
<script src="assets/js/wahl.js?v=202609112217" defer></script>
<script src="assets/js/bereiche.js?v=202609112217" defer></script>
<script src="assets/js/kopf.js?v=202609112217" defer></script>
<script src="assets/js/glocke.js?v=202609112217" defer></script>
<script src="assets/js/wissen.js?v=202609112217" defer></script>
</body>
</html>