{# Rewarded-advertisement modal (chat). A trigger with [data-watch-ad-trigger] opens it; the simulated ad runs through loading → playing → completed states (see RewardedAdService in main.js). Only the Continue button submits the real reward form — the backend stays the single source of truth for granting messages. The creative is populated from a real rewarded advertisement (CHAT placement) when one is passed in `rewarded_ad`; otherwise the built-in placeholder is shown. Pass: conversation, messaging_state, rewarded_ad. #} {% set ad = rewarded_ad %}