FORMAT / START] Generate a 15-second 16:9 cinematic action scene. Action begins immediately. No reference images provided — generate both characters from the text description. [CHARACTER LOCK] A is The Runner. Preserve exact: femme début trentaine, silhouette athlétique et élancée, cheveux foncés attachés en arrière et plaqués par la pluie, débardeur gris, pantalon cargo foncé, avant-bras nus, posture basse et compacte, énergie contenue. Elle est calme. Elle gagne. B is The Enforcer. Preserve exact: femme mi-trentaine, plus grande et plus costaude, cheveux courts décolorés, veste tactique noire, mains gantées, posture droite penchée vers l'avant, énergie volatile. Elle attaque la première. Elle perd. Ne pas intervertir les rôles. Seulement ces deux personnages. Pas de figurants. [SETTING] Toit d'un immeuble résidentiel, nuit, forte pluie. Eau stagnante sur le béton plat, unités de ventilation, un parapet bas, des cordes à linge tendues entre des poteaux avec des draps mouillés claquant au vent. Une seule lampe de service sur le logement de la cage d'escalier — lumière blanche dure, tout le reste dans l'ombre bleue. Lueur de la ville loin en dessous. Pas de foule. [MOTION RULES] Action lisible, silhouettes claires, courte pause avant le contact, préparation visible avant chaque coup, impact violent avec un poids physique réel, court hit-stop, traînées contrôlées uniquement sur les membres en mouvement rapide, géographie claire. Chaque plan continue le même échange. Pas de ralenti, pas d'accélération — vitesse réelle complète tout au long. Mouvements ancrés et physiquement motivés. Chaque technique enchaîne directement sur la suivante sans discontinuité. A se déplace avec économie et précision. B se déplace avec agressivité et élan. La pluie et l'eau stagnante réagissent à chaque impact. [BEAT 1 — ENTRY] Les deux femmes se font face sur le toit mouillé, à trois mètres l'une de l'autre. B avance vite, la main droite prête à frapper. A est détendue, son poids centré, les mains basses, les yeux sur le sternum de B. Un drap mouillé balance entre elles et passe. L'écart se réduit. [BEAT 2 — FIRST EXCHANGE] B lance un lourd crochet du droit. A glisse vers l'extérieur, le laisse passer près de son oreille et lance un court crochet du gauche dans les côtes de B en pleine extension. B grogne, son bras tombe. L'eau jaillit de leurs deux pieds. [BEAT 3 — COUNTER] A est déjà à l'intérieur. Elle attrape le col de B avec sa main gauche et donne un court coup de coude droit sur la pommette — contact dense, proximité et non distance. La tête de B tourne. Son pied arrière glisse sur le béton mouillé. [BEAT 4 — RECOVERY EXCHANGE] B se libère et charge, projetant tout son poids corporel dans un plaquage. A absorbe un pas en arrière, abaisse son poids, passe un bras sous l'épaule de B et pivote — utilisant l'élan de B pour la projeter par-dessus la hanche dans l'eau stagnante. Chute lourde et à plat. Des éclaboussures jaillissent. [BEAT 5 — FINISH] B se redresse sur un genou, sans défense. A s'approche et lui donne un coup de genou dans le sternum. B se plie et tombe à plat dos dans l'eau. A se redresse, expire une fois, la pluie coulant sur elle, et passe devant vers la cage d'escalier sans se retourner. Image finale : A silhouettée dans la lampe de service, B à terre dans l'eau derrière elle, les draps claquant toujours au vent. [AUDIO] Pas de musique. Seulement : pluie sur le béton, pas mouillés, crochet dans les côtes, coude sur l'os, botte glissant sur le sol mouillé, corps frappant l'eau stagnante, une longue expiration à la fin, draps battant au vent. [NEGATIVE CONTROL] Pas de coupes aléatoires, pas d'échange de rôles, pas de changement de tenue, pas de morphing de visage, pas de personnages supplémentaires, pas de téléportation, pas de contact flou, pas de comédie, pas de sous-titres, pas de logos, pas d'interface utilisateur, pas de ralenti, pas d'accélération, pas de câbles, pas de mouvement surnaturel, pas d'armes. Chaque changement de position physiquement motivé et continu