Files
dogfather-universe/workspace/assets/css/treff.css
T
DogFatherGitandClaude Opus 5 1ebaf8a864 Die drei neuen Seiten angesehen — und die Bühne lag hinter der Rechtetafel
Sie waren geprüft und nie ANGESEHEN. pruef-treff-seiten.mjs (42
Prüfungen, 1440 px und 390 px) holt das nach: Steht Text da, sind die
Platzhalter ersetzt, liegt etwas übereinander, schiebt die Seite
seitwärts, ist alles lesbar.

DER BEFUND, DEN KEINE ZAHL GESEHEN HAT: Hinter der Rechtetafel lag die
Bühne — Spicy-Media-Motiv, Neonlicht, Chilischoten — und die Zeilen der
Tabelle standen mitten darin. Die Kontrastmessung war grün, weil sie
gegen #07060f rechnete: Sie hatte den Grund nicht gemessen, sondern
angenommen. Ein grüner Haken über einer falschen Voraussetzung.

Behoben an beiden Enden:
 · Die Abschnitte bekommen eine DECKENDE Fläche — kein Kartenauftritt
   (keine Fase, kein Kantenlicht), nur ein Blatt Papier unter dem Text.
   Der Einwand von vorher (Karten zerteilen einen langen Text) bleibt
   damit gewahrt, die Bühne bleibt ringsum sichtbar.
 · Die Messung bekommt einen DRITTEN AUSGANG: Findet sie über einem Text
   keine deckende Fläche, ist das jetzt ein Fehler ("konnte nicht
   nachsehen") und kein stilles Grün.

Zwei weitere Meldungen waren Messfehler und sind als solche behoben,
nicht weggeklickt:
 · "Meine Sicht" überlappt sich selbst — das ist das <select> für
   Vorleseprogramme, das UNTER dem eigenen Bedienelement liegen MUSS.
   Ausgelassen wird jetzt, was ausdrücklich fürs Auge weggenommen wurde.
 · Die Rechtetafel ragt auf 390 px über den Rand — sie steht in einem
   Schiebekasten, und genau so soll eine Tabelle mit neun Spalten sich
   auf einem Handy verhalten. Gemessen wird jetzt, ob die SEITE schiebt.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-11 18:04:33 +02:00

297 lines
11 KiB
CSS

/* =====================================================================
Der Treff — die beiden Textseiten (11.09.2026)
Regeln & Hilfe (für die Community) und „Wer sieht was" (für
DogFather). Beides sind LESESEITEN: langer, zusammenhängender Text
und eine Tabelle, keine Kartenwand.
---------------------------------------------------------------------
WARUM SIE KEINE MODULKARTEN SIND
Die naheliegende Wahl wäre `.eintrag-karte` oder ein neuer Eintrag in
der MODULLISTE gewesen — dann sähen die Abschnitte aus wie alles
andere im Haus: geschliffene Fase, Kantenlicht, Sternenfeld.
Dagegen sprechen zwei Dinge, und das zweite wiegt schwerer:
1. Die MODULLISTE steht siebenmal in module.css und wird von
pruef-css-klassen Zeichen für Zeichen verglichen. Eine achte Klasse
hätte an sieben Stellen dasselbe ergänzen müssen — machbar, aber
jede dieser sieben ist eine Gelegenheit für einen Unterschied.
2. Karten zerteilen. Ein Regeltext ist ein Text, den man von oben
nach unten liest; sieben Karten daraus zu machen heißt, sieben
Anfänge zu machen. Genau das ist bei Regeln der Fehler: Wer nach
der dritten Karte aufhört, hat vier Regeln nicht gelesen und
glaubt trotzdem, er kenne sie.
Deshalb hier nur so viel Trennung, dass man die Abschnitte findet —
eine Linie und Abstand, keine Kante.
===================================================================== */
/* EIN RUHIGER GRUND — und er kam erst nach einem Blick (11.09.2026).
Hier stand zuerst nur eine Trennlinie und sonst nichts: kein
Hintergrund, damit ein langer Text nicht in Karten zerfällt. Die
Zahlen waren alle grün — die Kontrastmessung rechnete gegen
#07060f, den Ton des Hauses.
Im Bildschirmfoto lag hinter der Rechtetafel die BÜHNE: das
Spicy-Media-Motiv, Neonlicht, Chilischoten, ein Wasserfall. Die
Zeilen der Tabelle standen mitten darin. Lesbar war es knapp — aber
die Messung hatte den Grund gar nicht gemessen, sie hatte ihn
angenommen. Ein grüner Haken über einer falschen Voraussetzung.
Jetzt liegt unter jedem Abschnitt eine deckende Fläche. Das ist
KEINE Kartenwand: keine Fase, kein Kantenlicht, kein Sternenfeld —
nur ein Blatt Papier, auf dem der Text steht. Der Einwand von oben
(Karten zerteilen einen Text) bleibt damit gewahrt, und die Bühne
bleibt ringsum sichtbar.
DECKEND, NICHT FAST DECKEND: color-mix mit einem opaken Ton ergibt
wieder einen opaken. Ein rgba(…, .89) hätte auf dem Papier fast
gleich ausgesehen und die Messung weiterhin raten lassen — und die
Prüfung sagt jetzt ausdrücklich Nein dazu (siehe
pruef-treff-seiten, "der Grund wurde gemessen"). */
.treff-abschnitt {
margin: 0 0 16px;
padding: 18px 20px;
background: color-mix(in srgb, var(--tinte) 94%, #ffffff 6%);
border: 1px solid var(--rand);
}
.treff-abschnitt__titel {
margin: 0 0 10px;
font-size: 1.06rem;
font-weight: 650;
letter-spacing: .005em;
color: var(--text);
}
/* Der Lesefluss ist hier die eigentliche Aufgabe.
1,72 statt der üblichen 1,55: Auf einem Handy stehen in einer Zeile
etwa 42 Zeichen; bei engem Zeilenabstand verliert man beim Sprung an
den Zeilenanfang die Zeile. Das merkt niemand als „schlechter
Zeilenabstand" — man liest den Absatz einfach zweimal und hält den
Text für kompliziert.
Und eine Breitengrenze: Über etwa 70 Zeichen je Zeile wird derselbe
Sprung wieder schwierig, nur von der anderen Seite. Auf einem breiten
Bildschirm liefe der Regeltext sonst über 1100 Pixel. */
.treff-abschnitt__inhalt { max-width: 68ch; }
.treff-abschnitt__inhalt p {
margin: 0 0 12px;
font-size: .92rem;
line-height: 1.72;
color: var(--text-leise);
}
.treff-abschnitt__inhalt p:last-child { margin-bottom: 0; }
.treff-abschnitt__inhalt strong { color: var(--text); font-weight: 640; }
/* Die Aufzählungen. Die Zahl bzw. der Punkt steht AUSSERHALB des
Textblocks — so beginnt jede Zeile einer mehrzeiligen Regel an
derselben Stelle, und die Liste bleibt als Liste lesbar. */
.regel-liste {
margin: 0 0 12px;
padding-left: 1.35em;
font-size: .92rem;
line-height: 1.72;
color: var(--text-leise);
}
.regel-liste li { margin: 0 0 9px; padding-left: .2em; }
.regel-liste li:last-child { margin-bottom: 0; }
.regel-liste li::marker { color: var(--text-still); }
.regel-liste strong { color: var(--text); font-weight: 640; }
/* =====================================================================
„WER SIEHT WAS" — die Rechtetafel als Tabelle
Sie wird aus der echten Tafel gerechnet (rechte.js), nicht gepflegt.
Was sie leisten muss: Man soll eine LÜCKE sehen, ohne zu suchen.
===================================================================== */
.rechte-tafel { overflow-x: auto; margin: 0 0 26px; }
.rechte-tafel table {
border-collapse: collapse;
width: 100%;
font-size: .82rem;
}
/* Die Kopfzeile bleibt stehen. Bei 22 Zeilen und acht Spalten hat man
sonst nach dem halben Scrollen vergessen, welche Spalte welche Rolle
ist — und rät. Bei einer Rechteübersicht ist Raten das Gegenteil des
Zwecks. */
.rechte-tafel thead th {
position: sticky; top: 0; z-index: 1;
/* Deckend, nicht var(--flaeche): Die Kopfzeile klebt beim Scrollen
oben fest, und eine halbdurchsichtige Fläche würde dabei die
Zeilen durchscheinen lassen, über die sie gerade läuft. */
background: color-mix(in srgb, var(--tinte) 94%, #ffffff 6%);
padding: 9px 8px;
text-align: center;
font-weight: 600;
color: var(--text-leise);
border-bottom: 1px solid var(--rand-hell);
white-space: nowrap;
}
.rechte-tafel thead th:first-child { text-align: left; }
.rechte-tafel td {
padding: 7px 8px;
border-bottom: 1px solid var(--rand);
text-align: center;
color: var(--text-still);
}
.rechte-tafel td:first-child {
text-align: left;
color: var(--text-leise);
font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
font-size: .79rem;
white-space: nowrap;
}
.rechte-tafel tbody tr:hover td { background: rgba(255, 255, 255, .025); }
/* JA UND NEIN SIND NICHT GRÜN UND ROT.
Das wäre die naheliegende Wahl und hier die falsche: In dieser
Tabelle ist ein „nein" nichts Schlechtes — es ist der Normalfall und
genau das, was Filipe wollte. Grün/Rot würde eine Tafel mit 140
roten Feldern erzeugen, die aussieht wie ein Schadensbericht.
Stattdessen: sichtbar gegen leise. Ein Punkt, wo es erlaubt ist,
nichts, wo nicht. Man sieht die Zeilen mit vielen Punkten sofort —
und das ist die Frage, die man an diese Tabelle hat. */
.rechte-ja {
display: inline-block; width: 7px; height: 7px; border-radius: 50%;
background: var(--akzent);
box-shadow: 0 0 8px -2px var(--akzent);
}
.rechte-nein { color: var(--text-still); opacity: .3; }
/* Die Zählzeile über der Tabelle: „Community — 3 von 22 Seiten". Das
ist die eine Zahl, die die ganze Frage beantwortet. */
.rechte-zahlen {
display: flex; flex-wrap: wrap; gap: 8px;
margin: 0 0 18px; padding: 0; list-style: none;
}
.rechte-zahlen li {
padding: 6px 11px;
border: 1px solid var(--rand-hell);
border-radius: 999px;
font-size: .8rem;
color: var(--text-leise);
}
.rechte-zahlen li b { color: var(--text); font-weight: 650; }
@media (max-width: 620px) {
.treff-abschnitt__inhalt p, .regel-liste { font-size: .95rem; }
.rechte-tafel table { font-size: .78rem; }
}
/* =====================================================================
DER WEG ZU DEN REGELN — auf jedem Brett des Treffs
Er steht direkt unter der Unterzeile und sieht aus wie ein Link,
nicht wie ein Knopf. Das ist Absicht: Ein Knopf verspricht, dass
etwas PASSIERT; hier wechselt man nur die Seite. Wer auf jedem Brett
einen zusätzlichen Knopf sieht, zählt ihn nach zwei Tagen zum
Hintergrund.
===================================================================== */
.treff-regelweg {
display: inline-block;
margin-top: 6px;
font-size: .82rem;
color: var(--text-leise);
text-decoration: none;
border-bottom: 1px solid var(--rand-hell);
padding-bottom: 1px;
}
.treff-regelweg:hover, .treff-regelweg:focus-visible {
color: var(--text);
border-bottom-color: color-mix(in srgb, var(--akzent) 55%, transparent);
}
/* Links im Fließtext der Regelseite. Unterstrichen, weil Farbe allein
kein Unterschied ist, den jeder sieht (WCAG 1.4.1). */
.treff-abschnitt__inhalt a {
color: var(--text);
text-decoration: underline;
text-underline-offset: 2px;
text-decoration-color: color-mix(in srgb, var(--akzent) 55%, transparent);
}
.treff-abschnitt__inhalt a:hover {
text-decoration-color: var(--akzent);
}
/* =====================================================================
MELDUNGEN & MASSNAHMEN — ein Fall je Karte
Karten sind hier richtig, wo sie beim Regeltext falsch waren: Es sind
EINZELNE Vorgänge, die man einzeln entscheidet. Jeder Anfang ist ein
neuer Fall, und das soll man sehen.
===================================================================== */
.treff-fall {
margin: 0 0 12px;
padding: 13px 15px;
border: 1px solid var(--rand);
border-left: 2px solid color-mix(in srgb, var(--akzent) 45%, transparent);
background: rgba(255, 255, 255, .018);
}
/* Was schon entschieden ist, tritt zurück -- aber es verschwindet
nicht. Ausblenden wäre bequemer und wäre falsch: Man muss nachsehen
können, wie ein ähnlicher Fall damals entschieden wurde. */
.treff-fall[data-vorbei="ja"] {
opacity: .62;
border-left-color: var(--rand);
}
.treff-fall__titel {
margin: 0 0 8px;
font-size: .95rem;
font-weight: 640;
color: var(--text);
}
.treff-fall__zeile {
margin: 0 0 5px;
font-size: .85rem;
line-height: 1.6;
color: var(--text-leise);
display: flex;
gap: 8px;
}
.treff-fall__zeile:last-of-type { margin-bottom: 0; }
/* Das Schild steht in fester Breite links. Ohne sie beginnt jede Zeile
woanders, und man liest die Liste als Fließtext statt als Angaben --
bei fünf Zeilen je Fall ist das der Unterschied zwischen Überfliegen
und Lesenmüssen. */
.treff-fall__schild {
flex: 0 0 7.5em;
color: var(--text-still);
font-size: .78rem;
text-transform: lowercase;
padding-top: .1em;
}
.treff-fall__knoepfe {
display: flex; gap: 7px; flex-wrap: wrap;
margin-top: 11px; padding-top: 10px;
border-top: 1px solid var(--rand);
}
/* Der Link "zum Brett" sieht aus wie die Knöpfe daneben -- er tut ja
dasselbe: Er bringt einen woandershin. Ein Link, der zwischen zwei
Knöpfen anders aussieht, wird für Text gehalten. */
.treff-fall__knoepfe a.schritt { text-decoration: none; }
@media (max-width: 620px) {
/* Untereinander statt nebeneinander: Bei 7,5em Schild und 42 Zeichen
Zeilenbreite blieben für den Wert noch etwa 20 Zeichen -- ein Grund
in zwei Wörtern je Zeile. */
.treff-fall__zeile { display: block; }
.treff-fall__schild { display: block; padding: 0 0 1px; }
}