diff --git a/HANDOFF.md b/HANDOFF.md
index bae964e..732ec2f 100644
--- a/HANDOFF.md
+++ b/HANDOFF.md
@@ -425,6 +425,23 @@ strategic answer, so the run keeps feeding it.
**The umpire triple-tap cheat is deleted** — the test group found it. `T.forceZombies()` remains.
+**Second batch, same day — THE MESSAGE BAND.** Oliver: transient messages need "a definite space
+… over the crowd". `AD_TOP()`/`bandTop(h)` in render.js pin the whole family there — below the
+scoreboard block, above the ad strip, never on the court:
+- **drawCard** anchors in the band instead of centre court (a card at H/2 covered the very play it
+ announced, non-blocking or not) and its title dropped B(30) → B(22) ("the heading is a little
+ too big"). FLASH_Y (68) already lived in the band and is unchanged.
+- **RESUMING IN n sits on its own PANEL** (the info-bar style) under the flash slot — bare shadowed
+ text was unreadable over the sunlit clay crowd, a complaint Oliver had been carrying "forever".
+ It YIELDS to a live card: both draw in the band, and the card is the announcement of the pause.
+- **The gesture-teaching strings are deleted from the METER_Y slot** ('PULL DOWN TO AIM…',
+ 'TAP TO TOSS, TAP TO SERVE', 'PULL DOWN: FURTHER = HARDER') — the ghost hand is the teacher, and
+ the same lesson in two registers was clutter. The slot now only carries STATE the mime cannot:
+ which weapon the serve fires, the gun-unload line, SECOND SERVE.
+- **Ghost hand v2**: 1.4x default scale, hint type F(8) → F(10), and a real silhouette — extended
+ index finger with a nail hint, three curled-knuckle bumps, thumb out to the side. The first cut
+ "could be recognized, but…"; the knuckle bumps are what flipped it from mitten to pointing hand.
+
## Session log: the sidestep, and two type registers (2026-08-03)
Oliver's post-ship playtest. One blocker and seven polish items; all eight landed.
diff --git a/index.html b/index.html
index 46ad05a..cb40c76 100644
--- a/index.html
+++ b/index.html
@@ -359,6 +359,6 @@
-
+