{
  "routine": {
    "title": "Min-Max 4x D4 — Arms/Delts (Block 1)",
    "exercises": [
      {
        "exercise_template_id": "79EF4E4F",
        "sets": [
          {
            "type": "normal",
            "duration_seconds": 600
          }
        ],
        "notes": "W3: ajustar carga por RIR real; si quedás fuera del rango, corregí en el momento. Jeff: 5-10 min cardio liviano para subir temperatura. No agotarse. Si están apurados: mínimo 5 min; ideal 10 min.",
        "rest_seconds": 0
      },
      {
        "exercise_template_id": "B33B526E",
        "sets": [
          {
            "type": "warmup",
            "weight_kg": 2.5,
            "rep_range": {
              "start": 10,
              "end": null
            }
          },
          {
            "type": "normal",
            "weight_kg": 7.5,
            "rep_range": {
              "start": 6,
              "end": 8
            }
          },
          {
            "type": "normal",
            "weight_kg": 7.5,
            "rep_range": {
              "start": 6,
              "end": 8
            }
          }
        ],
        "notes": "W3: pesos/reps actualizados desde logs W2; RIR objetivo manda sobre el número. Bayesian Cable Curl / Single-Arm Cable Curl. 2 work sets 6-8. RIR base W2: 0/0. Estirar abajo, negativo controlado. W3 ajuste: W2 7.5×8 @7.5; subir el primer working set a 7.5 también.",
        "rest_seconds": 90
      },
      {
        "exercise_template_id": "B5EFBF9C",
        "sets": [
          {
            "type": "warmup",
            "weight_kg": 5,
            "rep_range": {
              "start": 10,
              "end": null
            }
          },
          {
            "type": "normal",
            "weight_kg": 10,
            "rep_range": {
              "start": 8,
              "end": 10
            }
          },
          {
            "type": "normal",
            "weight_kg": 10,
            "rep_range": {
              "start": 8,
              "end": 10
            }
          }
        ],
        "notes": "W3: pesos/reps actualizados desde logs W2; RIR objetivo manda sobre el número. Overhead Cable Triceps Extension. 2 work sets 8-10. RIR base W2: 0/0. Estiramiento profundo en negativa. W3 ajuste: W2 10×8 @9; subir primer working set a 10 y sostener rango.",
        "rest_seconds": 90
      },
      {
        "exercise_template_id": "123EE239",
        "sets": [
          {
            "type": "warmup",
            "weight_kg": 4,
            "rep_range": {
              "start": 10,
              "end": null
            }
          },
          {
            "type": "normal",
            "weight_kg": 6,
            "rep_range": {
              "start": 8,
              "end": 10
            }
          }
        ],
        "notes": "W3: pesos/reps actualizados desde logs W2; RIR objetivo manda sobre el número. Modified Zottman Curl. 1 work set 8-10. RIR base W2: 0. Hammer subiendo, supinado bajando. W3 ajuste: W2 6×9 @8.5; mantener y buscar 10.",
        "rest_seconds": 90
      },
      {
        "exercise_template_id": "6127A3AD",
        "sets": [
          {
            "type": "warmup",
            "weight_kg": 3,
            "reps": 10
          },
          {
            "type": "normal",
            "weight_kg": 5,
            "rep_range": {
              "start": 8,
              "end": 10
            }
          },
          {
            "type": "normal",
            "weight_kg": 5,
            "rep_range": {
              "start": 8,
              "end": 10
            }
          }
        ],
        "notes": "W3: pesos/reps actualizados desde logs W2; RIR objetivo manda sobre el número.  W3 ajuste: W2 5×10 @9; subir primer working set a 5.",
        "rest_seconds": 90
      },
      {
        "exercise_template_id": "1006DF48",
        "sets": [
          {
            "type": "warmup",
            "weight_kg": 4,
            "rep_range": {
              "start": 10,
              "end": null
            }
          },
          {
            "type": "normal",
            "weight_kg": 7,
            "rep_range": {
              "start": 8,
              "end": 10
            }
          },
          {
            "type": "normal",
            "weight_kg": 8,
            "rep_range": {
              "start": 8,
              "end": 10
            }
          }
        ],
        "notes": "W3: pesos/reps actualizados desde logs W2; RIR objetivo manda sobre el número. DB Wrist Curl. 2 work sets 8-10. RIR base W2: 0/0. Reps suaves y controladas. W3 ajuste: W2 7×10 @8.5; subir top set a 8.",
        "rest_seconds": 90
      },
      {
        "exercise_template_id": "37FCC2BB",
        "sets": [
          {
            "type": "warmup",
            "weight_kg": 5,
            "rep_range": {
              "start": 10,
              "end": null
            }
          },
          {
            "type": "normal",
            "weight_kg": 7,
            "rep_range": {
              "start": 6,
              "end": 8
            }
          }
        ],
        "notes": "W3: pesos/reps actualizados desde logs W2; RIR objetivo manda sobre el número. Alternating DB Curl. 1 work set 6-8. RIR base W2: 0. Estricto, sin balanceo. W3 ajuste: W2 6×10 @8.5; subir.",
        "rest_seconds": 90
      },
      {
        "exercise_template_id": "B9380898",
        "sets": [
          {
            "type": "normal",
            "duration_seconds": 32
          },
          {
            "type": "normal",
            "duration_seconds": 20
          }
        ],
        "notes": "W3: pesos/reps actualizados desde logs W2; RIR objetivo manda sobre el número. Dead Hang opcional. Jeff: intentar sumar segundos semana a semana. Objetivo W3: 30s + 30s.",
        "rest_seconds": 90
      },
      {
        "exercise_template_id": "9202CC23",
        "sets": [
          {
            "type": "warmup",
            "weight_kg": 10,
            "rep_range": {
              "start": 10,
              "end": null
            }
          },
          {
            "type": "normal",
            "weight_kg": 12.5,
            "rep_range": {
              "start": 8,
              "end": 10
            }
          },
          {
            "type": "normal",
            "weight_kg": 12.5,
            "rep_range": {
              "start": 8,
              "end": 10
            }
          }
        ],
        "notes": "W3: pesos/reps actualizados desde logs W2; RIR objetivo manda sobre el número. DB/Barbell Wrist Extension. 2 work sets 8-10. RIR base W2: 0/0. Lento y controlado. W3 ajuste: W2 segundo set 8 @9.5; mantener.",
        "rest_seconds": 90
      },
      {
        "exercise_template_id": "422B08F1",
        "sets": [
          {
            "type": "warmup",
            "weight_kg": 4,
            "rep_range": {
              "start": 10,
              "end": null
            }
          },
          {
            "type": "normal",
            "weight_kg": 6,
            "rep_range": {
              "start": 8,
              "end": 10
            }
          },
          {
            "type": "normal",
            "weight_kg": 6,
            "rep_range": {
              "start": 8,
              "end": 10
            }
          }
        ],
        "notes": "W3: pesos/reps actualizados desde logs W2; RIR objetivo manda sobre el número. Reemplazo de Machine Lateral Raise: DB Lateral Raise. 2 work sets 8-10. RIR base W2: 0/0. Mover con deltoide lateral, sin trapecio. W3 ajuste: W2 dentro de rango y duro; mantener.",
        "rest_seconds": 90
      },
      {
        "exercise_template_id": "98237BA2",
        "sets": [
          {
            "type": "warmup",
            "rep_range": {
              "start": 12,
              "end": null
            }
          },
          {
            "type": "normal",
            "rep_range": {
              "start": 8,
              "end": 12
            }
          },
          {
            "type": "normal",
            "rep_range": {
              "start": 8,
              "end": 12
            }
          }
        ],
        "notes": "W3: ajustar carga por RIR real; si quedás fuera del rango, corregí en el momento. Extra tuyo al final, fuera del bloque Jeff. 2 sets 8-12, controlado, sin balanceo. Cortar si molesta flexor/lumbar.",
        "rest_seconds": 90
      },
      {
        "exercise_template_id": "B9380898",
        "sets": [
          {
            "type": "normal",
            "duration_seconds": 20
          }
        ],
        "rest_seconds": 90
      }
    ]
  }
}