{
  "routine": {
    "title": "Min-Max 4x D2 — Upper (W5)",
    "notes": "W5: consolidar cargas W4, +2.5 en comp donde RIR≥2. RPE ≤9.5 en top sets. Si top set pasa RPE 10, mantener peso y empujar reps en backoff.",
    "exercises": [
      {
        "exercise_template_id": "79EF4E4F",
        "notes": "5-10 min cardio liviano para subir temperatura. No agotar.",
        "rest_seconds": 0,
        "sets": [
          { "type": "normal", "weight_kg": null, "reps": null, "duration_seconds": 660 }
        ]
      },
      {
        "exercise_template_id": "4E5257DE",
        "notes": "W5: top 52 (W4 RPE 10 a 52×8), backoff 47.5. 2 work sets 8-10. RPE ≤9.5.",
        "rest_seconds": 180,
        "sets": [
          { "type": "warmup", "weight_kg": 25, "reps": 8 },
          { "type": "warmup", "weight_kg": 39, "reps": 5 },
          { "type": "normal", "weight_kg": 52, "rep_range": { "start": 8, "end": 10 } },
          { "type": "normal", "weight_kg": 47.5, "rep_range": { "start": 8, "end": 10 } }
        ]
      },
      {
        "exercise_template_id": "1DF4A847",
        "notes": "W5: top 54.5 (W4 52×8 RPE 9.5 → +2.5), backoff 52 (W4 RPE 10 a 52×8 → mantener, empujar a 9-10). RPE ≤9.5.",
        "rest_seconds": 180,
        "sets": [
          { "type": "warmup", "weight_kg": 32, "reps": 8 },
          { "type": "warmup", "weight_kg": 39, "reps": 6 },
          { "type": "normal", "weight_kg": 54.5, "rep_range": { "start": 8, "end": 10 } },
          { "type": "normal", "weight_kg": 52, "rep_range": { "start": 8, "end": 10 } }
        ]
      },
      {
        "exercise_template_id": "ABEC557F",
        "notes": "W5: 20kg (W4 18×10 RPE 9 → +2.5). 1 work set 8-10 estricto.",
        "rest_seconds": 90,
        "sets": [
          { "type": "warmup", "weight_kg": 10, "reps": 10 },
          { "type": "normal", "weight_kg": 20, "rep_range": { "start": 8, "end": 10 } }
        ]
      },
      {
        "exercise_template_id": "7EB3F7C3",
        "notes": "W5: consolidar 40/40 (W4 set 2 40×8 RPE 10 → mantener, empujar a 9-10). RPE ≤9.5.",
        "rest_seconds": 180,
        "sets": [
          { "type": "warmup", "weight_kg": 25, "reps": 10 },
          { "type": "warmup", "weight_kg": 30, "reps": 10 },
          { "type": "normal", "weight_kg": 40, "rep_range": { "start": 8, "end": 10 } },
          { "type": "normal", "weight_kg": 40, "rep_range": { "start": 8, "end": 10 } }
        ]
      },
      {
        "exercise_template_id": "DE68C825",
        "notes": "W5: 5/5 (W4 5×8 RPE 9.5 → mantener, +2.5kg en W6). 2 work sets 8-10. Cable a altura cadera, sin impulso.",
        "rest_seconds": 90,
        "sets": [
          { "type": "warmup", "weight_kg": 2.5, "reps": 10 },
          { "type": "normal", "weight_kg": 5, "rep_range": { "start": 8, "end": 10 } },
          { "type": "normal", "weight_kg": 5, "rep_range": { "start": 8, "end": 10 } }
        ]
      },
      {
        "exercise_template_id": "DCF3B31B",
        "notes": "W5: 3 sets 10-12, controlado, contracción 2s arriba.",
        "rest_seconds": 90,
        "sets": [
          { "type": "warmup", "weight_kg": null, "reps": 8 },
          { "type": "normal", "weight_kg": null, "rep_range": { "start": 10, "end": 12 } },
          { "type": "normal", "weight_kg": null, "rep_range": { "start": 10, "end": 12 } }
        ]
      },
      {
        "exercise_template_id": "BE640BA0",
        "notes": "W5: 17.5/17.5 (W4 15×8 RPE 8 → +2.5). 2 work sets 8-10. Codos altos, rear delt focus.",
        "rest_seconds": 90,
        "sets": [
          { "type": "warmup", "weight_kg": 10, "reps": 10 },
          { "type": "normal", "weight_kg": 17.5, "rep_range": { "start": 8, "end": 10 } },
          { "type": "normal", "weight_kg": 17.5, "rep_range": { "start": 8, "end": 10 } }
        ]
      },
      {
        "exercise_template_id": "98237BA2",
        "notes": "W5: mantener. 2 sets 10-12, control ROM completo, sin balanceo.",
        "rest_seconds": 90,
        "sets": [
          { "type": "warmup", "weight_kg": null, "reps": 12 },
          { "type": "normal", "weight_kg": null, "rep_range": { "start": 10, "end": 12 } },
          { "type": "normal", "weight_kg": null, "rep_range": { "start": 10, "end": 12 } }
        ]
      }
    ]
  }
}
