VideoContent
data class VideoContent(val videoUrl: String, val posterUrl: String?, val fallbackImageUrl: String?, val title: InAppText?, val message: InAppText?, val buttons: List<InAppButton>, val loops: Boolean, val muted: Boolean, val showCloseButton: Boolean)
Full-screen autoplaying video with overlaid text and CTA. videoUrl is required by the contract; posterUrl holds the frame until the first video frame arrives and fallbackImageUrl replaces the video outright when it cannot play — both are optional, and without a fallback a failed video dismisses the in-app rather than leaving a black screen.