diff --git a/PROJECT.md b/PROJECT.md
index a64be1b..e5a5c28 100644
--- a/PROJECT.md
+++ b/PROJECT.md
@@ -491,6 +491,15 @@ zombie (now an occasional opponent, `TUNE.racketEvery`, not the every-game fixtu
`RETURNED`, `DOUBLE KILL`) is a footnote to something you already watched happen. Sharing the loud
FACE with the milestone cards is right; sharing their SIZE made every footnote read as a milestone.
+## Session log: the rules cards get zones too (2026-08-29, Oliver: "wichtige Infos, schwer zu erfassen")
+
+Same disease as the walk-on, same medicine: the three mode modals (THE TOURNAMENT, DEATH MATCH,
+THE TRAINING COURT) carried compound em-dash sentences edge to edge. `render.drawRulesModal`
+(driven by `m.rules: [{lead, sub, hot, pips}]`): each rule is its own boxed row — the statement
+in cream, the consequence beneath it DIM for information and the modal's hot colour only when it
+threatens (`hot`), and a rule about blood shows the pool as the HUD's own pips instead of a naked
+number. Entrance lanes, freeze and tap rules unchanged; title/body still carry the words.
+
## Session log: the walk-on gets its own face (2026-08-29, Oliver: "buried in a wall of text")
The opponent intro carried six kinds of information as one modal line stack. It wears designated
diff --git a/index.html b/index.html
index ad355f5..ec2de3d 100644
--- a/index.html
+++ b/index.html
@@ -871,6 +871,6 @@ if (location.hostname !== 'splatter-tennis.wuwi.one' && !window.Capacitor?.isNat
-
+