/* ===================================================================== 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. ===================================================================== */ .treff-abschnitt { margin: 0 0 26px; padding: 0 0 22px; border-bottom: 1px solid var(--rand); } .treff-abschnitt:last-of-type { border-bottom: 0; } .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; background: var(--flaeche); 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; } }