<?xml version="1.0" encoding="UTF-8"?>
<workout_file>
  <author>Kris Stallenberg</author>
  <name>90-min Z4 (Threshold) Medium #01</name>
  <description>Build your sustainable power with this classic threshold workout. Three 15-minute intervals at just below your functional threshold power will improve your lactate clearance capabilities and mental toughness for long, hard efforts. This session is key for time trialists and climbers.</description>
  <sportType>bike</sportType>
  <tags>
    <tag name="THRESHOLD" />
  </tags>
  <workout>
    <Warmup Duration="600" PowerLow="0.5" PowerHigh="0.75">
      <textevent timeoffset="300" message="Let's get the blood flowing. Focus on a smooth, circular pedal stroke." />
      <textevent timeoffset="8" message="Ride right on the edge and stay controlled." />
    </Warmup>
    <SteadyState Duration="300" Power="0.75">
      <textevent timeoffset="10" message="Two quick spin-ups coming up. 30 seconds each." />
      <textevent timeoffset="60" message="Spin-up 1: 110% FTP for 30s. GO!" />
      <textevent timeoffset="180" message="Spin-up 2: 110% FTP for 30s. GO!" />
    </SteadyState>
    <IntervalsT Repeat="3" OnDuration="900" OffDuration="600" OnPower="0.98" OffPower="0.6">
      <textevent timeoffset="0" message="First 15-minute threshold block. Settle in, find your rhythm." />
      <textevent timeoffset="450" message="Halfway through this block. Stay strong, keep your breathing controlled." />
      <textevent timeoffset="890" message="Almost there!" />
      <textevent timeoffset="900" message="Recovery. Spin the legs out, get ready for the next one." />
      <textevent timeoffset="1500" message="Block 2. Let's go! Focus on maintaining a stable upper body." />
      <textevent timeoffset="1950" message="You've got this. Halfway point of the second interval." />
      <textevent timeoffset="2400" message="Recovery. Two down, one to go." />
      <textevent timeoffset="3000" message="Final block! This is where the real gains are made. Dig deep." />
      <textevent timeoffset="3450" message="Final halfway point. Keep that power steady all the way to the end." />
    </IntervalsT>
    <Cooldown Duration="600" PowerLow="0.6" PowerHigh="0.4">
      <textevent timeoffset="30" message="Excellent work. Time to cool down properly." />
      <textevent timeoffset="300" message="Bring the heart rate down slowly. Take some deep breaths." />
    </Cooldown>
  </workout>
</workout_file>