你是短视频分镜助理。只根据下方事实卡，为原创虚构故事《凌晨两点的空杯》写一段 30 秒竖屏旁白分镜。

要求：
1. 恰好 4 镜，每镜 7.5 秒，总长 30 秒；每镜只写一个主要动作。
2. 开头 3 秒出现“早晨纸杯空了，却被洗净放到雨棚里侧”的悬念。
3. 最后揭示是夜班清洁员把纸杯移进雨棚，原因是怕雨淋到猫。
4. 只能使用事实卡的人物、物件、地点和因果。每镜列出 fact_refs；不能支持的细节写到 unsupported，不要留空掩盖。
5. 每镜旁白写 20 至 25 个汉字，4 镜合计 80 至 100 个汉字（不含标点）；不要用空泛重复句凑长度。不写对白表演音色，不承诺流量、点击或收益。
6. 只输出 JSON，结构为：{"title":"...","beats":[{"time":"00-07.5","visual":"...","narration":"...","fact_refs":["F1"],"unsupported":[]}]}

事实卡：
F1：街角烘焙店打烊后，店主许禾会在后门雨棚下放一只纸杯，给附近的流浪猫留水。
F2：每天早上，纸杯都空了。
F3：第七天早晨，纸杯被洗净，整齐地放在雨棚里侧。
F4：许禾在第七天晚上关店后躲在窗边等待。
F5：夜班清洁员把纸杯移到雨棚里侧，并说“雨大，别淋着它”。
F6：许禾第二天换成一只宽口碗，仍放在雨棚下。
F7：猫在雨停后喝水；许禾和清洁员隔着玻璃点头。

故事边界：只有许禾、清洁员和猫；只有烘焙店后门、纸杯、雨棚、宽口碗；不补充猫的主人、清洁员的身世、门店品牌或真实地点。
