diff --git a/PROJECT.md b/PROJECT.md
index 1a9aae5..74f4c8e 100644
--- a/PROJECT.md
+++ b/PROJECT.md
@@ -5262,6 +5262,30 @@ late opponent at the net covers every pass, so the bot loses ~95% of the points
comes in. That is step 4 (and the passing/lob game of steps 2-3); it is deliberately not mixed into
step 1, so its phone verdict reads one change.
+### Step 1's phone verdict, and the two fixes it surfaced (2026-10-14, v362)
+Oliver: *"schritt 1 ist schon gut ... Das Spiel ist momentan wesentlich schwerer geworden (not a bad
+thing) — ich komme als geübter Spieler über the Climb vielleicht höchstens bis zum Steward. das liegt vor
+allem gefühlt an der Geschwindigkeit und manchmal scheine ich den Ball trotz gutem Timing nicht mehr zu
+bekommen."* Two real defects, measured, and neither of them was a balance value:
+- **A TAP SWUNG WHEN THE FINGER LIFTED.** A touch only proves it is a tap at touchend (it could still
+ become a flick), so the swing started 100-150 ms after the player meant it. The volley window used to
+ absorb that (x1.8 window, x1.4 reach). Step 1 made the rally groundstrokes, and the lag became visible.
+ Ring-tapping bot at opponent 6, finger down exactly on gold:
+ 0 ms of tap = 100% returned at q 0.82, 100 ms = 95% at **q 0.09**, 150 ms = **40%** returned.
+ Murky returns land short, a short ball pulls the opponent in, and his legs then made him unpassable: a
+ cascade, felt as "speed". **Fix:** input.js hands the touch's age to `keyPressed('Space', lead)`, and
+ the rally swing clock starts at `lead` (rally modes only). Timing is judged from touch-down; the ball
+ still has to arrive inside the window. Flicks keep their crossing-fired swing (the left-flick saga).
+ After the fix: 100 ms taps 99-100% at q 0.96. Verified with real touch events in the pane (a 120 ms
+ tap starts the swing at 0.122 s). Test: a gold-ring tap with 120 ms on top returns >= 90% at q >= 0.6
+ (it fails at q 0.08 without the fix).
+- **THE LEGS GET A KNEE** (step 4, first cut). `gameplay.knee`: up to `legKnee` (6.0 m/s) nothing
+ changes; past it only `legSoft` (15%) of the growth survives. Runner 7.3 -> 6.2, Umpire 8.3 -> 6.3,
+ Coach 10.6 -> 6.7, Champion 15.7 -> ~7.5. The player is ~6.2 at level 1 and gets more with level and
+ peer gifts. The mapping is monotone, so the ladder order and the like-for-like speed tests hold. Only
+ the rig guard (`> 7 m/s`) moved, to `> legKnee*0.8`. Rungs 1-7 are unchanged: the Steward (6) already
+ ran 5.6. Ball PACE is untouched; it is at full pace times the league tier from rung 5.
+
# OPEN — leftovers, in rough priority order
Nothing here is broken; these are known gaps and unverified risks.
diff --git a/index.html b/index.html
index 355a142..6a34c97 100644
--- a/index.html
+++ b/index.html
@@ -1140,6 +1140,6 @@ if (location.hostname !== 'splatter-tennis.wuwi.one' && !window.Capacitor?.isNat
REC
-
+