{
  "routine": {
    "title": "Min-Max 4x D1 — Full Body (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": "B8127AD1",
        "sets": [
          {
            "type": "warmup",
            "weight_kg": 30,
            "rep_range": {
              "start": 10,
              "end": null
            }
          },
          {
            "type": "normal",
            "weight_kg": 45,
            "rep_range": {
              "start": 6,
              "end": 8
            }
          },
          {
            "type": "normal",
            "weight_kg": 50,
            "rep_range": {
              "start": 6,
              "end": 8
            }
          }
        ],
        "notes": "W3 mañana en gym de casa: usar Lying Leg Curl original de Jeff. 2 work sets 6-8, RIR 0-1. Cadera pegada, máximo estiramiento abajo, negativa controlada. Peso sugerido por transferencia desde seated: 45/50 kg; si la máquina se siente más pesada, bajar 5-10 kg y cumplir RIR.",
        "rest_seconds": 90
      },
      {
        "exercise_template_id": "DDCC3821",
        "sets": [
          {
            "type": "warmup",
            "weight_kg": 10,
            "rep_range": {
              "start": 10,
              "end": null
            }
          },
          {
            "type": "warmup",
            "weight_kg": 10,
            "rep_range": {
              "start": 10,
              "end": null
            }
          },
          {
            "type": "normal",
            "weight_kg": 30,
            "rep_range": {
              "start": 6,
              "end": 8
            }
          },
          {
            "type": "normal",
            "weight_kg": 30,
            "rep_range": {
              "start": 6,
              "end": 8
            }
          }
        ],
        "notes": "W3: pesos/reps actualizados desde logs W2; RIR objetivo manda sobre el número. Squat choice en Smith. 2 work sets 6-8. RIR base W2: 1/0. Para RIR 0 no fallar feo: quedarte sin otra rep limpia. W3 ajuste: W2 30×8/6 @9-9.5; mantener y construir reps limpias antes de subir.",
        "rest_seconds": 240
      },
      {
        "exercise_template_id": "50DFDFAB",
        "sets": [
          {
            "type": "warmup",
            "weight_kg": 20,
            "rep_range": {
              "start": 8,
              "end": null
            }
          },
          {
            "type": "warmup",
            "weight_kg": 22.5,
            "rep_range": {
              "start": 8,
              "end": null
            }
          },
          {
            "type": "normal",
            "weight_kg": 27.5,
            "rep_range": {
              "start": 6,
              "end": 8
            }
          },
          {
            "type": "normal",
            "weight_kg": 27.5,
            "rep_range": {
              "start": 6,
              "end": 8
            }
          }
        ],
        "notes": "W3: pesos/reps actualizados desde logs W2; RIR objetivo manda sobre el número. Barbell Incline Press. 2 work sets 6-8. RIR base W2: 1/0. Pausa 1s abajo, tensión en pecho. W3 ajuste: W2 27.5×8 @10; sostener 27.5 y buscar 2 sets dentro de rango.",
        "rest_seconds": 240
      },
      {
        "exercise_template_id": "afbbf3e8-66d9-4622-8b2e-55dfcdab16f1",
        "sets": [
          {
            "type": "warmup",
            "weight_kg": 4,
            "rep_range": {
              "start": 5,
              "end": null
            }
          },
          {
            "type": "normal",
            "weight_kg": 4,
            "rep_range": {
              "start": 8,
              "end": 10
            }
          }
        ],
        "notes": "W3: pesos/reps actualizados desde logs W2; RIR objetivo manda sobre el número. Incline DB Y-Raise. 1 work set 8-10. RIR base W2: 0. Si pasás 10 limpio, próxima subir a 4 kg. W3 ajuste: W2 4×10 @10; mantener.",
        "rest_seconds": 90
      },
      {
        "exercise_template_id": "6A6C31A5",
        "sets": [
          {
            "type": "warmup",
            "weight_kg": 25,
            "rep_range": {
              "start": 10,
              "end": null
            }
          },
          {
            "type": "normal",
            "weight_kg": 42.5,
            "rep_range": {
              "start": 6,
              "end": 8
            }
          },
          {
            "type": "normal",
            "weight_kg": 40,
            "rep_range": {
              "start": 6,
              "end": 8
            }
          }
        ],
        "notes": "W3: pesos/reps actualizados desde logs W2; RIR objetivo manda sobre el número. Reemplazo de Pull-Up Wide Grip: Lat Pulldown agarre amplio. 2 work sets 6-8. RIR base W2: 1/0. Controlar negativa y ROM completo. W3 ajuste: W2 40×8/10 con segundo set duro; probar 42.5 primero, backoff 40.",
        "rest_seconds": 180
      },
      {
        "exercise_template_id": "062AB91A",
        "sets": [
          {
            "type": "warmup",
            "weight_kg": 40,
            "rep_range": {
              "start": 10,
              "end": null
            }
          },
          {
            "type": "normal",
            "weight_kg": 50,
            "rep_range": {
              "start": 8,
              "end": 10
            }
          }
        ],
        "notes": "W3 mañana en gym de casa: usar Seated Calf Raise / caballito de gemelos, no calf press. 1 work set 8-10, RIR 0-1. Pausa 1-2s abajo, subir controlado, full ROM. Base por lo hecho ayer: 50 kg; si queda fácil, no subir durante el set, anotá RIR y subimos próxima.",
        "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
      }
    ]
  }
}