Run a deterministic Spark Protocol battle. The public page shows the arena, winner, and story result while keeping backend math hidden.
[spark_battle_sim]Choose a rival, load your character record, and let the battle resolver handle the deterministic backend logic. You read the result as cinematic story, not raw math.