{
  "cycle": {
    "logs": [
      {
        "date": "2026-07-09",
        "mood": 5,
        "energy": 5
      },
      {
        "date": "2026-07-10",
        "mood": 5,
        "energy": 5
      },
      {
        "date": "2026-07-19",
        "mood": 2,
        "energy": 2,
        "symptoms": [
          "Kopfschmerz",
          "Müde"
        ]
      },
      {
        "date": "2026-07-23",
        "mood": 2,
        "energy": 1,
        "symptoms": [
          "Müde",
          "Stimmungstief",
          "Wassereinlagerung",
          "Aufgebläht"
        ]
      },
      {
        "date": "2026-07-24",
        "mood": 4,
        "energy": 3,
        "symptoms": [
          "Müde"
        ]
      },
      {
        "date": "2026-07-26",
        "mood": 3,
        "energy": 3
      },
      {
        "date": "2026-08-03",
        "mood": 1,
        "energy": 3,
        "symptoms": [
          "Rückenschmerz"
        ]
      },
      {
        "date": "2026-08-11",
        "mood": 4,
        "energy": 3
      }
    ],
    "periodEnds": [
      "2026-07-08"
    ],
    "cycleLength": 29,
    "periodLength": 4,
    "periodStarts": [
      "2026-07-05",
      "2026-08-03"
    ]
  },
  "goals": [
    {
      "id": "g1",
      "title": "100 km am Stück",
      "accent": "blau",
      "detail": "Noch 28 km bis zum Ziel",
      "progress": 0.72
    },
    {
      "id": "g2",
      "title": "Sprint-Triathlon im September",
      "accent": "rosa",
      "detail": "Schwimmen · Rad · Lauf",
      "progress": 0.55
    },
    {
      "id": "g3",
      "title": "100 Trainingstage",
      "accent": "mint",
      "detail": "68 Tage geschafft",
      "progress": 0.68
    }
  ],
  "memory": {
    "id": "m1",
    "note": "Deine erste längere Ausfahrt überhaupt — 32 km, und du warst überglücklich. Schau, wie weit du gekommen bist.",
    "title": "Vor genau einem Jahr",
    "accent": "lavender",
    "dateLabel": "Juli 2025"
  },
  "fueling": [
    {
      "date": "2026-07-24",
      "hydration": 1,
      "waterGlasses": 1
    }
  ],
  "profile": {
    "city": "Krems",
    "name": "Johanna",
    "foodDislikes": [
      "bananen",
      "datteln",
      "rosinen"
    ]
  },
  "seasons": [
    {
      "id": "road-to-100",
      "title": "Road to 100 km",
      "accent": "blau",
      "progress": 0.72,
      "subtitle": "Deine erste Hundert am Stück",
      "goalLabel": "72 von 100 km längste Ausfahrt",
      "highlights": [
        "Neue Bestzeit am Anstieg",
        "Erste 72-km-Runde"
      ],
      "startedLabel": "Seit Mai"
    },
    {
      "id": "camper-summer",
      "title": "Camper Summer",
      "accent": "mint",
      "progress": 0.4,
      "subtitle": "Abenteuer auf vier Rädern",
      "goalLabel": "4 von 10 Stellplätzen entdeckt",
      "highlights": [
        "Sonnenaufgang am See",
        "Erste Nacht in den Bergen"
      ],
      "startedLabel": "Seit Juni"
    },
    {
      "id": "trail-season",
      "title": "Trail Season",
      "accent": "gelb",
      "progress": 0.25,
      "subtitle": "Höher, wilder, weiter",
      "goalLabel": "2 von 8 Gipfeln",
      "highlights": [
        "Erste Tour über 200 hm"
      ],
      "startedLabel": "Seit April"
    }
  ],
  "checkIns": [
    {
      "date": "2026-08-11",
      "word": "Nicht mit MUSS Sport gemacht. Sondern auf meine Ruhe geachtet",
      "feeling": 3,
      "goodFor": [
        "ruhe",
        "essen"
      ],
      "createdAt": "2026-08-11T15:55:13.142Z"
    }
  ],
  "insights": [
    {
      "id": "i1",
      "text": "Du bist bei 18–22 °C am schnellsten.",
      "accent": "blau",
      "detail": "In diesem Temperaturfenster liegt deine Durchschnittsgeschwindigkeit rund 6 % höher.",
      "confidence": 82
    },
    {
      "id": "i2",
      "text": "Nach zwei Ruhetagen erreichst du fast immer deine Bestleistung.",
      "accent": "rosa",
      "detail": "In 7 von 8 Fällen folgte auf zwei ruhige Tage eine persönliche Bestleistung.",
      "confidence": 88
    },
    {
      "id": "i3",
      "text": "Anstiege zwischen 4 % und 6 % liegen dir besonders.",
      "accent": "gelb",
      "detail": "Hier hältst du deine Wattzahl am gleichmäßigsten — dein natürliches Terrain.",
      "confidence": 76
    },
    {
      "id": "i4",
      "text": "Weniger als 6 Std Schlaf kosten dich rund 8 % Leistung.",
      "accent": "lavender",
      "detail": "An Tagen nach kurzem Schlaf sinkt deine Durchschnittsleistung spürbar.",
      "confidence": 91
    }
  ],
  "weekPlan": {
    "days": [
      {
        "label": "Di",
        "session": "Heute ist dein Körper topfit. Dein Fokus ist 'Zeit für Intensität'. Ich schlage dir eine moderate Radeinheit vor, z.B. 45-60 Minuten auf der Rolle mit leichten Intervallen oder ein paar kürzeren Belastungsspitzen. Achte auf dein Gefühl, da du gerade Tag 9 deiner Menstruation hast.",
        "intensity": "moderat"
      },
      {
        "label": "Mi",
        "session": "Nach der gestrigen Einheit und aufgrund deiner Zyklusphase schlage ich dir einen aktiven Ruhetag vor. Ein kurzer, lockerer Spaziergang oder leichtes Stretching könnte gut tun, um die Regeneration zu unterstützen und den Kopf freizubekommen.",
        "intensity": "ruhe"
      },
      {
        "label": "Do",
        "session": "Eine längere, lockere Radeinheit. Konzentriere dich auf eine gleichmäßige Grundlagenausdauer. Vielleicht 1,5 bis 2 Stunden auf der Rolle oder draußen, wenn es die Zeit zulässt. Achte darauf, dass du gut versorgt bist (Trinken!).",
        "intensity": "locker"
      },
      {
        "label": "Fr",
        "session": "Ein Ruhetag ist nach der längeren Einheit gut. Nutze ihn zur vollständigen Erholung. Wenn du möchtest, kannst du ein paar Minuten sanfte Mobilisationsübungen machen.",
        "intensity": "ruhe"
      },
      {
        "label": "Sa",
        "session": "Ein Lauftraining, um Abwechslung reinzubringen. Eine 30-45 minütige Einheit im moderaten Tempo. Hör auf deinen Körper und scheue dich nicht, das Tempo zu drosseln, falls du dich müde fühlst.",
        "intensity": "moderat"
      },
      {
        "label": "So",
        "session": "Dein Körper ist bereit, und Sonntag ist ja dein Trainingstag. Wie wäre es mit einer weiteren Radausfahrt? Wenn du dich gut fühlst, könntest du eine längere Tour von 2-3 Stunden planen, vielleicht mit ein paar moderaten Anstiegen, um deine 100km-Ziel im Blick zu behalten.",
        "intensity": "locker"
      },
      {
        "label": "Mo",
        "session": "Ein entspannter Start in die neue Woche mit einem Ruhetag. Vielleicht ein bisschen Yoga oder eine Faszienrolle, um die Muskeln zu lockern.",
        "intensity": "ruhe"
      }
    ],
    "createdAt": "2026-08-11T08:55:38.886Z",
    "startDate": "2026-08-10"
  },
  "homeToday": {
    "name": "Johanna",
    "focus": {
      "title": "Zeit für Intensität",
      "accent": "mint",
      "detail": "Dein Körper ist bereit — heute darf es fordernd sein."
    },
    "weather": {
      "emoji": "☀️",
      "tempC": 22,
      "windHint": "Leichter Rückenwind aus Südwest",
      "condition": "Klar"
    },
    "headline": "Heute steckt richtig Energie in dir.",
    "readiness": {
      "hrv": 92,
      "label": "Bestens erholt",
      "score": 100,
      "restingHr": 50,
      "sleepHours": 7.8
    },
    "suggestion": "Deine Erholung liegt bei 100 %. Guter Tag für eine fordernde Einheit."
  },
  "userGoals": [],
  "activities": [
    {
      "id": "strava-19665675807",
      "date": "2026-08-09T09:04:03Z",
      "type": "hike",
      "avgHr": 134,
      "place": "Indoor",
      "title": "Wanderung am Morgen",
      "accent": "gelb",
      "indoor": true,
      "source": "strava",
      "dateLabel": "So., 9. Aug.",
      "distanceKm": 8.4,
      "importedAt": "2026-08-11T08:55:34.881Z",
      "durationSec": 10787,
      "durationLabel": "2:60 h"
    },
    {
      "id": "strava-19458347265",
      "date": "2026-07-25T11:07:06Z",
      "type": "ride",
      "avgHr": 157,
      "place": "Unterwegs",
      "title": "Lunch Ride",
      "accent": "peach",
      "source": "strava",
      "polyline": "uomfHwrg~ArJoBPgAWyHRw@VQ|@fAVt@bAnTpCl{@c@`EwEtMCl@lA~GxCrK|ApMnA|@\\KN[dAjNtBdQfE~Q~C`TjJp`@MlA_@FI\\bAfCo@{AkAc@o@_EoAoCI@lCbLTlCzBtEbHzJfClGjD`L~@pEjIl]L|EXfBjFfPdDbMzC`PdBfI`B|B`DzHxBjGtB~H]j@MjCeAnIgD`Pm@lO}@Z{J?i@Ve@vGgBlNm@zL{@`FkAxDeArBQdBeC|EmBdGkB~AoF|FmA`AcAb@yB]cEZy@`@cCnCaGpBkI~DgI~GcHtH_BdCeOb\\y@fCcBpI{CxG_AjCyEnWq@xKKpHPpFj@|FtCdR`A|EdCvGdAfBnHfIdF`EfB~C~EbFfElGxF`L~GvKfDnHNxIZrA|AtDzA`CpBlBzCrEv@zCb@|@~@y@vAfAfBu@r@v@x@`@tCnEvCjF~ChB|DnEtFbFdHbGfGlDzDp@nBvCpBzAvA^pJvJxQrR~AzBDN[vAsAxCAXnCjFpCjJxEdMzExG`GhKn@bCxAnJb@lFh@zAtBtCrBl@vAx@`C|BnC\\z@^v@|AdBtB`CnR~B|KlAfIl@`Ip@lFd@nBElAf@nGdBnN`BpDl@xFdB~Af@nB\\`@dApEjBpEd@jBj@hA~A|AdAvBPBpBeCjBcA|@kADc@hMgPMc@OBQ[oLcXqCwHgBkBaDgHMuD_CaLkA_IkCqJu@gHcA}FsFaVaEcKu@cDi@iAaCeRcCwHgMaVcGeIqLyJwJsOoOcTgMqUuBaDkEaFmFyEmIyGi@PqA}BaNiOkF}HgBmBMy@{ByDe@uBcCqFg@iFu@eCs@wAsEiGuCoAgD}DeCqBUkAwBmBuCaF}AaBHm@bAmA{C_KE}@LcBIqI}BaLu@uFmAgGc@wDR_FWcIrBkAt@{JrAiHlCkIbBmDzCcIzFmBfBmBjImOtEuGxLaJjCsCEaAP_@pMcIvFeCrBm@rHsEN@x@xAR?nDaFjBmB|@yAr@qBj@mC|Co`@PcHM{_@s@gLcBcQcA{R_C{TkAiHiE{McFgVKsDH}BaCsQuDoKu@eFuBkFsA{Ik@Y}@wB_@HgB`B]KcIyWh@}AaCqDcAyBoAmDw@_D@sBXsAhDaFhAwB@]cDqF_@mAiARiGq@oDlAySdOYj@B`A`DbHj@rDb@Zr@M\\sBmJw`@qD_V_DqMy@yEsAgLoA_QkAkYQS_DZGr@NxDIRKKoCgK[kCBw@fEoLd@}BH{BgEgoA[kAu@iAWOULW|AZbGKnAmDpAqDf@",
      "dateLabel": "Sa., 25. Juli",
      "distanceKm": 40.5,
      "elevationM": 171,
      "importedAt": "2026-07-25T11:07:06Z",
      "durationSec": 7508,
      "durationLabel": "2:05 h"
    },
    {
      "id": "strava-19279640571",
      "date": "2026-07-12T09:36:38Z",
      "type": "ride",
      "avgHr": 161,
      "place": "Unterwegs",
      "title": "Morning Ride",
      "accent": "peach",
      "source": "strava",
      "polyline": "yomfHurg~AhAUAk@Fg@G[WWGSGsE]_KBYTm@@_@s@e^KwJEqME]MYc@SK}AKSOG{@La@MY]WcAA[Ju@Vk@b@[lCSrc@XnKd@`B^nA~@n@lA\\jBXxEH`Ek@xr@SL_Ak@ALf@r@?PIAe@e@aMcJUWEc@a@ug@CuMDsMTaC~@aCXuAt@iLCeAa@qAM{@PiCJyEtAaLdA}GjAyG`CeLlDaNlCgIj@u@l@g@l@_BzAyC`EsGlFqGls@_x@bEyExDaF`EwGnAaClC}FjBgF`BwFfAkFhAwGr@cGb@qFTwDJ{DBsECkB{@wM}Ck\\aAgMg@gJmAoEi@_BuBeFkGkPsAaH]uAqCeI{BmIgCkMc@wC_@cD[}EM}CQcJAaEPsY`@uK~@gLj@}Ep@mE`AuEjAmErCcIjDgHzDsI`EoHlN{[bBgDz_@wm@tCuF~EgLfAmDdAiEpAiIh@eGT}DRuJGcHKoCoCaf@DeAt@wECsBy@sMWk@aAo@U}@MmBKaIMgC[{CaA}GC_Bk@uBeFk^oDgUqDsRoEeRoBgHyIiY_BuHaAmH_@}Em@uRKcJ@sGHcG`@uKPiDn@_I`G}k@XyEH{EKmHwAo_@}B}YaAoSYwIQmLGqPFuLN_I\\aLr@mL`@_FfA}HjA{FtA_FhB}ElC}FcDbHuAtDcBdGiAzF_AjHu@hJa@vH[bKQhLEpLHtNTpLn@xP^vH`Cd[X|FdA~ZDnFGtD[rFcGbl@aArN[fIKxGAhHJpJ`@tNVnEl@jGz@vFtA`G~FfR~CxKvErRhCjMnD~SpE|ZrAfKh@bBDdBjApIT`CJtCDnFNvCRx@dAx@NVLj@x@hNCbBq@vDGn@jCne@TbI@pEKvFMlCWrDi@nFo@hEy@zDi@rBkAnD{FvMoBtD_]fi@wBxDiBzD{MtZkDhGgJ|RyAvDiAjDkAnEy@bEmAhIs@tHYjEe@bNM~R?hGFzACTPnIX`GVtCt@zFpChNlBlH`DfJ|AjI~CnInF~MnBxGpAxRfAvMvBtTp@vKHjCCzDMhE[|Fs@tHk@zDsB`Li@pBuApEoBfFeD~G{ApCkDjFaEfFm|@zaAcCdDuBdD_CnEu@jBu@n@m@`AcB|EiA|D_EjPwCrOmAfIkApJIjESrCDp@j@lB?vAw@`LWhAy@jBMdAM`B@tD}_@i@{CQkAa@IUJCtAZHPFf@MdCq@fEExAFTh@^Jl@JdVp@p[DzDCX[l@ANJz@f@nP^~@E^At@eAV",
      "dateLabel": "So., 12. Juli",
      "distanceKm": 44.2,
      "elevationM": 45,
      "importedAt": "2026-07-12T09:36:38Z",
      "durationSec": 7023,
      "durationLabel": "1:57 h"
    },
    {
      "id": "garmin-23560586967",
      "date": "2026-07-11T16:55:34",
      "type": "ride",
      "avgHr": 121,
      "place": "Indoor",
      "title": "Zone 2 - Aerob",
      "accent": "peach",
      "indoor": true,
      "source": "garmin",
      "calories": 191,
      "dateLabel": "Sa., 11. Juli",
      "distanceKm": 12.5,
      "importedAt": "2026-07-11T16:55:34",
      "durationSec": 1808,
      "durationLabel": "30 min"
    },
    {
      "id": "garmin-23549293088",
      "date": "2026-07-10T17:49:40",
      "type": "ride",
      "avgHr": 113,
      "place": "Indoor",
      "title": "Indoor Cycling",
      "accent": "peach",
      "indoor": true,
      "source": "garmin",
      "calories": 208,
      "dateLabel": "Fr., 10. Juli",
      "distanceKm": 15.5,
      "importedAt": "2026-07-10T17:49:40",
      "durationSec": 2301,
      "durationLabel": "38 min"
    },
    {
      "id": "strava-19246022835",
      "date": "2026-07-09T19:05:04Z",
      "type": "walk",
      "avgHr": 132,
      "place": "Indoor",
      "title": "Evening Walk",
      "accent": "gelb",
      "indoor": true,
      "source": "strava",
      "dateLabel": "Do., 9. Juli",
      "distanceKm": 3.2,
      "importedAt": "2026-07-09T19:05:04Z",
      "durationSec": 2869,
      "durationLabel": "48 min"
    },
    {
      "id": "garmin-23537991109",
      "date": "2026-07-09T17:58:45",
      "type": "ride",
      "avgHr": 126,
      "place": "Indoor",
      "title": "Pyramiden",
      "accent": "peach",
      "indoor": true,
      "source": "garmin",
      "calories": 382,
      "dateLabel": "Do., 9. Juli",
      "distanceKm": 25.2,
      "importedAt": "2026-07-09T17:58:45",
      "durationSec": 3606,
      "durationLabel": "1:00 h"
    },
    {
      "id": "strava-19215839781",
      "date": "2026-07-07T17:00:55Z",
      "type": "swim",
      "avgHr": 121,
      "place": "Indoor",
      "title": "Afternoon Swim",
      "accent": "blau",
      "indoor": true,
      "source": "strava",
      "dateLabel": "Di., 7. Juli",
      "distanceKm": 0,
      "importedAt": "2026-07-07T17:00:55Z",
      "durationSec": 123,
      "durationLabel": "2 min"
    },
    {
      "id": "strava-19188376965",
      "date": "2026-07-05T12:04:23Z",
      "type": "ride",
      "place": "Unterwegs",
      "title": "Lunch Ride",
      "accent": "peach",
      "source": "strava",
      "polyline": "m`|{G}sgtAQZICy@{AoF_Hi@cA{DeE_MyN}EoEiB{B}DmGgA}BiG_L{AmDiAiBeO{YaFoKqCwH{AmKiIay@c@gKn@eNDkDKyCNW?Ye@}As@qD_EcL}BwFUuAyCcI{DwM_@cBo@_B_ByGGwBe@wBYyBs@}Cq@eAc@yBi@iDu@{GGsDP_F`BiRhAuIlAyFbBiFvAgDpAwB\\cAnAgC\\GtCfA`RbJzU`BXJJP@tINlBfHd^TrBNN~AO~BLRFJV[jJ@tBL|Bd@|CzBhHj@fDPdBd@vJdBzI\\hC|ArSB`AR|Ar@tJPbGGnODnE`@hFd@bDbAnExAvDrHdNfDnH@dARt@`A`A\\v@~EzN`DnPrAnDhD|FhE`KdBrC|DlE|ArA|CnDd@r@fAbAfLzMrBnBhAt@hExApAVbIxD`JtClBjAdC`DvAjCpE~GdBxBdElEl@`Ar@jBVpAPrC`@hCf@pCzAlGb@xChAnQIrDc@fHIfF[pG}@~IG`B@|An@vFr@zJEnEFtA`@lB~CfHh@pBTfBN|F\\jCfAfGb@RJ^BdA~@hGv@~Cx@lBr@fApDzDbAx@jDdEbArBtAvEnAfGLlCC|Er@vD`AlHTjD@rAa@vGEjCf@|FLpC]tIC`C|@zND~B@z@UvG@|Ad@tDp@|BdDfI`AnDZbDPbGlA~FNpBCvAMrA{@pCe@|BMtAYhHD|BR|BhBvITnBPrGIvEHbCvA|GOEI^ExDe@rDJfCEdBFdBzBdFv@`CnBtDb@l@bCbBtAhCFNEDwB@I`@vBjENf@D`AJTVPn@Qf@Jp@`@v@hA|@Ly@Su@gAaAi@_@Ee@NWIOYE_AU{@oBqDQIuGfA}MpCmHt@gEa@{IyBg@Ek@J{AUwBCQKUi@O}@XkAAWcA_BaAiC]gBWgDwAkEUcAKsAB}@j@oFA{CPqEb@kFl@kCCwA}CwMk@mA_BiBYy@a@aDu@{D]yDU}EiAqHsAgDo@mCq@yDY_@y@SwA_FcAsAaA_DWiD_@U@eAh@g@NcBTmKZsIM}Ci@_CgAgCkK{ReAoCc@yAo@kGPcBCsAuBgIgA_P{ByMMaCDsA[o@BiDIcBOiAk@uBo@{AK{Aw@yHWiBOa@s@m@y@mEUk@WiDXsCGyB}@iDk@kDyBsHAs@Xo@?WkBuMgCyJ{AmGsAoD}DcIi@yAoA{AaCyD{IqOq@yAeAcDaA_GoAkKgAmFOsA[_@qAoC^eAvCkDR?JX",
      "dateLabel": "So., 5. Juli",
      "distanceKm": 29.2,
      "elevationM": 211,
      "importedAt": "2026-07-05T12:04:23Z",
      "durationSec": 5553,
      "durationLabel": "1:33 h"
    },
    {
      "id": "strava-19188354380",
      "date": "2026-07-05T12:03:19Z",
      "type": "ride",
      "avgHr": 141,
      "place": "Unterwegs",
      "title": "Lunch Ride",
      "accent": "peach",
      "source": "strava",
      "polyline": "ga|{GmugtAdARIQID[v@KJMCy@}AyFmHYo@}JyKmFqGmGaGeAuAeE{GcIgOoBoEyMmWoBkD_H_OqAyDsAsJoEsb@eCyWa@uIp@eOBwBIqDPk@CQeBgHsHoSQgAyAqDaFaPu@aDYe@_@qA{AoGEuB_@gBW{Bm@kCM]s@gAo@eDqAyKIaDNiEjB}SpAsJ~@iEhBwF`BqDnA{BNi@lAiC^EvChAxQ|I|U`B^JJPE|HPdC~EbVxAbIH|@zEB\\BN\\[pIArBJ|Bf@lDd@`BzA`El@dENzAb@rIlBvKTlB~AvULj@|@dLNzC?~BECFEE?ArPBlBT`Ed@hEnAfGrAdDtGrLzCpG`@~@Pt@Cf@Tv@jAlApF`P|@zDtA|Hd@fBr@jBjExHnDxIjB~CzDjEtBdB~C~DtArAnEvFzDjE~DnDnFpBfAPtHpDnJxCjAr@fAdA|ArBfBdDzFnInF|Fr@lAl@~ATrAVdDh@fD`BhHz@nFz@vLLjDMrDa@rGMfFY|F_AbKApBL|BXbCz@lLKzDHvAx@xCpClGj@`CLjAN~F^jCbA|FLRTFFTFnAfA~Gl@~Bl@|Ax@rA|DfEp@h@l@z@jBhBv@lAn@vAjA`E|@pDZvBL|BE~E~AxJf@bG?zB]bGCzBr@pKQzDMhFNvFn@bI?tDUnIFbAb@tCr@fCzDvJd@lBVtBVdInAtFPpBApAJPMAD@IdAiAdDi@pCSxCQfFJnCRdBpAnFn@fEN|FQvFHbBZhBdAxDUDIp@?pCe@hDH|CEzADdBtBzEx@jCzBfEX^hChBzAzC}BFK^tB~DRn@@r@Pb@^Pd@K`@Hp@\\`AjAz@Pc@C[Sq@gAcAg@cAJYMQe@Cu@Ww@kBoDQIuNfCsG~AwGf@iBI_BY}DkAeDo@qAD}DMYCQ]UuABe@T_AISq@u@mAeD[cBa@oE}AgESgBB_Bl@oFCmCRqFZ}Dp@wCBs@OcA}CaMk@iAcAiAa@q@w@uFc@sB{@oLs@gFqBiGuA_HWg@q@KSQ]eBm@eBaAuAq@{Ae@wBKuBa@]BkAn@_AL}ATwKZyHOkCu@}C[u@eLqTiAmCk@wBi@}FVgBIeBuBsHoAmQcAoGm@yCIiA?aC[y@DeDSmCo@{Cq@eBcAyKWyAeAqAm@gCO}@KS]sDZiEIaBy@aDw@}DkBoGEw@XgAe@eE}@uFiDeO{AiFyAgD{CcGk@{AiAuAeNuUyAqDq@sCsBcP_BwIW_@wAyC`@gA`DmDR`@",
      "dateLabel": "So., 5. Juli",
      "distanceKm": 29.3,
      "elevationM": 208,
      "importedAt": "2026-07-05T12:03:19Z",
      "durationSec": 5752,
      "durationLabel": "1:36 h"
    },
    {
      "id": "strava-19152398114",
      "date": "2026-07-02T13:44:36Z",
      "type": "hike",
      "avgHr": 131,
      "place": "Unterwegs",
      "title": "Afternoon Hike",
      "accent": "gelb",
      "source": "strava",
      "polyline": "ojwaHegzsATNnCkA|BHZYFuAt@@Td@^Dn@]n@{@Vm@jAkAbBQh@PfAnCl@z@zFvGzBpBh@z@\\hBRfC|@vCTvAPbC@tEZpCnAnCz@~CDzDP|AZhA^t@vBzCVPXp@DdBE`Ak@`E]hF[tAn@pBJx@F~E\\bDb@xBD`Dr@fGLnBGf@HBI@F?Yj@MpAAtEQtBXfBi@rBFd@q@pGBtBEl@]rAKNc@|CAxAWjENzBM`A_@xH\\dE@`BUvABl@\\z@An@GHF@?^M|@HhCFv@Xn@@h@Pf@@|@A|@LX@ZFMKPDABKGB?DDCCJ@QILROQPAALIIJHKIHCAD?ZpBV|@^bF^rB|@~BRfAXp@bAtDvAtCz@hAXrBpArCV|@Hr@@pAl@t@dArBhDvEt@V@\\HAGP`@F`@d@zAdDtAjEf@`D`@r@l@jBJNz@RLV@RMDAUEHDG@PdBnB|ApCPxA@~Aj@pAVhBBl@ObDD|@l@|Cz@lB\\tDl@pBE|Cg@fDEr@XrBn@nC\\`@Pv@Mr@UZ_AiAWDNIGEgAx@q@Lg@f@_@CFOOFH?Vv@M`BHrMTzALVjB`BNpAAn@Tt@Zd@b@VzArBHd@GzCa@bBUT]t@KLOAH??N}AtDc@d@s@EaAh@{@z@g@fAGDc@a@gE{BBECHFIEDm@s@iBiDEu@IOsDzAiAjAc@x@MQ}@kCaAgDsAuJCaASsAo@kCmBoFg@oE_ByGs@mE[iA?{@_DmGy@gD]W_@CDSCR_@Ss@aAaCwAoBsDw@_Ac@kBg@i@_BaCu@qCWeDu@eCo@kAI]PaBASs@EeF_Ic@Wk@{BiAkBi@aDMuDMYoAmAs@oBYWi@yAQcBq@_Cw@iAq@U{AmA_@_AImIg@e@Oa@?w@P_B?kAa@DGIK{BWmBQ[iAcAE[VyAf@gAp@u@|AeDnAmHi@oAi@mDUaKDsCFaAJg@HAKDJCAJCIFDEA?KDCCNECDDFCSCGmBi@wBEg@ZuM`@wBKyC}@oF]kAi@{FcAmFGoCPsC?oGg@qGc@iB@]JSf@f@^jAVtCVpA`@VXgBAeBQqAaAwDu@kEA{AUsDe@sDS_DNaDv@{CD{@?iEi@qDZgBDyERqA`@{AB}@o@w@w@Da@KqAsBe@sBOsCUgAQ{CLmAbAqCxB_EtD{CnB_@Ce@",
      "dateLabel": "Do., 2. Juli",
      "distanceKm": 15.4,
      "elevationM": 296,
      "importedAt": "2026-07-02T13:44:36Z",
      "durationSec": 13226,
      "durationLabel": "3:40 h"
    },
    {
      "id": "strava-19135131042",
      "date": "2026-07-01T10:16:57Z",
      "type": "ride",
      "place": "Unterwegs",
      "title": "Morning Ride",
      "accent": "peach",
      "source": "strava",
      "polyline": "}nwaHofzsA?Na@n@oBdBk@v@YJoCbGQvAvA~LZbAn@nA\\~A?fAUdDDvBRdBx@zDPnCKlCcAtFGlChApKV|HRdArAbEXbBCxAc@`C?jBzAfLNjDCbHnAbKChFq@pGGfBl@dHFvASvQJt@Zh@zBbBvA|Bt@tBr@rDVhCBlDKxCk@dIBlCRvBn@hClFhLrAfDTrAJxCV|Bl@~Cl@fB~AnCzDzEx@vAd@tAj@nCvA`Cp@lEp@tBxD~GbAdDdBpC|AtFpDpFf@tAbAhBt@|BrAdCTvAn@xI`@~@fA~ArC|JLjGPzBPx@jBbBt@fATz@PzBrB|ClA`A~CzAd@h@Lb@`@bGr@hClCxFtAzAlCfEp@BWVCNH`AHpE^jDh@hBrBnCxC~CpDhBr@x@j@xAFxAc@jEg@bLaAj\\a@zAcDjFo@fCOfB@zAXbDPrE`@fBnBxFNjAB`AMnAmAvBKbAP`AdAdCV`A?xFJnC`@hCbAfCpA`BfDfDt@tAN~@DbA[jDC`AJpA\\dAzCbFp@t@lChAjCFl@\\Pj@VrCEbDAlDFh@b@h@f@LNlBvApCfCu@`@DVx@Kf@B`@Vr@NBn@a@JF|@jDQn@{@Is@o@mB_@g@aAi@kCk@iAQHA^[xAmArAzAmBZoB{@kBGiBq@I_@{@CoEFeCIiBQ_BWa@[QkCEwCkAs@s@{CgFWcAKgADsAVcCAiAMaA]{@g@]eFyFaAuBc@eBUwBG}Hg@mB{@}A]cC]q@BoAQiDb@oBH_Ay@eCoBuJEaBF{AYsAEmAN}@l@mATyA`@qAfBaDN?`BdCT[Ps@hA__@d@uJ`@{DAo@Ko@_@aAg@w@w@o@cBm@_Ao@sFsGk@cBYaBO}B@eDIs@qDwFeBqByBmE{@qD_@yFK]Sa@uBmAOYYDaBmAeBgDUsBY_A{@mA{AwAWiAKiAMkGKu@qCsJcA}AKEIPM?XQ_@cBw@{JiAqB_AiCsBmEgD_FmBwGyA{B}@yCaEqHm@mBs@oE{AmCiAuE_A}AkEuFoA}B}@{Cm@kDWyFgBwEmFmLk@{BOsAEyCh@uIJgEIaDUaCo@cDs@sByAeC}BgBWi@Mm@@eFNeJKyBc@yDCqAFeBr@eH?kEKcBaAyG?wKiBmO@iAb@oC@}AOcAoB{GUkH]wDk@cFAkBfAiGJaCMkDeAcFMeBAkBVuC?eAQcAiAeCMk@uAgLBw@Lq@hC}Fr@iA`EgDzA?JUC[",
      "dateLabel": "Mi., 1. Juli",
      "distanceKm": 21.9,
      "elevationM": 139,
      "importedAt": "2026-07-01T10:16:57Z",
      "durationSec": 4198,
      "durationLabel": "1:10 h"
    },
    {
      "id": "strava-19126524602",
      "date": "2026-06-30T18:39:48Z",
      "type": "ride",
      "avgHr": 137,
      "place": "Unterwegs",
      "title": "Abendradfahrt",
      "accent": "peach",
      "source": "strava",
      "polyline": "_qvaHqnzsA`@^N^rAhBhBrBjA~A^`@hAx@b@`@b@n@L^H^Fr@FtADd@Lh@^|@V~@RdAHt@JpBAvDNtBRr@n@rA^l@Rf@Rt@P`A@hAInA@p@RlAL^`@z@PX@JIJBDGU?D@ACWYs@YaAIg@EcAFkBGy@Mu@a@qAoAgCS{@Io@K_B?mDEqAKeAUyAw@cC]wDG]Uq@QOQ]u@w@e@[oBcCiDwDw@mAw@yBIIUMUCUB{CZS@]Gy@]{@SG?SDw@j@_@z@}@dCYf@_@Vw@\\w@b@q@Ti@AKE[c@UkBIOe@i@uAaAYa@Oc@OeBI[o@oAeAcBUWe@y@a@cAM_AE_AQY[B]Aa@_@Ue@s@mAg@eB]}@c@{CQYi@}ACk@Pk@Xm@F_@CWFgCGm@We@]O_@YS[Kq@EwBFcANgATiATqBRgAD{@Ju@V}@JcALw@R_AL}@ZaAdAcBTe@D]?_@Gs@?m@?EDCD?@COk@FW?DEA@A@@ACI@EIEA@IDDAFBLFH@PHd@KZFfAB\\AZM^}@jA[j@Wv@M~@_@jBKrAI\\Sb@E\\Al@Qv@Kr@Ez@[dCQjB?pAF|@Lt@Vf@`@NJNJVFv@?bAFxAOf@Q^K^CXHr@r@fB\\hCXt@l@vBb@n@\\x@^b@`@Pp@HNrBLl@LX`@l@d@|@dBjCNd@XdCL`@`@b@zAjAV`@L`@BXIlADHLFn@Hd@CHQCWCA?I",
      "dateLabel": "Di., 30. Juni",
      "distanceKm": 6,
      "elevationM": 58,
      "importedAt": "2026-06-30T18:39:48Z",
      "durationSec": 1765,
      "durationLabel": "29 min"
    },
    {
      "id": "strava-19051898130",
      "date": "2026-06-24T18:55:00Z",
      "type": "walk",
      "avgHr": 139,
      "place": "Indoor",
      "title": "Abendspaziergang",
      "accent": "gelb",
      "indoor": true,
      "source": "strava",
      "dateLabel": "Mi., 24. Juni",
      "distanceKm": 2.6,
      "importedAt": "2026-06-24T18:55:00Z",
      "durationSec": 2121,
      "durationLabel": "35 min"
    },
    {
      "id": "garmin-23365913253",
      "date": "2026-06-24T17:56:09",
      "type": "ride",
      "avgHr": 116,
      "place": "Indoor",
      "title": "10-Minuten-Intervalle an der Sch",
      "accent": "peach",
      "indoor": true,
      "source": "garmin",
      "calories": 290,
      "dateLabel": "Mi., 24. Juni",
      "distanceKm": 20,
      "importedAt": "2026-06-24T17:56:09",
      "durationSec": 3078,
      "durationLabel": "51 min"
    },
    {
      "id": "garmin-23331094714",
      "date": "2026-06-21T17:02:52",
      "type": "ride",
      "avgHr": 115,
      "place": "Indoor",
      "title": "Indoor Cycling",
      "accent": "peach",
      "indoor": true,
      "source": "garmin",
      "calories": 409,
      "dateLabel": "So., 21. Juni",
      "distanceKm": 32,
      "importedAt": "2026-06-21T17:02:52",
      "durationSec": 4939,
      "durationLabel": "1:22 h"
    },
    {
      "id": "garmin-23286228911",
      "date": "2026-06-17T20:06:56",
      "type": "strength",
      "avgHr": 109,
      "place": "Indoor",
      "title": "Cardio",
      "accent": "rosa",
      "indoor": true,
      "source": "garmin",
      "calories": 107,
      "dateLabel": "Mi., 17. Juni",
      "importedAt": "2026-06-17T20:06:56",
      "durationSec": 1197,
      "durationLabel": "20 min"
    },
    {
      "id": "garmin-23285719651",
      "date": "2026-06-17T19:13:31",
      "type": "ride",
      "avgHr": 115,
      "place": "Indoor",
      "title": "Ihre Wahl: Intervalle in Zone 4",
      "accent": "peach",
      "indoor": true,
      "source": "garmin",
      "calories": 211,
      "dateLabel": "Mi., 17. Juni",
      "distanceKm": 16.5,
      "importedAt": "2026-06-17T19:13:31",
      "durationSec": 2281,
      "durationLabel": "38 min"
    },
    {
      "id": "garmin-23272852516",
      "date": "2026-06-16T17:34:19",
      "type": "ride",
      "avgHr": 118,
      "place": "Indoor",
      "title": "Indoor Cycling",
      "accent": "peach",
      "indoor": true,
      "source": "garmin",
      "calories": 649,
      "dateLabel": "Di., 16. Juni",
      "distanceKm": 50.1,
      "importedAt": "2026-06-16T17:34:19",
      "durationSec": 7468,
      "durationLabel": "2:04 h"
    },
    {
      "id": "strava-18645381829",
      "date": "2026-05-25T10:46:17Z",
      "type": "hike",
      "avgHr": 101,
      "place": "Unterwegs",
      "title": "Morning Hike",
      "accent": "gelb",
      "source": "strava",
      "polyline": "sjf`Hq}arACBb@Cf@KFMI[BIHGR|@DfAGv@?b@If@gBd@_@LSPe@Ry@BBIOJOZGRHv@BrANvBT`GCVKFA@BBKGGJF@?CGBDFJG@B?EIAOIO?SGMIc@g@YUMScA{Ba@{AGQGKBAAAMJD?@CC?@GF@CBBGKHE@DCH?FIK@EDBA@EYg@KAODQHK@QGGMSw@E[Wg@aAcAe@a@e@KSKe@s@EMGi@Mm@MgAKSGWCUa@}BBGEIQKS@MAe@Jk@ZMPMHQBGAq@LU?MBq@\\GJa@ZSLOVGDUN}@\\a@^aAT_@TS?i@BUPMPEA@AKII@YTC?{@f@E?GGS[c@g@M[CCQ?q@D@CCBPEHG?AIEKXJOAEIB@BJKE??ECCFNECGFy@T_@?IBKBFDKB?EKOYMEOSMGAe@D_@MWLOPC@ECGBM?]AAGa@OCIAK@IAEIFA\\BHHBPT|@r@HNDP@VKd@F@@AQ?CBGFCTBdARrAP`@V~@LTXt@JPZVHDTBFVHj@Nl@Lt@d@t@Ld@Bf@Jz@Ll@P\\NFH?VITS`@[l@WNKFKHUL}@H_@@kASs@?SFq@Ji@Bi@Fg@?[D[DI^CPKXe@H[Xa@H[JS^ENFz@hAR@NKh@o@`@YRUTKp@O`@[Z_@C??@`A]JBZXJN\\r@TX?LLh@Bf@Ed@B|@Ib@Ep@Bd@EnADtAEj@Hn@Nh@LIJm@Ja@Pm@LWPm@Nw@Jw@XcAToAHgACc@Bo@CgB@KHDXl@p@Zz@n@z@`ARt@L~@PNLAb@OP?^^Rd@Hb@Tn@Tj@^r@Z|@lAnAJB\\D`@EDQ@YG_@A}@IeA?oAGc@Cy@KuA?_@Ga@Ae@@GHKVIN@|@K\\UVEPK~A_@FIFSAc@NmAEm@SyAQCCDF`@CNoAP@?",
      "dateLabel": "Mo., 25. Mai",
      "distanceKm": 5.2,
      "elevationM": 217,
      "importedAt": "2026-05-25T10:46:17Z",
      "durationSec": 4525,
      "durationLabel": "1:15 h"
    },
    {
      "id": "strava-18635569214",
      "date": "2026-05-24T09:50:36Z",
      "type": "hike",
      "avgHr": 138,
      "place": "Unterwegs",
      "title": "Morning Hike",
      "accent": "gelb",
      "source": "strava",
      "polyline": "wmq`Hky{qA{@Ca@n@Et@R|@z@nBTdBAK[Ge@cAc@_@}BA{@U_@m@JUQFCY_@s@oA]s@o@DsAqBiDwAk@_@@Yl@VzAj@TLh@C^o@XgAAc@qAaAYFAkBwA?Pd@v@Lx@EXeAb@oAz@yAmAYkADBKBDEIl@FOINJHJtANXGR}@{@wBy@[BDVAMa@IEFJ?IH]No@C}A^c@OEPJAu@Lk@KGMuBN_A[DLOOwBd@i@l@k@dCwAbEIL[Oo@uBOWMRYv@IrAYnA{AhBq@xA[jDi@rAU`By@l@Or@q@dABx@K~@DBIFLMCHI@?MLHQLJSCCKFXWh@Ad@Wh@gHx@gC?OSNYEa@iBBq@xB_HI_A_Ae@Ie@X}ATsBf@gGA_DRiEM_Bw@o@?Yj@}ABa@?wAKqAi@mAg@W?w@YyA?gAk@aBt@sEZ_Eh@{BdAgAJi@YqAGiBgAuCUeE]gBRm@WTWc@a@{B_@wCPyCTeA^A|@e@h@c@Ti@NiBXu@JqAm@}CBYPg@f@IvAf@~@GlAbAtAzEFhAJ^@^GAHARb@l@~Ch@x@b@YZ}Ap@oBTaBGaDYmAQ{BPsElAiE`@aC`@y@TcB~@_Cn@gCj@y@ZTLf@JIGHGKNJMI\\]t@yBJo@?sE^sBP[LCl@|CfAnCCdCNbDRfA^VTENYzAqDx@u@nDKdAn@vBNnBeAfBmCp@_@f@q@JSFaAXWU?GjA]z@eAz@qAlBkB|Al@LxEs@Vb@^Pp@pAXlAZb@NjAf@H@@ICHGGJEBDGGBJHGSH?KFB[D@KTNSKD@Z@MOHNM_@CTJJQKDJAER@a@ETLJGGDIGLASDJCL?UCJFD@QEDDJGMDXE[CJJAIFDSGN@@DYKj@SO\\MER?S]KO|Ca@fCc@~@oAlDs@bDInAJv@Az@{@rEyAXeAl@o@nAqA`Gi@t@g@d@?RIEw@bAg@pAy@t@DR]nC@z@a@~C\\fAJ`B@vBEf@QCHCIB`@dAv@^x@rADZXPl@dD@f@RBHVEVN`BW`ADZMNLJ@h@Q`AFl@KZHhAGlBDMAZ@KTHIp@HNK`@^v@Mb@XDNl@EPNHGRHODFA^JFId@SJRHO\\o@XCTJ@SOJNAMJ?y@?t@EvAp@lB@PN^xB\\n@xC~AlCpAZFXh@nAjAv@E`CnEnAv@",
      "dateLabel": "So., 24. Mai",
      "distanceKm": 12.1,
      "elevationM": 558,
      "importedAt": "2026-05-24T09:50:36Z",
      "durationSec": 14228,
      "durationLabel": "3:57 h"
    },
    {
      "id": "strava-18621281409",
      "date": "2026-05-23T10:29:59Z",
      "type": "hike",
      "avgHr": 141,
      "place": "Unterwegs",
      "title": "Morning Hike",
      "accent": "gelb",
      "source": "strava",
      "polyline": "sz``Hah~qAVIHOAw@PaAXa@r@s@BDj@TpArBr@^`AuBHe@A]DWDKJAVPlAJLJTb@ADDEX^?DTJv@Ut@ElAL|@t@XJXEn@F^OjAkBTYl@[`@m@XOTDVI^@r@UZLZG\\Hl@Xv@|@t@\\t@Il@VVBxA]p@?NLXEj@c@\\G\\W\\MV{@@s@Nq@Va@bAE^O`ACv@_@Xe@VSDYCSFUCW?e@J_@n@m@Z}@r@g@N[HCJ]ZQAEFIh@BLGFOHFATDUCD@MEP@KBHEABECFDAKDJACQAHD?E@HD\\Kp@ALECBDO`@G?JCKDAICLDIA}@`@oAFg@LUEa@f@KRIDQ`@s@b@Yx@k@h@CFDCOTAJBz@ENAt@ULa@n@UPqAPSCi@Ro@?[d@Or@?j@ERWd@iAx@g@HUZQB[QUAuB^_AYk@Jo@UsAwAQ?e@W_@Lc@Mo@Pc@CSJMG_@V_@f@u@b@yAzB[P]BeB]Y_@s@Og@E_AFB@o@Ni@a@e@{@mAMk@MG\\BTIl@s@~A]j@C?P^Bd@BBOf@MNeALkA@{@e@}@iAKAUh@C|@IDDAEBDBCGBD@IEF@D?GA@?BB??IC@@FC@BNGEUNNVLCGCNt@NlAMFOi@GkAEQLK?c@DACMFEOa@MEFATZHl@E`A^\\Zn@Cn@Bp@FXAVe@v@aABoDVkAG_AYQXNl@\\\\d@`An@`@nBbB@ELHbBzBd@~@v@n@l@pAzAp@JLlAXv@Gp@c@^o@b@CPOr@JZ^l@FHMTB@GADPDLAJE@GbBsANFHIBDCB@EAHBKj@AXWXCPQ\\EPOX@PJLYJ?NaAT[CADEJg@@[BEBFL[?KBLGCDB?GEDHHLDQOBJCJAWC?HAADFBIACGB?K\\E?CPBSE?KfAE@K^G?AZ[fAYQ[E]RS@WR_@HWXeACYb@s@b@O?ANMBa@IQBMN[Ey@e@SKQPc@A_@f@ISIGoBx@qCY[XCNBn@BCG[@g@Cy@EUMYaA}@cAgBwAeBk@_@{BgB[k@US_@{@UMAF@CC??GECHBAD@E?DAIABDDGBD@@GADD?ECj@a@l@HFHpAP|D_@`@BRG`@y@IkA@[Dw@f@aCCUEUq@eAQKa@JMCMYAoAE]ISQA",
      "dateLabel": "Sa., 23. Mai",
      "distanceKm": 8,
      "elevationM": 382,
      "importedAt": "2026-05-23T10:29:59Z",
      "durationSec": 10105,
      "durationLabel": "2:48 h"
    },
    {
      "id": "strava-18598310988",
      "date": "2026-05-21T18:25:36Z",
      "type": "ride",
      "avgHr": 150,
      "place": "Unterwegs",
      "title": "Evening Ride",
      "accent": "peach",
      "source": "strava",
      "polyline": "{mmfH{rg~AJUC?ABDeAEe@S]AKMqBKuEQeFDmATw@?]G}B?_AYiJOcMMyE?mEEuB?gHAKIQSQWIImAM[ECQBq@Jk@SOSGOQs@Aq@N}@Xa@l@[r@KfAAx@DrN?zTVhBJfBDtCXn@Pd@TPLd@f@NVTj@ZtALlAD~@PvF?jFg@zk@Gn@M@w@o@I?ADh@z@@HIBiBwAq@e@qEiD_CgBQSC_@QwQG}MIqJIeE?eCJsH@cDPyB|@wB\\cBv@gLCw@i@mBEa@@c@N_CDgDHgAn@gF`AgHh@eDv@gEhA}F|BcK~AgGr@aC|@mCbAcCbA{@|@yB|BkEf@}@nBuCpBkC\\]|AgBrC}CfOsPnAyArGgHvLcNhKiLlAyA|AuBxAuBlAqBnBsDz@cBjAgCp@_B`B{E|AyFxAoHn@wDj@aFXwC`@yGP}FBgEKmCk@eIg@iGeBsQm@eHo@yIi@wI}@iDoCyH]s@mF}My@oC{@aFS_A_@iAgAyCgA_D{A_GuCeOa@aCk@aGMmCKkCQ_KCqGJuMB_DHyDT{Fb@_HZuD`@qD^mCh@}Cx@}Dn@eCx@oCnAiDx@uBn@oAdAkAXc@P_@@UGKODY\\ARHVN?JEJ_@IKKUaAoAsFiIw@aAy@{@q@_A_@GMBGFINZb@J?^]E]KMYGWN@n@G\\Sx@Kh@M`@mBvEi@|A_BlFsAhFoDhQUxAeCvMYfB[~CEv@G|A?bCFvGC\\W~@Ej@BpA^jAFbCVxi@N~TXtCl@dCN\\RTJDlAXPVDXAJa@zCQx@Yl@STSNw@ZaAXqAVeCXwCRKFOTCNoAfI_@h@UTSHQ@y@MO@]G}Aa@MHCDENA^IhAWpHEpB?fCDfD^jIF~C@nCArCInCWpC[rCg@~Ce@hCiAdEaHpRk@fByAvFYxAO^s@zCsAbIa@`DoBrMyA`Ju@xC}@tCmAhDcBnDyHnMmI|MKj@Nd@f@r@HXAH{D`KgB|F}CbLyBhHaAxDgFhQgBpGSl@]r@Bf@MPKf@aApCkAxDaAhEe@bCQxCAtBHbBTnC\\hBE`@Fr@BjB?bBShLWrH?lAKpAElBCTK`@An@@|EFnDFxAJ~@UdCCv@PJ~@XPHb@d@j@bAd@fAb@t@bAdAPFpCA`@TFRBX@pAAxEH~G@vDP`HLxJP|EA\\H`CA^IVSVCb@RhDJxEN~Db@~AEb@@n@w@JQ?BA?M",
      "dateLabel": "Do., 21. Mai",
      "distanceKm": 23.2,
      "elevationM": 56,
      "importedAt": "2026-05-21T18:25:36Z",
      "durationSec": 3922,
      "durationLabel": "1:05 h"
    },
    {
      "id": "garmin-22950640365",
      "date": "2026-05-20T18:13:54",
      "type": "ride",
      "avgHr": 128,
      "place": "Indoor",
      "title": "Ihre Wahl: Intervalle in Zone 4",
      "accent": "peach",
      "indoor": true,
      "source": "garmin",
      "calories": 401,
      "dateLabel": "Mi., 20. Mai",
      "distanceKm": 23.5,
      "importedAt": "2026-05-20T18:13:54",
      "durationSec": 3607,
      "durationLabel": "1:00 h"
    },
    {
      "id": "strava-18546744722",
      "date": "2026-05-17T19:16:02Z",
      "type": "ride",
      "avgHr": 117,
      "place": "Indoor",
      "title": "Evening Ride",
      "accent": "peach",
      "indoor": true,
      "source": "strava",
      "dateLabel": "So., 17. Mai",
      "importedAt": "2026-08-11T08:55:34.881Z",
      "durationSec": 1800,
      "durationLabel": "30 min"
    },
    {
      "id": "strava-18367539226",
      "date": "2026-05-01T09:04:24Z",
      "type": "ride",
      "avgHr": 149,
      "place": "Unterwegs",
      "title": "Morning Ride",
      "accent": "peach",
      "source": "strava",
      "polyline": "{mmfHyvg~AFGW]Gs@k@kPBWTg@BkBWaJ]sQA{IGuD?kFEyAOWa@QEyAQUqAHk@_@[w@E]@u@Lk@Zc@\\O~BQ`OBhWZpERdCZhA`@v@r@f@bAZtAVrDJnE?rFi@dl@EZoAm@APl@v@?FO@{GaFsEuDM]QwRU}_@AmDHuKVeCbAiCPsAt@wKA{@o@_CAk@N{BHyDh@cF|ByOdAgGdBkIfDyMvA{Ev@uBp@_Bp@k@Xc@n@cBpAiCvBoD~DoFbS_Uph@_l@hF}GhDwFtBaEtB}En@aBrBoGd@iBbBwIh@kDn@cFf@sGVsHFuGCmAS{Dw@cKuC{ZeB_WuA_FyA}DHCBBOC_H_Qs@wBgAoGWaAqB{FuAoEsAwFoBmJgAcI_@yE[yJG}EAuGH_NJaIPaFr@oKpAiLpA}GhBgH~AyE|AkD~AiB\\}@GUQD_@d@FVX\\Ne@?UKa@_CsDs@s@aD_FyAgBs@gA_@D[r@PNLCHSFc@EIMH_@l@Ab@YlB}AnD_AnC_CrH]tAo@rCwH`a@]tB_@`EIbBDzL[tAAvAd@fBj@dcAHdAZvBj@xBb@d@nAXTVDf@u@pEYx@g@h@{C~@uIt@Sf@}@rGS|@e@p@w@T}BWmAc@EJSzAO|BUhIB|Gf@hMDlDA`CO|E_AzIkAdGk@rB{GbRmAnDeA|D_@pBi@nBeAdFwEb\\aArF}@jDyBlGoAnCaFpIm@nAaEjGwE|HmDOi@[o@F_@Io@g@i@o@Qs@s@_@e@}@YcA_@yEUyBgHqZIo@EkAHgAAk@[IQDk@r@o@fA]FKKMuCEKDa@IwBSCgGzCgEfE_G|I{@z@cFjD_Aj@a@H[b@a@Vq@vDEpAg@dE{Ag@QBAHHRK[?JA[FRb@I|@d@HBDI`@oCHeCf@}CGMg@PmFrCy@@kAMK^CVDnCG~@[vByAhGS`BGDsA_@aBUGb@KxA?fBMl@YtF@lFHpC`@~GbCrPpAlKXxAVNtBe@dCM`Cd@rAn@xAfAnHfGp@v@`@r@Jr@QxAMh@?l@r@zAFb@_@|JFpBP|@rAfFXvCKp@Jj@RAd@s@XOnA_@lDs@TRj@bGBrBm@dXU`IIv@DPV`@`@lMaBfV]`HClADn@~@APv@h@xF@rDMnOB`B~@zFV~BBbCKhGmA~GQpACr@DLLJjBWn@?hC_@lIyABM",
      "dateLabel": "Fr., 1. Mai",
      "distanceKm": 27,
      "elevationM": 55,
      "importedAt": "2026-05-01T09:04:24Z",
      "durationSec": 5163,
      "durationLabel": "1:26 h"
    },
    {
      "id": "strava-18294569440",
      "date": "2026-04-28T18:03:04Z",
      "type": "ride",
      "avgHr": 123,
      "place": "Unterwegs",
      "title": "Evening Ride",
      "accent": "peach",
      "source": "strava",
      "polyline": "unmfH_sg~AZEFGAIDqA_@gAGcAGsB?o@C_@?gAIcCMiCP_@Ju@?WGk@CyDK{CEkFMgGGuAOeO@i@Eu@BEADD@AD@?EC?CDD?D?CGCDEB@G??DBG?F?E?BCA@CCB@B@AD@EE@?EBDF@IGBDBBIGDCA@BBCG?F?E@F@?CABBCAV?Q@CAEA@B?ABAC@B?AAB?EC?B@DC?GAB@GC@?E?X@B@A@EIJBC@ME?IJAC@BLEB@GEBD@GBXAG@EA?@J@GAEG@?C?@BAA??EA??D?CB?CPCbDHpBD|HPjIB`BRvHB`DDdAAd@AJMRM^l@rQDf@X^DZG\\DXGVEDaAP?B@CBLATCDGACB",
      "dateLabel": "Di., 28. Apr.",
      "distanceKm": 2.2,
      "elevationM": 2,
      "importedAt": "2026-04-28T18:03:04Z",
      "durationSec": 970,
      "durationLabel": "16 min"
    },
    {
      "id": "strava-18249219444",
      "date": "2026-04-25T09:43:21Z",
      "type": "ride",
      "place": "Unterwegs",
      "title": "Morning Ride",
      "accent": "peach",
      "source": "strava",
      "polyline": "mmmfHivg~AEOYa@C]Q}IMsDEe@B]Rk@Dy@IiBi@qZSeT@_DEYKUg@WEWB[Gc@ISUIc@LY?]KY_@O]Is@Bg@Ja@h@w@ZMp@MpJAdSNvINvGZ`BZl@Zl@h@Xb@Vj@TfAZ|DJnE?zEm@nm@EHG?y@g@G?ANf@n@CPiA_AuF}DsDwCMUE]g@kr@?cFDuC@gFPqBx@qBXgAZyD`@{GE}@e@{AGk@RyCHoEz@eHxAcKbCyMbBsHx@iDpBgHt@aCfAwCVa@`A}@`@iA`AqBjBgD`BgCfDiEd|@saAjEyFjCeE~CcGxAaD~AgEvAoEz@iD~AoIj@uDd@kE^oEV}ENwGA_Ew@kMwB{T{@{J}AkUiAoEkAeDuEgLiC_Ha@cBe@uCe@sB{AgEoA{DgB_HyB_Lo@aE[wCWeDWyFMiHCgDNaXLqFZiHb@cG`@iEf@_Ex@wE|@cE~@oDfAcDvAqD~BcF^i@n@aBfCsFpDmGdOe]tAsC~DyG~Zof@xCkGjC_Gp@eBjAsDhAuEn@sD\\eCf@oFPgCPoEDgEAiGOsF{@cOM_DEQIaAu@_NDu@v@uEA{Aw@eNWw@o@[YYOg@E[KmBK_IM_C[}C_AsGIoBg@mBsE_\\aDwSkBuK}A{HqC{LaBuGgDkLwDmLMm@?JH\\lCfIjFdRtCjLzAhHhA|FzBbMVvBl@jDvDpWdBlMf@vADfB|@lG`@vDJdBFlHNrCJj@JX`Ar@NTLh@v@`MDfAEt@w@rECp@jCzd@PvGBfGGhEWlFSzCg@xEa@xCy@|DmArE{@fCqG|NwAhCk\\fh@yBxD}B|E_N|Z}DdHkEnJkBrD_B`EiAjDiAdEi@`Cu@bEg@fDm@tFe@hGU|DUfHSzXJvKJzDRlEXzDTtBr@pEpBxJnAfF~@fDrBtF\\lAT`A`@hCb@pBxBfGfFjMrAxDjAfEjAzQfApM|B|Ut@bMDnAAnAMlHOlCYzDw@|Hs@lEyAvHw@zCaBlF}@|BkDpHaChEyD|FuCnDo|@~aAw@lAOFa@h@aBbCuCbF{@hB_@dA_Az@_@p@oAlDqB`H{BbJeAvEeCxM{AjK{@dHI|ESzBDr@h@nBDj@Cl@o@dJKjAYdAo@tAQjAMpB@zBBRCVg]a@kDKu@Gq@QMGKWr@BRHJ^Bb@GlBy@bFApAFRXJNLHd@D|NJtHDjALzJTpIHfFIf@Ub@ATb@xJ?bALxC\\v@DRGf@B^CRgAP",
      "dateLabel": "Sa., 25. Apr.",
      "distanceKm": 34.5,
      "elevationM": 45,
      "importedAt": "2026-04-25T09:43:21Z",
      "durationSec": 5822,
      "durationLabel": "1:37 h"
    },
    {
      "id": "strava-18238984022",
      "date": "2026-04-24T14:53:39Z",
      "type": "ride",
      "avgHr": 152,
      "place": "Unterwegs",
      "title": "Afternoon Ride",
      "accent": "peach",
      "source": "strava",
      "polyline": "onmfHesg~AHITGCFAUBk@A[Wq@SaCKgCEiCIwCEw@@ITg@Fo@CgAYiEG_BA_BOyFCwDCmBCqHAsHB_FEYEI[WMSOoASY[Fm@Bc@YOQKYMs@Bu@Pi@X_@ZSb@IjBCnCBfCEdQRdCFfCAtADzENlBJlAPl@RXNj@f@NRNXTj@J`@Jv@NjBJlBFhC@fDC`Gg@ta@A~DCFM@c@[[MCDFXj@~@v@z@l@LxAPhBL~KnDlBd@rDl@bHj@|AZ~@DpA@jBLR?h@e@@BBb@AnBEHQHYB_@@uCGoEJcAGqAOMBIHGJCNMpAaAhPM`Bs@rEWxBIjDChCBlA\\dCFnBD`@x@rDLnAKvBAb@Fz@O`@QlB@\\z@vBBp@EdAUf@m@n@g@p@Qz@a@|DYpDSpDI|CYtDO|EOnCAjC@xEe@jIA\\LVr@RFDHRZvBn@vCjAlD~AzCJTRxABrD?`DJb@f@RCh@BtAGV_@l@aAp@aAj@Of@?p@Bf@VfBB\\OTOHSDU?a@E{AWe@EmAEoBZc@N_@RiF`EoDjCuCtBuBlAGJMZE\\?ZFXbCnEX|@Lt@R`BFPFNRTRD\\@NKX{A@]c@iBk@mBkAyE}EsTk@oE}@}FOqAUkA]aB{AsGq@aCa@qBe@yCe@cEMyAWsBo@{Gm@gJ[yGKgDUqFEaBIMEAoARw@D[HEHA`@LdDAl@G?MWW{@WgAc@{AeAeFOsAB_@r@eBlDeKXyB@{AIaCCyAyAoa@I{AMmFcAcXOwBCMO_@Yk@m@o@G?MFUj@Eh@@dAFrAPzADtACLMVmCz@MBqADOD_@R]?]H_@DCB",
      "dateLabel": "Fr., 24. Apr.",
      "distanceKm": 12.3,
      "elevationM": 65,
      "importedAt": "2026-04-24T14:53:39Z",
      "durationSec": 2415,
      "durationLabel": "40 min"
    },
    {
      "id": "strava-18227331950",
      "date": "2026-04-23T16:19:00Z",
      "type": "ride",
      "avgHr": 155,
      "place": "Unterwegs",
      "title": "Afternoon Ride",
      "accent": "peach",
      "source": "strava",
      "polyline": "_omfHa|g~AB}AS}HGcAFWPc@BM?s@GeBQmII}AAaCGqFIaCGkHGqNGWMSMGQCCICeACOISGGGA_@LYDOCUMa@i@Ok@CQ?OFq@Na@JOXYTIZG^C~@ArCBvEC~@DfC?nBDRAbQRfENjAJ~AVz@\\b@`@`@h@Zv@TdAN~ARbEBnB?dG[lZMlPEHEBE?y@o@E?CHBNTXXl@^b@VNj@NvARxBRjExA~C`AvBl@|Bb@bCZjF^f@Jp@Pr@H~CFj@D\\ALGXe@`@aB@]?sAAIk@AGE[EO?IBG?x@BJBBBVEPR?vACXKh@KZGf@?f@B^ATsOdAu@KI@IBEHCLGfAM|@o@hK]jEeArHGv@G`CA~EVpBTtDx@|DJz@?b@KlBHx@?HMXEVMtAA`@Hb@`@`ANh@Fz@Gn@M\\m@r@WT[f@EPG\\WhCWrC]jFObEQlCQfFQdDEzD@VA|DE|@Il@SlEFVFHPH\\DLNFPNlAPdAl@hC`@pAXz@fBfDNd@NdADbB?dGDLFJXJFF@N@~AALKZ_@h@a@^yA|@KVEXAh@LrAPlAANEFc@P]BuCm@WEg@B]ESBy@Pi@Ne@R[RcFxDiD~BsCrB{B|ASTENE`@?NFZBJfApBrAxCNt@LlALh@LTHDLFb@BHAFIHYN{@@a@CMi@_Cs@oCq@{Cm@uBk@uCaBiHW_A[iBoAgJkA}GkAgF_BeGw@kF}@wIgAeMYqEWuFk@wOCKEGGAc@HuBNGBERA^JfADrBCHIFGIIm@Qu@]}@}@gD_@sBSiAA_@D_@r@kB|CeJR_APkABqAQoFOeCAmAsA_a@mAu\\GiAQcAYg@k@w@IEG?I?GFEHOt@Cl@X|FCt@M\\GFaAXWLq@LWJeAJm@Nk@Fa@LIAAFHB@HGPKFGEB?LQ@o@QlA[NBAO}@O^FCDFEAR?",
      "dateLabel": "Do., 23. Apr.",
      "distanceKm": 12.3,
      "elevationM": 61,
      "importedAt": "2026-04-23T16:19:00Z",
      "durationSec": 2426,
      "durationLabel": "40 min"
    },
    {
      "id": "strava-18227239924",
      "date": "2026-04-23T16:17:35Z",
      "type": "ride",
      "avgHr": 149,
      "place": "Unterwegs",
      "title": "Afternoon Ride",
      "accent": "peach",
      "source": "strava",
      "polyline": "apmfH{rg~AA?B@LGz@I@CBw@Ak@GOK?KSGw@IqB@kBSoGGcAX{@D_@?aAOgE?yASsFEaBE}EEqAAuBQ}K@gIEYEIMKWQIqAGQa@?WHWBMCSMU_@Uo@Eq@Dq@Ro@TUXOPEd@GdACxDBzC?tNLdD@fCHfB?hABfBN`CHr@J|@TdAl@NR^l@Z|@H`@TpBNlDB|CEfK]p_@CpFCFG@s@c@WKDRZj@Pb@JN`@b@JDVFdBVtAFh@F~DtAxGpBzDr@x@H~DX~APxAZrAFdA?xADN?JEPYd@eBD{@AgAC@MEIDm@CYEM?ACAF@@AGI@CCFQCAA@@@?ICZAKBEEL@a@BG@REJBC?KB?CLAECJBV?ICO@B@C@BCB?B@KBC?CE@?A?S@@C\\@MB@AGCJACB?@D?AAFC?AC@F?I@DBO?L?EA@@@@E?D@@AO@GCR@?BU@BCAA@AA?HDHAD@KAKEN@J?O@LAC@@?CBCP@HFAC?DBDIDAAFGAC?@BCAF@MCD?N?CAC?BB?ACA@FBIK@@?CT?LDNEFFNBH?BBJ?B|AAXId@UdACt@DbBI\\EDk@HiBM_AAS@s@CWB[Ao@Di@@oAI{@OQ?MLE\\]vDg@vI[lEeAdHKlBCfB?bEZbCJnCJj@t@bDHz@Ab@IbBDx@A\\Of@MlBBVf@tANl@Bx@Gp@K\\i@t@]ZQVKXQhAk@jGY`EMbEOpBQxESlEElEBb@AvCOtBU|EFVPJl@LDDHZLlAX~Aj@zBl@dBbAvBr@rANf@JfA@jIDZDF`@NBJ?lBE\\MVOT[VcB`AIFKTE^@h@^bDANMPc@Hc@?yBa@e@G]?g@GiB\\WJk@XcFxD_BfAeFrD_C|AIJMXE`@B^FVlBrDt@dBXdCJXJTNJl@BFCFGJ[L{@?m@WqAgCyJ_CeKiAqE}BwO_AkFw@qDeB{Gk@sDuAaMq@qHm@cJQmDk@mPIc@GCcDb@E\\FdADzCMDEGMs@Mm@e@}Aw@_D]cBS{AAQ@OJ]bEsL\\aBLuBEkCWeHOwFcAaXmA_^M_CIa@Sk@m@{@SOO?OPQhAFjBRpDAt@OZc@Xe@L]Pa@Fc@NcAHMCID?BLAc@La@Du@NAKAB?LCRKF",
      "dateLabel": "Do., 23. Apr.",
      "distanceKm": 13,
      "elevationM": 70,
      "importedAt": "2026-04-23T16:17:35Z",
      "durationSec": 2757,
      "durationLabel": "46 min"
    },
    {
      "id": "strava-18213655501",
      "date": "2026-04-22T17:26:56Z",
      "type": "walk",
      "avgHr": 119,
      "place": "Unterwegs",
      "title": "Afternoon Walk",
      "accent": "gelb",
      "source": "strava",
      "polyline": "qomfHorg~A\\OPEX?JRLjBDhADb@DdBHbBVtG?b@HjCEbAOtAA`@NxCDfBDb@@hACl@Il@I\\Yl@UIOKCDC?UW_@}@MUy@gAq@s@OWe@cAOSQDM?WRi@t@o@r@ULCH@BLEBBIIOYHBDFEHM?OF[XGBCCCM[aA_@u@?[Ku@k@yBU_@Cs@GYY_AQa@c@qAKyA[_Ay@cD[}@O]Ac@@Qx@kB^k@RSpASZ?`@CzB[RMHq@P?r@F`AQNQJYIcA?sAGs@CwAB_AAg@KeAF_B?_BAo@Go@?a@ES@eDRuAOk@Ku@C_D@mBGqBAuFEeDB_@JSAO?}@NeA",
      "dateLabel": "Mi., 22. Apr.",
      "distanceKm": 2.7,
      "elevationM": 11,
      "importedAt": "2026-04-22T17:26:56Z",
      "durationSec": 2051,
      "durationLabel": "34 min"
    },
    {
      "id": "strava-18169186487",
      "date": "2026-04-19T10:15:17Z",
      "type": "ride",
      "avgHr": 158,
      "place": "Unterwegs",
      "title": "Morning Ride",
      "accent": "peach",
      "source": "strava",
      "polyline": "oomfHisg~A@RAIf@ETIA?CWDq@Ia@MKI?Iy@GmAGsFI}DEq@?KDSRm@B}@GcAGuEOcEE}COaLCoFGkB?mJEkAKUi@YEwAY[w@NG?e@MYa@Qk@Es@B]F]LWJMZU\\MtBIbCDjEGzRRpMVtD^f@L`Ah@l@t@NZV`AVtBN|CHlC@~Cm@jn@Cv@IBcAm@CJ@D^`@JXM@mAcAaHcFaCqBMQCYMwU[}\\HcOFoARaBbAsCRyAt@gLA]G[i@aBC[@[N{AJgFj@kF~AyK`@eCfBsJnAuF`DaMzA}E~@kCNYV[n@g@JSl@}AvBiEx@wAtB}CdCwCnAuAh_@kb@hG{GrEiFhIcJ|AkBrAiBhA{A|@wAjCwEfBmD|AkDz@_Cl@gBpAqEtB_Kv@oFTiBj@gHPgCJmCHqE?gDa@}HOoBg@cGqBgSoAwOi@}JE]oAsEiAqCa@oAm@{ABD?CCABDB?A@AECD@@@GA@i@oA_FgMa@cB_@wBc@}B]oAwCmIcB}GwC{Na@wCi@iGWsFGqCGoHAmCPmWP}FNuC\\iF`@aFr@wFb@eCx@iEj@_Ch@oBf@aBh@}A|AwDpCgG~@iBrBoEr@uAlAmBh@eA`Pu^nByDh^ck@hAqBhCuFT]?DB@C?ACD?E?@A@BC?DACDAAHEEFCK[h@mCrFmAtBoRlZmI|McAdBw@xAiAfCiIdRoA|C_ApBiAvB_AxAq@nA{DjIs@pAqAvCeBnEiBvFq@bCmAnGe@tCw@dHUfCc@`HO|CI|DQvW?rEFdEThHRxDRdC\\lC`@hClBxJn@rCv@rCl@tBnBnFn@rB|@nFd@jB`GrOf@`AfAnCr@rBj@pBb@lBXjFhAzOpD|_@\\nFNpCDxBCzDGhCIxBSzCc@lFYfCgA|G}AxHkAdEkBpFmAvCaArBcCnEgAhBiAdBuApByAjB{G~HiAjA_W|XgLtMyHpIeE|EiAxA_AtAsCtE}AbD[|@u@j@_@f@INyAjE_A|CwB`Iy@hDaAnEyAlHuBrNaArHG~AE`CGdAKdA?d@BXj@lBD^?\\k@bJUzBg@|Ae@fASfBCj@A`DLD?FBIACCD@IAEDZCDCQB?CRM?eHEaXa@oBQiA]KO@CdADb@LFPHzAEf@U|Ac@fBIp@E|@@\\HJXHNPHX@ZBlF?`BDnDFhINfIDvDXrNGTMTG^XvHFfCHdCDb@DJXb@?RG`@F\\CPeAREB?C",
      "dateLabel": "So., 19. Apr.",
      "distanceKm": 27,
      "elevationM": 41,
      "importedAt": "2026-04-19T10:15:17Z",
      "durationSec": 4816,
      "durationLabel": "1:20 h"
    },
    {
      "id": "strava-18093713147",
      "date": "2026-04-13T18:07:33Z",
      "type": "ride",
      "avgHr": 132,
      "place": "Indoor",
      "title": "Evening Ride",
      "accent": "peach",
      "indoor": true,
      "source": "strava",
      "dateLabel": "Mo., 13. Apr.",
      "importedAt": "2026-04-13T18:07:33Z",
      "durationSec": 3485,
      "durationLabel": "58 min"
    },
    {
      "id": "strava-18075056765",
      "date": "2026-04-11T17:52:16Z",
      "type": "ride",
      "place": "Unterwegs",
      "title": "Afternoon Ride",
      "accent": "peach",
      "source": "strava",
      "polyline": "wlmfHstg~ASl@B{@Cc@QWKa@E{@YcMKwADc@J_@De@E_ACwCCcAAiHCwACwECcAIqAI{DWcFCyA@yCBcCAc@EKY[UMOcAOg@QI]He@Ea@m@M_@Cc@Dw@Pm@Zc@ZM`@GtAGnH@v\\ZvDL|AJjALpA^d@ZPPn@hAPn@F`@RrBLxCBxA?hDWhUW|YAJMJ{@i@@NRRPb@EFiA_AkHkFeAy@gAcAIc@EgPGkHM{LCeFAeG@cDF{BD_ELcBbAkCPy@^sE\\sF?]Gk@]iAMk@?[NoBJmEb@eEz@qGf@eDlAcHtBqKvBaJ|AyFv@gCrAuDh@o@\\UPYd@mAjA}B`AcBhC}D`C_Dx@aAjEyEbTeVrO}PbOuPzC{DJM?CIBU^cC|CMUHZCFgi@~l@yT|VcArAsApBqAtBeBdDw@rBORk@d@UXQ`@u@pBa@jAm@vBkB|GwBjJ{@hE{AlIy@pFeAzH[nDG|DStB?XFf@\\fAHd@Bf@Ch@q@~JUtAeAjCKz@KxAAzA@bADFFEAHCEBC@FCDCEBA?P_@?uVQ[CCSCB@HAICDB?EKB@@EBBG|@DzDAzBi@xXKvC[bDYzBWdBW~Ae@bAEzBPtGHd@FVHTh@t@|BnCl@z@BJE`@Mb@CZBtBFjBAbAEXU^e@To@b@q@Zq@L[@EFa@Le@Dm@L",
      "dateLabel": "Sa., 11. Apr.",
      "distanceKm": 13.1,
      "elevationM": 39,
      "importedAt": "2026-04-11T17:52:16Z",
      "durationSec": 2479,
      "durationLabel": "41 min"
    },
    {
      "id": "strava-18069307126",
      "date": "2026-04-11T17:52:10Z",
      "type": "ride",
      "avgHr": 150,
      "place": "Unterwegs",
      "title": "Afternoon Ride",
      "accent": "peach",
      "source": "strava",
      "polyline": "immfHksg~ACGBHAmBSWQaAIkCEwCM{EGm@BWVq@@i@GoBAkASaEIsJOiJEiAG{J?sFEm@KQUKMQIcAQ]S@YFa@@c@WQUSy@AKBs@Jq@Zi@XSj@M`BE|AFjB@~@CxJFvCFhNJ|EPlALpAXZPf@\\Xb@Vf@V|@H`@N~ALrCHtD?~Ei@tg@?rCKPMEy@e@GH@Fb@d@HPAFA?MMa@]gBkA_FsD{BgBU_@AY?wHIcG[m`@@yKD_ENmBFW|@oBTgAz@uL?o@E[g@aBGc@R{CFaEVgCp@kFp@wEnAwHvBoKfByHr@iCzAgF|AwEVo@LQfAgAX_A\\u@rAeClAqBrB}CzBsCnWsYpCaDvA{A|KaMbDuDtKyLhBaC^_@DMCIaAzAyAfBKWE?GC?@?A?@?AD@CA?BF?BBHVyA~A?Fe@b@aBlBkKjLaBdB{HxIoLrM}H`J_GpGy@fAwApByA`CgBdD{@`COPa@X_@`@S\\Wr@qAvD}BhIuCbMkA|FeAbG{AlKg@`ESzBEzCUdDDf@j@zB@r@IxAa@bGSxBe@zAg@dAUxBCd@AjC@L@ABDDB?A@@ABAK?CD@?LABCA?@?A@E@TwFEyPUGAASKL@?FICCCJHECCCB@D?EDCBDB~Fm@`\\KxCSzB[zBMfAc@vCCLk@bACrA@lAF|CH|AZpAh@v@jDlEATOz@Ep@ZfHCZKRu@Vs@\\mA`@cAJAEA?CFWHW?gAN",
      "dateLabel": "Sa., 11. Apr.",
      "distanceKm": 13.3,
      "elevationM": 46,
      "importedAt": "2026-04-11T17:52:10Z",
      "durationSec": 2682,
      "durationLabel": "45 min"
    },
    {
      "id": "strava-18042294892",
      "date": "2026-04-09T17:03:57Z",
      "type": "ride",
      "avgHr": 106,
      "place": "Indoor",
      "title": "Afternoon Ride",
      "accent": "peach",
      "indoor": true,
      "source": "strava",
      "dateLabel": "Do., 9. Apr.",
      "importedAt": "2026-04-09T17:03:57Z",
      "durationSec": 1971,
      "durationLabel": "33 min"
    },
    {
      "id": "strava-17996822856",
      "date": "2026-04-06T11:03:00Z",
      "type": "ride",
      "avgHr": 126,
      "place": "Indoor",
      "title": "Lunch Ride",
      "accent": "peach",
      "indoor": true,
      "source": "strava",
      "dateLabel": "Mo., 6. Apr.",
      "importedAt": "2026-04-06T11:03:00Z",
      "durationSec": 3485,
      "durationLabel": "58 min"
    },
    {
      "id": "strava-17988202300",
      "date": "2026-04-05T12:35:46Z",
      "type": "walk",
      "avgHr": 132,
      "place": "Unterwegs",
      "title": "Lunch Walk",
      "accent": "gelb",
      "source": "strava",
      "polyline": "ojifHw_y}AMf@?JGAOZEDCVEBE`@Bb@GHCTPTIEE@IP[EGLGHAIE@w@a@WCIIU?@Ba@M?BG@@DCBKB[Ga@[UCW@IE]DULYDEFc@@GCS?SFeAAqBLiBGkCBQGEMWqE?uBJuBH}@FuBDo@CSSES?oCd@e@TcAv@MFcAHu@Iw@JISDMRK~@Sb@Y^i@DAACADG?DBOoA?YY}AE]FiBIe@K[k@sC_AeCGe@Ai@G[g@mAK}@A{@IYYo@i@s@IeASp@M_AKa@O[[[MUOo@i@wACa@Bg@Ci@?_@DSV_EDSRo@AgAE]CaAQWE@o@p@o@T[?UUFe@B?ACFQPsAAO_@s@G]D[L]D]A[@s@ASFq@AUWg@EUBYN_@HIbAOf@MJOJ_@PEHNEPSX?RFHJEXu@\\g@Tc@BAd@u@JKDQ?WAEAWDm@KcCKOc@CeA]}@kA[YKUIFDKD[Bw@AUOw@Ic@EGCF?t@Eb@IZYl@w@bAWn@SN?CI?}@RYAQPDLNL?DRLNVh@ZHNF@HHDP?lAFpACr@@?M\\[ZQl@a@jCB]BB@JCMDJDA?FGA?BE@B@CH@C@DC?@CDPBA[FYZEJOH_@FCJOFMNWL_@b@BNTBRJNLHR?~@Kf@KJOFc@@GEGKI_@EGG?SZ?FMf@Q`@Kf@A`@?CJ`@PDRRXHb@b@R\\F@PNPZTJJpBP`@LPF?RGXQ^Gr@URHL\\Dj@C@@@ANDd@LjDNbA`@bAh@fCDHD@GFB@l@dDPlACB@ADJFXf@t@N^^b@j@|AR\\l@rCBz@C\\INCAWr@ETFzACZKTm@n@k@PkAm@c@Ag@Uy@Xm@b@a@^ELQBs@]GISGKBc@PSZ?FGBMb@@|@BXNf@B?@EEc@?UF]h@g@FAPHNPDHH\\b@t@JZNVb@^XLTDHEFMJ_@^o@NBNGJBHILAHBPLHRXfBNTPFf@OVSF@PQ^KFGX@HId@IPQ`@KBDEMj@Of@@TG?KQDACB?C@^O\\Br@g@n@[~Ck@XCVDFJ?JSdF@nAO|BFt@DhALrA?XFHr@CjAF^CjBBbCGdAKp@BTJPEDDv@B\\IL?LKHALF?CTF`@KPBPPF@BA?EVH`ABJa@LUDSRKT_@F]R_@Ja@D?BILELH@FA@BCCB",
      "dateLabel": "So., 5. Apr.",
      "distanceKm": 7.3,
      "elevationM": 229,
      "importedAt": "2026-04-05T12:35:46Z",
      "durationSec": 5924,
      "durationLabel": "1:39 h"
    },
    {
      "id": "strava-17971740209",
      "date": "2026-04-04T10:48:02Z",
      "type": "ride",
      "avgHr": 155,
      "place": "Unterwegs",
      "title": "Morning Ride",
      "accent": "peach",
      "source": "strava",
      "polyline": "ummfHotg~Ac@GPb@IN`@OAC@DJaAC[_@mAKwAM{@CmAK{B@m@Km@DsACmAFYTs@@]Q}BCq@McA?_@JeA?QEkAIkAIcBBsAC{DIs@O{FOaB?s@HoACkAF}IKUQMQHc@Ja@Ae@H?D|@KT@LK^mA?WSFKNWLm@BUa@a@{@EUAg@D_@B}@HUV[VONMHCNBLIh@FNIfA?l@PB?FMJEh@Dd@Cp@?HB`AG`@DbCDjAAvCVtBGpA?xAC~BNnABf@AtBPdB?f@DP?`@F~@XfAv@n@dAX|@Nt@JnAPrEB`CYvQE|ECl@AbDIdEAlBCbBE|EIHOCi@[E?ADj@`ARb@^d@VRVLf@@p@FTAHDD@PF~@GpCt@hGnBxA^|@N`ATfKdAt@RfALxDJb@ATMDIFB@~@CnAOVo@F{A@gAEc@E_D@cACeAMa@AMFITI~AOnAS~DOnBK|Ce@pEa@fCYvDCd@AzFNr@RrAHzBHx@n@pCJjAC`A?rBEh@WpAEv@Fh@L\\d@x@Hh@@XI|@[r@_@d@m@d@Uh@WpBw@vLOrFKlAYlGE`@Eh@G|DBnFUhFKdAA`AFRFFTJN@XRt@vETz@p@`CZp@d@v@t@vAPj@Nr@Bb@FxF?~A\\\\NBAxBQd@i@z@]V{@Za@b@EnALhBJVFXCVINQFM@o@C_BYUKYGUA]?_@EeAXm@J}@^w@h@gAv@KNUROBMH_@`@oAx@sCxBiAx@eBdAg@`@ONOb@CZ?XJVlArBbAtBNj@F^VvBRh@PLNB\\?PKHYL_BCQe@{AYc@Mk@?K]qB]uAO}@a@aBaB{HeAoDYeBWyBgA}HyAoImCgK]gBYqBIsASyBOq@YwBGqAa@iESeCWkEAeAM_AIeBw@qQIOG?eC`@UDGFEH?VJjAFhCCPEBECIk@K[Ie@s@cCq@uCOqAW}A@i@Lg@xCgIl@kBNy@RuBEkDg@cM@kA[qEG{DIsBGuCQgFUuEK}CCiBi@mKIiCEa@Ok@{@iAMKM?IDUn@Gh@LfCNhBDdBCXOPWLy@Jc@Rm@HyAXIC_AL}@V",
      "dateLabel": "Sa., 4. Apr.",
      "distanceKm": 12.5,
      "elevationM": 125,
      "importedAt": "2026-04-04T10:48:02Z",
      "durationSec": 2448,
      "durationLabel": "41 min"
    },
    {
      "id": "strava-17952301602",
      "date": "2026-04-02T17:58:03Z",
      "type": "ride",
      "avgHr": 122,
      "place": "Unterwegs",
      "title": "Afternoon Ride",
      "accent": "peach",
      "source": "strava",
      "polyline": "ssmfHgqg~A??",
      "dateLabel": "Do., 2. Apr.",
      "distanceKm": 0.1,
      "importedAt": "2026-04-02T17:58:03Z",
      "durationSec": 18,
      "durationLabel": "0 min"
    },
    {
      "id": "strava-17939529927",
      "date": "2026-04-01T17:19:11Z",
      "type": "ride",
      "avgHr": 133,
      "place": "Indoor",
      "title": "Afternoon Ride",
      "accent": "peach",
      "indoor": true,
      "source": "strava",
      "dateLabel": "Mi., 1. Apr.",
      "importedAt": "2026-04-01T17:19:11Z",
      "durationSec": 3079,
      "durationLabel": "51 min"
    },
    {
      "id": "strava-17914828681",
      "date": "2026-03-30T18:24:06Z",
      "type": "ride",
      "avgHr": 126,
      "place": "Unterwegs",
      "title": "Evening Ride",
      "accent": "peach",
      "source": "strava",
      "polyline": "uumfHgmg~Ai@WGAEIS@FDjARDOTO]MGOzAJw@JKL\\C|AzASh@TMD{@Aq@LMOGK@a@y@\\MF[Xm@t@GKt@AAq@JCNP@[Da@NRQ@YNCT@g@XD@M@LGFIGFEEY?XCFKVCI?eA`@yAAe@Fm@@",
      "dateLabel": "Mo., 30. März",
      "distanceKm": 0.9,
      "importedAt": "2026-03-30T18:24:06Z",
      "durationSec": 446,
      "durationLabel": "7 min"
    },
    {
      "id": "strava-17898020835",
      "date": "2026-03-29T10:53:26Z",
      "type": "ride",
      "avgHr": 119,
      "place": "Indoor",
      "title": "Morning Ride",
      "accent": "peach",
      "indoor": true,
      "source": "strava",
      "dateLabel": "So., 29. März",
      "importedAt": "2026-03-29T10:53:26Z",
      "durationSec": 3603,
      "durationLabel": "1:00 h"
    },
    {
      "id": "strava-17855209536",
      "date": "2026-03-25T16:45:44Z",
      "type": "ride",
      "avgHr": 128,
      "place": "Unterwegs",
      "title": "Afternoon Ride",
      "accent": "peach",
      "source": "strava",
      "polyline": "{qmfHoqg~A@BBBd@FaAG_@RgAET?@S|FMu@DYFED~@IDGACL?k@F`@?cA@EC]BdACaAH}BAtFQdBAoEFZCHFKFGQ}@Jl@@GbAWGXy@FA]@nAQQNk@IT@C@m@QARGNKF[Li@DKDP?fAq@EOC@@BBANOq@BZNDALGH?LDXQR?IBGL@VNABFc@HzBcAv@DRGMAkBP_@Rb@BqFhAUG\\SnDMEBBCJBb@IEAJIr@CHJkB\\?DU@",
      "dateLabel": "Mi., 25. März",
      "distanceKm": 1.9,
      "importedAt": "2026-03-25T16:45:44Z",
      "durationSec": 666,
      "durationLabel": "11 min"
    },
    {
      "id": "strava-17843015032",
      "date": "2026-03-24T17:29:57Z",
      "type": "ride",
      "avgHr": 121,
      "place": "Unterwegs",
      "title": "Afternoon Ride",
      "accent": "peach",
      "source": "strava",
      "polyline": "armfH}mg~ASXFAZi@@c@CIJGBWHH?JHMREFGINKMYNEDALAh@KLI@@M\\q@`@UL@u@b@Eo@JV\\?^j@LGHCkAe@?Bh@D?GP]{@LEFFh@MBc@G[LKLv@SqBRGMXCRGAELCBFETf@I[@pAi@RUGAFENBINE@EQCFe@b@FPDQRS[DB\\",
      "dateLabel": "Di., 24. März",
      "distanceKm": 0.9,
      "importedAt": "2026-03-24T17:29:57Z",
      "durationSec": 603,
      "durationLabel": "10 min"
    },
    {
      "id": "strava-17842225920",
      "date": "2026-03-24T17:12:25Z",
      "type": "ride",
      "avgHr": 126,
      "place": "Indoor",
      "title": "Afternoon Ride",
      "accent": "peach",
      "indoor": true,
      "source": "strava",
      "dateLabel": "Di., 24. März",
      "importedAt": "2026-03-24T17:12:25Z",
      "durationSec": 1022,
      "durationLabel": "17 min"
    },
    {
      "id": "strava-17829431596",
      "date": "2026-03-23T16:40:06Z",
      "type": "ride",
      "avgHr": 123,
      "place": "Unterwegs",
      "title": "Afternoon Ride",
      "accent": "peach",
      "source": "strava",
      "polyline": "}lmfHcrg~AFFu@PN?DGYA@GIDNGBEKIF@]TMDGF?AQAGB?BD@POFIBFD@QD?AGFUDfACBAo@AOKO?z@EKDEHL@tFQJVmAR}AQgA_@j@S",
      "dateLabel": "Mo., 23. März",
      "distanceKm": 0.6,
      "importedAt": "2026-03-23T16:40:06Z",
      "durationSec": 226,
      "durationLabel": "4 min"
    },
    {
      "id": "strava-17817767131",
      "date": "2026-03-22T15:32:33Z",
      "type": "walk",
      "avgHr": 117,
      "place": "Indoor",
      "title": "Afternoon Walk",
      "accent": "gelb",
      "indoor": true,
      "source": "strava",
      "dateLabel": "So., 22. März",
      "distanceKm": 1.6,
      "importedAt": "2026-03-22T15:32:33Z",
      "durationSec": 2646,
      "durationLabel": "44 min"
    },
    {
      "id": "strava-17817083040",
      "date": "2026-03-22T14:25:45Z",
      "type": "ride",
      "avgHr": 123,
      "place": "Indoor",
      "title": "Afternoon Ride",
      "accent": "peach",
      "indoor": true,
      "source": "strava",
      "dateLabel": "So., 22. März",
      "importedAt": "2026-03-22T14:25:45Z",
      "durationSec": 3266,
      "durationLabel": "54 min"
    },
    {
      "id": "strava-17745977167",
      "date": "2026-03-16T19:45:36Z",
      "type": "walk",
      "avgHr": 129,
      "place": "Indoor",
      "title": "Evening Walk",
      "accent": "gelb",
      "indoor": true,
      "source": "strava",
      "dateLabel": "Mo., 16. März",
      "distanceKm": 1.1,
      "importedAt": "2026-03-16T19:45:36Z",
      "durationSec": 2721,
      "durationLabel": "45 min"
    },
    {
      "id": "strava-17728421730",
      "date": "2026-03-15T10:15:23Z",
      "type": "walk",
      "avgHr": 116,
      "place": "Indoor",
      "title": "Morning Walk",
      "accent": "gelb",
      "indoor": true,
      "source": "strava",
      "dateLabel": "So., 15. März",
      "distanceKm": 3.5,
      "importedAt": "2026-03-15T10:15:23Z",
      "durationSec": 4094,
      "durationLabel": "1:08 h"
    },
    {
      "id": "strava-17727351399",
      "date": "2026-03-15T09:01:36Z",
      "type": "ride",
      "avgHr": 114,
      "place": "Indoor",
      "title": "Morning Ride",
      "accent": "peach",
      "indoor": true,
      "source": "strava",
      "dateLabel": "So., 15. März",
      "importedAt": "2026-03-15T09:01:36Z",
      "durationSec": 3438,
      "durationLabel": "57 min"
    },
    {
      "id": "strava-17722330359",
      "date": "2026-03-14T15:47:10Z",
      "type": "walk",
      "avgHr": 116,
      "place": "Indoor",
      "title": "Afternoon Walk",
      "accent": "gelb",
      "indoor": true,
      "source": "strava",
      "dateLabel": "Sa., 14. März",
      "distanceKm": 1.3,
      "importedAt": "2026-03-14T15:47:10Z",
      "durationSec": 1865,
      "durationLabel": "31 min"
    }
  ],
  "dailyBrief": {
    "date": "2026-09-06",
    "nudge": "Nach der Pause ist es wichtig, wieder sanft einzusteigen und auf deinen Körper zu hören. Jeder kleine Schritt zählt!",
    "focusWhy": "Dein Körper ist bestens erholt und die Follikelphase gibt dir Energie, aber nach der längeren Pause starten wir behutsam.",
    "createdAt": "2026-09-06T06:03:26.096Z",
    "focusTitle": "Lockere Einheit in Bewegung",
    "focusDetail": "Heute passt eine lockere Einheit, vielleicht ein entspanntes Gehen oder eine kurze, leichte Radeinheit."
  },
  "weekReview": {
    "text": "Hallo Johanna, schön, dass du da bist! Lass uns mal schauen, was die letzte Woche so los war. Du hattest vorgestern, am Sonntag, deine Wanderung am Morgen, was ein toller Start in die Woche war und dir 8,4 km und fast 3 Stunden Bewegung eingebracht hat. Ansonsten war es eine eher ruhige Woche, was ja auch mal gut sein kann, besonders da du aktuell deine Periode hast und dein Körper gerade viel leistet. Für die kommende Woche würde ich mir wünschen, dass du wieder etwas mehr Bewegung in deinen Alltag integrieren kannst, ganz ohne Druck und immer auf dein Körpergefühl hörend.",
    "createdAt": "2026-08-11T08:55:36.693Z",
    "startDate": "2026-08-10"
  },
  "bodyMetrics": [
    {
      "id": "sleep",
      "unit": "Std",
      "label": "Schlaf",
      "value": "7,8",
      "accent": "lavender"
    },
    {
      "id": "hrv",
      "unit": "ms",
      "label": "HRV",
      "value": "92",
      "accent": "mint"
    },
    {
      "id": "rhr",
      "unit": "bpm",
      "label": "Ruhepuls",
      "value": "50",
      "accent": "rosa"
    },
    {
      "id": "stress",
      "label": "Stress",
      "value": "Niedrig",
      "accent": "blau"
    },
    {
      "id": "bb",
      "unit": "%",
      "label": "Body Battery",
      "value": "100",
      "accent": "peach"
    }
  ],
  "coachMemory": [
    "Johanna hat am 5. Juli zwei fast identische Radtouren hintereinander gemacht.",
    "Johanna fühlt sich am ersten Tag ihrer Periode oft unwohl und hatte während der letzten Radtour Schmerzen.",
    "Johanna hatte am Donnerstag (9. Juli) eine Indoor-Cycling-Einheit mit Pyramiden-Training.",
    "Johanna hatte heute (9. Juli) ein Koppeltraining aus Indoor Cycling und Walking.",
    "Johanna hat am 9. Juli ein Indoor-Cycling-Training (\"Pyramiden\") mit 25,2 km in 1:00:06 Std absolviert. Die durchschnittliche Herzfrequenz lag bei 126 bpm, die maximale bei 146 bpm. Der Training Effect Aerob war 3,2 (Basis (Leicht Aerob)). Sie hat ihr Befinden als \"Sehr stark\" bewertet.",
    "Johanna hat am 9. Juli direkt nach dem Radfahren einen \"Evening Walk\" über 4,18 km in 47:50 min gemacht. Die durchschnittliche Herzfrequenz lag bei 132 bpm. Sie hat ihr Befinden als \"Stark\" bewertet.",
    "Johanna hatte nach dem gestrigen Koppeltraining keine Kopfschmerzen, was sie auf ihre erhöhte Elektrolyt- und Flüssigkeitszufuhr (750ml während des Trainings, 1,5l danach, 1,5l heute Vormittag) zurückführt.",
    "Johanna plant für heute eine ruhigere Einheit und für morgen und übermorgen längere Radeinheiten.",
    "Johanna hatte nach der heutigen Ergometer-Einheit (15,5 km, 38 min, 113 bpm avg HR) etwas schwere Beine, fühlt sich aber gut und freut sich auf die langen Ausfahrten am Wochenende.",
    "Johanna hatte nach dem Training einen Fressflash und fühlte sich deswegen schlecht.",
    "Johanna plant für heute einen Ruhetag und verschiebt die längere Radeinheit auf morgen Vormittag.",
    "Johanna hat einen neuen Brustgurt, den sie erfolgreich getestet hat."
  ],
  "achievements": [
    {
      "id": "ac1",
      "title": "Erste 200 hm",
      "accent": "gelb",
      "detail": "Am Ötscher geknackt",
      "unlocked": true,
      "dateLabel": "Juli"
    },
    {
      "id": "ac2",
      "title": "Sonnenaufgangstour",
      "accent": "peach",
      "detail": "Vor 6 Uhr gestartet",
      "unlocked": true,
      "dateLabel": "Juni"
    },
    {
      "id": "ac3",
      "title": "10 Wochen konstant",
      "accent": "mint",
      "detail": "Jede Woche trainiert",
      "unlocked": true,
      "dateLabel": "Juni"
    },
    {
      "id": "ac4",
      "title": "Erste 100 km",
      "accent": "blau",
      "detail": "Noch 28 km entfernt",
      "unlocked": false
    }
  ],
  "coachThreads": {
    "topic:general": [
      {
        "at": "2026-07-09T19:00:38.833Z",
        "role": "user",
        "content": "Heute hatte ich koppeltraining. Indoorcycling und walking. Was sagst du dazu?"
      },
      {
        "at": "2026-07-09T19:39:20.413Z",
        "role": "user",
        "content": "Test"
      },
      {
        "at": "2026-07-10T10:22:02.789Z",
        "role": "user",
        "content": "test"
      },
      {
        "at": "2026-07-10T10:22:05.001Z",
        "role": "assistant",
        "content": "Hallo Johanna! Super, dass du direkt nach dem Koppeltraining reinschaust. Das ist eine tolle Kombination, um deine Ausdauer zu stärken und den ganzen Körper einzubeziehen.\n\nDu hast heute Vormittag ein Indoor-Cycling-Training gemacht, die \"Pyramiden\", und direkt danach einen \"Evening Walk\". Das ist ja quasi dein Koppeltraining vom Feinsten! 🤩\n\nGerade die Kombination aus Radfahren und Gehen/Laufen ist super, um deinen Körper an die Umstellung zwischen den Sportarten zu gewöhnen – das ist eine Top-Vorbereitung für dein Triathlon-Ziel! Dein Körper muss sich von der sitzenden Position auf dem Rad auf die aufrechte Bewegung beim Gehen einstellen. Das trainiert verschiedene Muskelgruppen und verbessert deine Koordination.\n\nWie hat es sich denn für dich angefühlt, direkt vom Rad ins Gehen zu wechseln? Hattest du das Gefühl, dass deine Beine schon „warmgefahren“ waren?"
      },
      {
        "at": "2026-07-10T10:22:27.412Z",
        "role": "user",
        "content": "Test"
      },
      {
        "at": "2026-07-10T10:22:28.453Z",
        "role": "assistant",
        "content": "Johanna, ich glaube, da ist gerade nur ein \"Test\" bei mir angekommen. 😊\n\nKein Problem, das passiert manchmal. Ich bin gespannt, was du zu deinem Koppeltraining erzählen möchtest und wie sich die Umstellung vom Radfahren aufs Gehen für dich angefühlt hat.\n\nOder wolltest du etwas ganz anderes besprechen? Lass es mich einfach wissen!"
      },
      {
        "at": "2026-07-10T11:02:09.794Z",
        "role": "user",
        "images": [
          "coach-general-1783681329795-0.png",
          "coach-general-1783681329816-1.png",
          "coach-general-1783681329822-2.png",
          "coach-general-1783681329829-3.png"
        ],
        "content": "Was meinst du zu der koppeltraining gestern? Siehe Fotos"
      },
      {
        "at": "2026-07-10T11:02:14.361Z",
        "role": "assistant",
        "content": "Ah, jetzt sehe ich die Details, Johanna! Danke für die Screenshots, die helfen mir, deine Einheiten noch besser einzuordnen.\n\nDas war ein richtig solides Koppeltraining gestern Abend!\n\n**Zum Indoor Cycling (\"Pyramiden\"):**\n*   **Dauer und Distanz:** Eine Stunde auf dem Rad mit 25,2 km – das ist super, um deine Grundlage weiter auszubauen und deine Ausdauer fürs Rennradfahren zu stärken.\n*   **Herzfrequenz:** Dein Durchschnitt von 126 bpm und der Maximalwert von 146 bpm zeigen, dass du gut im aeroben Bereich gearbeitet hast. Das Diagramm mit den \"Pyramiden\" ist dafür ein perfekter visueller Beweis: Du hast die Intensität immer wieder gezielt angehoben und dann wieder etwas rausgenommen. Genau das, was ein Pyramidentraining ausmacht! Das gibt deinem Herzen einen guten Reiz, ohne dich komplett zu überfordern.\n*   **Training Effect:** Der Aerobe Wert von 3,2 (\"Basis (Leicht Aerob)\") bestätigt, dass du primär deine Grundlagenausdauer trainiert hast. Das ist genau das Richtige für deine aktuelle Erholung und deine langfristigen Ziele.\n\n**Zum Gehen (\"Evening Walk\"):**\n*   **Direkt danach:** 4,18 km in knapp 48 Minuten – das ist eine schöne Länge und Dauer, um direkt vom Rad umzuschalten.\n*   **Herzfrequenz:** Ein Durchschnitt von 132 bpm ist auch hier ein guter Wert. Es zeigt, dass du nach dem Radfahren nicht einfach nur locker geschlendert bist, sondern dein Kreislauf weiterhin gut gearbeitet hat.\n*   **Empfinden:** Du hast dein Befinden beim Radfahren als \"Sehr stark\" und beim Gehen als \"Stark\" bewertet. Das ist ein fantastisches Feedback! Es zeigt, dass du die Belastung gut verkraftet hast und dein Körper mit der Umstellung gut klarkam. Das ist ein wichtiges Zeichen für die Wirksamkeit deines Koppeltrainings.\n\n**Mein Fazit:**\nDas war ein sehr effektives Koppeltraining, Johanna. Du hast nicht nur deine Ausdauer auf dem Rad trainiert, sondern auch den Übergang zum Gehen aktiv geübt. Und das alles mit einem tollen Gefühl, was das Wichtigste ist! Dein Körper hat die Belastung gut angenommen und sich gut daran angepasst. Weiter so!"
      },
      {
        "at": "2026-07-10T11:04:58.258Z",
        "role": "user",
        "content": "Was mich positiv überrascht ist dass ich heute also am nächsten Tag nicht wie so oft schlimme Kopfschmerzen habe sondern gar nichts. Habe gestern während der Einheit 750ml Elektrolyte und danach noch 1,5l Elektrolyte getrunken und heute Vormittag auch 1,5l Elektrolyte"
      },
      {
        "at": "2026-07-10T11:05:00.416Z",
        "role": "assistant",
        "content": "Johanna, das ist ja eine fantastische Nachricht! 🎉 Dass du heute komplett ohne Kopfschmerzen aufwachst, ist ein riesiger Erfolg und zeigt, dass du genau das Richtige getan hast.\n\nDein Trinkverhalten gestern – 750 ml Elektrolyte während der Einheit und dann noch 1,5 Liter danach, plus 1,5 Liter heute Vormittag – ist wirklich vorbildlich! Es ist sehr wahrscheinlich, dass genau diese konsequente Flüssigkeits- und Elektrolytzufuhr der Schlüssel dazu war, dass du dich heute so gut fühlst.\n\nGerade bei längeren oder intensiveren Einheiten, wie deinem Koppeltraining, verliert der Körper nicht nur Wasser, sondern auch wichtige Elektrolyte wie Natrium, Kalium und Magnesium. Ein Mangel daran kann tatsächlich zu Kopfschmerzen, Müdigkeit oder Muskelkrämpfen führen. Indem du sie so gezielt aufgefüllt hast, hast du deinen Körper optimal bei der Regeneration unterstützt.\n\nDas ist ein super Learning für dich, Johanna! Es scheint, als hättest du einen wichtigen Faktor für dein Wohlbefinden nach dem Training entdeckt. Behalte das unbedingt bei, gerade wenn du wieder längere oder intensivere Einheiten planst."
      },
      {
        "at": "2026-07-10T11:06:00.515Z",
        "role": "user",
        "content": "Heute würde ich’s eher ruhiger angehen und dafür morgen und übermorgen längere radeinheiten machen"
      },
      {
        "at": "2026-07-10T11:06:02.452Z",
        "role": "assistant",
        "content": "Das klingt nach einem sehr klugen Plan, Johanna! 👍\n\nNach dem gestrigen Koppeltraining und der guten Erholung ist es absolut sinnvoll, heute bewusst einen Gang herunterzufahren. Dein heutiger Fokus laut Motion ist ja auch \"Locker bis moderat\", was perfekt dazu passt. Ein Ruhetag oder eine sehr leichte Aktivität kann deinem Körper helfen, sich vollständig zu regenerieren und die Trainingsreize zu verarbeiten.\n\nUnd dann morgen und übermorgen längere Radeinheiten zu planen, während du in deiner Follikelphase bist, ist eine hervorragende Idee! Deine Energie steigt in dieser Phase oft an und du kannst sie super nutzen, um an deiner Ausdauer für die 100 km zu arbeiten. Das ist genau die richtige Zeit, um größere Umfänge in Angriff zu nehmen.\n\nWas hast du denn für heute im Sinn, um es ruhiger angehen zu lassen? Vielleicht ein Spaziergang, etwas Stretching oder einfach nur Entspannung?"
      },
      {
        "at": "2026-07-10T11:06:55.518Z",
        "role": "user",
        "content": "Was wäre heute sinnvoll? Lockere Ergometer Fahrt ganz entspannt 60 Minuten?"
      },
      {
        "at": "2026-07-10T11:06:57.428Z",
        "role": "assistant",
        "content": "Ja, Johanna, das ist eine super Idee für heute! Eine lockere Ergometerfahrt für 60 Minuten passt perfekt zu deinem Plan, es heute ruhiger angehen zu lassen.\n\n**Warum das sinnvoll ist:**\n*   **Aktive Erholung:** Du bleibst aktiv, förderst die Durchblutung und hilfst so, Stoffwechselprodukte abzutransportieren, ohne deinen Körper zu überlasten.\n*   **Geringe Belastung:** Auf dem Ergometer kannst du die Intensität optimal steuern und wirklich entspannt bleiben. Es gibt keine äußeren Einflüsse wie Wind oder Verkehr.\n*   **Vorbereitung:** Du hältst deine Beine geschmeidig für die längeren Radeinheiten morgen und übermorgen.\n*   **Mentale Pause:** Manchmal tut es auch einfach gut, ohne Leistungsdruck zu trainieren und den Kopf freizubekommen.\n\nMach es dir gemütlich, vielleicht mit deiner Lieblingsmusik oder einem Podcast, und genieße die Fahrt. Achte dabei weiterhin auf deine Flüssigkeitszufuhr, auch wenn es eine leichtere Einheit ist.\n\nIch bin gespannt, wie sich die längeren Radeinheiten dann anfühlen werden!"
      },
      {
        "at": "2026-07-10T16:32:37.226Z",
        "role": "user",
        "images": [
          "coach-general-1783701157227-0.png",
          "coach-general-1783701157270-1.png"
        ],
        "content": "Heutige lockere Ergometer Einheit"
      },
      {
        "at": "2026-07-10T16:32:40.423Z",
        "role": "assistant",
        "content": "Super, Johanna! Danke für die Screenshots – das hilft mir, deine Einheit genau zu verstehen.\n\nDas war ja eine wirklich schöne, lockere Ergometer-Einheit, genau wie du es geplant hattest!\n\n**Was mir an deiner Einheit auffällt:**\n\n*   **Dauer & Distanz:** Du warst 38:21 Minuten unterwegs und hast dabei 15,50 km zurückgelegt. Das ist eine gute Dauer für eine aktive Erholung, auch wenn es etwas kürzer war als die geplanten 60 Minuten. Manchmal passt eine kürzere Einheit einfach besser in den Tag – das ist völlig in Ordnung!\n*   **Herz an Herz:** Deine durchschnittliche Herzfrequenz lag bei **113 bpm** und die maximale bei **127 bpm**. Das ist ein perfekter Bereich für eine wirklich entspannte Einheit! Du hast ganz klar im \"Basis (Leicht Aerob)\" Bereich trainiert, was auch der Training Effect von **2,0** bestätigt. Das ist genau das, was wir uns für eine aktive Regeneration wünschen: Dein Kreislauf wurde sanft angeregt, ohne deinen Körper zu stressen.\n*   **Dein Gefühl zählt:** Du hast dein Befinden mit \"Normal\" bewertet. Das ist ein gutes Zeichen dafür, dass die Einheit wirklich leicht und angenehm war und dich nicht zusätzlich gefordert hat.\n\n**Mein Fazit:**\nDiese Einheit war absolut sinnvoll und hat ihren Zweck voll erfüllt, Johanna. Du hast deine Beine bewegt, die Durchblutung angeregt und deinen Körper auf die kommenden längeren Radeinheiten vorbereitet, ohne ihn zu ermüden. Perfekt, um gestärkt in die nächsten Tage zu starten!\n\nWie fühlst du dich jetzt nach der Einheit? Bist du bereit für die längeren Fahrten am Wochenende?"
      },
      {
        "at": "2026-07-10T16:34:09.516Z",
        "role": "user",
        "content": "Fühle mich gut. Beine sind nach der Einheit und vor allem nach gestern heute etwas schwer. Aba freue mich auf die langen Ausfahrten am Wochenende"
      },
      {
        "at": "2026-07-10T16:34:11.960Z",
        "role": "assistant",
        "content": "Das ist eine ganz ehrliche und nachvollziehbare Rückmeldung, Johanna! Es ist total normal, dass die Beine nach dem gestrigen Koppeltraining und der heutigen Einheit etwas schwer sind. Dein Körper hat gearbeitet und sich angepasst, und das spürt man einfach.\n\nAber genau das ist der Punkt: Du fühlst dich gut, und die \"schweren Beine\" halten dich nicht davon ab, dich auf die langen Ausfahrten am Wochenende zu freuen. Das ist eine super Einstellung und zeigt, wie motiviert du bist! 💪\n\nDie heutige leichtere Einheit war da genau richtig, um die Durchblutung anzuregen und die Regeneration zu unterstützen, ohne die Beine noch mehr zu belasten. Es ist ein gutes Zeichen, dass du diese Empfindung wahrnimmst, aber gleichzeitig die Vorfreude auf das Wochenende überwiegt.\n\nNutze den restlichen Tag zur weiteren Erholung, achte auf ausreichend Schlaf und deine Elektrolytzufuhr, damit deine Beine morgen wieder topfit sind und du die langen Touren genießen kannst!"
      },
      {
        "at": "2026-07-10T18:12:43.207Z",
        "role": "user",
        "content": "Nach meinem Training hatte ich einen fressflash und jz fühl ich mich schlecht deswegen 😢"
      },
      {
        "at": "2026-07-10T18:12:45.788Z",
        "role": "assistant",
        "content": "Oh Johanna, das ist ein Gefühl, das viele von uns kennen und das ist absolut menschlich! 😔 Bitte sei nicht zu hart zu dir selbst.\n\nEin \"Fressflash\" nach dem Training ist oft ein Signal deines Körpers, dass er Energie braucht. Gerade nach intensiveren Einheiten wie deinem Koppeltraining gestern und der heutigen Bewegung versucht dein System, die Speicher wieder aufzufüllen. Manchmal meldet sich der Hunger dann eben ganz spontan und intensiv.\n\nEs ist völlig in Ordnung, dass das passiert ist. Mach dir jetzt deswegen keine Vorwürfe oder fühl dich schlecht. Ein einziger Moment ändert nichts an deinen Fortschritten, deiner Disziplin oder deinen Zielen.\n\n**Was jetzt wichtig ist:**\n1.  **Akzeptiere es:** Es ist passiert. Das ist okay. Jeder Mensch hat solche Momente.\n2.  **Lerne daraus (ohne Verurteilung):** Gab es vielleicht Anzeichen von Hunger, die du davor nicht ganz wahrgenommen hast? Hast du vielleicht nach dem Training nicht sofort etwas Nährendes gegessen, was dem extremen Hunger hätte vorbeugen können? Manchmal hilft es, direkt nach dem Training einen protein- und kohlenhydrathaltigen Snack parat zu haben.\n3.  **Blick nach vorne:** Konzentriere dich auf das, was als Nächstes kommt. Dein Plan für morgen und übermorgen steht, und das ist super! Lass diesen einen Moment nicht deine Motivation für die kommenden Einheiten trüben.\n\nDu bist eine ambitionierte Sportlerin, die konstant am Ball bleibt und große Fortschritte macht. Ein einzelner Fressflash ändert daran nichts. Steh auf, schüttel es ab und blicke positiv nach vorne. Du machst das großartig! ❤️"
      },
      {
        "at": "2026-07-11T14:19:24.414Z",
        "role": "user",
        "content": "Ist es ok heute einen restday einzulegen. Ich mag einfach nicht heute. Würde lieber morgen Vormittag eine größere Runde drehen. Ist das akzeptabel?"
      },
      {
        "at": "2026-07-11T14:19:26.510Z",
        "role": "assistant",
        "content": "Johanna, das ist nicht nur akzeptabel, das ist absolut richtig und wichtig! Mach dir da überhaupt keine Gedanken.\n\n**Höre auf deinen Körper und dein Gefühl.** Wenn du heute einfach \"nicht magst\" und die Motivation fehlt, ist das ein klares Zeichen, dass ein Restday genau das ist, was du brauchst. Dein Körper hat in den letzten Tagen gut gearbeitet, und auch deine Psyche braucht mal eine Pause.\n\nDeine Vorfreude auf eine größere Runde morgen Vormittag zeigt ja, dass du nicht grundsätzlich unmotiviert bist, sondern einfach den richtigen Zeitpunkt für die Erholung heute wählst. Das ist ein Zeichen von Selbstkenntnis und Stärke, nicht von Schwäche.\n\nEin spontaner Restday, wenn das Gefühl danach ist, ist oft wertvoller als eine erzwungene Einheit, bei der Herz und Kopf nicht dabei sind.\n\nAlso ja, leg heute einen Restday ein, genieße die Ruhe und lade deine Batterien auf. Das wird dir helfen, morgen mit voller Energie und Freude in deine längere Radeinheit zu starten. Perfekt!"
      },
      {
        "at": "2026-07-11T14:20:57.320Z",
        "role": "user",
        "content": "Evtl mach ich nur 30 Minuten locker am Ergometer. Hab einen neuen brustgurt den würde ich kurz testen vor meiner Ausfahrt morgen"
      },
      {
        "at": "2026-07-11T14:20:59.782Z",
        "role": "assistant",
        "content": "Das ist eine super Idee, Johanna! 👍\n\nWenn du Lust auf 30 Minuten lockeres Ergometertraining hast, um deinen neuen Brustgurt zu testen, ist das eine perfekte Mischung. So kannst du:\n\n1.  **Den Gurt in Ruhe testen:** Du siehst, ob er gut sitzt, präzise misst und sich angenehm anfühlt, bevor du ihn auf einer längeren Tour unter realen Bedingungen einsetzt. Das nimmt Unsicherheit und sorgt für ein besseres Gefühl morgen.\n2.  **Dich leicht bewegen:** Du bleibst in Bewegung, förderst die Durchblutung und hältst die Muskeln geschmeidig, ohne dich zu überlasten. Es ist eine sehr sanfte Aktivierung.\n3.  **Hören, was dein Körper sagt:** Wenn du nach 10 oder 15 Minuten merkst, dass du doch lieber ruhen möchtest, kannst du jederzeit abbrechen. Es gibt keinen Druck.\n\nEs geht darum, was sich für dich heute gut anfühlt. Wenn das ein kurzer, lockerer Test auf dem Ergometer ist, dann mach das! Es ist dein Training, dein Gefühl zählt. Und es bereitet dich gut auf die morgige Ausfahrt vor.\n\nViel Spaß beim Testen deines neuen Brustgurts!"
      },
      {
        "at": "2026-07-11T15:31:01.781Z",
        "role": "user",
        "images": [
          "coach-general-1783783861781-0.png",
          "coach-general-1783783861803-1.png"
        ],
        "content": "Fertig für heute"
      },
      {
        "at": "2026-07-11T15:31:05.145Z",
        "role": "assistant",
        "content": "Perfekt, Johanna! Das war ja wirklich eine punktgenaue Einheit, genau wie besprochen.\n\nDanke für die Screenshots! Dein neuer Brustgurt scheint gut zu funktionieren und du hast die 30 Minuten sehr effektiv genutzt.\n\n**Was ich in deinen Daten sehe:**\n\n*   **Dauer:** Exakt 30 Minuten Fahrzeit – super, dass du dich an deine Idee gehalten hast!\n*   **Geschwindigkeit:** Mit durchschnittlich 24,9 km/h auf dem Ergometer hast du eine schöne, flüssige Bewegung beibehalten.\n*   **Herzfrequenz:** Deine durchschnittliche Herzfrequenz von **121 bpm** und die maximale von **136 bpm** zeigen, dass du die Einheit wirklich im lockeren Bereich gehalten hast. Der Peak am Anfang ist völlig normal beim Hochfahren. Danach hast du eine schöne, stabile Kurve gezeigt, die genau das widerspiegelt, was du wolltest: Eine leichte Belastung, die den Kreislauf anregt, aber nicht überfordert.\n*   **Training Effect:** Der aerobe Wert von **2,3 (Basis (Leicht Aerob))** bestätigt genau das – es war eine aktive Regenerationseinheit, die optimal zur Vorbereitung auf morgen dient. Kein unnötiger Stress für den Körper.\n*   **Brustgurt-Test:** Das Wichtigste: Der Brustgurt scheint einwandfrei funktioniert zu haben! Die Herzfrequenzkurve ist schön gleichmäßig und plausibel. Jetzt bist du bestens vorbereitet für deine längere Ausfahrt morgen.\n\nDas war ein sehr guter Abschluss für heute, Johanna. Du hast auf deinen Körper gehört, den Brustgurt getestet und bist jetzt optimal für morgen vorbereitet. Ruhe dich gut aus und freu dich auf die lange Ausfahrt!"
      },
      {
        "at": "2026-07-21T18:06:18.354Z",
        "role": "user",
        "content": "Hab seitdem überhaupt keine Motivation. Bin dauernd gestresst weil immer was is und dauernd müde"
      },
      {
        "at": "2026-07-21T18:06:22.787Z",
        "role": "assistant",
        "content": "Oh Johanna, das tut mir leid zu hören, dass du dich gerade so fühlst. 😔 Es klingt, als würden dich die letzten Tage und vielleicht auch die \"Fressflash\"-Situation ganz schön belasten.\n\nDiese Gefühle – mangelnde Motivation, Stress und Müdigkeit – sind ein klares Signal deines Körpers und deiner Psyche. Es ist superwichtig, dass du darauf hörst und es ansprichst.\n\n**Lass uns das mal zusammen anschauen:**\n\n*   **Stress:** Du sagst, du bist \"dauernd gestresst, weil immer was ist\". Das ist ein großer Energieverbraucher, auch wenn es nicht körperliches Training ist. Manchmal sind es viele kleine Dinge, die sich summieren. Gibt es vielleicht etwas Konkretes, das dich im Moment besonders stresst?\n*   **Müdigkeit:** Die Müdigkeit passt gut zum Stress. Wenn der Körper ständig in Alarmbereitschaft ist, braucht er mehr Erholung. Auch deine Schlafdaten der letzten Tage waren mit 7,4 Stunden solide, aber vielleicht ist die Schlafqualität durch den Stress beeinträchtigt, selbst wenn die Dauer passt. Und die Lutealphase, in der du dich gerade befindest, kann die gefühlte Anstrengung erhöhen und zu mehr Müdigkeit führen – dein Körper braucht jetzt mehr Erholung.\n*   **Motivation:** Wenn Stress und Müdigkeit hoch sind, ist es ganz natürlich, dass die Motivation fürs Training in den Keller geht. Dein Körper versucht, Energie zu sparen.\n\n**Was jetzt wichtig ist:**\n\n1.  **Nimm das ernst:** Das ist keine Schwäche, sondern ein wichtiges Feedback deines Systems.\n2.  **Kein Druck:** Vergiss für den Moment die \"längere Ausfahrt morgen\" oder irgendwelche Trainingspläne. Priorität hat jetzt, dass du dich wieder wohler fühlst.\n3.  **Fokus auf Regeneration:** Dein Körper schreit nach Erholung. Das kann bedeuten:\n    *   **Priorisiere Schlaf:** Vielleicht brauchst du gerade mehr als die 7,4 Stunden. Versuche, früh ins Bett zu gehen.\n    *   **Stressmanagement:** Gibt es kleine Dinge, die du ändern kannst, um den Stress zu reduzieren? Eine kurze Meditation, ein gutes Buch, Musik, ein Spaziergang in der Natur (ganz ohne Leistungsgedanken)?\n    *   **Nährende Ernährung:** Achte darauf, dass du regelmäßig isst und deinem Körper gute Energie gibst, um die Fressflash-Situationen zu vermeiden.\n\nWie wäre es, wenn wir den morgigen Plan komplett über den Haufen werfen und du dir stattdessen wirklich einen kompletten Ruhetag gönnst, der nur dir gehört? Kein Ergometer, kein Druck. Nur das, was dir guttut, um wieder ein bisschen Energie und Ruhe zu finden.\n\nWas hältst du davon?"
      },
      {
        "at": "2026-07-25T12:45:12.738Z",
        "role": "user",
        "content": "Nach der neuen Tour heute bin ich jz müde und erschöpft"
      },
      {
        "at": "2026-07-25T12:45:16.303Z",
        "role": "assistant",
        "content": "Hallo Johanna,\n\nDanke, dass du dich meldest und mir sagst, wie es dir geht. Es tut mir leid zu hören, dass du dich nach deiner Tour heute müde und erschöpft fühlst. Das ist ein klares Zeichen deines Körpers, das wir ernst nehmen sollten.\n\nIch sehe, du warst heute unterwegs und hast eine Radtour gemacht, nachdem du gestern über Stress und Müdigkeit gesprochen hast. Es ist völlig verständlich, dass du dich jetzt erschöpft fühlst, besonders wenn du schon vorher keine große Motivation hattest und dein Körper eigentlich nach Ruhe verlangte.\n\n**Lass uns das mal genauer betrachten:**\n\n*   **Dein gestriges Gefühl:** Du hattest gestern schon das Gefühl, gestresst und dauernd müde zu sein. Das war ein deutliches Warnsignal.\n*   **Deine heutige Belastung:** Auch wenn ich die genauen Daten deiner heutigen Tour noch nicht habe, war es offensichtlich eine zusätzliche Belastung für deinen Körper, der bereits am Limit war.\n*   **Die Lutealphase:** Wir sind immer noch in der Lutealphase deines Zyklus (Tag 21), in der der Körper von Natur aus mehr Erholung braucht und die gefühlte Anstrengung höher sein kann.\n\n**Was jetzt wichtig ist:**\n\n1.  **Höre auf dieses Gefühl:** Müdigkeit und Erschöpfung sind keine Zeichen von Schwäche, sondern die Art deines Körpers, dir zu sagen: \"Ich brauche eine Pause.\"\n2.  **Absolute Priorität: Regeneration.**\n    *   **Schlaf:** Versuch, heute Nacht so viel wie möglich zu schlafen. Geh früh ins Bett, schaffe eine ruhige Umgebung.\n    *   **Nährung:** Achte darauf, dass du jetzt gut isst. Dein Körper braucht Energie, um sich zu erholen und zu reparieren. Denk an die Elektrolyte, die dir gestern so gutgetan haben.\n    *   **KEIN Training:** Der morgige Tag sollte definitiv ein kompletter Ruhetag sein. Keine Ausfahrt, kein Ergometer. Einfach nur Ruhe.\n\nEs ist in Ordnung, wenn mal ein Plan nicht aufgeht oder eine Einheit anstrengender ist als gedacht. Das Wichtigste ist, dass du lernst, diese Signale deines Körpers zu deuten und darauf zu reagieren. Manchmal ist der größte Fortschritt, sich bewusst eine Pause zu gönnen.\n\nWie fühlst du dich jetzt direkt? Hast du schon etwas gegessen oder getrunken?"
      },
      {
        "at": "2026-07-25T12:46:06.764Z",
        "role": "user",
        "content": "Du solltest die Tour mit 40km schon sehen"
      },
      {
        "at": "2026-07-25T12:46:10.517Z",
        "role": "assistant",
        "content": "Ah, Johanna, jetzt sehe ich sie! Entschuldige bitte, da gab es wohl eine kleine Verzögerung in der Übertragung. Du hast Recht, deine \"Lunch Ride\" von heute ist jetzt sichtbar.\n\nDu bist heute 40,5 km in 2:05 Stunden gefahren und dabei 171 Höhenmeter überwindet. Das ist eine wirklich solide Tour – und das, obwohl du dich gestern schon müde und gestresst gefühlt hast.\n\n**Wenn ich deine heutigen Gefühle von Müdigkeit und Erschöpfung in den Kontext der Tour setze, wird es noch deutlicher:**\n\n*   **Die Anstrengung war real:** 40,5 km und 171 Höhenmeter sind kein Pappenstiel. Dein Körper hat definitiv gearbeitet, besonders wenn die Reserven schon etwas angegriffen waren.\n*   **Der innere Konflikt:** Du bist trotz deines Wunsches nach Ruhe losgefahren und hast eine gute Leistung erbracht. Das ehre ich sehr! Aber es ist klar, dass der Körper jetzt die Rechnung präsentiert.\n*   **Dein Wohlbefinden als Kompass:** Dein Befinden ist der wichtigste Indikator. Die Tour mag objektiv gut aussehen, aber dein subjektives Gefühl von Müdigkeit und Erschöpfung zeigt, dass es zu viel war für deinen aktuellen Zustand.\n\n**Mein dringender Rat für dich, Johanna:**\n\nNimm dir jetzt wirklich die Zeit für eine tiefe Erholung. Dein Körper hat heute zusätzliche Leistung erbracht, obwohl er schon am Limit war.\n\n*   **Der morgige Tag ist ein absoluter Ruhetag.** Bitte keine Diskussion. Kein Ergometer, kein kurzer Spaziergang, nichts, was du als \"Training\" bezeichnen könntest.\n*   **Hydration und Ernährung:** Tanke jetzt wirklich gut auf. Denk an die Elektrolyte, die dir so gutgetan haben. Iss nahrhaft, um deinem Körper die Bausteine für die Regeneration zu geben.\n*   **Schlaf, Schlaf, Schlaf:** Das ist jetzt dein wichtigstes \"Training\".\n\nEs ist mutig, zu erkennen, wenn man über die eigenen Grenzen gegangen ist. Und es ist noch mutiger, dann die Konsequenzen zu ziehen und sich die nötige Pause zu gönnen. Deine langfristigen Ziele erreichst du nur, wenn du deinem Körper auch die Möglichkeit gibst, sich zu erholen und stärker zu werden.\n\nLass uns morgen einfach schauen, wie du dich fühlst, ganz ohne Leistungsdruck."
      }
    ],
    "activity:strava-19188354380": [
      {
        "at": "2026-07-06T21:21:51.335Z",
        "role": "user",
        "content": "Hab’s diesmal sogar geschafft am nächsten Tag keine Kopfschmerzen zu haben"
      },
      {
        "at": "2026-07-06T21:21:52.508Z",
        "role": "assistant",
        "content": "Hallo Johanna,\n\ndas ist ja super! 🎉 Ich freue mich total für dich, dass du nach deinem \"Lunch Ride\" keine Kopfschmerzen hattest. Das ist ein toller Fortschritt und zeigt, wie gut du auf deinen Körper hörst und die Balance findest.\n\nDu hattest am Sonntag ja sogar zwei fast identische Touren hintereinander, und das ohne Nachwirkungen – das spricht wirklich für deine gute Form und deine verbesserte Regeneration.\n\nWie fühlst du dich denn heute, so ganz ohne Kopfschmerzen nach dem Training? Erzähl mal! 😊"
      },
      {
        "at": "2026-07-06T21:22:24.385Z",
        "role": "user",
        "content": "Ne das war ein Fehler, die wurde unabsichtlich doppelt reingelaufen die Tour."
      },
      {
        "at": "2026-07-06T21:22:26.046Z",
        "role": "assistant",
        "content": "Ah, danke für die Klarstellung, Johanna! Mein Fehler, das hatte ich missverstanden. 😅\n\nAlso war es *eine* Tour von 29,3 km mit 208 hm in 1:36 Stunden – und das Wichtigste: **keine Kopfschmerzen danach!** Das ist absolut top!\n\nEs ist wirklich bemerkenswert, wie du dich entwickelst. Dein Körper scheint sich immer besser an die Belastung anzupassen und du findest einen guten Rhythmus. Das zeigt sich auch in deiner soliden Erholung von 48% und den 7,6 Stunden Schlaf.\n\nWie war die Tour denn für dich? War es ein Genuss bei dem klaren Wetter und dem leichten Rückenwind? Und was glaubst du, hat dieses Mal geholfen, die Kopfschmerzen zu vermeiden? Ich bin gespannt auf deine Gedanken dazu! 😊"
      },
      {
        "at": "2026-07-06T21:23:24.633Z",
        "role": "user",
        "content": "Also eigentlich war die Fahrt eine ziemliche Qual weil ich am ersten Tag meiner Periode war und mich überhaupt nicht gut gefühlt habe aber ich hab trotzdem durchgezogen heute war aber einfach Periode und total viel war der ganze Tag und ja einfach nicht so gut und heute ich rostig natürlich nix gemacht einfach nur gechillt gearbeitet und so weiter und genau"
      },
      {
        "at": "2026-07-06T21:23:26.873Z",
        "role": "assistant",
        "content": "Danke für dein Vertrauen, Johanna, dass du das mit mir teilst. 🙏 Das ist super wichtig für unser Coaching.\n\nWow, das ist ja eine ganz andere Geschichte! Respekt, dass du diese Tour *trotzdem* durchgezogen hast, obwohl du am ersten Tag deiner Periode warst und dich überhaupt nicht gut gefühlt hast. Das zeugt von unglaublichem Willen und Stärke! 💪\n\nGleichzeitig ist es auch ein wichtiges Signal deines Körpers. Wenn du dich während der Fahrt so unwohl fühlst, ist das ein Zeichen, das wir ernst nehmen sollten. Es ist völlig normal, dass der Körper am ersten Tag der Periode anders reagiert und weniger Energie hat.\n\nEs ist absolut richtig, dass du heute nichts gemacht hast und einfach gechillt hast. Dein Körper braucht jetzt die Erholung, besonders nach so einer anstrengenden Fahrt, die du unter erschwerten Bedingungen gemeistert hast.\n\nWie geht es dir denn jetzt, nachdem du dir diesen Ruhetag gegönnt hast? Hast du das Gefühl, dass sich dein Körper etwas erholen konnte?"
      },
      {
        "at": "2026-07-06T21:24:39.310Z",
        "role": "user",
        "content": "Also ich fühle mich heute viel besser und hab schon wieder Bock auf Radfahren"
      },
      {
        "at": "2026-07-06T21:24:41.489Z",
        "role": "assistant",
        "content": "Das ist eine großartige Nachricht, Johanna! 🎉 Es freut mich riesig zu hören, dass du dich heute viel besser fühlst und schon wieder Lust auf dein Rad hast! Das zeigt, wie gut du auf deinen Körper hörst und ihm die nötige Erholung gibst, wenn er sie braucht.\n\nDass du nach einem Tag \"Rost\" – wie du es nennst – wieder so motiviert bist, ist ein super Zeichen deiner inneren Stärke und Leidenschaft für den Sport.\n\nHeute ist deine Erholung bei soliden 48%, was gut ist. Allerdings wissen wir jetzt, dass deine letzte Fahrt eine echte Herausforderung war.\n\nWie wäre es, wenn wir uns für die nächste Fahrt etwas überlegen, das deine aktuelle Energie und deinen Körper respektiert, damit du den Spaß am Radfahren voll genießen kannst, ohne dich wieder zu überfordern? Vielleicht eine kürzere, ganz entspannte Runde oder ein Fokus auf flachere Strecken?\n\nWas schwebt dir vor? Ich bin ganz Ohr! 😊"
      }
    ]
  },
  "integrations": {
    "strava": {
      "expiresAt": 1788749486,
      "accessToken": "f6085f207fe6212309312584e8bc03edfa782b0a",
      "athleteName": "Johanna Schierer",
      "connectedAt": "2026-07-06T20:30:29.853Z",
      "refreshToken": "45363c8e85c93e0923d602cf5d48502d92563aa9"
    },
    "lastSyncAt": "2026-08-12T11:53:28.961Z",
    "garminConnected": true,
    "lastGarminSyncAt": "2026-08-12T11:53:28.951Z",
    "lastSyncNewCount": 0,
    "lastSyncChangedAt": "2026-08-11T08:55:34.881Z"
  },
  "coachAnalyses": {
    "garmin-23537991109": {
      "text": "Hallo Johanna,\n\nschön, dass wir uns deine Einheit „Pyramiden“ vom Donnerstag genauer ansehen! Eine Stunde Indoor-Cycling mit 25,2 km – das klingt nach einer richtig guten und fokussierten Einheit. Gerade, weil du am letzten Wochenende auch schon fleißig auf dem Rad warst, ist es toll zu sehen, wie du dranbleibst.\n\n**Was gut lief:**\nDu hast diese Einheit genau in deiner Follikelphase absolviert, die oft deine energiereichste Zeit ist. Dein Körper war bereit für Intensität, und du hast diese Chance super genutzt! Eine Stunde zielgerichtetes Training mit Intervallen (wie Pyramiden-Training oft aufgebaut ist) ist super effektiv, um deine Fitness zu steigern. Deine Stimmung und Energie lagen am Donnerstag bei 5/5 – das spiegelt sich eindeutig in deiner Leistung wider.\n\n**Mögliche Herausforderungen:**\nIndoor-Training kann manchmal mental fordernd sein, da die Abwechslung der Landschaft fehlt. Es ist eine tolle Leistung, sich hier eine Stunde lang zu motivieren und durchzuziehen! Es ist auch gut möglich, dass du bei einem solchen Training ordentlich ins Schwitzen gekommen bist – denk daran, ausreichend zu trinken.\n\n**Trainingseffekt und Regeneration:**\nDeine Body Battery liegt bei starken 76 % und deine Erholung bei 76 % – das zeigt, dass du gut in Schuss bist und die Einheit gut verkraftet hast. Ein intensives Training wie dieses ist super für deinen Fitness-Aufbau. Jetzt geht es darum, dem Körper die nötige Regeneration zu gönnen. Achte darauf, weiterhin gut zu schlafen und dich ausgewogen zu ernähren, damit dein Körper die Trainingsreize optimal verarbeiten kann.\n\n**Bezug zu deinen Zielen:**\nDu bist jetzt schon 4 Wochen in Folge aktiv – das ist ein Drittel deines Ziels von 12 Wochen am Stück! Jede Indoor-Einheit bringt dich nicht nur deinen Zielen von 100 km am Stück näher, sondern auch deinen 1000 Saison-Kilometern. Mit 652 km bist du schon bei 65 % für deine Saison 2026! Das ist eine beeindruckende Strecke, die du schon zurückgelegt hast.\n\nDu bist auf einem super Weg und zeigst konstant Engagement. Bleib dran, Johanna!",
      "createdAt": "2026-07-09T17:03:23.800Z"
    },
    "strava-19188354380": {
      "text": "Hallo Johanna,\n\nschön, dass wir uns deinen \"Lunch Ride\" vom Sonntag, dem 5. Juli, genauer ansehen! Eine wirklich solide Einheit, die du da absolviert hast. 🚴‍♀️\n\n**Was war das für eine Einheit?**\nMit fast 30 Kilometern und über 200 Höhenmetern in anderthalb Stunden war das ein schöner, moderater Ausritt. Perfekt, um deine Ausdauer zu stärken und die Grundlage zu legen, ohne dich zu überfordern. Und bei klarem Himmel und 22 °C mit leichtem Rückenwind war das bestimmt auch ein Genuss!\n\n**Was lief gut?**\nDu bist super dran, Johanna! Dein Radfahren ist dein Herzsport, und das sieht man an deinen Aktivitäten. Du hältst dich konstant am Ball, und dieser Ride ist ein weiterer Beweis dafür. Es ist toll zu sehen, wie du Woche für Woche Kilometer sammelst und deine Form weiter aufbaust.\n\n**Mögliche Herausforderungen?**\nDa du an diesem Sonntag direkt zwei fast identische „Lunch Rides\" absolviert hast, könnte es sein, dass du vielleicht eine kleine Pause dazwischen hattest oder die erste Einheit bewusst etwas kürzer gehalten hast, um dich für die zweite zu sammeln. Das wäre ein cleverer Weg, um die Belastung zu steuern. Oder war es vielleicht ein technischer Neustart? 😉\n\n**Trainingseffekt & Regeneration**\nDieser Ride hat deine Ausdauer und deinen Stoffwechsel gut gefordert, aber nicht überstrapaziert. Dein Erholungswert liegt bei 48 %, was solide ist. Dein Schlaf von 7,6 Stunden und die gute HRV zeigen, dass dein Körper gut arbeitet, um sich zu erholen. Hör auf deinen Körper, gib ihm heute vielleicht noch etwas Leichtes wie einen Spaziergang und sorge für ausreichend Schlaf und gute Nährstoffe.\n\n**Dein Weg zu den Zielen**\nJeder einzelne dieser Runden bringt dich näher an dein Ziel von 100 km am Stück. Du hast in den letzten 7 Tagen über 100 km gesammelt und bist seit 3 Wochen am Stück aktiv – beides super Meilensteine! Deine aktuelle Saison 2026 hast du mit 493 von 500 km fast abgeschlossen – das ist eine fantastische Leistung und zeigt dein Engagement!\n\nBleib dran, Johanna! Du entwickelst dich kontinuierlich weiter und jede Fahrt zählt. Ich bin wirklich beeindruckt, wie konsequent du an deinen Zielen arbeitest. Mach weiter so! 💪",
      "createdAt": "2026-07-06T21:16:00.126Z"
    }
  },
  "recoveryHabits": [
    {
      "date": "2026-07-23",
      "done": [
        "offline",
        "pause"
      ]
    }
  ],
  "seenMilestones": [
    "dist-30",
    "elev-600",
    "vol-400",
    "streak-4",
    "dist-50",
    "vol-600",
    "elev-500",
    "vol-500",
    "sleep-streak-3"
  ],
  "currentSeasonId": "road-to-100",
  "trainingMetrics": [
    {
      "id": "vo2",
      "unit": "ml/kg",
      "label": "VO₂max",
      "trend": "+1",
      "value": "52",
      "accent": "blau"
    },
    {
      "id": "load",
      "label": "Wochenlast",
      "trend": "optimal",
      "value": "412",
      "accent": "peach"
    },
    {
      "id": "week",
      "unit": "km",
      "label": "Diese Woche",
      "value": "146",
      "accent": "mint"
    },
    {
      "id": "streak",
      "unit": "Wochen",
      "label": "Serie",
      "value": "12",
      "accent": "gelb"
    }
  ],
  "wellnessHistory": [
    {
      "hrv": 67,
      "date": "2026-07-08",
      "score": 40,
      "restingHr": 60,
      "sleepHours": 7.1
    },
    {
      "hrv": 86,
      "date": "2026-07-09",
      "score": 76,
      "restingHr": 53,
      "sleepHours": 7.5
    },
    {
      "hrv": 67,
      "date": "2026-07-10",
      "score": 53,
      "restingHr": 58,
      "sleepHours": 6.3
    },
    {
      "hrv": 84,
      "date": "2026-07-11",
      "score": 94,
      "restingHr": 55,
      "sleepHours": 8
    },
    {
      "hrv": 92,
      "date": "2026-07-12",
      "score": 93,
      "restingHr": 53,
      "sleepHours": 8.1
    },
    {
      "hrv": 91,
      "date": "2026-07-13",
      "score": 96,
      "restingHr": 54,
      "sleepHours": 9
    },
    {
      "hrv": 62,
      "date": "2026-07-19",
      "score": 47,
      "restingHr": 56,
      "sleepHours": 6.1
    },
    {
      "hrv": 62,
      "date": "2026-07-21",
      "score": 52,
      "restingHr": 56,
      "sleepHours": 7.4
    },
    {
      "hrv": 75,
      "date": "2026-07-22",
      "score": 71,
      "restingHr": 54,
      "sleepHours": 7.3
    },
    {
      "hrv": 47,
      "date": "2026-07-23",
      "score": 49,
      "stress": 45,
      "restingHr": 56,
      "sleepHours": 7.8
    },
    {
      "hrv": 80,
      "date": "2026-07-24",
      "score": 83,
      "stress": 40,
      "restingHr": 54,
      "sleepHours": 7.7
    },
    {
      "hrv": 78,
      "date": "2026-07-25",
      "score": 87,
      "stress": 26,
      "restingHr": 54,
      "sleepHours": 8.6
    },
    {
      "hrv": 44,
      "date": "2026-07-26",
      "score": 29,
      "stress": 45,
      "restingHr": 57,
      "sleepHours": 7.7
    },
    {
      "hrv": 84,
      "date": "2026-07-27",
      "score": 92,
      "stress": 18,
      "restingHr": 54,
      "sleepHours": 7.7
    },
    {
      "hrv": 68,
      "date": "2026-07-30",
      "score": 57,
      "stress": 32,
      "restingHr": 57,
      "sleepHours": 6.9
    },
    {
      "hrv": 93,
      "date": "2026-08-03",
      "score": 96,
      "stress": 19,
      "restingHr": 51,
      "sleepHours": 7.2
    },
    {
      "hrv": 92,
      "date": "2026-08-12",
      "score": 100,
      "stress": 24,
      "restingHr": 50,
      "sleepHours": 7.8
    }
  ],
  "activityOverrides": {
    "strava-19215839781": {
      "editedAt": "2026-07-09T18:57:53.193Z",
      "distanceKm": 0.04,
      "durationSec": 120
    },
    "strava-19246022835": {
      "editedAt": "2026-07-09T18:26:29.307Z",
      "distanceKm": 4.2,
      "durationSec": 2880
    }
  }
}