The first check failed before any render: 'NOTHING.' at 300px measured 1,541px wide — the punchline's last 461px were off-canvas. All three punch words were re-measured and shrunk (300→200px, 238→190px, 220→205px); the hierarchy survived because the connectors stayed small. That measuring rule is now in the prompt's gotchas.
The kicker started at 27px, under the checker's 28px phone-readability floor; it is 29px now. And the closing sign-off needed a 2.17s read the 10s cut could not give it — the composition grew to 11s rather than rush the two lines the joke lands on.
Banned list ✓Beat grid ✓Build method ✓Self-review ✓
<direction>
An 11-second kinetic-type comedy video, 1080x1920 vertical, built from these rant lines: I don't need / another / MEETING. / That meeting could've been / an / EMAIL. / And the email? / could've been / NOTHING.. Type is the whole cast. Two registers only: connector lines small, grey, polite; punch words (the CAPS lines) giant, white or accent, slamming in from scale. Strict hierarchy — a connector may never be larger than the punch word it introduces.
Banned: bounce easing, letter-by-letter typewriter effects, background graphics, any word on screen that is not in the rant.
</direction>
<structure>
Each escalation builds in place: connectors fade up one at a time, the punch word slams in with a 2-frame screen nudge. Two escalations stack. Then the record scratch (about 60% through): all lines jitter together for a third of a second, a white scratch line sweeps, and the stack wipes in one frame. The final escalation gets the empty stage to itself. Sign-off last, small and italic: — sent from my phone, from inside the meeting — held a full two seconds.
</structure>
<build>
One HyperFrames composition; every line a top-level clip. GSAP timeline, paused, seek-driven. Measure every punch word against the canvas before rendering — a 300px 'NOTHING.' is 1,541px wide and 461px of it lands off-canvas. Render at 30fps.
</build>
<gotchas>
Giant type is measured, not eyeballed: at 900-weight Arial, a punch word runs about 0.64em per character including its full stop. Divide the canvas width by that before choosing a size. And budget the ending first — the last two lines need real read time (the check enforces ~2s on a closing line), so the composition grows to fit the joke, never the reverse.
</gotchas>
A meeting rant typeset the way it feels. The rant is built like an argument you have had in a corridor: small grey connector lines carry the logic, and the verdicts — MEETING, EMAIL, NOTHING — land at full canvas weight. One record-scratch freeze clears the stage before the last escalation, and the sign-off gets the final word.