diff --git a/PROJECT.md b/PROJECT.md
index 54df9c7..cc3bbd0 100644
--- a/PROJECT.md
+++ b/PROJECT.md
@@ -510,6 +510,17 @@ flickReach)` ≈ 0.7 of a full swipe, the worst mistiming in the game cannot put
above it the old risk curve is untouched. The tested contract from the pass before this one still
holds — a perfectly timed flick never sails, a badly timed full one can.
+**THE AUTO-RUN OWNS THE LEGS, so the drag does not** (2026-08-18, Oliver: *"could it be that when
+playing touch on mobile zombie tennis and tennis i am still able to manually move by dragging? in
+autorun this must be disabled"* — it could, and it was). It was not a harmless second option: a
+manual axis SUPPRESSES the assist (the `!mx && !mz` gate in the movement block), so holding a drag
+traded a full-speed run to the intercept point for a `0.35x` shuffle aimed at wherever the thumb
+went rather than at where the ball will be. Walking was strictly worse than standing still, which is
+most of *"i tend to not be able to reach the balls"*. `input.js` stops writing `touchAxis` under
+`rallyFeel()`; the drag keeps its one rally meaning (release it quickly and it is the aimed swing),
+keys stay a deliberate desktop override, and GORE keeps its drag-walk — there the assist recovers
+depth only and holding your own artillery lane is the point.
+
**THE AIM IS DRAWN WHILE THE THUMB IS STILL MOVING.** Oliver asked to *"visualize the strength of my
flick at flick-time"*, and he was asking for the half the placement ring cannot give: the ring is a
RECEIPT, it arrives with the ball already gone. `G.swipe` (set by input.js during the drag, cleared
diff --git a/index.html b/index.html
index 85d1dbc..dd97f0f 100644
--- a/index.html
+++ b/index.html
@@ -659,6 +659,6 @@ if (location.hostname !== 'splatter-tennis.wuwi.one') {
-
+