{
  "scenarios": [
    {
      "id": "demo_fh_01",
      "title": "Forehand · cross-court setup",
      "video_url": "",
      "contact_t": 4.2,
      "occlusion_t": 4.0,
      "scenario": "forehand_direction",
      "question": "Where is the ball going?",
      "options": [
        {"id": "A", "label": "Cross-court"},
        {"id": "B", "label": "Down the line"},
        {"id": "C", "label": "Inside-out"},
        {"id": "D", "label": "Short angle"}
      ],
      "correct": "A",
      "cues": [
        "Hips opened early toward the cross-court lane",
        "Shoulders already turned before contact"
      ],
      "difficulty": 1,
      "playMs": 1800
    },
    {
      "id": "demo_bh_01",
      "title": "Backhand · line commit",
      "video_url": "",
      "contact_t": 3.8,
      "occlusion_t": 3.6,
      "scenario": "backhand_direction",
      "question": "Where is the ball going?",
      "options": [
        {"id": "A", "label": "Cross-court"},
        {"id": "B", "label": "Down the line"},
        {"id": "C", "label": "Slice short"},
        {"id": "D", "label": "Deep drive"}
      ],
      "correct": "B",
      "cues": [
        "Contact point stayed close to the body",
        "Shoulder line committed late to the line"
      ],
      "difficulty": 2,
      "playMs": 1600
    },
    {
      "id": "demo_sv_01",
      "title": "Serve · wide look",
      "video_url": "",
      "contact_t": 5.1,
      "occlusion_t": 4.9,
      "scenario": "serve_placement",
      "question": "Where is the serve going?",
      "options": [
        {"id": "A", "label": "Wide"},
        {"id": "B", "label": "Body"},
        {"id": "C", "label": "T"},
        {"id": "D", "label": "Kick up"}
      ],
      "correct": "A",
      "cues": [
        "Toss left of head",
        "Shoulder tilt early"
      ],
      "difficulty": 2,
      "playMs": 2000
    },
    {
      "id": "demo_fh_02",
      "title": "Forehand · short angle",
      "video_url": "",
      "contact_t": 3.5,
      "occlusion_t": 3.3,
      "scenario": "forehand_direction",
      "question": "Where is the ball going?",
      "options": [
        {"id": "A", "label": "Cross-court"},
        {"id": "B", "label": "Down the line"},
        {"id": "C", "label": "Inside-out"},
        {"id": "D", "label": "Short angle"}
      ],
      "correct": "D",
      "cues": [
        "Racket face closed early",
        "Contact point out in front"
      ],
      "difficulty": 3,
      "playMs": 1500
    },
    {
      "id": "demo_shot_01",
      "title": "Shot type · disguise",
      "video_url": "",
      "contact_t": 4.0,
      "occlusion_t": 3.8,
      "scenario": "shot_type",
      "question": "What shot is coming?",
      "options": [
        {"id": "A", "label": "Forehand"},
        {"id": "B", "label": "Backhand"},
        {"id": "C", "label": "Slice"},
        {"id": "D", "label": "Drop shot"}
      ],
      "correct": "D",
      "cues": [
        "Deceleration into contact",
        "Open racket face"
      ],
      "difficulty": 3,
      "playMs": 1700
    },
    {
      "id": "demo_sv_02",
      "title": "Serve · T body fake",
      "video_url": "",
      "contact_t": 4.7,
      "occlusion_t": 4.5,
      "scenario": "serve_placement",
      "question": "Where is the serve going?",
      "options": [
        {"id": "A", "label": "Wide"},
        {"id": "B", "label": "Body"},
        {"id": "C", "label": "T"},
        {"id": "D", "label": "Kick up"}
      ],
      "correct": "C",
      "cues": [
        "Toss out in front",
        "Front hip stalls"
      ],
      "difficulty": 2,
      "playMs": 1900
    },
    {
      "id": "demo_bh_02",
      "title": "Backhand · slice short",
      "video_url": "",
      "contact_t": 3.2,
      "occlusion_t": 3.0,
      "scenario": "backhand_direction",
      "question": "Where is the ball going?",
      "options": [
        {"id": "A", "label": "Cross-court"},
        {"id": "B", "label": "Down the line"},
        {"id": "C", "label": "Slice short"},
        {"id": "D", "label": "Deep drive"}
      ],
      "correct": "C",
      "cues": [
        "Racket face open",
        "Weight transfer stalled"
      ],
      "difficulty": 2,
      "playMs": 1550
    },
    {
      "id": "demo_fh_03",
      "title": "Forehand · inside-out",
      "video_url": "",
      "contact_t": 4.4,
      "occlusion_t": 4.2,
      "scenario": "forehand_direction",
      "question": "Where is the ball going?",
      "options": [
        {"id": "A", "label": "Cross-court"},
        {"id": "B", "label": "Down the line"},
        {"id": "C", "label": "Inside-out"},
        {"id": "D", "label": "Short angle"}
      ],
      "correct": "C",
      "cues": [
        "Hips open early",
        "Weight still on back foot"
      ],
      "difficulty": 3,
      "playMs": 1650
    }
  ]
}
