<?xml version="1.0" encoding="UTF-8"?>
<workout_file>
  <author>Kris Stallenberg</author>
  <name>75-min Z4 (Threshold) Pushing #04</name>
  <description>Tackle the hardest effort first in this descending interval workout. By starting with the longest threshold block, you challenge your ability to hold power while fresh, then work on repeatability as fatigue sets in. This structure is great for building confidence and learning to handle sustained, high-intensity efforts.</description>
  <sportType>bike</sportType>
  <tags>
    <tag name="THRESHOLD" />
  </tags>
  <workout>
    <Warmup Duration="720" PowerLow="0.5" PowerHigh="0.75">
      <textevent timeoffset="30" message="Let's get moving. Think about a full 360-degree pedal stroke." />
      <textevent timeoffset="600" message="Body temperature is rising. Good." />
    </Warmup>
    <IntervalsT Repeat="2" OnDuration="30" OffDuration="30" OnPower="1.1" OffPower="0.6">
      <textevent timeoffset="0" message="Let's open up the legs before the first big push." />
    </IntervalsT>
    <SteadyState Duration="180" Power="0.7">
      <textevent timeoffset="20" message="Reset posture: tall chest and quiet upper body." />
    </SteadyState>
    <SteadyState Duration="900" Power="1.02">
      <textevent timeoffset="0" message="Longest interval first: 15 minutes. Let's do this!" />
      <textevent timeoffset="450" message="Halfway through. Stay mentally strong and focused on the target." />
    </SteadyState>
    <SteadyState Duration="300" Power="0.55">
      <textevent timeoffset="15" message="Excellent work. The hardest part is over. Recover now." />
    </SteadyState>
    <SteadyState Duration="720" Power="1">
      <textevent timeoffset="0" message="Next up: 12 minutes. The duration is shorter, so hold that quality." />
      <textevent timeoffset="360" message="Keep it smooth. Don't waste energy." />
    </SteadyState>
    <SteadyState Duration="240" Power="0.55">
      <textevent timeoffset="15" message="One more to go. You've got this." />
    </SteadyState>
    <SteadyState Duration="600" Power="0.98">
      <textevent timeoffset="0" message="Final effort: 10 minutes. Empty the tank!" />
      <textevent timeoffset="300" message="Final halfway point of the day. Finish strong!" />
    </SteadyState>
    <SteadyState Duration="240" Power="0.55" />
    <Cooldown Duration="480" PowerLow="0.55" PowerHigh="0.35">
      <textevent timeoffset="30" message="You handled that perfectly. Great session." />
    </Cooldown>
  </workout>
</workout_file>