{"version":3,"file":"WorkoutLibrary.DemEvBJS.mjs","names":["_Fragment","React.useRef","React.useId","TEXT","CARD","ACCENT","React.useState","_Fragment","KEY","React.useState","React.useRef","React.useId","CARD","TEXT","ACCENT","ACCENT","TEXT","muted","React.useState","React.useRef","React.useMemo","React.useState","React.useId","React.useRef","CARD","React.useMemo","_Fragment","fetch","React.useState","React.useState","fetch","React.useRef","React.useId","React.Fragment","React.useMemo","React.useCallback","_Fragment","isCheckInStrength","__esmMin","ie","init_ssg_sandbox_shims","ne","x","_e","de","l","pe","c","init_jsx_runtime","init_npm_react_18_3_1","ce","window","init_framer_B1b760uK","addPropertyControls","ControlType","endSummiQSyncRefresh","init_supabaseClient","requestSummiQSyncRefresh","getSummiQSession","readSummiQSessionStorage","beginSummiQSyncRefresh","subscribeSummiQRefresh","summiqFetch","summiQSupabase","resolveSummiQColor","init_themeColors","init_SummiQCloseButton","SummiQCloseButton","useAiCoachModel","AiCoachAskButton","storedWorkoutIF","workoutIfUsesCurrentFtp","init_SportIdentity","SportIdentity","storedWorkoutIntensity","init_GarminAttribution","init_workoutIntensity","GarminSource","formatIF","workoutIfNotice","StravaRouteThumbnail","init_AiCoachAskButton","init_StravaRouteThumbnail","renderRouteThumbnail","init_routeThumbnail","SummiQCardIcon","name","METRIC_MARKS","metric","description","scoreKey","label","size","color","style","MARKS","init_SummiQCardIcon","WorkoutAiAnalysisConfirmation","dialog","resolved","heading","cancel","onCancel","confirm","onConfirm","button","TEXT$3","event","r","CARD$3","ACCENT$3","workoutTitle","init_WorkoutAiAnalysisConfirmation","StravaSendButton","busy","setBusy","message","setMessage","activityId","setActivityId","processing","setProcessing","workoutId","send","error","value","data","buttonLabel","labelParts","sourceProvider","init_StravaSendButton","isStrengthWorkout","sport","summaryDate","validAnswers","effort","groups","GROUPS","g","effortLoad","seconds","request","session","userId","response","API","path","init","KEY$1","changed","StrengthCheckInEditor","setEffort","setGroups","saved","setSaved","editing","setEditing","automatic","loading","setLoading","setError","revision","setRevision","user","version","statusId","effortButtons","active","controller","currentVersion","rows","workout","row","cause","reset","n","onBusyChange","save","owner","onSaved","estimate","BORDER","CARD$2","TEXT$2","next","i","node","ACCENT$2","UPPER","LOWER","values","e","current","item","onLater","host","w","useStrengthWorkoutPopup","id","init_StrengthCheckIn","analysisSamples","stream","unique","time","index","allowNegative","multiplier","a","b","analysisValueAt","samples","lo","hi","mid","after","before","gap","analysisClimbingAngle","route","result","run","flush","left","right","point","distance","rise","valid","lat","lon","elevation","previous","radians","latitude","longitude","h","step","cadenceDisplay","normalizedSport","running","unit","recordedUnit","alreadySteps","analysisSeries","fit","streams","cadence","def","sample","intervals","p","dt","median","minimum","maximum","recordedMinimum","recordedMaximum","padding","analysisPaths","runs","series","t","start","end","y","v","baseline","paths","reduced","resolution","points","j","low","high","line","analysisTime","hours","formatAnalysisValue","AnalysisSwitch","ACCENT$1","checked","onChange","TEXT$1","muted$1","WorkoutAnalysisCharts","hiddenCharts","setHiddenCharts","fillCharts","setFillCharts","zoomed","setZoomed","viewportRef","s","chartRef","viewport","ratio","focusTime","selected","percent","readings","climbingAngle","minimumReadout","formatValue","maximumReadout","readout","formatClimbingAngle","move","rect","onFocusTime","selectWithKeyboard","direction","key","init_WorkoutAnalysisCharts","amount","angle","stimulusSport","stimulusSpeed","u","positive","fresh","date","workoutDate","days","stimulusThresholds","input","metrics","source","sportRows","z","manual","first","second","ref","reference","stimulusSegments","max","categoryWeights","emptyExposure","thresholds","enduranceFloor","clamp","width","vo2Floor","vo2Ceiling","normalizeStimulus","exposure","scaleSeconds","classifyStimulus","STIMULUS_CLASSIFICATION","ordered","keys","scores","k","primary","config","secondary","explainStimulus","score","benefits","bouts","STIMULUS_AXES","mixed","calculateWorkoutStimulus","STIMULUS_MODEL_VERSION","emptyScores","fail","duration","sum","variableTerrain","preferences","segments","coverage","target","scale","runStart","runEnd","dose","length","segment","weight","init_workoutStimulus","axis","StimulusBar","open","setOpen","tooltipId","root","dismiss","muted","CARD$1","TEXT","WorkoutStimulusProfile","profile","ACCENT","COLORS","axisLabel","init_WorkoutStimulusProfile","estimateRouteDistance","durationMs","covered","rad","q","meters","init_workoutDistance","calorieSourceLabel","letter","workoutCalories","useSummiq","mode","caloriesRequest","URL","body","KEY","saveCaloriePreferences","useWorkoutCalorieMode","state","setState","generation","load","init_workoutCalories","round","digits","parseFitActivity","args","dateLocale","activeDateFormat","format","useDateFormat","setFormat","enabled","mounted","update","token","recordingBrandFromSource","match","device","brand","words","RECORDING_BRANDS","importedRecordingBrand","existingWorkout","matchingDuplicateRecordings","offset","otherDuration","countedDuplicateRecording","connected","linkedIds","DuplicateRecordingEditor","options","setOptions","setLinkedIds","busyRef","sessionFromToken","from","until","query","headers","SUPABASE_KEY","SUPABASE_URL","candidates","linked","workoutProviderLabel","WORKOUT_PROVIDER_OPTIONS","provider","isTreadmillWorkout","workoutSportLabel","WORKOUT_SPORT_OPTIONS","applyPolarSportDetail","detailedSport","aiCoachNoteFromMetrics","formatDate","dateFormat","formatDateTime","formatWorkoutDuration","minutes","remainingSeconds","within","raw","readableError","serialized","fallback","writeSyncProgress","SYNC_PROGRESS_STORAGE_KEY","progress","SYNC_PROGRESS_EVENT","nonNegativeNumber","number","supabaseError","detail","automaticCompletionCandidates","activity","day","plans","plan","candidate","automaticallyLinkCompletedWorkout","base","plansResponse","linksResponse","best","check","downloadPolarFit","POLAR_DOWNLOAD_FUNCTION","blob","filename","loadStrengthDurationModel","activeResponse","activeRelease","releaseChain","seen","parentId","parentResponse","parentRelease","releaseIds","release","releaseFilter","rulesResponse","conversionsResponse","releaseOrder","rules","conversions","rule","conversion","entriesResponse","entries","entry","strengthLookupForDuration","bounded","matching","durationMinutes","lowest","estimateStrengthLoad","model","outputValue","trainingLoad","utl","metadata","aiCoachText","payload","coachMessageId","prefix","savedCoachConversation","unmatchedFallback","role","content","fallbackIndex","matchingMessage","storedTime","storedCoachConversation","messages","saveWorkoutCoachConversation","formatCoachMessageTime","storagePath","sha256","hash","byte","thumbnailKindForFit","renderMetricThumbnail","kind","canvas","ctx","min","xFor","yFor","resolve","repairZeroPowerThumbnail","power","fingerprint","assertActive","image","upload","patch","thumbnailPlaceholderLabel","storageRetryDelay","signal","reject","abort","timer","milliseconds","readFitWithRetry","temporary","attempt","url","onRetry","mapStorageThumbnails","output","items","signedThumbnailUrl","loadEffectiveAthleteZones","metricTypes","profileResponse","responses","thresholdsResponse","activationResponses","metricType","zoneSets","activation","useGeneralHr","metricEnabled","savedSeilerZones","selectedSport","threshold","moderate","zones","zone","metricsResponse","powerThreshold","formatZoneDuration","rounded","remaining","zoneSampleSeconds","times","gaps","sampleGap","totals","nextTime","transform","total","selectZones","sportZones","variant","generalHrZones","zoneDistributionColor","palette","SEILER_DISTRIBUTION_COLORS","ZONE_DISTRIBUTION_COLORS","zoneDistributionLabel","derivedSeilerZones","standardZones","third","fourth","last","effectiveSeilerZones","workoutPowerCurve","durations","energy","integral","watts","CompactWorkoutZoneBar","setActive","colors","range","summiqAccentAlpha","WorkoutPerformanceDetails","curve","hasCurve","ZoneDistributionPanel","models","showConventional","hideMetricHeader","SUMMIQ_ACCENT","isIntensitySource","emptyDashboardCoverage","validZoneModel","storedZoneSeconds","add","zoneSecondsTotal","normalizedDistribution","classified","recordedDuration","savedDuration","dashboardRowsFrom","results","byId","workouts","cachedRows","ai","container","dashboardCoverageFrom","counts","workoutZoneMetrics","standard","seiler","hr","pace","paceSeiler","speed","speedSeiler","usePace","normalizedUnit","recordedFitSeconds","timers","calculateIntensityDistributions","distributions","measured","totalSeconds","remainder","priority","calculateDashboardWorkoutDistributions","saveWorkoutZoneDistributions","loadDashboardWorkouts","includeFiles","page","loadDashboardCache","ids","dashboardZoneMetrics","metricFor","totalKnown","count","StackedZoneBar","setWidth","observer","cumulative","visible","center","DashboardIntensityDistribution","intensityDialog","intensityTitle","setRows","workoutCoverage","setWorkoutCoverage","zoneView","setZoneView","notice","setNotice","recalculating","setRecalculating","calculationBusy","currentUser","chooseZoneView","preferred","cacheWarning","nextRows","recalculate","updated","skipped","failed","zonesBySport","zonesForSport","reload","zonesChanged","events","heartRate","bar","hasData","compactBar","percentage","CARD","loadLeaflet","existing","LEAFLET_CSS_ID","css","existingScript","LEAFLET_SCRIPT_ID","script","routePoints","formatCoordinate","MapPanel","mapRef","markerRef","ready","setReady","disposed","map","L","latLngs","MAP_ROUTE_COLOR","fitRoute","resizeObserver","closest","latLng","stressExplanation","IntensityFactorInfo","MetricInfo","IF_EXPLANATION","position","setPosition","show","hide","explanation","WorkoutCoachPanel","transcriptRef","clearing","deletingMessageId","onClearHistory","hasFit","onStartReview","onQuestionChange","onDeleteMessage","pendingQuestion","elapsedSeconds","onSend","question","modelSelection","WorkoutLibrary","props","inputRef","selectedFile","setSelectedFile","selectedFiles","setSelectedFiles","dragging","setDragging","status","setStatus","polarImportRunning","library","setLibrary","libraryLoading","setLibraryLoading","deletingId","setDeletingId","selectedWorkoutDetail","setSelectedWorkoutDetail","aiAnalysisTarget","setAiAnalysisTarget","cancelAnalysis","duplicateEditorOpen","setDuplicateEditorOpen","duplicateControlsId","recordingLinked","setRecordingLinked","recordingLinkError","setRecordingLinkError","checkLink","repairMissingRouteThumbnail","caloriePreference","selectedCalories","titleEditing","setTitleEditing","titleDraft","setTitleDraft","titleSaving","setTitleSaving","titleError","setTitleError","workoutIF","selectedIF","sportPickerRef","sportPickerTitle","sportDraft","setSportDraft","sportSaving","setSportSaving","sportStatus","setSportStatus","sportEditing","setSportEditing","providerDraft","setProviderDraft","providerSaving","setProviderSaving","providerStatus","setProviderStatus","providerEditing","setProviderEditing","detailTab","setDetailTab","detailFit","setDetailFit","detailFitStatus","setDetailFitStatus","displayedDistance","stored","recorded","detailZones","setDetailZones","detailZonesStatus","setDetailZonesStatus","analysisFocusTime","setAnalysisFocusTime","aiCoachStatus","setAiCoachStatus","aiCoachAnalysis","setAiCoachAnalysis","aiCoachMessages","setAiCoachMessages","aiCoachQuestion","setAiCoachQuestion","aiCoachElapsedSeconds","setAiCoachElapsedSeconds","aiCoachPendingQuestion","setAiCoachPendingQuestion","aiCoachModel","aiCoachLoading","setAiCoachLoading","aiCoachClearing","setAiCoachClearing","aiCoachDeletingMessageId","setAiCoachDeletingMessageId","durationText","distanceKm","openWorkoutDetail","openFromCalendar","cancelled","closeWorkoutDetail","saveWorkoutSport","priorCalorieMetadata","calorieReset","saveWorkoutProvider","currentProvider","saveWorkoutTitle","title","savedTitle","zoneGeneration","refreshZones","hasAnalysisData","detailZoneMetrics","stimulusInput","loadRecalculating","setLoadRecalculating","loadRecalculationStatus","setLoadRecalculationStatus","loadRecalculationPending","loadWorkoutId","recalculateTrainingLoad","refreshed","intensityDistributions","startedAt","note","requestAiCoachAnalysis","sentAt","optimisticId","optimisticMessage","conversationBeforeRequest","analysis","receivedAt","returnedConversation","existingAssistantContent","nextMessages","saveError","clearWorkoutCoachHistory","previousMessages","deleteWorkoutCoachMessage","messageLabel","loadLibrary","acceptFiles","accepted","files","file","readyCount","convertAndStoreFile","savedWorkoutId","originalBytes","provisional","importContext","thumbnailKind","importSource","importAiSummary","existingImportResponse","workoutEndpoint","insertResponse","responseBody","objectPath","thumbnailPatch","thumbnail","thumbnailPath","thumbnailError","finalizationPatch","strengthModel","strengthLoad","existingMetrics","existingAiSummary","roundedDurationMinutes","strengthTse","automaticLinkWarning","calculationResponse","calculation","importPendingPolarQueue","storedQueue","POLAR_PENDING_IMPORTS_STORAGE_KEY","queue","queuedActivities","previouslyProcessed","updateProgress","prior","refreshBatchId","failures","completed","imported","displayName","reason","failure","onQueue","POLAR_QUEUE_EVENT","convertAndStore","importFiles","deleteWorkout","primaryId","sourceLabels","sourceIcon","normalized","fileName","biketerraValue","biketerra","biketerraNumber","field","deviceValue","biketerraDevices","importSourceValue","sourceRecord","biketerraActivityId","biketerraRideUrl","externalActivityLink","elapsed","draftAverage","draftMax","ftp","riderWeight","averageSpeedKmh","maxSpeedKmh","weightedPower","displayedIF","intensityPercent","headlineStats","displayCadence","performanceRows","rideFacts","stat","CALORIES_EXPLANATION","AVERAGE_POWER_EXPLANATION","fill","fact","appEmbedded","latitudes","longitudes","init_WorkoutLibrary","opacity"],"sources":["https:/framerusercontent.com/modules/rVMRxAhOdZIMVrQwamIB/uA4pSJk4GIPYD46eCSqz/SummiQCardIcon.js","https:/framerusercontent.com/modules/iG2gPpzrIEW4MXjDUEm9/nVyDUiymteUp20sGw1Ga/WorkoutAiAnalysisConfirmation.js","https:/framerusercontent.com/modules/fLjyTRUntOdk9cMSTiFE/5gvciGff6lrjgTypxat3/StravaSendButton.js","https:/framerusercontent.com/modules/5bZfvvZcx7jvnkDgBIQ6/3VfFzHvwolyIidUm4kiy/StrengthCheckIn.js","https:/framerusercontent.com/modules/W6f7kXbxPx5XV0OEZRVd/SbvQVARhVEFHdorfD0id/WorkoutAnalysisCharts.js","https:/framerusercontent.com/modules/mQS6SwXFfpF10bAUt8sn/PY8bTQLskzIVIdDCl0Fh/workoutStimulus.js","https:/framerusercontent.com/modules/OUc5YZZcPe37hDzEQB28/bZwqvv9xGY4TIE4m3XcH/WorkoutStimulusProfile.js","https:/framerusercontent.com/modules/v2udXCzRmgmExEudAAxh/mbJMuUXKL6lZASuh4ZEB/workoutDistance.js","https:/framerusercontent.com/modules/AR0vY2lXsapLZ6XbDr0J/hjKdV1gMBIAm6t09QloH/workoutCalories.js","https:/framerusercontent.com/modules/6v3U5BukpyRdx5rlRo8P/wphScBhyszIgbz1ItNzc/WorkoutLibrary.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";const MARKS={footsteps:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"path\",{d:\"M8 13.5c-2.4.2-4.2 2.1-4 4.3.1 1.5 1.1 2.2 2.3 1.9 1.8-.4 3.1-2.6 3-4.6 0-1.1-.4-1.7-1.3-1.6Z\"}),/*#__PURE__*/_jsx(\"ellipse\",{cx:\"6.8\",cy:\"10.5\",rx:\"1.7\",ry:\"2.1\",transform:\"rotate(24 6.8 10.5)\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M16 9.8c2.4-.2 4.2-2.1 4-4.3-.1-1.5-1.1-2.2-2.3-1.9-1.8.4-3.1 2.6-3 4.6 0 1.1.4 1.7 1.3 1.6Z\"}),/*#__PURE__*/_jsx(\"ellipse\",{cx:\"17.2\",cy:\"12.8\",rx:\"1.7\",ry:\"2.1\",transform:\"rotate(24 17.2 12.8)\"})]}),flame:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 3c.8 4-4.7 5.4-5.5 9.2-.9 4.4 1.7 8.8 5.9 8.8 4.1 0 6.5-3 6.1-6.6-.2-2.1-1.4-3.9-2.8-5.2.1 2.1-1 3.4-2 3.9.9-3.5-.3-6.8-1.7-10.1Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M11.7 15c-1.5 1.5-2 2.8-1.1 4 .8 1.1 2.5 1.2 3.3.1 1-1.4-.3-2.3-2.2-4.1Z\"})]}),route:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"5\",cy:\"5\",r:\"2\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"19\",cy:\"19\",r:\"2\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M7 5h8a4 4 0 0 1 0 8H9a3 3 0 0 0 0 6h8\"})]}),mountain:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"path\",{d:\"m2 20 7-13 4 7 3-5 6 11H2Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m6.7 11.3 2.3 2 2-1.2M16 9V3m-2 2 2-2 2 2\"})]}),stairs:/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"path\",{d:\"M3 21v-5h6v-5h6V6h6M4 10V3m-2 2 2-2 2 2\"})}),timer:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"14\",r:\"7\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M9 3h6m-3 0v4m5.5 1.5 1.8-1.8M12 10v4l2.5 1.5\"})]}),standing:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"4.5\",r:\"2\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M8 21V10.5a4 4 0 0 1 8 0V21M8 14H5m11 0h3m-7 1v6M5 21h14\"})]}),chair:/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"path\",{d:\"M6 13V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8M4 13h16v5H4zM6 18v3m12-3v3M4 10v3m16-3v3\"})}),heart:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"path\",{d:\"M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8L12 21l8.8-8.6a5.5 5.5 0 0 0 0-7.8Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M4 12h4l2-4 3 8 2-4h5\"})]}),variability:/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"path\",{d:\"M2 12h3l2-5 3 10 4-13 3 15 2-7h3\"})}),intervals:/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"path\",{d:\"M2 12h3l2-4 3 8 3-8 3 8 2-4h4M7 3h10M7 2v3m10-3v3M7 21h10m-10-2v3m10-3v3\"})}),oxygen:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 3s-7 7.3-7 11a7 7 0 0 0 14 0c0-3.7-7-11-7-11Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M8 14h2l1-2 2 4 1-2h2\"})]}),lungs:/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 3v8m-2-2 2 2 2-2M9 6c-2 .8-6 6.3-6 11 0 3 3.4 3.3 5.3 2.5A3 3 0 0 0 10 17V8a1 1 0 0 0-1-2ZM15 6c2 .8 6 6.3 6 11 0 3-3.4 3.3-5.3 2.5A3 3 0 0 1 14 17V8a1 1 0 0 1 1-2Z\"})}),thermometer:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"path\",{d:\"M9 14.5V5a3 3 0 0 1 6 0v9.5a5 5 0 1 1-6 0ZM12 7v10m6-11h3m-3 4h2\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"18\",r:\"1\"})]}),temperatureChange:/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"path\",{d:\"M6 14.5V5a3 3 0 0 1 6 0v9.5a5 5 0 1 1-6 0ZM9 8v10m7-9 3-3 3 3m-3-3v11\"})}),moon:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"path\",{d:\"M20.5 13a8.5 8.5 0 1 1-9.5-9.5A6.5 6.5 0 0 0 20.5 13Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M18 2v4m-2-2h4m1 3v2m-1-1h2\"})]}),scale:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"rect\",{x:\"3\",y:\"3\",width:\"18\",height:\"18\",rx:\"4\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M7 7a8 8 0 0 1 10 0l-2 5H9L7 7Zm5-1v4\"})]}),ruler:/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"path\",{d:\"M8 3h10v18H8zM8 7h4m-4 5h6m-6 5h4M4 3v18m-2-2 2 2 2-2M2 5l2-2 2 2\"})}),body:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"4.5\",r:\"2\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M7 21v-6l-2-4 4-2h6l4 2-2 4v6M9 9v5m6-5v5m-6 3h6m-3 0v4\"})]}),percent:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"path\",{d:\"m7 18 10-12\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"7\",cy:\"7\",r:\"3\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"17\",cy:\"17\",r:\"3\"})]}),drop:/*#__PURE__*/_jsx(\"path\",{d:\"M12 3s-7 7.3-7 11a7 7 0 0 0 14 0c0-3.7-7-11-7-11ZM8 15a4 4 0 0 0 4 3\"}),dumbbell:/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"path\",{d:\"m7 7 10 10M4 4l3-1 3 3-4 4-3-3 1-3Zm16 16-3 1-3-3 4-4 3 3-1 3ZM2 7l5-5m10 20 5-5\"})}),tape:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"ellipse\",{cx:\"12\",cy:\"8\",rx:\"8\",ry:\"4\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M4 8v7c0 2.2 3.6 4 8 4h8v-7h-8M8 12v3m4-3v3m4-3v3\"})]}),aerobic:/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"path\",{d:\"M3 8h11a3 3 0 1 0-3-3M2 12h16a3 3 0 1 1-3 3M5 16h3a3 3 0 1 1-3 3\"})}),bolt:/*#__PURE__*/_jsx(\"path\",{d:\"m13 2-9 12h7l-1 8 10-13h-7l1-7Z\"}),speed:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"path\",{d:\"M4.9 19a9 9 0 1 1 14.2 0M6 7l1.5 1.5M12 4v2M18 7l-1.5 1.5M4 13h2m12 0h2m-8 0 4-4\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"13\",r:\"1.5\"})]}),water:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"path\",{d:\"m5 3 2 18h10l2-18H5ZM6 10c2-2 4 2 6 0s4 2 6 0\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M12 12s-2 2.2-2 3.5a2 2 0 0 0 4 0c0-1.3-2-3.5-2-3.5Z\"})]}),food:/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"path\",{d:\"M4 3v5a3 3 0 0 0 6 0V3M7 3v18M16 13h4V3c-3 1-4 4-4 10Zm4 0v8\"})}),wheat:/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 22V6m0 0c-3 0-5-2-5-5 3 0 5 2 5 5Zm0 5c-4 0-7-2-7-6 4 0 7 2 7 6Zm0 6c-4 0-7-2-7-6 4 0 7 2 7 6Zm0-6c4 0 7-2 7-6-4 0-7 2-7 6Zm0 6c4 0 7-2 7-6-4 0-7 2-7 6Z\"})}),egg:/*#__PURE__*/_jsx(\"path\",{d:\"M20 14c0 4.4-3.6 7-8 7s-8-2.6-8-7S8.5 2 12 2s8 7.6 8 12ZM8 14a4 4 0 0 0 4 4\"}),leaf:/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"path\",{d:\"M20 3C7 2 2 8 5 15c3 7 14 4 15-12ZM4 21l12-12M8 17v-6m0 6h6\"})}),coffee:/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"path\",{d:\"M4 8h13v8a5 5 0 0 1-5 5H9a5 5 0 0 1-5-5V8Zm13 1h1a3 3 0 1 1 0 6h-1M7 2v3m4-3v3m4-3v3\"})}),wine:/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"path\",{d:\"M7 3h10l1 6a6 6 0 0 1-12 0l1-6Zm5 12v6m-4 0h8M6 8h12\"})}),pressure:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"9\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M7 8a7 7 0 0 1 10 0M12 5v2m0 5 4-4m-9 9h10\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"1.5\"})]}),glucose:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 3s-7 7.3-7 11a7 7 0 0 0 14 0c0-3.7-7-11-7-11Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M8 14h8m-6 3h4\"})]}),recovery:/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"path\",{d:\"M20.5 8A9 9 0 1 0 21 14M16 8h5V3M8 12l3 3 5-6\"})}),stress:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"path\",{d:\"M5 19a9 9 0 1 1 14 0M12 4v2m6 1-1.5 1.5M6 7l1.5 1.5m4.5 4.5 4-4\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m8 20 2-3 2 3 2-3 2 3\"})]}),battery:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"rect\",{x:\"2\",y:\"6\",width:\"18\",height:\"12\",rx:\"2\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M22 10v4m-10-6-4 5h5l-1 3 4-5h-5l1-3Z\"})]}),training:/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"path\",{d:\"M3 20h18M4 15l5-5 4 3 7-8m-5 0h5v5\"})}),intensity:/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"path\",{d:\"M4 21V11h4v10m2 0V6h4v15m2 0V3h4v18M2 21h20\"})}),coach:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"path\",{d:\"M9 4H6a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h2l4 3v-3h6a3 3 0 0 0 3-3v-3M7 13h7m-7 4h4\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m17 2 1.4 4.6L23 8l-4.6 1.4L17 14l-1.4-4.6L11 8l4.6-1.4L17 2Z\"})]})};const METRIC_MARKS={steps:\"footsteps\",active_energy:\"flame\",resting_energy:\"flame\",total_energy:\"flame\",distance:\"route\",elevation_gain:\"mountain\",floors:\"stairs\",active_time:\"timer\",standing_time:\"standing\",sedentary_time:\"chair\",heart_rate:\"heart\",resting_heart_rate:\"heart\",sleeping_heart_rate:\"heart\",hrv:\"variability\",nightly_hrv:\"variability\",rr_interval:\"intervals\",spo2:\"oxygen\",respiratory_rate:\"lungs\",body_temperature:\"thermometer\",skin_temperature:\"thermometer\",skin_temperature_delta:\"temperatureChange\",sleep:\"moon\",weight:\"scale\",height:\"ruler\",bmi:\"body\",body_fat:\"percent\",body_water:\"drop\",lean_body_mass:\"dumbbell\",muscle_mass:\"dumbbell\",waist_circumference:\"tape\",vo2max:\"aerobic\",ftp:\"bolt\",lactate_threshold_heart_rate:\"heart\",running_threshold_power:\"bolt\",running_threshold_speed:\"speed\",hydration:\"water\",food_energy:\"food\",carbohydrate:\"wheat\",protein:\"egg\",fat:\"drop\",fibre:\"leaf\",caffeine:\"coffee\",alcohol:\"wine\",blood_pressure:\"pressure\",blood_glucose:\"glucose\",provider_score:\"pressure\",training_status:\"training\",intensity_distribution:\"intensity\",daily_update:\"coach\"};/**\n * @framerIntrinsicWidth 20\n * @framerIntrinsicHeight 20\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function SummiQCardIcon({metric=\"provider_score\",label=\"\",scoreKey=\"\",size=20,color=\"currentColor\",style}){let name=METRIC_MARKS[metric]||\"pressure\";if(metric===\"provider_score\"){const description=(scoreKey+\" \"+label).toLowerCase();name=/battery/.test(description)?\"battery\":/stress|strain|load/.test(description)?\"stress\":/sleep/.test(description)?\"moon\":/fitness|vo2|threshold/.test(description)?\"training\":/recover|readiness|balance/.test(description)?\"recovery\":\"pressure\";}return /*#__PURE__*/_jsx(\"svg\",{\"data-summiq-card-icon\":name,\"aria-hidden\":\"true\",focusable:\"false\",width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:color,strokeWidth:\"1.7\",strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{position:\"relative\",display:\"block\",flexShrink:0,pointerEvents:\"none\",...style},children:MARKS[name]});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SummiQCardIcon\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicWidth\":\"20\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"20\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SummiQCardIcon.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import SummiQCloseButton from\"https://framerusercontent.com/modules/alR4Bc16BBbCqHNg7B23/GUhK2aJWmamG3Wo4708T/SummiQCloseButton.js\";const TEXT=\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c,rgb(245,247,250))\";const ACCENT=\"var(--token-84678622-4f97-41e6-b9e4-7945d370801a,rgb(200,250,80))\";const CARD=\"var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d,rgb(32,55,69))\";/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function WorkoutAiAnalysisConfirmation({workoutTitle,onConfirm,onCancel}){const dialog=React.useRef(null);const resolved=React.useRef(false);const heading=React.useId();const description=React.useId();React.useEffect(()=>{dialog.current?.showModal();},[]);const cancel=()=>{if(resolved.current)return;resolved.current=true;dialog.current?.close();onCancel();};const confirm=()=>{if(resolved.current)return;resolved.current=true;dialog.current?.close();onConfirm();};const button={minHeight:44,border:\"1px solid color-mix(in srgb,\"+TEXT+\" 25%,transparent)\",borderRadius:8,background:\"transparent\",color:TEXT,padding:\"10px 16px\",font:\"600 14px/1.3 Inter,sans-serif\",cursor:\"pointer\"};return /*#__PURE__*/_jsxs(\"dialog\",{ref:dialog,className:\"summiq-workout-ai-confirm\",\"aria-labelledby\":heading,\"aria-describedby\":description,onCancel:event=>{event.preventDefault();cancel();},onClose:cancel,onClick:event=>{if(event.target!==event.currentTarget)return;const r=event.currentTarget.getBoundingClientRect();if(event.clientX<r.left||event.clientX>r.right||event.clientY<r.top||event.clientY>r.bottom)cancel();},style:{position:\"relative\",width:\"min(460px,calc(100vw - 32px))\",maxHeight:\"calc(100dvh - 32px)\",overflowY:\"auto\",boxSizing:\"border-box\",margin:\"auto\",padding:22,border:\"1px solid var(--token-53181cfb-6f3c-40d8-9548-414e28a77c07,rgb(64,89,101))\",borderRadius:12,background:CARD,color:TEXT,fontFamily:\"Inter,sans-serif\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`.summiq-workout-ai-confirm::backdrop{background:rgba(5,8,10,.75)}.summiq-workout-ai-confirm button:focus-visible{outline:2px solid ${ACCENT};outline-offset:3px}`}),/*#__PURE__*/_jsxs(\"header\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:16},children:[/*#__PURE__*/_jsx(\"h2\",{id:heading,style:{margin:0,font:\"600 18px/1.3 Inter,sans-serif\"},children:\"AI Analysis\"}),/*#__PURE__*/_jsx(SummiQCloseButton,{type:\"button\",\"aria-label\":\"Close AI analysis confirmation\",onClick:cancel})]}),/*#__PURE__*/_jsx(\"p\",{id:description,style:{fontSize:14,lineHeight:1.6,margin:\"18px 0 10px\"},children:\"Would you like AI Coach to do a deep dive on this specific workout? This may take a little time and will consume AI tokens.\"}),/*#__PURE__*/_jsx(\"p\",{style:{fontSize:14,lineHeight:1.5,fontWeight:600,color:ACCENT,overflowWrap:\"anywhere\",margin:\"0 0 22px\"},children:workoutTitle}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"flex-end\",flexWrap:\"wrap\",gap:10},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",autoFocus:true,style:button,onClick:cancel,children:\"No\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",style:{...button,background:ACCENT,color:\"#172b36\",borderColor:\"transparent\"},onClick:confirm,children:\"Yes, analyze workout\"})]})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"WorkoutAiAnalysisConfirmation\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./WorkoutAiAnalysisConfirmation.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{summiQSupabase}from\"https://framerusercontent.com/modules/poNpHAVIxJoMt6N6zPB6/Bz3gmh5UaIazBROAmCaP/supabaseClient.js\";/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function StravaSendButton({workoutId,sourceProvider}){const[busy,setBusy]=React.useState(false),[message,setMessage]=React.useState(\"\"),[activityId,setActivityId]=React.useState(null),[processing,setProcessing]=React.useState(false);React.useEffect(()=>{setMessage(\"\");setActivityId(null);setProcessing(false);},[workoutId]);const send=async()=>{setBusy(true);setMessage(\"\");try{const{data,error}=await summiQSupabase.functions.invoke(\"strava-connection\",{body:{action:\"send\",workoutId}});if(error){let value;try{value=await error.context?.json();}catch{}throw Error(value?.error||\"Unable to upload to Strava. Please retry.\");}setActivityId(data.activityId||null);setProcessing(data.status===\"processing\");setMessage(data.status===\"processing\"?\"Strava is processing your upload. Check its status shortly.\":\"Activity is on Strava.\");}catch(e){setMessage(e instanceof Error?e.message:\"Unable to upload to Strava.\");}finally{setBusy(false);}};const buttonLabel=busy?\"Uploading…\":activityId?\"Uploaded to Strava\":processing?\"Check Strava upload\":\"Upload to Strava\";const labelParts=buttonLabel.split(\"Strava\");if(sourceProvider===\"strava\")return null;return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",display:\"flex\",alignItems:\"center\",flexWrap:\"wrap\",gap:10,fontFamily:\"Inter, sans-serif\",fontSize:12},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":buttonLabel,disabled:busy||!!activityId,onClick:()=>void send(),style:{border:\"1px solid #fc4c02\",borderRadius:6,background:\"transparent\",color:\"inherit\",font:\"inherit\",fontWeight:600,padding:\"8px 12px\",cursor:busy?\"wait\":\"pointer\",opacity:busy?.6:1},children:labelParts.length===1?buttonLabel:/*#__PURE__*/_jsxs(_Fragment,{children:[labelParts[0],/*#__PURE__*/_jsxs(\"span\",{\"aria-hidden\":\"true\",style:{position:\"relative\",display:\"inline-block\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{visibility:\"hidden\"},children:\"Strava\"}),/*#__PURE__*/_jsx(\"svg\",{\"aria-hidden\":\"true\",focusable:\"false\",viewBox:\"54 205 382 84\",preserveAspectRatio:\"xMidYMid meet\",style:{position:\"absolute\",left:0,top:\"50%\",transform:\"translateY(-50%)\",width:\"100%\",height:12},children:/*#__PURE__*/_jsx(\"image\",{href:\"https://framerusercontent.com/images/nHN6IlpOO0HaouXVK72SjsLc2JA.png\",width:\"500\",height:\"500\"})})]}),labelParts[1]]})}),activityId&&/*#__PURE__*/_jsx(\"a\",{href:\"https://www.strava.com/activities/\"+encodeURIComponent(activityId),target:\"_blank\",rel:\"noopener noreferrer\",style:{color:\"inherit\"},children:\"View on Strava ↗\"}),message&&/*#__PURE__*/_jsx(\"span\",{role:\"status\",children:message})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"StravaSendButton\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./StravaSendButton.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{getSummiQSession,readSummiQSessionStorage,summiqFetch,subscribeSummiQRefresh,deferSummiQRefreshIfSyncing}from\"https://framerusercontent.com/modules/poNpHAVIxJoMt6N6zPB6/Bz3gmh5UaIazBROAmCaP/supabaseClient.js\";import SummiQCloseButton from\"https://framerusercontent.com/modules/alR4Bc16BBbCqHNg7B23/GUhK2aJWmamG3Wo4708T/SummiQCloseButton.js\";const API=\"https://ebpfzynodqzqpybkfkaz.supabase.co\";const KEY=\"sb_publishable_hPYtdUhH5IfiCj_-oSWlGQ_3RnpqTRl\";const ACCENT=\"var(--token-84678622-4f97-41e6-b9e4-7945d370801a, rgb(200, 250, 80))\";const CARD=\"var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69))\";const TEXT=\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\";const BORDER=\"var(--token-53181cfb-6f3c-40d8-9548-414e28a77c07, rgb(64, 89, 101))\";const GROUPS=[\"chest\",\"back\",\"shoulders\",\"biceps\",\"triceps\",\"core\",\"quads\",\"hamstrings\",\"glutes\",\"calves\"];const UPPER=GROUPS.slice(0,5),LOWER=GROUPS.slice(6);export function isStrengthWorkout(sport){return[\"strength\",\"strength_training\",\"weight_training\",\"weightlifting\",\"powerlifting\",\"bodybuilding\",\"resistance_training\"].includes((sport||\"\").toLowerCase().replace(/[ -]/g,\"_\"));}function label(value){return value.charAt(0).toUpperCase()+value.slice(1);}function summaryDate(value){return new Date(value).toLocaleDateString(undefined,{weekday:\"short\",day:\"numeric\",month:\"short\"});}function validAnswers(effort,groups){return Number.isInteger(effort)&&effort>=1&&effort<=10&&groups.length>0&&groups.every(g=>GROUPS.includes(g));}function effortLoad(seconds,effort){return typeof seconds===\"number\"&&seconds>0&&Number.isFinite(seconds)&&effort!==null?Math.round(seconds/60*effort):null;}async function request(path,userId,init={}){const session=await getSummiQSession();if(session.user?.id!==userId)throw Error(\"Your account changed. Reopen this workout to continue.\");const response=await summiqFetch(API+path,{...init,headers:{apikey:KEY,Authorization:\"Bearer \"+session.access_token,\"Content-Type\":\"application/json\",...init.headers||{}}});if(!response.ok)throw Error(\"Could not \"+(init.method===\"POST\"?\"save\":\"load\")+\" the strength check-in. Please try again.\");return response.json();}function changed(workoutId){window.dispatchEvent(new CustomEvent(\"summiq:strength-checkin-saved\",{detail:{workoutId}}));try{window.localStorage.setItem(\"summiq.strength-checkin.changed.v1\",String(Date.now()));}catch{}}const button={minHeight:44,padding:\"8px 12px\",border:\"1px solid \"+BORDER,borderRadius:7,background:\"transparent\",color:TEXT,font:\"inherit\",cursor:\"pointer\"};/** @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto */export function StrengthCheckInEditor({workout,automatic=false,onSaved,onLater,onBusyChange}){const[effort,setEffort]=React.useState(null);const[groups,setGroups]=React.useState([]);const[saved,setSaved]=React.useState(null);const[editing,setEditing]=React.useState(automatic);const[loading,setLoading]=React.useState(true);const[busy,setBusy]=React.useState(false);const[error,setError]=React.useState(\"\");const[revision,setRevision]=React.useState(0);const user=React.useRef(null);const version=React.useRef(0);const statusId=React.useId();const effortButtons=React.useRef([]);React.useEffect(()=>{let active=true;const controller=new AbortController,currentVersion=++version.current;setBusy(false);setLoading(true);setSaved(null);setEffort(null);setGroups([]);setError(\"\");user.current=null;void(async()=>{try{const session=await getSummiQSession();if(!active)return;user.current=session.user.id;const rows=await request(\"/rest/v1/strength_workout_checkins?select=*&workout_id=eq.\"+encodeURIComponent(workout.id)+\"&user_id=eq.\"+encodeURIComponent(session.user.id)+\"&limit=1\",session.user.id,{signal:controller.signal});if(!active||currentVersion!==version.current)return;const row=rows[0]||null;setSaved(row);setEffort(row?.effort??null);setGroups(row?.muscle_groups||[]);setEditing(automatic||!row);}catch(cause){if(active&&!controller.signal.aborted){user.current=null;setError(cause instanceof Error?cause.message:\"Could not load check-in.\");}}finally{if(active)setLoading(false);}})();return()=>{active=false;controller.abort();version.current++;};},[workout.id,automatic,revision]);React.useEffect(()=>{const reset=()=>{version.current++;setRevision(n=>n+1);};window.addEventListener(\"summiq-auth-changed\",reset);return()=>window.removeEventListener(\"summiq-auth-changed\",reset);},[]);React.useEffect(()=>{onBusyChange?.(busy);return()=>onBusyChange?.(false);},[busy,onBusyChange]);const save=async event=>{event.preventDefault();if(busy||!user.current||!validAnswers(effort,groups))return;const currentVersion=version.current,owner=user.current;setBusy(true);setError(\"\");try{const rows=await request(\"/rest/v1/strength_workout_checkins?on_conflict=workout_id\",owner,{method:\"POST\",headers:{Prefer:\"resolution=merge-duplicates,return=representation\"},body:JSON.stringify({workout_id:workout.id,user_id:owner,effort,muscle_groups:GROUPS.filter(g=>groups.includes(g))})});if(currentVersion!==version.current)return;if(rows.length!==1||rows[0].workout_id!==workout.id||rows[0].user_id!==owner)throw Error(\"The check-in was not saved. Please try again.\");setSaved(rows[0]);setEditing(false);changed(workout.id);onSaved?.();}catch(cause){if(currentVersion===version.current)setError(cause instanceof Error?cause.message:\"Could not save check-in.\");}finally{if(currentVersion===version.current)setBusy(false);}};const estimate=effortLoad(workout.duration_seconds,effort);if(!isStrengthWorkout(workout.sport))return null;return /*#__PURE__*/_jsxs(\"section\",{\"aria-label\":\"Strength check-in\",style:{position:\"relative\",minWidth:0,padding:automatic?0:18,marginTop:automatic?0:18,border:automatic?\"none\":\"1px solid \"+BORDER,borderRadius:10,background:CARD,color:TEXT,fontFamily:\"Inter, sans-serif\",fontSize:13,lineHeight:1.5},children:[/*#__PURE__*/_jsx(\"style\",{children:`@media(max-width:480px){.sq-strength-effort-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}}`}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:12},children:[/*#__PURE__*/_jsx(\"h3\",{style:{margin:0,font:\"600 25px/1.1 Teko, sans-serif\"},children:automatic?\"How was your strength session?\":\"Strength check-in\"}),saved&&!editing&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>{setEditing(true);setError(\"\");},style:button,children:\"Edit answers\"})]}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:\"8px 0 16px\",opacity:.7},children:[summaryDate(workout.starts_at),workout.duration_seconds?\" \\xb7 \"+Math.round(workout.duration_seconds/60)+\" min recorded\":\" \\xb7 Duration unavailable\"]}),loading?/*#__PURE__*/_jsx(\"p\",{role:\"status\",children:\"Loading your answers…\"}):error&&!user.current?/*#__PURE__*/_jsxs(\"div\",{role:\"alert\",children:[error,/*#__PURE__*/_jsx(\"button\",{type:\"button\",style:{...button,marginLeft:8},onClick:()=>setRevision(n=>n+1),children:\"Retry\"})]}):!editing&&saved?/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsxs(\"p\",{style:{margin:\"8px 0\"},children:[/*#__PURE__*/_jsx(\"strong\",{children:\"Effort:\"}),\" \",saved.effort,\"/10\"]}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:\"8px 0\"},children:[/*#__PURE__*/_jsx(\"strong\",{children:\"Muscles:\"}),\" \",saved.muscle_groups.map(label).join(\", \")]}),estimate!==null&&/*#__PURE__*/_jsxs(\"p\",{style:{margin:\"8px 0\"},children:[/*#__PURE__*/_jsx(\"strong\",{children:\"Estimated session load:\"}),\" \",estimate,\" AU\"]}),/*#__PURE__*/_jsx(\"small\",{style:{opacity:.65},children:\"Duration \\xd7 reported effort, in arbitrary units. Recorded separately from uTL.\"})]}):/*#__PURE__*/_jsxs(\"form\",{onSubmit:save,style:{display:\"grid\",gap:18},children:[/*#__PURE__*/_jsxs(\"fieldset\",{disabled:busy,style:{border:0,padding:0,margin:0,minWidth:0},children:[/*#__PURE__*/_jsx(\"legend\",{style:{fontWeight:600,marginBottom:9},children:\"How demanding was this session?\"}),/*#__PURE__*/_jsx(\"div\",{className:\"sq-strength-effort-grid\",role:\"radiogroup\",\"aria-label\":\"Session effort\",onKeyDown:event=>{if([\"ArrowLeft\",\"ArrowDown\",\"ArrowRight\",\"ArrowUp\",\"Home\",\"End\"].includes(event.key)){event.preventDefault();const next=event.key===\"Home\"?1:event.key===\"End\"?10:Math.max(1,Math.min(10,(effort??1)+([\"ArrowLeft\",\"ArrowDown\"].includes(event.key)?-1:1)));setEffort(next);effortButtons.current[next-1]?.focus();}},style:{display:\"grid\",gridTemplateColumns:\"repeat(auto-fit,minmax(38px,1fr))\",gap:5},children:Array.from({length:10},(_,i)=>i+1).map(n=>/*#__PURE__*/_jsx(\"button\",{ref:node=>{effortButtons.current[n-1]=node;},type:\"button\",role:\"radio\",\"aria-checked\":effort===n,tabIndex:(effort??1)===n?0:-1,\"aria-label\":\"Effort \"+n+\" of 10\",disabled:busy,onClick:()=>setEffort(n),style:{...button,padding:\"8px 0\",borderColor:effort===n?ACCENT:BORDER,color:effort===n?ACCENT:TEXT,background:effort===n?\"color-mix(in srgb, \"+ACCENT+\" 10%, transparent)\":\"transparent\",fontWeight:effort===n?700:400},children:n},n))}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",gap:8,fontSize:11,opacity:.65,marginTop:6},children:[/*#__PURE__*/_jsx(\"span\",{children:\"1 \\xb7 Very easy\"}),/*#__PURE__*/_jsx(\"span\",{children:\"5 \\xb7 Moderate\"}),/*#__PURE__*/_jsx(\"span\",{children:\"10 \\xb7 Maximal\"})]})]}),/*#__PURE__*/_jsxs(\"fieldset\",{disabled:busy,style:{border:0,padding:0,margin:0,minWidth:0},children:[/*#__PURE__*/_jsx(\"legend\",{style:{fontWeight:600,marginBottom:9},children:\"What did you train?\"}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",gap:6,marginBottom:10},children:[[\"Upper body\",UPPER],[\"Lower body\",LOWER],[\"Full body\",GROUPS]].map(([name,values])=>/*#__PURE__*/_jsx(\"button\",{type:\"button\",disabled:busy,onClick:()=>setGroups(values),style:{...button,minHeight:36,fontSize:12},children:String(name)},String(name)))}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"repeat(auto-fit,minmax(115px,1fr))\",gap:7},children:GROUPS.map(g=>/*#__PURE__*/_jsxs(\"label\",{style:{display:\"flex\",alignItems:\"center\",gap:8,minHeight:44,padding:\"5px 9px\",border:\"1px solid \"+(groups.includes(g)?ACCENT:BORDER),borderRadius:7,boxSizing:\"border-box\",cursor:busy?\"wait\":\"pointer\"},children:[/*#__PURE__*/_jsx(\"input\",{type:\"checkbox\",checked:groups.includes(g),disabled:busy,onChange:e=>setGroups(current=>e.target.checked?[...current,g]:current.filter(item=>item!==g)),style:{accentColor:ACCENT,width:16,height:16,margin:0}}),label(g)]},g))})]}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,opacity:.65,fontSize:12},children:[estimate!==null?`Estimated session load: ${estimate} AU \\xb7 `:\"\",\"Your answers help describe strength-training load. They do not measure strength gains.\"]}),error&&/*#__PURE__*/_jsx(\"p\",{id:statusId,role:\"alert\",style:{color:\"#FFB7B7\",margin:0},children:error}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"flex-end\",flexWrap:\"wrap\",gap:8},children:[automatic&&onLater&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",disabled:busy,onClick:onLater,style:button,children:\"Later\"}),saved&&!automatic&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",disabled:busy,onClick:()=>{setEffort(saved.effort);setGroups(saved.muscle_groups);setEditing(false);setError(\"\");},style:button,children:\"Cancel\"}),/*#__PURE__*/_jsx(\"button\",{type:\"submit\",disabled:busy||!validAnswers(effort,groups),style:{...button,borderColor:ACCENT,background:ACCENT,color:CARD,opacity:busy||!validAnswers(effort,groups)?.45:1,cursor:busy?\"wait\":\"pointer\",fontWeight:700},children:busy?\"Saving…\":saved?\"Save changes\":\"Save answers\"})]})]})]});}function host(){const w=window;return w.__summiqStrengthCheckinHostV1||(w.__summiqStrengthCheckinHostV1={leader:null,workoutPopups:new Set});}export function useStrengthWorkoutPopup(workoutId){const id=React.useRef({}).current;React.useEffect(()=>{if(!workoutId)return;host().workoutPopups.add(id);window.dispatchEvent(new Event(\"summiq:strength-host-state\"));return()=>{host().workoutPopups.delete(id);window.dispatchEvent(new Event(\"summiq:strength-host-state\"));};},[workoutId,id]);}function snoozed(userId){try{const value=JSON.parse(localStorage.getItem(\"summiq.strength-checkin.snooze.v1:\"+userId)||\"{}\");return value&&typeof value===\"object\"&&!Array.isArray(value)?value:{};}catch{return{};}}function pendingForView(rows,dismissed,now=Date.now()){return rows.filter(w=>isStrengthWorkout(w.sport)&&!(Number(dismissed[w.id])>now));}/** @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto */export default function StrengthCheckInManager({blocked=false}){const id=React.useRef({}).current;const[leader,setLeader]=React.useState(false);const[popupOpen,setPopupOpen]=React.useState(false);const[queue,setQueue]=React.useState([]);const[owner,setOwner]=React.useState(null);const[busy,setBusy]=React.useState(false);const[refresh,setRefresh]=React.useState(0);const dialog=React.useRef(null);const sequence=React.useRef(0);const generation=React.useRef(0);const ownerRef=React.useRef(null);const titleId=React.useId();React.useEffect(()=>{const claim=()=>{if(!host().leader)host().leader=id;setLeader(host().leader===id);setPopupOpen(host().workoutPopups.size>0);};claim();window.addEventListener(\"summiq:strength-host-state\",claim);return()=>{window.removeEventListener(\"summiq:strength-host-state\",claim);if(host().leader===id){host().leader=null;window.dispatchEvent(new Event(\"summiq:strength-host-state\"));}};},[id]);React.useEffect(()=>{if(!leader)return;let active=true,controller=null;const load=async event=>{const authenticationChanged=event?.type===\"summiq-auth-changed\"||event?.type===\"summiq:session-expired\";if(authenticationChanged){generation.current++;ownerRef.current=null;setQueue([]);setOwner(null);setBusy(false);}if(event?.type===\"visibilitychange\"&&document.visibilityState!==\"visible\")return;if(deferSummiQRefreshIfSyncing())return;controller?.abort();controller=new AbortController;const signal=controller.signal,current=++sequence.current;try{if(!readSummiQSessionStorage()){setQueue([]);setOwner(null);ownerRef.current=null;return;}const session=await getSummiQSession(),userId=session.user.id;const rows=await request(\"/rest/v1/rpc/pending_strength_checkins\",userId,{method:\"POST\",body:\"{}\",signal});if(!active||signal.aborted||current!==sequence.current)return;ownerRef.current=userId;setOwner(userId);setQueue(pendingForView(rows,snoozed(userId)));}catch{}};void load();const stop=subscribeSummiQRefresh([\"summiq:data-refresh\",\"summiq:workout-saved\",\"summiq:workout-deleted\",\"summiq-auth-changed\",\"summiq:session-expired\",\"summiq:strength-checkin-saved\",\"focus\",\"online\",\"visibilitychange\",\"storage\"],event=>{void load(event);});return()=>{active=false;sequence.current++;controller?.abort();stop();};},[leader,refresh]);const workout=queue[0];const showing=Boolean(leader&&owner&&workout&&!blocked&&!popupOpen);React.useEffect(()=>{const node=dialog.current;if(!node)return;if(showing&&!node.open)node.showModal();if(!showing&&node.open)node.close();},[showing,workout?.id]);const later=()=>{if(busy||!workout||!owner)return;const values=snoozed(owner);values[workout.id]=Date.now()+864e5;try{localStorage.setItem(\"summiq.strength-checkin.snooze.v1:\"+owner,JSON.stringify(values));}catch{}setQueue(current=>current.filter(item=>item.id!==workout.id));};const saved=()=>{if(!workout)return;setQueue(current=>current.filter(item=>item.id!==workout.id));setRefresh(n=>n+1);};if(!leader||!workout||!owner)return null;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`.summiq-strength-checkin-dialog::backdrop{background:rgba(5,8,10,.78)}.summiq-strength-checkin-dialog button:focus-visible,.summiq-strength-checkin-dialog input:focus-visible{outline:2px solid ${ACCENT};outline-offset:3px}`}),/*#__PURE__*/_jsxs(\"dialog\",{ref:dialog,className:\"summiq-strength-checkin-dialog\",\"aria-labelledby\":titleId,onCancel:event=>{event.preventDefault();later();},style:{width:\"min(590px,calc(100vw - 24px))\",maxHeight:\"calc(100dvh - 24px)\",overflowY:\"auto\",boxSizing:\"border-box\",margin:\"auto\",padding:\"clamp(16px,4vw,24px)\",border:\"1px solid \"+BORDER,borderRadius:14,background:CARD,color:TEXT,fontFamily:\"Inter, sans-serif\"},children:[/*#__PURE__*/_jsxs(\"header\",{style:{display:\"flex\",alignItems:\"start\",justifyContent:\"space-between\",gap:12,marginBottom:18},children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsxs(\"div\",{style:{color:ACCENT,fontSize:11,letterSpacing:\".1em\",marginBottom:5},children:[\"STRENGTH CHECK-IN\",queue.length>1?` \\xb7 ${queue.length} TO REVIEW`:\"\"]}),/*#__PURE__*/_jsx(\"h2\",{id:titleId,style:{margin:0,font:\"600 29px/1.1 Teko, sans-serif\",overflowWrap:\"anywhere\"},children:workout.title||\"Strength workout\"})]}),/*#__PURE__*/_jsx(SummiQCloseButton,{type:\"button\",\"aria-label\":\"Answer strength questions later\",disabled:busy,onClick:later,style:{minWidth:40,minHeight:40}})]}),/*#__PURE__*/_jsx(StrengthCheckInEditor,{workout:workout,automatic:true,onSaved:saved,onLater:later,onBusyChange:setBusy},owner+workout.id+generation.current)]})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"StrengthCheckInManager\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"\"}},\"StrengthCheckInEditor\":{\"type\":\"reactComponent\",\"name\":\"StrengthCheckInEditor\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"\"}},\"isStrengthWorkout\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useStrengthWorkoutPopup\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";const TEXT=\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, #F5F7FA)\";const ACCENT=\"var(--token-84678622-4f97-41e6-b9e4-7945d370801a, #C8FA50)\";const muted=amount=>`color-mix(in srgb, ${TEXT} ${amount}%, transparent)`;export function analysisSamples(stream,multiplier=1,allowNegative=false){if(!Array.isArray(stream?.times)||!Array.isArray(stream?.values))return[];const unique=new Map;stream.times.forEach((time,index)=>{if(typeof time!==\"number\"||!Number.isFinite(time)||time<0)return;const value=stream.values[index];unique.set(time,typeof value===\"number\"&&Number.isFinite(value)&&(allowNegative||value>=0)?value*multiplier:null);});return Array.from(unique,([time,value])=>({time,value})).sort((a,b)=>a.time-b.time);}export function analysisValueAt(samples,time,gap){if(!samples.length||time<samples[0].time||time>samples[samples.length-1].time)return null;let lo=0,hi=samples.length-1;while(lo<hi){const mid=Math.floor((lo+hi)/2);if(samples[mid].time<time)lo=mid+1;else hi=mid;}const after=samples[lo],before=samples[Math.max(0,lo-1)];if(after.time===time)return after.value;// Do not carry sensor values through pauses, invalid samples or missing intervals.\nif(after.time-before.time>gap||before.value===null||after.value===null)return null;return time-before.time<=after.time-time?before.value:after.value;}// Local road angle from recorded elevation change and horizontal GPS distance (~50 m window).\nexport function analysisClimbingAngle(route){if(![route?.times,route?.lat,route?.lon,route?.ele].every(Array.isArray))return[];const result=[];let run=[];const flush=()=>{let left=0,right=0;for(let i=0;i<run.length;i++){const point=run[i];while(left<i&&run[left].distance<point.distance-25)left++;right=Math.max(right,i);while(right+1<run.length&&run[right+1].distance<=point.distance+25)right++;const distance=run[right].distance-run[left].distance;const seconds=(run[right].time-run[left].time)/1e3;const rise=run[right].elevation-run[left].elevation;const valid=distance>=20&&seconds>0&&seconds<=60&&Math.abs(rise/distance)<=1;result.push({time:point.time,value:valid?Math.atan(rise/distance)*180/Math.PI:null});}run=[];};for(let index=0;index<route.times.length;index++){const time=route.times[index],lat=route.lat[index],lon=route.lon[index],elevation=route.ele[index];if(![time,lat,lon,elevation].every(value=>typeof value===\"number\"&&Number.isFinite(value))||time<0||Math.abs(lat)>90||Math.abs(lon)>180){flush();if(typeof time===\"number\"&&Number.isFinite(time))result.push({time,value:null});continue;}const previous=run[run.length-1];let distance=0;if(previous){const radians=Math.PI/180,latitude=(lat-previous.lat)*radians,longitude=(lon-previous.lon)*radians;const h=Math.sin(latitude/2)**2+Math.cos(lat*radians)*Math.cos(previous.lat*radians)*Math.sin(longitude/2)**2;const step=6371e3*2*Math.atan2(Math.sqrt(Math.max(0,h)),Math.sqrt(Math.max(0,1-h)));const seconds=(time-previous.time)/1e3;if(seconds<=0||seconds>15||step/seconds>35){flush();result.push({time:time-.001,value:null});}else distance=previous.distance+step;}run.push({time,lat,lon,elevation,distance});}flush();return result.sort((a,b)=>a.time-b.time);}const formatClimbingAngle=angle=>angle===null?\"—\\xb0\":(Math.abs(angle)<.05?\"0.0\":(angle>0?\"+\":\"\")+angle.toFixed(1))+\"\\xb0\";// FIT cadence is cycles/min. A running cycle contains two steps; explicit step units are already total steps.\nexport function cadenceDisplay(sport,recordedUnit=\"rpm\"){const normalizedSport=sport.toLowerCase().replace(/[ -]/g,\"_\");const running=/(^|_)(running|run|jogging)(_|$)/.test(normalizedSport)||normalizedSport===\"treadmill\";const unit=recordedUnit.toLowerCase().replace(/\\s/g,\"\");const alreadySteps=[\"spm\",\"steps/min\",\"steps/minute\",\"stepsperminute\"].includes(unit);return{multiplier:running&&!alreadySteps?2:1,unit:running?\"steps/min\":\"rpm\",label:running?\"RUNNING CADENCE\":\"CADENCE\"};}export function analysisSeries(fit,sport=fit.sport||fit.source?.classifiedSport||\"\"){const streams=fit.streams||{},route=streams.route;const cadence=cadenceDisplay(sport,streams.cad?.unit);const running=cadence.unit===\"steps/min\";const definitions=[{key:\"elevation\",label:\"ELEVATION\",unit:\"m\",color:\"var(--token-1233abe0-f48a-4c85-8f6b-0de9a28fdea4, #55C56A)\",filled:true,stream:route?.ele?{times:route.times,values:route.ele}:streams.altitude||streams.elevation,multiplier:1,negative:true},{key:\"speed\",label:\"SPEED\",unit:\"km/h\",color:\"var(--token-75fe5ebb-49c7-4ccd-a414-9586cf349771, #5EA9FF)\",stream:streams.speed,multiplier:3.6},...running?[{key:\"pace\",label:\"PACE\",unit:\"min/km\",color:\"var(--token-51809b33-30a0-4987-907d-49cd3068ec2d, #FF7A3D)\",stream:streams.speed,multiplier:1,negative:false,filled:false}]:[],{key:\"power\",label:\"POWER\",unit:\"watt\",color:\"var(--token-8a9e63f3-d92b-4618-ab51-625b94d718ab, #C084FC)\",stream:streams.power,multiplier:1},{key:\"cadence\",label:cadence.label,unit:cadence.unit,color:\"var(--token-1c8576e1-95ac-4ac7-9251-2a81b8830bd1, #75E6C8)\",stream:streams.cad,multiplier:cadence.multiplier},{key:\"heart_rate\",label:\"HEART RATE\",unit:\"bpm\",color:\"var(--token-5184f82f-c524-4809-aa5c-78d92709508d, #EF6F6C)\",stream:streams.hr,multiplier:1},{key:\"draft\",label:\"DRAFT\",unit:\"%\",color:\"var(--token-b02e57d3-3970-4a49-922c-3028c0885d67, #FFD05A)\",filled:true,stream:streams.draft,multiplier:1}];return definitions.flatMap(def=>{const samples=analysisSamples(def.stream,def.multiplier,def.negative).map(sample=>def.key===\"pace\"&&sample.value===0?{...sample,value:null}:sample);const valid=samples.filter(sample=>sample.value!==null);if(!valid.length||def.key===\"power\"&&!valid.some(sample=>sample.value>0))return[];const intervals=samples.slice(1).map((p,i)=>p.time-samples[i].time).filter(dt=>dt>0&&dt<=3e4).sort((a,b)=>a-b);const median=intervals[Math.floor(intervals.length/2)]||1e3;let minimum=Infinity,maximum=-Infinity;valid.forEach(p=>{minimum=Math.min(minimum,p.value);maximum=Math.max(maximum,p.value);});const recordedMinimum=minimum,recordedMaximum=maximum;const padding=Math.max((maximum-minimum)*.08,1);minimum=def.negative?minimum-padding:Math.max(0,minimum-padding);maximum+=padding;return[{key:def.key,label:def.label,unit:def.unit,color:def.color,filled:def.filled,samples,gap:Math.min(3e4,Math.max(5e3,median*3)),minimum,maximum,recordedMinimum,recordedMaximum}];});}export function analysisPaths(series,start,end,resolution=1e3){const runs=[];let run=[];const flush=()=>{if(run.length)runs.push(run);run=[];};series.samples.forEach((p,i)=>{if(p.value===null){flush();return;}if(i>0&&p.time-series.samples[i-1].time>series.gap)flush();run.push({time:p.time,value:p.value});});flush();const x=t=>(t-start)/Math.max(1,end-start)*1e3;const y=v=>60-(v-series.minimum)/(series.maximum-series.minimum)*55;const baseline=y(Math.max(series.minimum,Math.min(series.maximum,0))).toFixed(2);// Full-detail mode keeps every original valid sample; overview mode retains bucket extrema.\nconst paths=runs.map(points=>{const reduced=resolution===null?points:[];if(resolution!==null){for(let i=0;i<points.length;){let j=i+1,low=i,high=i;while(j<points.length&&Math.floor(x(points[j].time)*resolution/1e3)===Math.floor(x(points[i].time)*resolution/1e3)){if(points[j].value<points[low].value)low=j;if(points[j].value>points[high].value)high=j;j++;}Array.from(new Set([i,low,high,j-1])).sort((a,b)=>a-b).forEach(index=>reduced.push(points[index]));i=j;}}const line=reduced.map((p,i)=>`${i?\"L\":\"M\"}${x(p.time).toFixed(2)},${y(p.value).toFixed(2)}`).join(\" \");return{line,area:line+` L${x(points[points.length-1].time).toFixed(2)},${baseline} L${x(points[0].time).toFixed(2)},${baseline} Z`};});return{line:paths.map(p=>p.line).join(\" \"),area:paths.map(p=>p.area).join(\" \")};}export function analysisTime(time){const seconds=Math.max(0,Math.floor(time/1e3)),hours=Math.floor(seconds/3600);return(hours?hours+\":\":\"\")+String(Math.floor(seconds/60)%60).padStart(hours?2:1,\"0\")+\":\"+String(seconds%60).padStart(2,\"0\");}export function formatAnalysisValue(value,unit){if(value===null)return\"—\";if(unit===\"min/km\"){if(value<=0)return\"—\";const seconds=Math.round(1e3/value);return Math.floor(seconds/60)+\":\"+String(seconds%60).padStart(2,\"0\")+\" min/km\";}return(unit===\"km/h\"?value.toFixed(1):Math.round(value))+\" \"+unit;}const formatValue=formatAnalysisValue;function AnalysisSwitch({label,checked,color=ACCENT,onChange}){return /*#__PURE__*/_jsxs(\"button\",{type:\"button\",role:\"switch\",\"aria-checked\":checked,\"aria-label\":label,onClick:onChange,style:{display:\"inline-flex\",alignItems:\"center\",gap:7,minHeight:32,padding:\"3px 0\",border:0,background:\"transparent\",color:checked?TEXT:muted(55),fontFamily:\"Inter, sans-serif\",fontSize:11,cursor:\"pointer\"},children:[/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{position:\"relative\",display:\"inline-block\",width:28,height:16,borderRadius:999,flexShrink:0,background:checked?color:muted(18)},children:/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",width:12,height:12,left:checked?14:2,top:2,borderRadius:\"50%\",background:\"#FFFFFF\",boxShadow:\"0 1px 2px rgba(0,0,0,0.2)\"}})}),label]});}/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function WorkoutAnalysisCharts({fit,sport,focusTime,onFocusTime}){const[hiddenCharts,setHiddenCharts]=React.useState([]);const[fillCharts,setFillCharts]=React.useState(true);const[zoomed,setZoomed]=React.useState(false);const viewportRef=React.useRef(null);const data=React.useMemo(()=>{const series=analysisSeries(fit,sport).map(s=>fillCharts?{...s,minimum:Math.min(0,s.recordedMinimum),maximum:Math.max(0,s.maximum)}:s);const start=Math.min(...series.map(s=>s.samples[0].time)),end=Math.max(...series.map(s=>s.samples[s.samples.length-1].time));return{series:series.map(s=>({...s,paths:analysisPaths(s,start,end,zoomed?null:1e3)})),angles:analysisClimbingAngle(fit.streams?.route),start,end};},[fit,sport,fillCharts,zoomed]);const chartRef=React.useRef(null);React.useEffect(()=>{const viewport=viewportRef.current;if(!viewport||!Number.isFinite(data.start))return;const ratio=Math.max(0,Math.min(1,((focusTime??data.start)-data.start)/Math.max(1,data.end-data.start)));viewport.scrollLeft=zoomed?Math.max(0,ratio*viewport.scrollWidth-viewport.clientWidth/2):0;},[zoomed,fit]);if(!data.series.length)return /*#__PURE__*/_jsx(\"p\",{style:{fontFamily:\"Inter, sans-serif\",fontSize:12,color:muted(65)},children:\"No recorded chart data is available for this workout.\"});const{series,start,end}=data;const selected=focusTime!==null?Math.max(start,Math.min(end,focusTime)):null;const percent=selected===null?null:(selected-start)/Math.max(1,end-start)*100;const readings=series.filter(s=>!hiddenCharts.includes(s.key)).map(s=>({...s,value:selected===null?null:analysisValueAt(s.samples,selected,s.gap)}));const climbingAngle=selected===null?null:analysisValueAt(data.angles,selected,15e3);const minimumReadout=s=>formatValue(s.unit===\"min/km\"?s.recordedMaximum:s.recordedMinimum,s.unit);const maximumReadout=s=>formatValue(s.unit===\"min/km\"?s.recordedMinimum:s.recordedMaximum,s.unit);const readout=s=>formatValue(s.value,s.unit)+(s.key===\"elevation\"&&s.value!==null?\" \\xb7 \"+formatClimbingAngle(climbingAngle):\"\");const move=event=>{const rect=chartRef.current?.getBoundingClientRect();if(rect&&rect.width)onFocusTime(Math.round(start+Math.max(0,Math.min(1,(event.clientX-rect.left)/rect.width))*(end-start)));};const selectWithKeyboard=time=>{onFocusTime(time);const viewport=viewportRef.current;if(!zoomed||!viewport)return;const x=(time-start)/Math.max(1,end-start)*viewport.scrollWidth;if(x<viewport.scrollLeft+8||x>viewport.scrollLeft+viewport.clientWidth-8)viewport.scrollLeft=Math.max(0,x-viewport.clientWidth/2);};return /*#__PURE__*/_jsxs(\"section\",{className:\"wl-analysis-charts\",\"aria-label\":\"Workout analysis charts\",style:{position:\"relative\",minWidth:0,color:TEXT,fontFamily:\"Inter, sans-serif\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`.wl-analysis-stack:focus-visible,.wl-analysis-charts [role=\"switch\"]:focus-visible,.wl-analysis-zoom:focus-visible{outline:2px solid ${ACCENT};outline-offset:4px;border-radius:4px}.wl-analysis-viewport::-webkit-scrollbar{height:10px}.wl-analysis-viewport::-webkit-scrollbar-track{background:${muted(7)};border-radius:8px}.wl-analysis-viewport::-webkit-scrollbar-thumb{background:${muted(40)};border-radius:8px}`}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",gap:10,flexWrap:\"wrap\",fontSize:11,color:muted(65),marginBottom:8},children:[/*#__PURE__*/_jsx(\"span\",{children:\"Move across the charts to inspect every metric.\"}),/*#__PURE__*/_jsx(\"strong\",{className:\"wl-analysis-time\",style:{color:TEXT,fontVariantNumeric:\"tabular-nums\"},children:selected===null?\"Select a point\":analysisTime(selected)})]}),/*#__PURE__*/_jsx(\"div\",{ref:viewportRef,className:\"wl-analysis-viewport\",style:{overflowX:zoomed?\"scroll\":\"hidden\",overscrollBehaviorX:\"contain\",scrollbarWidth:\"auto\",paddingTop:4},children:/*#__PURE__*/_jsxs(\"div\",{className:\"wl-analysis-timeline\",style:{width:zoomed?\"400%\":\"100%\"},children:[/*#__PURE__*/_jsxs(\"div\",{ref:chartRef,className:\"wl-analysis-stack\",role:\"slider\",tabIndex:0,\"aria-label\":\"Workout time cursor\",\"aria-orientation\":\"horizontal\",\"aria-valuemin\":start/1e3,\"aria-valuemax\":end/1e3,\"aria-valuenow\":(selected??start)/1e3,\"aria-valuetext\":selected===null?\"Select a point in the workout\":analysisTime(selected)+\". \"+readings.map(s=>s.label+\": \"+readout(s)).join(\". \"),onPointerMove:move,onPointerDown:move,onKeyDown:event=>{const direction=event.key===\"ArrowRight\"||event.key===\"ArrowUp\"?1:event.key===\"ArrowLeft\"||event.key===\"ArrowDown\"?-1:0;if(direction||event.key===\"Home\"||event.key===\"End\"){event.preventDefault();selectWithKeyboard(event.key===\"Home\"?start:event.key===\"End\"?end:Math.max(start,Math.min(end,(selected??start)+direction*(event.shiftKey?1e4:1e3))));}},style:{position:\"relative\",cursor:\"crosshair\",touchAction:zoomed?\"auto\":\"pan-y\"},children:[!readings.length&&/*#__PURE__*/_jsx(\"div\",{style:{padding:\"20px 0\",fontSize:12,color:muted(65)},children:\"Switch on a chart below to show its data.\"}),readings.map(s=>/*#__PURE__*/_jsxs(\"div\",{className:\"wl-analysis-row\",\"data-metric\":s.key,style:{position:\"relative\",minWidth:0,borderBottom:`1px solid ${muted(9)}`,padding:\"6px 0 0\"},children:[/*#__PURE__*/_jsxs(\"div\",{className:\"wl-analysis-row-header\",style:{position:\"sticky\",left:0,width:zoomed?\"25%\":\"100%\",zIndex:2,marginBottom:-12,display:\"flex\",alignItems:\"baseline\",justifyContent:\"space-between\",gap:10,fontSize:10,lineHeight:\"16px\",letterSpacing:\".06em\",background:\"transparent\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:muted(65)},children:s.label}),/*#__PURE__*/_jsxs(\"span\",{className:\"wl-analysis-minmax\",\"aria-label\":s.label+\" minimum \"+minimumReadout(s)+\", maximum \"+maximumReadout(s),style:{color:muted(65),fontSize:10,letterSpacing:0,fontVariantNumeric:\"tabular-nums\",whiteSpace:\"nowrap\",background:\"transparent\",position:\"relative\",zIndex:2},children:[\"MIN \",/*#__PURE__*/_jsx(\"strong\",{style:{color:s.color},children:minimumReadout(s)}),\" / MAX \",/*#__PURE__*/_jsx(\"strong\",{style:{color:s.color},children:maximumReadout(s)})]})]}),/*#__PURE__*/_jsxs(\"svg\",{viewBox:\"0 0 1000 60\",preserveAspectRatio:\"none\",\"aria-hidden\":\"true\",style:{display:\"block\",width:\"100%\",height:60,overflow:\"hidden\"},children:[fillCharts&&/*#__PURE__*/_jsx(\"path\",{d:s.paths.area,fill:s.color,opacity:\"0.38\"}),/*#__PURE__*/_jsx(\"path\",{d:s.paths.line,fill:\"none\",stroke:s.color,strokeWidth:\"1.7\",vectorEffect:\"non-scaling-stroke\",strokeLinejoin:\"round\"}),!zoomed&&percent!==null&&s.value!==null&&/*#__PURE__*/_jsx(\"circle\",{cx:percent*10,cy:60-(s.value-s.minimum)/(s.maximum-s.minimum)*55,r:\"3\",fill:s.color,vectorEffect:\"non-scaling-stroke\"})]}),percent!==null&&/*#__PURE__*/_jsx(\"strong\",{className:\"wl-analysis-value\",style:{position:\"absolute\",zIndex:3,top:21,left:`max(0px, calc(${percent}% - ${s.key===\"elevation\"?158:[\"steps/min\",\"min/km\"].includes(s.unit)?148:92}px))`,width:s.key===\"elevation\"?150:[\"steps/min\",\"min/km\"].includes(s.unit)?140:84,boxSizing:\"border-box\",padding:\"3px 5px\",textAlign:\"right\",borderRadius:4,background:\"transparent\",color:\"#FFFFFF\",fontSize:12,fontVariantNumeric:\"tabular-nums\",whiteSpace:\"nowrap\",pointerEvents:\"none\"},children:readout(s)})]},s.key)),readings.length>0&&percent!==null&&/*#__PURE__*/_jsx(\"div\",{className:\"wl-analysis-needle\",\"data-time\":selected,style:{position:\"absolute\",zIndex:1,left:percent+\"%\",top:0,bottom:0,width:1,background:TEXT,opacity:.85,pointerEvents:\"none\"}})]}),/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{display:\"flex\",justifyContent:\"space-between\",fontSize:10,color:muted(55),marginTop:6,marginBottom:zoomed?6:0},children:Array.from({length:zoomed?9:3},(_,index)=>/*#__PURE__*/_jsx(\"span\",{children:analysisTime(start+(end-start)*index/(zoomed?8:2))},index))})]})}),/*#__PURE__*/_jsxs(\"div\",{role:\"group\",\"aria-label\":\"Analysis chart display\",style:{display:\"flex\",alignItems:\"center\",flexWrap:\"wrap\",gap:\"4px 18px\",borderTop:`1px solid ${muted(12)}`,marginTop:10,paddingTop:8},children:[series.map(s=>/*#__PURE__*/_jsx(AnalysisSwitch,{label:s.label.charAt(0)+s.label.slice(1).toLowerCase(),checked:!hiddenCharts.includes(s.key),color:s.color,onChange:()=>setHiddenCharts(current=>current.includes(s.key)?current.filter(key=>key!==s.key):[...current,s.key])},s.key)),/*#__PURE__*/_jsxs(\"div\",{style:{marginLeft:\"auto\",display:\"flex\",alignItems:\"center\",gap:14},children:[/*#__PURE__*/_jsx(AnalysisSwitch,{label:\"Fill charts\",checked:fillCharts,onChange:()=>setFillCharts(value=>!value)}),/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"wl-analysis-zoom\",\"aria-label\":\"Zoom charts 4\\xd7\",\"aria-pressed\":zoomed,title:zoomed?\"Show full workout\":\"Zoom charts 4\\xd7\",onClick:()=>setZoomed(value=>!value),style:{display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",gap:5,height:32,padding:\"4px 6px\",border:0,borderRadius:5,color:zoomed?ACCENT:TEXT,background:\"transparent\",cursor:\"pointer\",fontFamily:\"Inter, sans-serif\",fontSize:10},children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"19\",height:\"19\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.8\",strokeLinecap:\"round\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"10\",cy:\"10\",r:\"6.5\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m15 15 6 6 M7 10h6\"}),!zoomed&&/*#__PURE__*/_jsx(\"path\",{d:\"M10 7v6\"})]}),/*#__PURE__*/_jsx(\"span\",{children:\"4\\xd7\"})]})]})]})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"formatAnalysisValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"analysisValueAt\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"analysisTime\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"analysisClimbingAngle\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"analysisPaths\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"cadenceDisplay\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"analysisSamples\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AnalysisSample\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"analysisSeries\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"WorkoutAnalysisCharts\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./WorkoutAnalysisCharts.map","/** SummiQ stimulus 1.0.0: deterministic exposure heuristic, not measured adaptation. */export const STIMULUS_MODEL_VERSION=\"1.0.0\";export const STIMULUS_AXES=[{key:\"endurance\",label:\"Aerobic Endurance\",description:\"Sustained easier exercise that may support endurance over longer distances.\"},{key:\"aerobicThreshold\",label:\"Aerobic Threshold\",description:\"Sustained exercise near your first threshold, supporting aerobic capacity.\"},{key:\"lactateThreshold\",label:\"Lactate Threshold\",description:\"Longer efforts near your second threshold or FTP, supporting sustained hard exercise.\"},{key:\"vo2max\",label:\"VO2max\",description:\"Sustained high-intensity aerobic efforts that may support maximal aerobic capacity.\"},{key:\"anaerobic\",label:\"Anaerobic Capacity\",description:\"Short, very hard power efforts that engage anaerobic energy pathways.\"}];export const STIMULUS_CLASSIFICATION={minimum:25,secondaryMinimum:35,mixedWithin:12,secondaryRatio:.7};const keys=STIMULUS_AXES.map(axis=>axis.key);const emptyScores=()=>({endurance:null,aerobicThreshold:null,lactateThreshold:null,vo2max:null,anaerobic:null});const emptyExposure=()=>({endurance:0,aerobicThreshold:0,lactateThreshold:0,vo2max:0,anaerobic:0});const positive=n=>typeof n===\"number\"&&Number.isFinite(n)&&n>0;const clamp=n=>Math.max(0,Math.min(1,n));export function stimulusSport(sport){return({bike:\"cycling\",road_cycling:\"cycling\",gravel:\"cycling\",gravel_cycling:\"cycling\",mountain_biking:\"cycling\",indoor_cycling:\"cycling\",run:\"running\",trail_running:\"running\",indoor_running:\"running\",row:\"rowing\",indoor_rowing:\"rowing\"})[sport]||sport;}// Convert profile boundaries to the stream's m/s scale; unknown units are rejected.\nexport function stimulusSpeed(value,unit,metric,sport){const u=(unit||\"\").toLowerCase().replace(/\\s/g,\"\");if(!positive(value))return null;if(metric===\"pace\"){const distance=u.includes(\"500\")||sport===\"rowing\"&&[\"seconds\",\"s\",\"sec\"].includes(u)?500:1e3;if(u.includes(\"min/\"))return distance/(value*60);if(/^(seconds|s|sec)$/.test(u)||u.includes(\"sec/\")||u.includes(\"s/km\")||u.includes(\"s/500\"))return distance/value;return null;}if([\"m/s\",\"mps\"].includes(u))return value;if([\"km/h\",\"kph\",\"kmh\"].includes(u))return value/3.6;if(u===\"mph\")return value/2.2369362921;return null;}function fresh(date,workoutDate){// Age is evaluated at workout time, never today's date: repeated calculations are reproducible.\nif(!date||!workoutDate)return true;const days=(Date.parse(workoutDate)-Date.parse(date))/864e5;return Number.isFinite(days)&&days<=365;}export function stimulusThresholds(input,source){const sport=stimulusSport(input.sport);const metrics=source===\"pace\"?[\"pace\",\"speed\"]:[source];for(const metric of metrics){const sportRows=input.zones.filter(z=>z.metric_type===metric&&stimulusSport(z.sport)===sport);const rows=sportRows.length?sportRows:metric===\"heart_rate\"?input.zones.filter(z=>z.metric_type===metric&&z.sport===\"general\"):[];// Only explicit saved LT1/LT2 boundaries. Never infer physiology from numbered zones.\nconst manual=rows.filter(z=>z.zone_variant===\"seiler_3\"&&z.is_manual===true);const first=manual.find(z=>z.zone_number===1),second=manual.find(z=>z.zone_number===2);if(first&&second&&fresh(first.source_date,input.starts_at)&&fresh(second.source_date,input.starts_at)){const a=metric===\"pace\"?first.lower_value:first.upper_value;const b=metric===\"pace\"?second.lower_value:second.upper_value;const low=source===\"pace\"&&positive(a)?stimulusSpeed(a,first.unit,metric,sport):a;const high=source===\"pace\"&&positive(b)?stimulusSpeed(b,second.unit,metric,sport):b;if(positive(low)&&positive(high)&&high>low*1.03&&high<low*2.5)return{low,high,estimated:false,note:\"Current saved LT1 / LT2 settings\"};}// FTP is a practical proxy, not a laboratory LT2 measurement. LT1 remains an estimate.\nconst ref=rows.find(z=>positive(z.reference_threshold)&&fresh(z.reference_date,input.starts_at));const reference=source===\"power\"&&positive(input.ftp)?input.ftp:ref?.reference_threshold;const high=source===\"pace\"&&positive(reference)?stimulusSpeed(reference,ref?.reference_unit||ref?.unit,metric,sport):reference;if(source!==\"heart_rate\"&&positive(high))return{low:high*(source===\"power\"?.75:.85),high,estimated:true,note:source===\"power\"?\"FTP proxy \\xb7 LT1 estimated at 75% FTP\"+(input.ftpBasis?\" \\xb7 \"+input.ftpBasis:\"\"):\"Threshold pace proxy \\xb7 LT1 estimated at 85% threshold speed\"};}// A validated historical FTP can be available even with disabled/missing zone rows.\nif(source===\"power\"&&positive(input.ftp))return{low:input.ftp*.75,high:input.ftp,estimated:true,note:\"FTP proxy \\xb7 LT1 estimated at 75% FTP \\xb7 \"+(input.ftpBasis||\"saved workout FTP\")};return null;}export function stimulusSegments(stream,max){if(!Array.isArray(stream?.times)||!Array.isArray(stream?.values))return[];const rows=new Map;stream.times.forEach((t,i)=>{if(typeof t!==\"number\"||!Number.isFinite(t)||t<0)return;const v=stream.values[i];rows.set(t/1e3,typeof v===\"number\"&&Number.isFinite(v)&&v>=0&&v<=max?v:null);});const points=Array.from(rows,([t,v])=>({t,v})).sort((a,b)=>a.t-b.t);const result=[];for(let i=0;i<points.length-1;i++){const p=points[i],next=points[i+1],dt=next.t-p.t;// Never carry values over recording gaps or append a fabricated final sample.\nif(p.v!==null&&next.v!==null&&dt>0&&dt<=10)result.push({start:p.t,end:next.t,value:p.v});}return result;}function categoryWeights(value,thresholds,source){const w=emptyExposure(),ratio=value/thresholds.high,low=thresholds.low/thresholds.high;if(value<=0)return w;const enduranceFloor=source===\"heart_rate\"?.45:.2;if(ratio<enduranceFloor)return w;if(ratio<=low)w.endurance=clamp((ratio-enduranceFloor)/(low-enduranceFloor));else if(ratio<1)w.endurance=.35*clamp((1-ratio)/(1-low));// Broad overlap near LT1; separate from LT2 and harder work.\nw.aerobicThreshold=clamp(1-Math.abs(ratio-low)/(source===\"heart_rate\"?.06:ratio<low?.08:.2));const width=source===\"heart_rate\"?.055:source===\"pace\"?.07:.1;w.lactateThreshold=clamp(1-Math.abs(ratio-1)/width);const vo2Floor=source===\"power\"?1.06:1.04;const vo2Ceiling=source===\"power\"?1.45:1.25;if(source!==\"heart_rate\"&&ratio>=vo2Floor&&ratio<=vo2Ceiling)w.vo2max=clamp((ratio-1.02)/.08)*clamp((vo2Ceiling+.1-ratio)/.15);if(source===\"power\"&&ratio>=1.3)w.anaerobic=clamp((ratio-1.25)/.5);return w;}export function normalizeStimulus(exposure,scaleSeconds){return Math.max(0,Math.min(100,Math.round(100*(1-Math.exp(-Math.max(0,exposure)/scaleSeconds)))));}export function classifyStimulus(scores,config=STIMULUS_CLASSIFICATION){const ordered=keys.filter(k=>scores[k]!==null).sort((a,b)=>(scores[b]||0)-(scores[a]||0));const first=ordered[0],next=ordered[1];const primary=first&&(scores[first]||0)>=config.minimum?first:null;const secondary=primary&&next&&(scores[next]||0)>=config.secondaryMinimum&&(scores[next]||0)>=(scores[primary]||0)*config.secondaryRatio?next:null;return{primary,secondary,mixed:!!(primary&&secondary&&(scores[primary]||0)-(scores[secondary]||0)<=config.mixedWithin)};}export function explainStimulus(scores,primary,secondary,mixed,bouts){if(!primary&&Object.values(scores).some(score=>score===null))return\"No dominant stimulus could be established from the supported categories. The unavailable scores may include important parts of your workout.\";if(!primary)return\"Your recorded effort suggests a small training stimulus. It provided light activity without a strong emphasis in the supported categories.\";const benefits={endurance:\"The sustained easier effort may support your ability to keep going over longer distances.\",aerobicThreshold:\"Time around your first threshold may help you sustain a stronger aerobic effort.\",lactateThreshold:\"The longer efforts near your threshold may support your ability to hold a hard pace for longer.\",vo2max:\"The sustained high-intensity \"+(bouts.vo2max>1?\"intervals\":\"effort\")+\" may support your maximal aerobic capacity.\",anaerobic:\"The short, very hard power efforts may support your ability to repeat intense bursts.\"};const label=key=>STIMULUS_AXES.find(a=>a.key===key).label;return\"Your workout \"+(mixed&&secondary?\"combined \"+label(primary)+\" and \"+label(secondary)+\" stimuli. \":\"primarily targeted \"+label(primary)+\". \")+benefits[primary]+(secondary&&!mixed?\" It also provided a meaningful \"+label(secondary)+\" stimulus.\":\"\");}export function calculateWorkoutStimulus(input){const result={version:STIMULUS_MODEL_VERSION,scores:emptyScores(),primary:null,secondary:null,mixed:false,explanation:\"\",source:null,coverage:0,evidence:[],unavailable:null,bouts:emptyExposure(),exposure:emptyExposure()};const fail=message=>({...result,unavailable:message,explanation:message});const sport=stimulusSport(input.sport);if(![\"cycling\",\"running\",\"rowing\"].includes(sport))return fail(\"Stimulus estimates are available for cycling, running and rowing when suitable intensity data is recorded.\");if(!input.fit?.streams)return fail(\"Recorded intensity samples are needed. Workout averages and zone totals cannot establish sustained efforts or short intervals.\");const timer=input.fit.sessions?.reduce((sum,s)=>sum+(positive(s.totalTimerTime)?s.totalTimerTime:0),0)||0;const duration=timer||(positive(input.duration_seconds)?input.duration_seconds:(input.fit.dur||0)/1e3);if(!positive(duration)||duration<60)return fail(\"At least one minute of usable recorded activity is needed for a stimulus estimate.\");const variableTerrain=/trail/.test(input.sport)||positive(input.distance_m)&&(input.elevation_gain_m||0)/input.distance_m>.015;const preferences=sport===\"running\"?[\"pace\",\"heart_rate\"]:sport===\"rowing\"?[\"power\",\"pace\",\"heart_rate\"]:[\"power\",\"heart_rate\"];let selected=null;for(const source of preferences){if(source===\"pace\"&&variableTerrain)continue;const thresholds=stimulusThresholds(input,source);if(!thresholds)continue;const stream=input.fit.streams[source===\"pace\"?\"speed\":source===\"heart_rate\"?\"hr\":\"power\"];const segments=stimulusSegments(stream,source===\"power\"?3e3:source===\"heart_rate\"?240:12.5);if(source===\"heart_rate\")segments.splice(0,segments.length,...segments.filter(s=>s.value>=30));const covered=segments.reduce((n,s)=>n+s.end-s.start,0);const coverage=covered/duration;// Excess timer coverage means pauses cannot be located in the decoded stream. Don't invent active time.\nif(coverage<.7||coverage>1.1)continue;selected={source,segments,thresholds,coverage:Math.min(1,coverage)};break;}if(!selected)return fail(\"Not enough reliable intensity data with matching thresholds. Check your sport thresholds and recording. Gaps, unknown pauses and variable terrain can limit this estimate.\");const{source,segments,thresholds}=selected;result.source=source;result.coverage=selected.coverage;result.evidence=[source===\"pace\"?\"Recorded speed against pace thresholds\":source===\"heart_rate\"?\"Recorded heart rate\":\"Recorded power\",thresholds.note];if(selected.coverage<.9)result.evidence.push(\"Partial recording \\xb7 scores reflect observed time only\");if(source===\"heart_rate\")result.evidence.push(\"VO2max and anaerobic scores unavailable from heart rate alone\");else if(source===\"pace\")result.evidence.push(\"Anaerobic score unavailable from pace alone; terrain and conditions affect pace\");const minimum={endurance:60,aerobicThreshold:120,lactateThreshold:120,vo2max:90,anaerobic:5};const target={endurance:300,aerobicThreshold:600,lactateThreshold:480,vo2max:180,anaerobic:15};const scale={endurance:3600,aerobicThreshold:2400,lactateThreshold:1500,vo2max:600,anaerobic:120};for(const key of keys){if(source===\"heart_rate\"&&[\"vo2max\",\"anaerobic\"].includes(key)||source===\"pace\"&&key===\"anaerobic\")continue;let runStart=-1,runEnd=-1,dose=0;const flush=()=>{const length=runEnd-runStart;if(runStart>=0&&length>=minimum[key]){result.exposure[key]+=dose*Math.min(1,length/target[key])*(key===\"anaerobic\"?Math.min(1,120/length):1);result.bouts[key]++;}runStart=-1;runEnd=-1;dose=0;};for(const segment of segments){const weight=categoryWeights(segment.value,thresholds,source)[key];if(weight<=0||runEnd>=0&&segment.start-runEnd>.001)flush();if(weight<=0)continue;if(runStart<0)runStart=segment.start;runEnd=segment.end;dose+=(segment.end-segment.start)*weight;}flush();result.scores[key]=normalizeStimulus(result.exposure[key],scale[key]);}Object.assign(result,classifyStimulus(result.scores));result.explanation=explainStimulus(result.scores,result.primary,result.secondary,result.mixed,result.bouts);return result;}\nexport const __FramerMetadata__ = {\"exports\":{\"StimulusZone\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"StimulusScores\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"StimulusStream\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"StimulusKey\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"stimulusThresholds\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"STIMULUS_MODEL_VERSION\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"STIMULUS_CLASSIFICATION\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"calculateWorkoutStimulus\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"stimulusSpeed\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"classifyStimulus\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"normalizeStimulus\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"explainStimulus\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"StimulusInput\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"stimulusSegments\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"STIMULUS_AXES\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"stimulusSport\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"StimulusProfile\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./workoutStimulus.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{calculateWorkoutStimulus,STIMULUS_AXES}from\"https://framerusercontent.com/modules/mQS6SwXFfpF10bAUt8sn/PY8bTQLskzIVIdDCl0Fh/workoutStimulus.js\";const TEXT=\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\";const CARD=\"var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69))\";const ACCENT=\"var(--token-84678622-4f97-41e6-b9e4-7945d370801a, rgb(200, 250, 80))\";const muted=percent=>`color-mix(in srgb, ${TEXT} ${percent}%, transparent)`;// Reuse the defined conventional Z1–Z5 tokens in stimulus axis order.\n// This is a visual palette mapping, not a physiological zone classification.\nconst COLORS=[\"var(--token-adeaa52c-cd00-4419-9768-582272f4775b, #8E98A2)\",\"var(--token-1fcaef35-ab4f-439b-9ce4-4e8ece2af3f4, #5EA9FF)\",\"var(--token-1233abe0-f48a-4c85-8f6b-0de9a28fdea4, #55C56A)\",\"var(--token-b02e57d3-3970-4a49-922c-3028c0885d67, #FFD05A)\",\"var(--token-51809b33-30a0-4987-907d-49cd3068ec2d, #FF7A3D)\"];const axisLabel=key=>STIMULUS_AXES.find(a=>a.key===key)?.label;function StimulusBar({axis,value,color,primary}){const[open,setOpen]=React.useState(false);const tooltipId=React.useId();const root=React.useRef(null);React.useEffect(()=>{if(!open)return;const dismiss=event=>{if(!root.current?.contains(event.target))setOpen(false);};document.addEventListener(\"pointerdown\",dismiss);return()=>document.removeEventListener(\"pointerdown\",dismiss);},[open]);return /*#__PURE__*/_jsxs(\"div\",{ref:root,className:\"wl-stimulus-bar-row\",style:{position:\"relative\",display:\"grid\",alignItems:\"center\",gap:10,minWidth:0,padding:\"4px 0\",minHeight:34},children:[/*#__PURE__*/_jsxs(\"div\",{className:\"wl-stimulus-bar-label\",style:{display:\"flex\",alignItems:\"center\",gap:3,minWidth:0},children:[/*#__PURE__*/_jsx(\"span\",{style:{minWidth:0,fontWeight:primary?700:500,lineHeight:1.35},children:axis.label}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":\"About \"+axis.label,\"aria-expanded\":open,\"aria-controls\":open?tooltipId:undefined,\"aria-describedby\":open?tooltipId:undefined,onClick:()=>setOpen(value=>!value),onBlur:()=>setOpen(false),onKeyDown:event=>{if(event.key===\"Escape\"){event.preventDefault();setOpen(false);}},style:{display:\"inline-grid\",placeItems:\"center\",width:26,height:26,flexShrink:0,padding:0,border:0,borderRadius:\"50%\",background:\"transparent\",color:muted(70),cursor:\"pointer\"},children:/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{display:\"grid\",placeItems:\"center\",width:16,height:16,border:\"1px solid currentColor\",borderRadius:\"50%\",fontSize:11,fontFamily:\"Inter, sans-serif\",fontWeight:600},children:\"i\"})})]}),/*#__PURE__*/_jsx(\"div\",{className:\"wl-stimulus-bar-track\",role:value===null?undefined:\"meter\",\"aria-label\":axis.label,\"aria-valuemin\":value===null?undefined:0,\"aria-valuemax\":value===null?undefined:100,\"aria-valuenow\":value===null?undefined:value,\"aria-hidden\":value===null?true:undefined,style:{width:\"100%\",height:8,borderRadius:999,background:muted(9),overflow:\"hidden\"},children:value!==null&&/*#__PURE__*/_jsx(\"span\",{className:\"wl-stimulus-bar-fill\",\"data-stimulus\":axis.key,style:{display:\"block\",height:\"100%\",width:value+\"%\",background:color,borderRadius:\"inherit\"}})}),/*#__PURE__*/_jsx(\"strong\",{\"aria-label\":value===null?\"Unavailable\":undefined,title:value===null?\"Unavailable\":undefined,style:{textAlign:\"right\",fontVariantNumeric:\"tabular-nums\",fontSize:11},children:value===null?\"—\":value}),open&&/*#__PURE__*/_jsxs(\"div\",{id:tooltipId,role:\"tooltip\",style:{position:\"absolute\",top:\"calc(100% + 2px)\",left:0,width:\"100%\",zIndex:5,padding:\"12px 14px\",boxSizing:\"border-box\",borderRadius:8,border:`1px solid ${muted(25)}`,background:CARD,boxShadow:\"0 8px 24px rgba(0,0,0,0.2)\",color:TEXT,fontSize:12,lineHeight:1.55},children:[/*#__PURE__*/_jsxs(\"strong\",{children:[axis.label,\" \\xb7 \",value===null?\"Unavailable\":value+\"/100\"]}),/*#__PURE__*/_jsxs(\"div\",{style:{color:muted(80),marginTop:4},children:[axis.description,value===null?\" The available sensor data cannot support this estimate.\":\"\"]})]})]});}/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function WorkoutStimulusProfile({input,loading=false}){const profile=React.useMemo(()=>calculateWorkoutStimulus(input),[input]);return /*#__PURE__*/_jsxs(\"section\",{\"aria-label\":\"Workout Stimulus Profile\",\"aria-busy\":loading,className:\"wl-stimulus-card\",style:{position:\"relative\",minWidth:0,padding:18,boxSizing:\"border-box\",border:`1px solid color-mix(in srgb, ${ACCENT} 16%, transparent)`,borderRadius:12,background:CARD,color:TEXT},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n            .wl-stimulus-card {container-type:inline-size}\n            .wl-stimulus-card .wl-stimulus-bar-row {grid-template-columns:154px minmax(0,1fr) 25px;font-size:11px}\n            @container (max-width:360px) {.wl-stimulus-card .wl-stimulus-bar-row {grid-template-columns:130px minmax(0,1fr) 22px;column-gap:8px !important}}\n            .wl-stimulus-card button:focus-visible {outline:2px solid ${ACCENT};outline-offset:2px}\n        `}),loading?/*#__PURE__*/_jsx(\"p\",{role:\"status\",style:{fontFamily:\"Inter, sans-serif\",fontSize:12,color:muted(70),lineHeight:1.5},children:\"Loading your recorded effort and threshold settings…\"}):profile.unavailable?/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"0 0 4px\",fontFamily:\"Inter, sans-serif\",fontSize:12,lineHeight:1.6},children:[/*#__PURE__*/_jsx(\"strong\",{children:\"Stimulus unavailable\"}),/*#__PURE__*/_jsx(\"p\",{style:{color:muted(70),margin:\"6px 0 14px\"},children:profile.unavailable}),STIMULUS_AXES.map((axis,i)=>/*#__PURE__*/_jsx(StimulusBar,{axis:axis,value:null,color:COLORS[i],primary:false},axis.key))]}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{className:\"wl-stimulus-explanation\",style:{marginTop:0,padding:\"16px 18px\",borderRadius:9,borderLeft:`3px solid ${ACCENT}`,background:`color-mix(in srgb, ${ACCENT} 7%, transparent)`},children:/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontFamily:\"Inter, sans-serif\",fontSize:15,fontWeight:600,lineHeight:1.65,color:TEXT},children:profile.explanation})}),/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:18,fontFamily:\"Inter, sans-serif\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:10,color:muted(60),textTransform:\"uppercase\",letterSpacing:\".07em\"},children:profile.mixed?\"Mixed stimulus\":\"Primary stimulus\"}),/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:5,fontFamily:\"Teko, sans-serif\",fontSize:26,fontWeight:600,lineHeight:1.1},children:[profile.primary?axisLabel(profile.primary):Object.values(profile.scores).some(score=>score===null)?\"No dominant stimulus\":\"Small stimulus\",profile.mixed&&profile.secondary?\" + \"+axisLabel(profile.secondary):\"\"]}),!profile.mixed&&profile.secondary&&/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:6,fontSize:11,color:muted(75)},children:[\"Secondary: \",axisLabel(profile.secondary)]}),/*#__PURE__*/_jsxs(\"div\",{role:\"group\",\"aria-label\":\"Stimulus scores\",style:{display:\"grid\",gap:3,margin:\"12px 0 8px\",fontSize:11},children:[/*#__PURE__*/_jsxs(\"div\",{\"aria-hidden\":\"true\",style:{display:\"flex\",justifyContent:\"space-between\",color:muted(48),fontSize:9},children:[/*#__PURE__*/_jsx(\"span\",{children:\"RELATIVE STIMULUS\"}),/*#__PURE__*/_jsx(\"span\",{children:\"0–100\"})]}),STIMULUS_AXES.map((axis,i)=>/*#__PURE__*/_jsx(StimulusBar,{axis:axis,value:profile.scores[axis.key],color:COLORS[i],primary:profile.primary===axis.key},axis.key))]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:10,fontFamily:\"Inter, sans-serif\",fontSize:10,lineHeight:1.5,color:muted(58)},children:[profile.evidence.join(\" \\xb7 \"),\" \\xb7 \",Math.round(profile.coverage*100),\"% recorded coverage\"]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:12,paddingTop:10,borderTop:`1px solid ${muted(12)}`,fontFamily:\"Inter, sans-serif\",fontSize:10,lineHeight:1.5,color:muted(56)},children:[\"Estimated training stimulus, not measured adaptation. Scores overlap and do not add up to 100. Model \",profile.version,\".\"]})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"WorkoutStimulusProfile\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./WorkoutStimulusProfile.map","/** Sum only whole, non-overlapping records from the caller's matched source.\n * Partial overlaps cannot be apportioned accurately and remain unavailable. */export function recordedWorkoutDistance(records,start,end){const from=Date.parse(start),to=Date.parse(end);const rows=records.filter(r=>Date.parse(r.startTime)<to&&Date.parse(r.endTime)>from).sort((a,b)=>Date.parse(a.startTime)-Date.parse(b.startTime));if(!rows.length)return undefined;let previousEnd=from,total=0;for(const r of rows){const a=Date.parse(r.startTime),b=Date.parse(r.endTime),meters=r.distance?.inMeters;if(!Number.isFinite(a)||!Number.isFinite(b)||a<previousEnd||b<=a||b>to||typeof meters!==\"number\"||!Number.isFinite(meters)||meters<0)return undefined;total+=meters;previousEnd=b;}// Avoid representing partial distance coverage as the full workout total.\nconst covered=rows.reduce((n,r)=>n+Date.parse(r.endTime)-Date.parse(r.startTime),0);return covered>=to-from?total:undefined;}/** Conservative GPS estimate: reject incomplete tracks and implausible jumps. */export function estimateRouteDistance(points,durationMs){if(points.length<2||!Number.isFinite(durationMs)||durationMs<=0)return undefined;const rows=[...points].sort((a,b)=>a.time-b.time);let distance=0,covered=0;const rad=Math.PI/180;for(let i=0;i<rows.length;i++){const p=rows[i];if(![p.time,p.latitude,p.longitude].every(Number.isFinite)||Math.abs(p.latitude)>90||Math.abs(p.longitude)>180)return undefined;if(!i)continue;const q=rows[i-1],dt=p.time-q.time;if(dt<=0)continue;if(dt>3e4)return undefined;const a=Math.sin((p.latitude-q.latitude)*rad/2)**2+Math.cos(p.latitude*rad)*Math.cos(q.latitude*rad)*Math.sin((p.longitude-q.longitude)*rad/2)**2;const meters=6371e3*2*Math.asin(Math.sqrt(Math.min(1,a)));if(meters/(dt/1e3)>60)return undefined;distance+=meters;covered+=dt;}return covered>=durationMs*.9&&covered<=durationMs*1.01?distance:undefined;}\nexport const __FramerMetadata__ = {\"exports\":{\"estimateRouteDistance\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"recordedWorkoutDistance\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./workoutDistance.map","import*as React from\"react\";import{readSummiQSessionStorage,summiqFetch as fetch}from\"https://framerusercontent.com/modules/poNpHAVIxJoMt6N6zPB6/Bz3gmh5UaIazBROAmCaP/supabaseClient.js\";const URL=\"https://ebpfzynodqzqpybkfkaz.supabase.co\";const KEY=\"sb_publishable_hPYtdUhH5IfiCj_-oSWlGQ_3RnpqTRl\";export function calorieSourceLabel(source){if(!source||source===\"none\")return\"No daily provider\";if(source===\"health_connect\")return\"Health Connect\";return source.replace(/_/g,\" \").replace(/\\b\\w/g,letter=>letter.toUpperCase());}export function workoutCalories(workout,mode=\"automatic\"){const valid=v=>typeof v===\"number\"&&Number.isFinite(v)&&v>=0;const useSummiq=mode===\"summiq\"||mode===\"automatic\"&&valid(workout.summiq_calories_kcal);const value=useSummiq?workout.summiq_calories_kcal:workout.calories_kcal;const source=useSummiq?\"Summiq estimate\":calorieSourceLabel(workout.calorie_metadata?.provider?.source||workout.source_provider||workout.recording_device_brand||\"FIT device\");return{value:valid(value)?value:null,text:valid(value)?Math.round(value).toLocaleString()+\" kcal\":\"Unavailable\",source:valid(value)?source:mode===\"summiq\"?\"Requires cycling power coverage\":\"No calorie value available\",note:useSummiq?\"Power-based workout estimate. \"+(workout.calories_model_version||\"cycling-power@1.0\")+\". No separate resting allowance. Daily provider totals are never adjusted.\":\"Provider-reported workout estimate. Resting-energy inclusion may vary by provider. Daily totals already include tracked workouts.\"};}export async function caloriesRequest(path,body){let session;try{session=JSON.parse(readSummiQSessionStorage()||\"null\");}catch{}if(!session?.access_token||!session?.user?.id)throw new Error(\"Please sign in again\");const response=await fetch(URL+path,{method:body===undefined?\"GET\":\"POST\",headers:{apikey:KEY,Authorization:\"Bearer \"+session.access_token,\"Content-Type\":\"application/json\",...path.startsWith(\"/rest/v1/\")&&body!==undefined?{Prefer:\"resolution=merge-duplicates,return=representation\"}:{}},...body===undefined?{}:{body:JSON.stringify(body)}});const result=await response.json().catch(()=>null);if(!response.ok)throw new Error(result?.message||result?.error||\"Could not load calories\");return result;}export async function saveCaloriePreferences(values){const session=JSON.parse(readSummiQSessionStorage()||\"null\");if(!session?.user?.id)throw new Error(\"Please sign in again\");await caloriesRequest(\"/rest/v1/health_source_preferences?on_conflict=user_id\",{user_id:session.user.id,...values});if(typeof window!==\"undefined\"){window.dispatchEvent(new Event(\"summiq:health-updated\"));window.dispatchEvent(new Event(\"summiq:calories-updated\"));}}export function useWorkoutCalorieMode(){const[state,setState]=React.useState({mode:\"automatic\",ready:false,error:\"\"});React.useEffect(()=>{let active=true,generation=0;const load=async()=>{const current=++generation;try{const rows=await caloriesRequest(\"/rest/v1/health_source_preferences?select=workout_calories_mode&limit=1\");const mode=rows?.[0]?.workout_calories_mode;if(active&&current===generation)setState({mode:mode===\"provider\"||mode===\"summiq\"?mode:\"automatic\",ready:true,error:\"\"});}catch(e){if(active&&current===generation)setState(previous=>({...previous,ready:false,error:e instanceof Error?e.message:\"Could not load calorie preference\"}));}};void load();window.addEventListener(\"summiq:health-updated\",load);window.addEventListener(\"summiq-auth-changed\",load);return()=>{active=false;generation++;window.removeEventListener(\"summiq:health-updated\",load);window.removeEventListener(\"summiq-auth-changed\",load);};},[]);return state;}\nexport const __FramerMetadata__ = {\"exports\":{\"caloriesRequest\":{\"type\":\"function\",\"isAsync\":true,\"annotations\":{\"framerContractVersion\":\"1\"}},\"workoutCalories\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"calorieSourceLabel\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CalorieWorkout\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useWorkoutCalorieMode\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"WorkoutCalorieMode\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"saveCaloriePreferences\":{\"type\":\"function\",\"isAsync\":true,\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import WorkoutAiAnalysisConfirmation from\"https://framerusercontent.com/modules/iG2gPpzrIEW4MXjDUEm9/nVyDUiymteUp20sGw1Ga/WorkoutAiAnalysisConfirmation.js\";import StravaRouteThumbnail from\"https://framerusercontent.com/modules/23B4JSB2Z5Rd8ezGBDKe/sovWIXuacFBJyof15Ng8/StravaRouteThumbnail.js\";import StravaSendButton from\"https://framerusercontent.com/modules/fLjyTRUntOdk9cMSTiFE/5gvciGff6lrjgTypxat3/StravaSendButton.js\";import SummiQCardIcon from\"https://framerusercontent.com/modules/rVMRxAhOdZIMVrQwamIB/uA4pSJk4GIPYD46eCSqz/SummiQCardIcon.js\";import{GarminSource}from\"https://framerusercontent.com/modules/Mc3FxdV7U9ZTrhB2lCia/GPCDzkIvH4aDJXfn11Sl/GarminAttribution.js\";import{StrengthCheckInEditor,useStrengthWorkoutPopup,isStrengthWorkout as isCheckInStrength}from\"https://framerusercontent.com/modules/5bZfvvZcx7jvnkDgBIQ6/3VfFzHvwolyIidUm4kiy/StrengthCheckIn.js\";import WorkoutAnalysisCharts,{analysisSeries,cadenceDisplay}from\"https://framerusercontent.com/modules/W6f7kXbxPx5XV0OEZRVd/SbvQVARhVEFHdorfD0id/WorkoutAnalysisCharts.js\";import WorkoutStimulusProfile from\"https://framerusercontent.com/modules/OUc5YZZcPe37hDzEQB28/bZwqvv9xGY4TIE4m3XcH/WorkoutStimulusProfile.js\";import{resolveSummiQColor}from\"https://framerusercontent.com/modules/6prwK8UtIxDxvaML30yS/uWrN9Oglr9tXvimPpiWi/themeColors.js\";import SummiQCloseButton from\"https://framerusercontent.com/modules/alR4Bc16BBbCqHNg7B23/GUhK2aJWmamG3Wo4708T/SummiQCloseButton.js\";import{estimateRouteDistance}from\"https://framerusercontent.com/modules/v2udXCzRmgmExEudAAxh/mbJMuUXKL6lZASuh4ZEB/workoutDistance.js\";import{renderRouteThumbnail}from\"https://framerusercontent.com/modules/Xcb2JY5R30ELhfH2e6wY/Az5ix8ItPxodDl8997Ai/routeThumbnail.js\";import SportIdentity from\"https://framerusercontent.com/modules/nMAsHeRJcdZxVrsP3Oa3/Jdg9bdO3o39SpXZ4haiI/SportIdentity.js\";import{workoutCalories,useWorkoutCalorieMode,caloriesRequest}from\"https://framerusercontent.com/modules/AR0vY2lXsapLZ6XbDr0J/hjKdV1gMBIAm6t09QloH/workoutCalories.js\";import AiCoachAskButton,{useAiCoachModel}from\"https://framerusercontent.com/modules/uJwJ4vgabmyaXlm9B2n4/qwmkXpPC704sMHUXu8mE/AiCoachAskButton.js\";function round(value,digits=1){return value===undefined?undefined:Math.round(value*Math.pow(10,digits))/Math.pow(10,digits);}// Decode FIT files only when details, imports, or recalculation need them.\n// Keeping the SDK out of the initial module graph speeds up embedded pages.\nasync function parseFitActivity(...args){const codec=await import(\"https://framerusercontent.com/modules/hkIdnPCsigEmnJAMh160/az6tid4OdXCX6LCGHNEY/fitCodec.js\");return codec.parseFitActivity(...args);}import{formatIF,storedWorkoutIF,storedWorkoutIntensity,workoutIfUsesCurrentFtp,workoutIfNotice}from\"https://framerusercontent.com/modules/ai8g1pwfTf5Ih9HepqqW/L1uhOoS9urrzBwuwYcWe/workoutIntensity.js\";import{beginSummiQSyncRefresh,endSummiQSyncRefresh,requestSummiQSyncRefresh,subscribeSummiQRefresh,readSummiQSessionStorage,summiqFetch as fetch}from\"https://framerusercontent.com/modules/poNpHAVIxJoMt6N6zPB6/Bz3gmh5UaIazBROAmCaP/supabaseClient.js\";let activeDateFormat=\"dmy\";function dateLocale(format=activeDateFormat){return format===\"mdy\"?\"en-US\":\"en-GB\";}function useDateFormat(enabled=true){const[format,setFormat]=React.useState(activeDateFormat);React.useEffect(()=>{if(!enabled||typeof window===\"undefined\")return;let mounted=true;const update=event=>{activeDateFormat=event.detail===\"mdy\"?\"mdy\":\"dmy\";if(mounted)setFormat(activeDateFormat);};const load=async()=>{try{const session=JSON.parse(readSummiQSessionStorage()||\"null\");const token=session?.access_token||session?.token||session?.session?.access_token;if(!token)return;const response=await fetch(\"https://ebpfzynodqzqpybkfkaz.supabase.co/rest/v1/athlete_units?select=date_format&limit=1\",{headers:{apikey:\"sb_publishable_hPYtdUhH5IfiCj_-oSWlGQ_3RnpqTRl\",Authorization:\"Bearer \"+token}});if(!response.ok)return;const rows=await response.json();if(mounted){activeDateFormat=rows?.[0]?.date_format===\"mdy\"?\"mdy\":\"dmy\";setFormat(activeDateFormat);}}catch{}};window.addEventListener(\"summiq:date-format-changed\",update);void load();return()=>{mounted=false;window.removeEventListener(\"summiq:date-format-changed\",update);};},[enabled]);return format;}import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";const SUMMIQ_ACCENT=\"var(--token-84678622-4f97-41e6-b9e4-7945d370801a, rgb(200, 250, 80))\";const CARD=\"var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69))\";const summiqAccentAlpha=opacity=>\"color-mix(in srgb, \"+SUMMIQ_ACCENT+\" \"+Math.round(opacity*100)+\"%, transparent)\";const RECORDING_BRANDS=[\"Amazfit\",\"Biketerra\",\"Coros\",\"Fitbit\",\"Garmin\",\"Health Connect\",\"Huawei\",\"Pebble\",\"Polar\",\"Samsung\",\"Sigma Sport\",\"Suunto\",\"Zwift\"];function recordingBrandFromSource(source){if(!source||typeof source!==\"object\"||Array.isArray(source))return null;const item=source;const match=value=>{if(value&&typeof value===\"object\"&&!Array.isArray(value)){const device=value;for(const key of[\"brand\",\"manufacturer\",\"name\",\"model\"]){if(typeof device[key]===\"string\"){const brand=match(device[key]);if(brand)return brand;}}return null;}if(typeof value!==\"string\")return null;const words=value.toLowerCase().replace(/[^a-z0-9]+/g,\" \").trim();for(const brand of RECORDING_BRANDS){const label=brand.toLowerCase();if((\" \"+words+\" \").includes(\" \"+label+\" \"))return brand;}if(/\\b(amazefit|huami|zepp)\\b/.test(words))return\"Amazfit\";if(/\\bsigma\\b/.test(words))return\"Sigma Sport\";if(/\\bhealthconnect\\b/.test(words)||/\\bhealth connect\\b/.test(words))return\"Health Connect\";if(/\\bfit bit\\b/.test(words))return\"Fitbit\";return null;};// Recording metadata wins over the service used to transfer the activity.\nfor(const key of[\"recordingDeviceBrand\",\"recordingDevice\",\"recordingApp\",\"provider\",\"platform\"]){const brand=match(item[key]);if(brand)return brand;}return null;}function importedRecordingBrand(source,existingWorkout){// Re-importing an existing activity must not replace a saved manual choice.\nif(existingWorkout)return{};return{recording_device_brand:recordingBrandFromSource(source),recording_device_brand_origin:\"import\"};}function matchingDuplicateRecordings(workout,rows){const start=new Date(workout.starts_at).getTime(),duration=Number(workout.duration_seconds);return rows.filter(row=>{if(row.id===workout.id||row.duplicate_of_workout_id)return false;if(row.id===workout.duplicate_of_workout_id)return true;if(row.sport!==workout.sport)return false;const offset=Math.abs(new Date(row.starts_at).getTime()-start),otherDuration=Number(row.duration_seconds);return Number.isFinite(offset)&&offset<=5*60*1e3&&(!(duration>0&&otherDuration>0)||Math.abs(duration-otherDuration)<=Math.max(600,Math.max(duration,otherDuration)*.2));});}function countedDuplicateRecording(workout,rows,linkedIds){const current=rows.find(row=>row.id===workout.duplicate_of_workout_id);if(current)return current;const connected=rows.filter(row=>linkedIds.has(row.id));if(connected.length)return connected.length===1?connected[0]:null;return rows.length===1?rows[0]:null;}function DuplicateRecordingEditor({workout,onSaved}){const[options,setOptions]=React.useState([]),[linkedIds,setLinkedIds]=React.useState(new Set),[busy,setBusy]=React.useState(false),[loading,setLoading]=React.useState(true),[error,setError]=React.useState(\"\");const busyRef=React.useRef(false);React.useEffect(()=>{const controller=new AbortController,session=sessionFromToken();setLoading(true);setError(\"\");setOptions([]);setLinkedIds(new Set);if(!session){setLoading(false);setError(\"Sign in to update this recording.\");return;}const start=new Date(workout.starts_at),from=new Date(start.getTime()-864e5).toISOString(),until=new Date(start.getTime()+864e5).toISOString();const query=\"/rest/v1/workouts?select=id,title,sport,starts_at,duration_seconds,recording_device_brand,source_provider,duplicate_of_workout_id&user_id=eq.\"+encodeURIComponent(session.userId)+\"&status=eq.completed&duplicate_of_workout_id=is.null&id=neq.\"+encodeURIComponent(workout.id)+\"&or=(and(starts_at.gte.\"+from+\",starts_at.lte.\"+until+\")\"+(workout.duplicate_of_workout_id?\",id.eq.\"+workout.duplicate_of_workout_id:\"\")+\")&order=starts_at.asc&limit=100\";void(async()=>{const headers={apikey:SUPABASE_KEY,Authorization:\"Bearer \"+session.token},response=await fetch(SUPABASE_URL+query,{signal:controller.signal,headers});if(!response.ok)throw Error(\"Could not find the matching recordings.\");const candidates=matchingDuplicateRecordings(workout,await response.json()),connected=new Set;// The existing RPC covers direct links and completion-table connections.\n// Check a small batch at a time rather than sending all requests at once.\nfor(let i=0;i<candidates.length;i+=4){await Promise.all(candidates.slice(i,i+4).map(async row=>{const result=await fetch(SUPABASE_URL+\"/rest/v1/rpc/summiq_recording_is_linked\",{method:\"POST\",signal:controller.signal,headers:{...headers,\"Content-Type\":\"application/json\"},body:JSON.stringify({p_workout_id:row.id})});if(!result.ok)throw Error(\"Could not check which recording is connected to the workout.\");const linked=await result.json();if(typeof linked!==\"boolean\")throw Error(\"Could not verify the recording connection.\");if(linked)connected.add(row.id);}));}if(!controller.signal.aborted){setOptions(candidates);setLinkedIds(connected);}})().catch(e=>{if(!controller.signal.aborted)setError(e instanceof Error?e.message:\"Could not load recordings.\");}).finally(()=>{if(!controller.signal.aborted)setLoading(false);});return()=>controller.abort();},[workout.id,workout.duplicate_of_workout_id]);const primary=countedDuplicateRecording(workout,options,linkedIds),enabled=Boolean(workout.duplicate_of_workout_id);async function save(value){if(busyRef.current)return;const session=sessionFromToken();if(!session){setError(\"Sign in to update this recording.\");return;}busyRef.current=true;setBusy(true);setError(\"\");try{const response=await fetch(SUPABASE_URL+\"/rest/v1/workouts?id=eq.\"+encodeURIComponent(workout.id)+\"&user_id=eq.\"+encodeURIComponent(session.userId),{method:\"PATCH\",headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+session.token,\"Content-Type\":\"application/json\",Prefer:\"return=representation\"},body:JSON.stringify({duplicate_of_workout_id:value})});if(!response.ok){const result=await response.json().catch(()=>null);throw Error(result?.message||\"Could not save this duplicate recording.\");}const rows=await response.json();if(rows.length!==1||rows[0].duplicate_of_workout_id!==value)throw Error(\"The recording could not be updated.\");onSaved(workout.id,value);window.dispatchEvent(new CustomEvent(\"summiq:workout-saved\"));window.dispatchEvent(new CustomEvent(\"summiq:data-refresh\"));}catch(e){setError(e instanceof Error?e.message:\"Could not save.\");}finally{busyRef.current=false;setBusy(false);}}return /*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:14,padding:\"8px 12px\",border:\"1px solid color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 16%, transparent)\",borderRadius:7,fontFamily:\"Inter, sans-serif\",fontSize:12},children:[/*#__PURE__*/_jsxs(\"label\",{title:\"Automatically count the connected recording, or the one remaining recording of this same workout. This extra recording stays saved but is excluded from training totals and AI context.\",style:{display:\"flex\",alignItems:\"center\",gap:8,minHeight:32,cursor:\"pointer\"},children:[/*#__PURE__*/_jsx(\"input\",{type:\"checkbox\",checked:enabled,disabled:busy||loading||!enabled&&!primary,onChange:event=>void save(event.target.checked?primary.id:null)}),\"Duplicate recording\",enabled&&/*#__PURE__*/_jsx(\"span\",{style:{color:\"var(--token-17ee7dcd-4377-4fab-a2b0-9a75f438ffa6, rgb(255, 191, 97))\"},children:\"Excluded from totals and AI context\"})]}),/*#__PURE__*/_jsx(\"div\",{role:\"status\",style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 65%, transparent)\",lineHeight:1.5,marginTop:4},children:busy?\"Saving…\":loading?\"Finding the recording to count…\":primary?`${linkedIds.has(primary.id)?\"Connected recording\":\"Recording kept\"}: ${primary.title}. ${enabled?\"Uncheck to count this recording separately again.\":\"Check to count the workout once; this recording will be treated as an extra copy.\"}`:options.length?\"More than one recording matches. Connect one matching recording to the workout, then reopen these settings.\":\"No other matching recording was found. This recording continues to count.\"}),error&&/*#__PURE__*/_jsx(\"div\",{role:\"alert\",style:{color:\"var(--token-5184f82f-c524-4809-aa5c-78d92709508d, rgb(239, 111, 108))\",marginTop:6},children:error})]});}function RecordingBrandEditor({workout,fit,onSaved}){const[draft,setDraft]=React.useState(workout.recording_device_brand||\"\");const[busy,setBusy]=React.useState(false);const[message,setMessage]=React.useState(\"\");const[failed,setFailed]=React.useState(false);const busyRef=React.useRef(false);const mounted=React.useRef(true);const fieldId=React.useId();React.useEffect(()=>{mounted.current=true;return()=>{mounted.current=false;};},[]);React.useEffect(()=>{setDraft(workout.recording_device_brand||\"\");},[workout.recording_device_brand]);const save=async readSource=>{if(busyRef.current)return;const session=sessionFromToken();if(!session){setFailed(true);setMessage(\"Sign in to save a recording brand.\");return;}busyRef.current=true;setBusy(true);setFailed(false);setMessage(\"\");try{let brand=draft||null;if(readSource){let sourceFit=fit?.id===workout.id?fit:null;if(!sourceFit){if(!workout.fit_path)throw new Error(\"No source file is available. Choose a brand from the list.\");const response=await fetch(SUPABASE_URL+\"/storage/v1/object/authenticated/\"+encodeURIComponent(workout.fit_bucket||\"workout-files\")+\"/\"+storagePath(workout.fit_path),{headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+session.token}});if(!response.ok)throw new Error(\"Could not read the source file. Your saved brand has not changed.\");sourceFit=await parseFitActivity(await response.arrayBuffer(),{id:workout.id,userId:session.userId,filename:workout.original_filename,source:workout.metrics?.import_source});}brand=recordingBrandFromSource(sourceFit?.source);if(!brand)throw new Error(\"No supported brand was found in the source. Choose a brand from the list; your saved choice has not changed.\");}if(brand!==null&&!RECORDING_BRANDS.includes(brand))throw new Error(\"Choose a brand from the list.\");const origin=readSource?\"source\":\"manual\";const response=await fetch(SUPABASE_URL+\"/rest/v1/workouts?id=eq.\"+encodeURIComponent(workout.id)+\"&user_id=eq.\"+encodeURIComponent(session.userId)+\"&select=id,recording_device_brand,recording_device_brand_origin\",{method:\"PATCH\",headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+session.token,\"Content-Type\":\"application/json\",Prefer:\"return=representation\"},body:JSON.stringify({recording_device_brand:brand,recording_device_brand_origin:origin})});if(!response.ok)throw new Error(\"Could not save the recording brand. Please try again.\");const rows=await response.json();if(!Array.isArray(rows)||rows[0]?.id!==workout.id)throw new Error(\"This workout could not be updated. Refresh and try again.\");onSaved(workout.id,brand,origin);if(typeof window!==\"undefined\")window.dispatchEvent(new CustomEvent(\"summiq:workout-brand-changed\",{detail:{workoutId:workout.id,userId:session.userId,brand}}));if(mounted.current){setDraft(brand||\"\");setMessage(readSource?\"Read from source and saved: \"+brand+\".\":\"Recording brand saved.\");}}catch(error){if(mounted.current){setFailed(true);setMessage(error instanceof Error?error.message:\"Could not save the recording brand.\");}}finally{busyRef.current=false;if(mounted.current)setBusy(false);}};const controlStyle={border:\"1px solid \"+summiqAccentAlpha(.28),borderRadius:7,background:CARD,color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",padding:\"7px 10px\",fontFamily:\"Inter, sans-serif\",fontSize:14,cursor:busy?\"wait\":\"pointer\"};return /*#__PURE__*/_jsxs(\"div\",{style:{marginTop:14,padding:14,border:\"1px solid \"+summiqAccentAlpha(.18),borderRadius:11,background:CARD,fontFamily:\"Inter, sans-serif\"},children:[/*#__PURE__*/_jsx(\"label\",{htmlFor:fieldId,style:{display:\"block\",color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontSize:14,fontWeight:600,marginBottom:9},children:\"Recording brand / app\"}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",alignItems:\"center\",gap:8},children:[/*#__PURE__*/_jsxs(\"select\",{id:fieldId,value:draft,disabled:busy,onChange:event=>{setDraft(event.target.value);setMessage(\"\");setFailed(false);},style:{...controlStyle,minWidth:150,flex:\"1 1 150px\",maxWidth:\"100%\"},children:[/*#__PURE__*/_jsx(\"option\",{value:\"\",children:\"Unknown\"}),RECORDING_BRANDS.map(brand=>/*#__PURE__*/_jsx(\"option\",{value:brand,children:brand},brand))]}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",disabled:busy||draft===(workout.recording_device_brand||\"\"),onClick:()=>void save(false),style:controlStyle,children:\"Save brand\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",disabled:busy||!workout.fit_path,onClick:()=>void save(true),style:controlStyle,children:busy?\"Saving…\":\"Read from source\"})]}),/*#__PURE__*/_jsx(\"p\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 62%, transparent)\",fontSize:12,lineHeight:1.45,margin:\"9px 0 0\"},children:\"Choose a brand and save, or read it from the original workout file. Read from source replaces your saved choice when a brand is found.\"}),message&&/*#__PURE__*/_jsx(\"div\",{role:failed?\"alert\":\"status\",style:{color:failed?\"var(--token-8a9e63f3-d92b-4618-ab51-625b94d718ab, rgb(192, 132, 252))\":SUMMIQ_ACCENT,fontSize:13,lineHeight:1.45,marginTop:8},children:message})]});}const WORKOUT_PROVIDER_OPTIONS=[[\"manual\",\"Manual\"],[\"biketerra\",\"Biketerra\"],[\"polar\",\"Polar\"],[\"garmin\",\"Garmin\"],[\"strava\",\"Strava\"],[\"health_connect\",\"Health Connect\"],[\"health_sync\",\"Health Sync\"],[\"sigma_sport\",\"Sigma Sport\"],[\"samsung_health\",\"Samsung Health\"],[\"suunto\",\"Suunto\"],[\"coros\",\"Coros\"],[\"fitbit\",\"Fitbit\"],[\"huawei\",\"Huawei\"],[\"amazfit\",\"Amazfit\"],[\"zwift\",\"Zwift\"],[\"file_upload\",\"File upload\"],[\"other\",\"Other\"]];function workoutProviderLabel(provider){return WORKOUT_PROVIDER_OPTIONS.find(([value])=>value===provider)?.[1]??provider.replace(/[_-]/g,\" \").replace(/^./,letter=>letter.toUpperCase());}const WORKOUT_SPORT_OPTIONS=[[\"other\",\"Other\"],[\"padel\",\"Padel\"],[\"cycling\",\"Cycling\"],[\"running\",\"Running\"],[\"walking\",\"Walking\"],[\"hiking\",\"Hiking\"],[\"rowing\",\"Rowing\"],[\"swimming\",\"Swimming\"],[\"strength\",\"Strength\"],[\"field_hockey\",\"Field hockey\"],[\"horseback_riding\",\"Horseback riding\"],[\"tennis\",\"Tennis\"],[\"hyrox\",\"HYROX\"],[\"skierg\",\"SkiErg\"],[\"multisport\",\"Multisport\"]];function isTreadmillWorkout(workout){if(workout.sport!==\"running\")return false;const source=workout.metrics?.import_source;if(!source||typeof source!==\"object\"||Array.isArray(source))return false;return source.detailed_sport===\"TREADMILL_RUNNING\";}function workoutSportLabel(sport){return WORKOUT_SPORT_OPTIONS.find(([value])=>value===sport)?.[1]??sport.replace(/_/g,\" \").replace(/^./,letter=>letter.toUpperCase());}// Polar's detailed sport can identify a rowing activity whose FIT sport is generic.\nfunction applyPolarSportDetail(fit,source){const provider=typeof source?.provider===\"string\"?source.provider.trim().toLowerCase():\"\";const detailedSport=typeof source?.detailed_sport===\"string\"?source.detailed_sport.trim().toUpperCase():\"\";if(provider!==\"polar\"||![\"other\",\"rowing\"].includes(fit.sport)||![\"INDOOR_ROWING\",\"ROWING\"].includes(detailedSport))return fit;return{...fit,sport:\"rowing\",environment:detailedSport===\"INDOOR_ROWING\"?\"indoor\":fit.environment,source:{...fit.source,classifiedSport:\"rowing\"}};}const MAP_ROUTE_COLOR=\"#D95A16\";function aiSummaryFromMetrics(metrics){const summary=metrics?.ai_summary;return summary&&typeof summary===\"object\"?summary:null;}function aiCoachNoteFromMetrics(metrics){return typeof metrics?.ai_coach_note===\"string\"?metrics.ai_coach_note:\"\";}function AiSummaryPanel({summary,emptyMessage,coachNote=\"\",onSaveCoachNote,onRecalculate}){const[note,setNote]=React.useState(coachNote);const[saving,setSaving]=React.useState(false);const[saveMessage,setSaveMessage]=React.useState(\"\");React.useEffect(()=>{setNote(coachNote);},[coachNote]);const words=note.trim()?note.trim().split(/\\s+/):[];const updateNote=value=>setNote(value.split(/\\s+/).slice(0,20).join(\" \"));const saveNote=async()=>{if(!onSaveCoachNote)return;setSaving(true);setSaveMessage(\"\");try{await onSaveCoachNote(note.trim());setSaveMessage(\"Saved for AI Coach.\");}catch(error){setSaveMessage(error instanceof Error?error.message:\"Could not save your message.\");}finally{setSaving(false);}};return /*#__PURE__*/_jsxs(\"section\",{\"aria-label\":\"AI summary\",style:{maxWidth:780,margin:\"0 auto\",padding:18,borderRadius:10,border:\"1px solid \"+summiqAccentAlpha(.28),background:summiqAccentAlpha(.055)},children:[/*#__PURE__*/_jsx(\"div\",{style:{color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontSize:13,fontWeight:600,letterSpacing:\"0.12em\"},children:\"AI METRICS\"}),/*#__PURE__*/_jsx(\"p\",{style:{margin:\"8px 0 0\",color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 70%, transparent)\",fontFamily:\"Inter, sans-serif\",fontSize:14,lineHeight:1.45},children:\"This metrics package is supplied to AI Coach to analyse the workout with its recorded context, load, and intensity information.\"}),onRecalculate&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>void onRecalculate(),style:{marginTop:12,border:\"1px solid \"+summiqAccentAlpha(.55),borderRadius:5,background:summiqAccentAlpha(.1),color:\"var(--token-17ee7dcd-4377-4fab-a2b0-9a75f438ffa6, rgb(255, 191, 97))\",padding:\"6px 10px\",fontFamily:\"Teko, sans-serif\",fontSize:14,fontWeight:700,letterSpacing:\"0.07em\",cursor:\"pointer\"},children:\"RECALCULATE METRICS\"}),onSaveCoachNote&&/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:15,padding:12,borderRadius:7,background:\"color-mix(in srgb, var(--token-bf87054d-de74-400b-af1a-b38155f9f249, rgb(5, 8, 10)) 38%, transparent)\",border:\"1px solid color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 12%, transparent)\"},children:[/*#__PURE__*/_jsxs(\"label\",{style:{display:\"block\",color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontFamily:\"Teko, sans-serif\",fontSize:15,letterSpacing:\"0.08em\"},children:[\"MESSAGE FOR AI COACH\",/*#__PURE__*/_jsx(\"textarea\",{value:note,onChange:event=>updateNote(event.target.value),maxLength:280,placeholder:\"For example: I felt unusually fatigued during the final intervals.\",style:{width:\"100%\",minHeight:62,boxSizing:\"border-box\",marginTop:6,resize:\"vertical\",border:\"1px solid color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 20%, transparent)\",borderRadius:6,background:\"var(--token-ff828a93-d602-4c59-8fcf-961a9e5af6a8, rgb(23, 43, 54))\",color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",padding:\"9px 10px\",fontFamily:\"Inter, sans-serif\",fontSize:13,lineHeight:1.35}})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",gap:10,marginTop:7},children:[/*#__PURE__*/_jsxs(\"span\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 52%, transparent)\",fontFamily:\"Inter, sans-serif\",fontSize:12},children:[words.length,\"/20 words\"]}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>void saveNote(),disabled:saving,style:{border:0,borderRadius:5,background:saving?summiqAccentAlpha(.38):SUMMIQ_ACCENT,color:\"var(--token-bf87054d-de74-400b-af1a-b38155f9f249, rgb(5, 8, 10))\",padding:\"6px 10px\",fontFamily:\"Teko, sans-serif\",fontSize:14,fontWeight:700,letterSpacing:\"0.07em\",cursor:saving?\"wait\":\"pointer\"},children:saving?\"SAVING...\":\"SAVE MESSAGE\"})]}),saveMessage&&/*#__PURE__*/_jsx(\"div\",{role:\"status\",style:{marginTop:7,color:saveMessage===\"Saved for AI Coach.\"?\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\":\"var(--token-5184f82f-c524-4809-aa5c-78d92709508d, rgb(239, 111, 108))\",fontFamily:\"Inter, sans-serif\",fontSize:12},children:saveMessage})]}),summary?/*#__PURE__*/_jsx(\"pre\",{style:{margin:\"13px 0 0\",padding:14,overflowX:\"auto\",borderRadius:7,background:\"color-mix(in srgb, var(--token-bf87054d-de74-400b-af1a-b38155f9f249, rgb(5, 8, 10)) 52%, transparent)\",color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontFamily:\"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace\",fontSize:12,lineHeight:1.5,whiteSpace:\"pre-wrap\",overflowWrap:\"anywhere\"},children:JSON.stringify(summary,null,2)}):/*#__PURE__*/_jsx(\"p\",{style:{margin:\"9px 0 0\",color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 66%, transparent)\",fontFamily:\"Inter, sans-serif\",fontSize:14,lineHeight:1.4},children:emptyMessage})]});}const SUPABASE_URL=\"https://ebpfzynodqzqpybkfkaz.supabase.co\";const SUPABASE_KEY=\"sb_publishable_hPYtdUhH5IfiCj_-oSWlGQ_3RnpqTRl\";const SESSION_STORAGE_KEY=\"summiq.auth.session.v1\";const POLAR_PENDING_IMPORTS_STORAGE_KEY=\"summiq.polar.pending-imports.v1\";const POLAR_DOWNLOAD_FUNCTION=\"download-polar-exercise\";const POLAR_QUEUE_EVENT=\"summiq:polar-import-queued\";const SYNC_PROGRESS_STORAGE_KEY=\"summiq.sync.progress.v1\";const SYNC_PROGRESS_EVENT=\"summiq:sync-progress\";function formatDate(date,dateFormat){return date.toLocaleDateString(dateLocale(dateFormat),{day:\"2-digit\",month:\"2-digit\",year:\"numeric\"});}function formatDateTime(date,dateFormat){return date.toLocaleString(dateLocale(dateFormat),{day:\"2-digit\",month:\"2-digit\",year:\"numeric\",hour:\"2-digit\",minute:\"2-digit\"});}function formatWorkoutDuration(seconds){if(!seconds||seconds<0)return\"—\";const hours=Math.floor(seconds/3600),minutes=Math.floor(seconds%3600/60),remainingSeconds=Math.floor(seconds%60);return(hours?hours+\"h \":\"\")+minutes+\"m \"+remainingSeconds+\"s\";}function within(value,minimum,maximum){return typeof value===\"number\"&&Number.isFinite(value)&&value>=minimum&&value<=maximum?value:undefined;}function sessionFromToken(){if(typeof window===\"undefined\")return null;const raw=readSummiQSessionStorage();if(!raw)return null;try{const session=JSON.parse(raw);const token=session?.access_token;const userId=session?.user?.id||JSON.parse(atob((token||\"\").split(\".\")[1].replace(/-/g,\"+\").replace(/_/g,\"/\")))?.sub;return token&&userId?{token,userId}:null;}catch{return null;}}function readableError(error,fallback){if(typeof error===\"string\"&&error)return error;if(error&&typeof error===\"object\"&&\"message\"in error&&typeof error.message===\"string\")return error.message;try{const serialized=JSON.stringify(error);return serialized&&serialized!==\"{}\"?serialized:fallback;}catch{return fallback;}}function writeSyncProgress(progress){if(typeof window===\"undefined\")return;window.sessionStorage.setItem(SYNC_PROGRESS_STORAGE_KEY,JSON.stringify(progress));window.dispatchEvent(new CustomEvent(SYNC_PROGRESS_EVENT,{detail:progress}));}function nonNegativeNumber(value){if(value===null||value===undefined||value===\"\")return null;const number=Number(value);return Number.isFinite(number)&&number>=0?number:null;}async function supabaseError(response,fallback){const body=await response.text();try{const detail=JSON.parse(body);return detail.message||detail.details||detail.hint||fallback;}catch{return body||fallback;}}function automaticCompletionCandidates(plans,activity){const date=new Date(activity.starts_at);if(!Number.isFinite(date.getTime())||!Number.isFinite(activity.duration_seconds)||activity.duration_seconds<=0)return[];const day=date.getFullYear()+\"-\"+String(date.getMonth()+1).padStart(2,\"0\")+\"-\"+String(date.getDate()).padStart(2,\"0\");return plans.filter(plan=>plan.status===\"ready\"&&plan.scheduled_for===day&&Boolean(plan.sport)&&plan.sport.toLowerCase()===activity.sport.toLowerCase()&&plan.preview_data?.plan_kind!==\"rest\"&&plan.preview_data?.plan_kind!==\"other_session\"&&!plan.planned_workout_completions?.length&&Number.isFinite(plan.estimated_duration_seconds)&&Number(plan.estimated_duration_seconds)>0).map(plan=>({plan,score:Math.max(0,Math.round(100-Math.abs(activity.duration_seconds-Number(plan.estimated_duration_seconds))/Number(plan.estimated_duration_seconds)*100))})).filter(candidate=>candidate.score>=85).sort((a,b)=>b.score-a.score||a.plan.id.localeCompare(b.plan.id));}async function automaticallyLinkCompletedWorkout(activity,token,userId){const headers={apikey:SUPABASE_KEY,Authorization:\"Bearer \"+token};const base=SUPABASE_URL+\"/rest/v1/\";const date=new Date(activity.starts_at);if(!Number.isFinite(date.getTime()))return;const day=date.getFullYear()+\"-\"+String(date.getMonth()+1).padStart(2,\"0\")+\"-\"+String(date.getDate()).padStart(2,\"0\");const[plansResponse,linksResponse]=await Promise.all([fetch(base+\"planned_workouts?select=id,sport,status,scheduled_for,estimated_duration_seconds,preview_data,planned_workout_completions(id,is_primary)&user_id=eq.\"+encodeURIComponent(userId)+\"&scheduled_for=eq.\"+day+\"&status=eq.ready\",{headers}),fetch(base+\"planned_workout_completions?select=id&workout_id=eq.\"+encodeURIComponent(activity.id)+\"&limit=1\",{headers})]);if(!plansResponse.ok||!linksResponse.ok)throw new Error(\"Could not check scheduled workout matches.\");// Never replace an existing choice, including a previously deselected link.\nif((await linksResponse.json()).length)return;const candidates=automaticCompletionCandidates(await plansResponse.json(),activity);const best=candidates[0];if(!best)return;// Recheck just before inserting; never clear or overwrite a manual selection.\nconst check=await fetch(base+\"planned_workout_completions?select=id&or=(planned_workout_id.eq.\"+encodeURIComponent(best.plan.id)+\",workout_id.eq.\"+encodeURIComponent(activity.id)+\")&limit=1\",{headers});if(!check.ok)throw new Error(\"Could not verify the scheduled workout match.\");if((await check.json()).length)return;const linked=await fetch(base+\"planned_workout_completions\",{method:\"POST\",headers:{...headers,\"Content-Type\":\"application/json\",Prefer:\"return=minimal\"},body:JSON.stringify({planned_workout_id:best.plan.id,workout_id:activity.id,is_primary:true,match_source:\"auto\"})});if(!linked.ok&&linked.status!==409)throw new Error(await supabaseError(linked,\"Could not automatically link the scheduled workout.\"));}async function downloadPolarFit(token,activity){const response=await fetch(SUPABASE_URL+\"/functions/v1/\"+POLAR_DOWNLOAD_FUNCTION,{method:\"POST\",headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+token,\"Content-Type\":\"application/json\"},body:JSON.stringify({exerciseId:activity.id})});if(!response.ok)throw new Error(await supabaseError(response,\"Could not download this Polar activity.\"));const blob=await response.blob();if(!blob.size)throw new Error(\"Polar returned an empty FIT file for this activity.\");const filename=typeof activity.filename===\"string\"&&activity.filename.trim()?activity.filename.trim():\"polar_\"+activity.id+\".fit\";return new File([blob],filename,{type:\"application/octet-stream\"});}async function loadStrengthDurationModel(token){const headers={apikey:SUPABASE_KEY,Authorization:\"Bearer \"+token};const activeResponse=await fetch(SUPABASE_URL+\"/rest/v1/calculation_releases?select=id,base_release_id,release_key,version&release_key=eq.training-stress&status=eq.active&order=effective_from.desc&limit=1\",{headers});if(!activeResponse.ok)throw new Error(await supabaseError(activeResponse,\"Could not load the active strength calculation model.\"));const activeRelease=(await activeResponse.json())[0];if(!activeRelease?.id)throw new Error(\"No active strength calculation model is configured.\");const releaseChain=[activeRelease];const seen=new Set([activeRelease.id]);let parentId=activeRelease.base_release_id;while(parentId){if(seen.has(parentId))throw new Error(\"The active strength calculation model has a circular inheritance chain.\");const parentResponse=await fetch(SUPABASE_URL+\"/rest/v1/calculation_releases?select=id,base_release_id,release_key,version&id=eq.\"+encodeURIComponent(parentId)+\"&limit=1\",{headers});if(!parentResponse.ok)throw new Error(await supabaseError(parentResponse,\"Could not load an inherited strength calculation model.\"));const parentRelease=(await parentResponse.json())[0];if(!parentRelease?.id)throw new Error(\"An inherited strength calculation model is missing.\");releaseChain.push(parentRelease);seen.add(parentRelease.id);parentId=parentRelease.base_release_id;}// A child release overrides a matching rule in its inherited base release.\nconst releaseIds=releaseChain.slice().reverse().map(release=>release.id);const releaseFilter=releaseIds.map(encodeURIComponent).join(\",\");const[rulesResponse,conversionsResponse]=await Promise.all([fetch(SUPABASE_URL+\"/rest/v1/stress_formula_rules?select=id,release_id,training_load_key,formula_key,implementation_status,priority&release_id=in.(\"+releaseFilter+\")&training_load_key=eq.strength.tse\",{headers}),fetch(SUPABASE_URL+\"/rest/v1/unified_training_load_conversion_rules?select=release_id,training_load_key,factor,priority&release_id=in.(\"+releaseFilter+\")&training_load_key=eq.strength.tse\",{headers})]);if(!rulesResponse.ok)throw new Error(await supabaseError(rulesResponse,\"Could not load the strength load rule.\"));if(!conversionsResponse.ok)throw new Error(await supabaseError(conversionsResponse,\"Could not load the strength uTL rule.\"));const releaseOrder=new Map(releaseIds.map((id,index)=>[id,index]));const rules=await rulesResponse.json();const conversions=await conversionsResponse.json();const rule=rules.filter(candidate=>candidate.formula_key===\"tse_lookup\"&&candidate.implementation_status===\"ready\").sort((a,b)=>(releaseOrder.get(b.release_id)||0)-(releaseOrder.get(a.release_id)||0)||a.priority-b.priority)[0];if(!rule)throw new Error(\"No ready duration-based strength rule is configured.\");const conversion=conversions.filter(candidate=>candidate.training_load_key===rule.training_load_key&&(nonNegativeNumber(candidate.factor)||0)>0).sort((a,b)=>(releaseOrder.get(b.release_id)||0)-(releaseOrder.get(a.release_id)||0)||a.priority-b.priority)[0];if(!conversion)throw new Error(\"No uTL conversion is configured for the active strength rule.\");const entriesResponse=await fetch(SUPABASE_URL+\"/rest/v1/formula_lookup_entries?select=lookup_key,input_min,input_max,output_value,metadata&formula_rule_id=eq.\"+encodeURIComponent(rule.id),{headers});if(!entriesResponse.ok)throw new Error(await supabaseError(entriesResponse,\"Could not load the strength duration lookup table.\"));const entries=(await entriesResponse.json()).filter(entry=>nonNegativeNumber(entry.output_value)!==null);if(!entries.length)throw new Error(\"The active strength duration lookup table is empty.\");return{trainingLoadKey:rule.training_load_key,calculationModelVersion:activeRelease.release_key+\"@\"+activeRelease.version,conversionFactor:nonNegativeNumber(conversion.factor)||0,entries};}function strengthLookupForDuration(entries,durationMinutes){const bounded=entries.filter(entry=>entry.input_min!=null&&entry.input_max!=null&&Number.isFinite(Number(entry.input_min))&&Number.isFinite(Number(entry.input_max)));const matching=bounded.filter(entry=>durationMinutes>=Number(entry.input_min)&&durationMinutes<=Number(entry.input_max));if(matching.length)return matching.sort((a,b)=>Number(b.input_min)-Number(a.input_min)||Number(a.input_max)-Number(a.input_min)-(Number(b.input_max)-Number(b.input_min)))[0];const lowest=bounded.slice().sort((a,b)=>Number(a.input_min)-Number(b.input_min))[0];if(lowest&&durationMinutes<Number(lowest.input_min))return lowest;const openEnded=entries.find(entry=>entry.input_min==null&&entry.input_max==null);return openEnded||bounded.slice().sort((a,b)=>Number(b.input_max)-Number(a.input_max))[0];}function estimateStrengthLoad(model,durationMinutes){const entry=strengthLookupForDuration(model.entries,durationMinutes);if(!entry)throw new Error(\"No lookup value is available for this strength duration.\");const outputValue=nonNegativeNumber(entry.output_value);if(outputValue===null)throw new Error(\"The selected strength lookup value is invalid.\");const trainingLoad=Math.round(outputValue*10)/10;const utl=Math.round(trainingLoad*model.conversionFactor*10)/10;if(!Number.isFinite(utl)||utl<0)throw new Error(\"The strength uTL conversion is invalid.\");const metadata=entry.metadata&&typeof entry.metadata===\"object\"?entry.metadata:null;return{trainingLoad,utl,lookupKey:entry.lookup_key,lookupLabel:typeof metadata?.label===\"string\"?metadata.label:entry.lookup_key,trainingLoadKey:model.trainingLoadKey,calculationModelVersion:model.calculationModelVersion};}function aiCoachText(payload){const body=Array.isArray(payload)?payload[0]:payload;const value=body?.analysis??body?.text??body?.message??body?.output??body?.data?.analysis;return typeof value===\"string\"&&value.trim()?value.trim():null;}function coachMessageId(prefix=\"message\"){return prefix+\"-\"+Date.now().toString(36)+\"-\"+Math.random().toString(36).slice(2,8);}function savedCoachConversation(value,fallback=[]){if(!Array.isArray(value))return[];const unmatchedFallback=[...fallback];return value.flatMap((item,index)=>{if(!item||typeof item!==\"object\")return[];const message=item;const role=message.role;const content=typeof message.content===\"string\"?message.content.trim():typeof message.text===\"string\"?message.text.trim():\"\";if(role!==\"user\"&&role!==\"assistant\"||!content)return[];const fallbackIndex=unmatchedFallback.findIndex(candidate=>candidate.role===role&&candidate.content===content);const matchingMessage=fallbackIndex>=0?unmatchedFallback.splice(fallbackIndex,1)[0]:undefined;const storedTime=[message.created_at,message.createdAt,message.timestamp].find(candidate=>typeof candidate===\"string\"&&Boolean(candidate.trim()));const storedId=typeof message.id===\"string\"&&message.id.trim()?message.id.trim():matchingMessage?.id||\"legacy-\"+role+\"-\"+index+\"-\"+content.slice(0,18).replace(/[^a-z0-9]/gi,\"\");return[{id:storedId,role,content,createdAt:storedTime||matchingMessage?.createdAt}];});}function storedCoachConversation(messages){return messages.filter(message=>!message.pending).map(message=>({id:message.id,role:message.role,text:message.content,...message.createdAt?{created_at:message.createdAt}:{}}));}async function saveWorkoutCoachConversation(workoutId,messages,token){const response=await fetch(SUPABASE_URL+\"/rest/v1/workouts?id=eq.\"+encodeURIComponent(workoutId),{method:\"PATCH\",headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+token,\"Content-Type\":\"application/json\",Prefer:\"return=minimal\"},body:JSON.stringify({ai_coach_conversation:storedCoachConversation(messages)})});if(!response.ok)throw new Error(\"Could not save the AI Coach conversation.\");}function formatCoachMessageTime(value){if(!value)return\"SAVED\";const date=new Date(value);if(Number.isNaN(date.getTime()))return\"SAVED\";return new Intl.DateTimeFormat(dateLocale(),{day:\"2-digit\",month:\"short\",year:\"numeric\",hour:\"2-digit\",minute:\"2-digit\",hour12:false}).format(date);}function storagePath(path){return path.split(\"/\").map(encodeURIComponent).join(\"/\");}async function sha256(blob){if(typeof crypto===\"undefined\"||!crypto.subtle)return undefined;const hash=await crypto.subtle.digest(\"SHA-256\",await blob.arrayBuffer());return Array.from(new Uint8Array(hash)).map(byte=>byte.toString(16).padStart(2,\"0\")).join(\"\");}function thumbnailKindForFit(fit){const routePoints=(fit?.streams?.route?.lat??[]).filter((lat,index)=>within(lat,-89.999999,89.999999)!==undefined&&within(fit?.streams?.route?.lon?.[index],-179.999999,179.999999)!==undefined);if(routePoints.length>=2)return\"route\";const power=(fit?.streams?.power?.values??[]).filter(value=>typeof value===\"number\"&&Number.isFinite(value)&&value>=0);if(power.some(value=>value>0))return\"power\";const heartRate=(fit?.streams?.hr?.values??[]).filter(value=>typeof value===\"number\"&&Number.isFinite(value)&&value>0);return heartRate.length?\"heart_rate\":undefined;}async function renderMetricThumbnail(fit,kind){if(typeof document===\"undefined\")return null;const stream=kind===\"power\"?fit?.streams?.power:fit?.streams?.hr;const values=(stream?.values??[]).filter(value=>typeof value===\"number\"&&Number.isFinite(value)&&(kind===\"power\"?value>=0:value>0));if(!values.length)return null;const width=800,height=400,left=52,right=24,top=42,bottom=42;const canvas=document.createElement(\"canvas\");canvas.width=width;canvas.height=height;const ctx=canvas.getContext(\"2d\");if(!ctx)return null;const min=kind===\"power\"?0:Math.max(40,Math.floor((Math.min(...values)-5)/10)*10);const max=kind===\"power\"?Math.max(25,Math.ceil((Math.max(...values)+10)/25)*25):Math.max(min+10,Math.ceil((Math.max(...values)+5)/10)*10);const chartWidth=width-left-right,chartHeight=height-top-bottom;const xFor=index=>left+(values.length===1?chartWidth/2:index/(values.length-1)*chartWidth);const yFor=value=>top+(1-(value-min)/Math.max(1,max-min))*chartHeight;const color=kind===\"power\"?\"var(--token-8a9e63f3-d92b-4618-ab51-625b94d718ab, rgb(192, 132, 252))\":\"var(--token-5184f82f-c524-4809-aa5c-78d92709508d, rgb(239, 111, 108))\";ctx.fillStyle=resolveSummiQColor(\"var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69))\");ctx.fillRect(0,0,width,height);ctx.strokeStyle=resolveSummiQColor(\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 14%, transparent)\");ctx.lineWidth=1;for(let index=0;index<=4;index++){const y=top+index/4*chartHeight;ctx.beginPath();ctx.moveTo(left,y);ctx.lineTo(width-right,y);ctx.stroke();}ctx.fillStyle=resolveSummiQColor(\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 72%, transparent)\");ctx.font=\"16px sans-serif\";ctx.textAlign=\"left\";ctx.fillText(kind===\"power\"?\"Power\":\"Heart rate\",left,25);ctx.textAlign=\"right\";ctx.fillText(String(max),left-9,top+5);ctx.fillText(String(min),left-9,height-bottom+5);ctx.beginPath();values.forEach((value,index)=>{const x=xFor(index),y=yFor(value);if(index===0)ctx.moveTo(x,y);else ctx.lineTo(x,y);});ctx.lineTo(xFor(values.length-1),height-bottom);ctx.lineTo(xFor(0),height-bottom);ctx.closePath();ctx.fillStyle=resolveSummiQColor(\"color-mix(in srgb, \"+color+\" 20%, transparent)\");ctx.fill();ctx.beginPath();values.forEach((value,index)=>{const x=xFor(index),y=yFor(value);if(index===0)ctx.moveTo(x,y);else ctx.lineTo(x,y);});ctx.strokeStyle=resolveSummiQColor(color);ctx.lineWidth=4;ctx.lineJoin=\"round\";ctx.lineCap=\"round\";ctx.stroke();return new Promise(resolve=>canvas.toBlob(blob=>resolve(blob),\"image/webp\",.82));}async function repairZeroPowerThumbnail(workout,fit,assertActive){const session=sessionFromToken();if(!session||!workout.thumbnail_path||workout.has_route||workout.thumbnail_status!==\"ready\")return null;const power=(fit.streams?.power?.values||[]).filter(value=>typeof value===\"number\"&&Number.isFinite(value)&&value>=0);if(!power.length||power.some(value=>value>0)||thumbnailKindForFit(fit)!==\"heart_rate\")return null;const key=\"summiq.hr-thumbnail-fallback.v1:\"+session.userId+\":\"+workout.id;const fingerprint=workout.fit_path+\":\"+workout.thumbnail_path;try{if(window.localStorage.getItem(key)===fingerprint)return null;}catch{}const check=()=>{assertActive();if(sessionFromToken()?.userId!==session.userId)throw new Error(\"Account changed during thumbnail repair\");};check();const image=await renderMetricThumbnail(fit,\"heart_rate\");check();if(!image||image.type!==\"image/webp\")return null;const path=session.userId+\"/\"+workout.id+\"/thumbnail.webp\";const upload=await fetch(SUPABASE_URL+\"/storage/v1/object/workout-files/\"+storagePath(path),{method:\"POST\",headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+session.token,\"Content-Type\":\"image/webp\",\"x-upsert\":\"true\"},body:image});check();if(!upload.ok)throw new Error(\"Could not upload the corrected heart-rate thumbnail\");const patch={thumbnail_bucket:\"workout-files\",thumbnail_path:path,thumbnail_status:\"ready\",thumbnail_generated_at:new Date().toISOString()};const response=await fetch(SUPABASE_URL+\"/rest/v1/workouts?id=eq.\"+encodeURIComponent(workout.id)+\"&user_id=eq.\"+encodeURIComponent(session.userId)+\"&thumbnail_path=eq.\"+encodeURIComponent(workout.thumbnail_path),{method:\"PATCH\",headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+session.token,\"Content-Type\":\"application/json\",Prefer:\"return=representation\"},body:JSON.stringify(patch)});check();if(!response.ok)throw new Error(\"Could not save the corrected heart-rate thumbnail\");const saved=await response.json();check();if(!saved?.length)return null;try{window.localStorage.setItem(key,workout.fit_path+\":\"+path);}catch{}return patch;}function thumbnailPlaceholderLabel(workout){if(workout.has_route)return\"ROUTE THUMBNAIL PENDING\";if(typeof workout.average_power_w===\"number\"||typeof workout.weighted_average_power_w===\"number\")return\"POWER THUMBNAIL PENDING\";if(typeof workout.average_heart_rate_bpm===\"number\")return\"HEART-RATE THUMBNAIL PENDING\";return\"NO THUMBNAIL DATA\";}function storageRetryDelay(milliseconds,signal){return new Promise((resolve,reject)=>{if(signal.aborted){reject(new DOMException(\"Cancelled\",\"AbortError\"));return;}const abort=()=>{clearTimeout(timer);reject(new DOMException(\"Cancelled\",\"AbortError\"));};const timer=setTimeout(()=>{signal.removeEventListener(\"abort\",abort);resolve();},milliseconds);signal.addEventListener(\"abort\",abort,{once:true});});}async function readFitWithRetry(url,token,signal,onRetry){const temporary=new Set([408,429,500,502,503,504,544]);for(let attempt=0;attempt<4;attempt++){let response;try{response=await fetch(url,{headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+token},signal});}catch(error){if(signal.aborted||!(error instanceof TypeError))throw error;}if(response&&(response.ok||!temporary.has(response.status)))return response;if(response?.body)await response.body.cancel().catch(()=>{});if(attempt===3)throw new Error(\"Activity files are temporarily busy. Please close this activity and open it again in a moment.\");onRetry();await storageRetryDelay(1e3*2**attempt,signal);}throw new Error(\"Could not open the activity file.\");}async function mapStorageThumbnails(items,load,signal){const output=new Array(items.length);let next=0;await Promise.all(Array.from({length:Math.min(3,items.length)},async()=>{while(next<items.length){if(signal?.aborted)throw new DOMException(\"Cancelled\",\"AbortError\");const index=next++;output[index]=await load(items[index]);}}));return output;}async function signedThumbnailUrl(path,token){const response=await fetch(SUPABASE_URL+\"/storage/v1/object/sign/workout-files/\"+storagePath(path),{method:\"POST\",headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+token,\"Content-Type\":\"application/json\"},body:JSON.stringify({expiresIn:3600})});if(!response.ok)return undefined;const data=await response.json();const url=data.signedURL??data.signedUrl;return typeof url===\"string\"?url.startsWith(\"http\")?url:SUPABASE_URL+\"/storage/v1\"+url:undefined;}async function loadEffectiveAthleteZones(sport,token){const headers={apikey:SUPABASE_KEY,Authorization:\"Bearer \"+token,\"Content-Type\":\"application/json\"};const metricTypes=[\"heart_rate\",\"power\",\"pace\",\"speed\"];const session=sessionFromToken();const[profileResponse,responses,thresholdsResponse,activationResponses]=await Promise.all([fetch(SUPABASE_URL+\"/rest/v1/sport_profiles?select=id,use_general_hr_zones,settings&sport=eq.\"+encodeURIComponent(sport)+\"&limit=1\",{headers}),Promise.all(metricTypes.map(metricType=>fetch(SUPABASE_URL+\"/rest/v1/rpc/get_effective_athlete_zones\",{method:\"POST\",headers,body:JSON.stringify({p_sport:sport,p_metric_type:metricType})}))),session?fetch(SUPABASE_URL+\"/rest/v1/athlete_zone_thresholds?select=sport,metric_type,zone_variant,low_intensity_ceiling,moderate_intensity_ceiling,unit,is_manual,source_date&user_id=eq.\"+encodeURIComponent(session.userId)+\"&sport=in.(\"+sport+\",general)&metric_type=in.(heart_rate,power,pace,speed)&zone_variant=eq.seiler_3\",{headers}):Promise.resolve(null),[\"cycling\",\"running\",\"rowing\"].includes(sport)?Promise.all([\"heart_rate\",\"power\",\"pace\"].map(async metric=>({metric,response:await fetch(SUPABASE_URL+\"/rest/v1/rpc/get_metric_zones_enabled\",{method:\"POST\",headers,body:JSON.stringify({p_sport:sport,p_metric_type:metric})})}))):Promise.resolve([])]);const zoneSets=await Promise.all(responses.map(async response=>{if(!response.ok)throw new Error(\"Could not load your effective athlete zones.\");return await response.json();}));if(thresholdsResponse&&!thresholdsResponse.ok)throw new Error(\"Could not load the saved 3-zone thresholds from your athlete profile.\");const thresholds=thresholdsResponse?await thresholdsResponse.json():[];if(!profileResponse.ok)throw new Error(\"Could not load your sport zone settings.\");const profile=(await profileResponse.json())[0];const activation=new Map;for(const{metric,response}of activationResponses){if(!response.ok)throw new Error(\"Could not load your zone activation settings.\");activation.set(metric,await response.json()===true);}const useGeneralHr=sport!==\"general\"&&(zoneSets[0]?.[0]?.sport===\"general\"||activation.get(\"heart_rate\")===false||profile?.use_general_hr_zones!==false);const metricEnabled=metric=>metric===\"heart_rate\"||activation.get(metric)!==false;const savedSeilerZones=thresholds.flatMap(threshold=>{const selectedSport=threshold.metric_type===\"heart_rate\"&&useGeneralHr?\"general\":sport;if(threshold.sport!==selectedSport||!metricEnabled(threshold.metric_type))return[];const low=threshold.low_intensity_ceiling;const moderate=threshold.moderate_intensity_ceiling;if(low==null||moderate==null||low<=0||moderate<=0||low===moderate)return[];if(threshold.metric_type===\"pace\"){if(low<moderate)return[];return[{sport:threshold.sport,metric_type:threshold.metric_type,zone_variant:\"seiler_3\",zone_number:1,label:\"Low\",lower_value:low,upper_value:null,unit:threshold.unit,is_manual:threshold.is_manual,source_date:threshold.source_date},{sport:threshold.sport,metric_type:threshold.metric_type,zone_variant:\"seiler_3\",zone_number:2,label:\"Moderate\",lower_value:moderate,upper_value:low,unit:threshold.unit,is_manual:threshold.is_manual,source_date:threshold.source_date},{sport:threshold.sport,metric_type:threshold.metric_type,zone_variant:\"seiler_3\",zone_number:3,label:\"High\",lower_value:0,upper_value:moderate,unit:threshold.unit,is_manual:threshold.is_manual,source_date:threshold.source_date}];}if(moderate<low)return[];return[{sport:threshold.sport,metric_type:threshold.metric_type,zone_variant:\"seiler_3\",zone_number:1,label:\"Low\",lower_value:0,upper_value:low,unit:threshold.unit,is_manual:threshold.is_manual,source_date:threshold.source_date},{sport:threshold.sport,metric_type:threshold.metric_type,zone_variant:\"seiler_3\",zone_number:2,label:\"Moderate\",lower_value:low,upper_value:moderate,unit:threshold.unit,is_manual:threshold.is_manual,source_date:threshold.source_date},{sport:threshold.sport,metric_type:threshold.metric_type,zone_variant:\"seiler_3\",zone_number:3,label:\"High\",lower_value:moderate,upper_value:null,unit:threshold.unit,is_manual:threshold.is_manual,source_date:threshold.source_date}];});const rpcZones=zoneSets.flat();const zones=[...rpcZones.filter(zone=>zone.zone_variant!==\"seiler_3\"||!savedSeilerZones.some(saved=>saved.sport===zone.sport&&saved.metric_type===zone.metric_type)),...savedSeilerZones];if(!zones.length)throw new Error(\"Could not load your effective athlete zone settings.\");const metricsResponse=profile?.id?await fetch(SUPABASE_URL+\"/rest/v1/sport_metrics?select=metric_key,numeric_value,source_updated_at&sport_profile_id=eq.\"+encodeURIComponent(profile.id),{headers}):null;const metrics=metricsResponse?.ok?await metricsResponse.json():[];const powerThreshold=[\"rftp_w\",\"running_ftp_w\",\"running_power_threshold_w\",\"ftp_watts\",\"ftp_w\",\"estimated_ftp\"].map(key=>Number(metrics.find(metric=>metric.metric_key===key)?.numeric_value||0)).find(value=>value>0)||0;const stimulusReference=zone=>{const referenceKeys=zone.metric_type===\"power\"?sport===\"running\"?[\"running_power_threshold_watts\",\"rftp_w\",\"running_ftp_w\",\"ftp_watts\"]:sport===\"rowing\"?[\"threshold_power_watts\",\"ftp_watts\"]:[\"ftp_watts\",\"ftp_w\",\"estimated_ftp\"]:zone.metric_type===\"pace\"?[sport===\"rowing\"?\"threshold_pace_seconds_per_500m\":\"threshold_pace_seconds_per_km\"]:[];const reference=referenceKeys.map(key=>metrics.find(metric=>metric.metric_key===key&&Number(metric.numeric_value)>0)).find(Boolean);return{...zone,reference_threshold:reference?Number(reference.numeric_value):null,reference_date:reference?.source_updated_at,reference_unit:zone.metric_type===\"pace\"?sport===\"rowing\"?\"sec/500m\":\"sec/km\":zone.unit};};return zones.map(zone=>zone.metric_type===\"power\"&&powerThreshold>0&&(zone.lower_percent!=null||zone.upper_percent!=null)?{...zone,lower_value:zone.lower_percent!=null?powerThreshold*zone.lower_percent/100:zone.lower_value,upper_value:zone.upper_percent!=null?powerThreshold*zone.upper_percent/100:zone.upper_value}:zone).map(stimulusReference);}function formatZoneDuration(seconds){const rounded=Math.round(seconds);const hours=Math.floor(rounded/3600);const minutes=Math.floor(rounded%3600/60);const remaining=rounded%60;return(hours?hours+\"h \":\"\")+minutes+\"m \"+remaining+\"s\";}function zoneSampleSeconds(stream,zones,transform){const values=Array.isArray(stream?.values)?stream.values:[];const times=Array.isArray(stream?.times)?stream.times:[];const samples=values.map((value,index)=>({value:typeof value===\"number\"?value:NaN,time:typeof times[index]===\"number\"?times[index]:NaN})).filter(sample=>Number.isFinite(sample.time)).sort((a,b)=>a.time-b.time);if(!samples.length||!zones.length)return[];const gaps=samples.slice(1).map((sample,index)=>sample.time-samples[index].time).filter(gap=>gap>0&&gap<=6e4).sort((a,b)=>a-b);const sampleGap=gaps.length?gaps[Math.floor(gaps.length/2)]:1e3;const totals=new Map;zones.forEach(zone=>totals.set(zone.zone_number,0));for(let index=0;index<samples.length;index+=1){const sample=samples[index];const nextTime=samples[index+1]?.time;const gap=nextTime===undefined?sampleGap:nextTime-sample.time;const milliseconds=gap>sampleGap*2?0:Math.max(0,gap);const value=transform?transform(sample.value):sample.value;if(!Number.isFinite(value))continue;const match=zones.find(zone=>{const low=zone.lower_value??-Infinity;const high=zone.upper_value??Infinity;return value>=Math.min(low,high)&&value<=Math.max(low,high);});if(match)totals.set(match.zone_number,(totals.get(match.zone_number)??0)+milliseconds/1e3);}const total=Array.from(totals.values()).reduce((sum,value)=>sum+value,0);return zones.map(zone=>({zone,seconds:totals.get(zone.zone_number)??0,percent:total?(totals.get(zone.zone_number)??0)/total*100:0}));}function selectZones(rows,sport,metric,variant){const sportZones=rows.filter(row=>row.sport===sport&&row.metric_type===metric&&row.zone_variant===variant);const generalHrZones=metric===\"heart_rate\"?rows.filter(row=>row.sport===\"general\"&&row.metric_type===metric&&row.zone_variant===variant):[];return(sportZones.length?sportZones:generalHrZones).slice().sort((a,b)=>a.zone_number-b.zone_number);}const ZONE_DISTRIBUTION_COLORS=[\"var(--token-adeaa52c-cd00-4419-9768-582272f4775b, #8E98A2)\",\"var(--token-1fcaef35-ab4f-439b-9ce4-4e8ece2af3f4, #5EA9FF)\",\"var(--token-1233abe0-f48a-4c85-8f6b-0de9a28fdea4, #55C56A)\",\"var(--token-b02e57d3-3970-4a49-922c-3028c0885d67, #FFD05A)\",\"var(--token-51809b33-30a0-4987-907d-49cd3068ec2d, #FF7A3D)\",\"var(--token-32d0d538-0b96-4029-ac0d-66b9978bab94, #E33C24)\",\"var(--token-523eb6db-05dc-4521-a467-227e1aff44d4, #B61D19)\"];const SEILER_DISTRIBUTION_COLORS=[\"var(--token-b1b148e8-07d6-403b-9a5c-a5c86fadeb60, #55C56A)\",\"var(--token-5ebc66c9-1f30-467e-b12d-d33962463ea0, #FFD05A)\",\"var(--token-3d7c6721-0fc4-44dd-bbd8-5d6bb7c48110, #E33C24)\"];function zoneDistributionColor(zone){const palette=zone.zone_variant===\"seiler_3\"?SEILER_DISTRIBUTION_COLORS:ZONE_DISTRIBUTION_COLORS;return palette[Math.max(0,Math.min(palette.length-1,zone.zone_number-1))];}function zoneDistributionLabel(zone){const saved=(zone.label||\"\").trim();return/^z\\d\\b/i.test(saved)?saved:\"Z\"+zone.zone_number+(saved?\" \\xb7 \"+saved.toUpperCase():\"\");}function derivedSeilerZones(standardZones){if(standardZones.length<4)return[];const first=standardZones[0];const second=standardZones[1];const third=standardZones[2];const fourth=standardZones[3];const last=standardZones[standardZones.length-1];if(first.lower_value==null||second.upper_value==null||third.lower_value==null||third.upper_value==null||fourth.lower_value==null)return[];if(first.metric_type===\"pace\"){return[{...first,zone_variant:\"seiler_3\",zone_number:1,label:\"Low\",lower_value:Math.min(first.lower_value,second.lower_value??first.lower_value),upper_value:Math.max(first.upper_value??Infinity,second.upper_value)},{...third,zone_variant:\"seiler_3\",zone_number:2,label:\"Moderate\"},{...fourth,zone_variant:\"seiler_3\",zone_number:3,label:\"High\",lower_value:Math.min(fourth.lower_value,last.lower_value??0),upper_value:Math.max(fourth.upper_value??Infinity,last.upper_value??Infinity)}];}return[{...first,zone_variant:\"seiler_3\",zone_number:1,label:\"Low\",lower_value:first.lower_value,upper_value:second.upper_value},{...third,zone_variant:\"seiler_3\",zone_number:2,label:\"Moderate\",lower_value:third.lower_value,upper_value:third.upper_value},{...fourth,zone_variant:\"seiler_3\",zone_number:3,label:\"High\",lower_value:fourth.lower_value,upper_value:last.upper_value??null}];}function effectiveSeilerZones(standardZones,savedSeilerZones){// The athlete profile's three-zone watt/HR/pace thresholds are authoritative.\nreturn savedSeilerZones.length?savedSeilerZones:derivedSeilerZones(standardZones);}// Best time-weighted power over complete recorded windows. Gaps are never filled.\nfunction workoutPowerCurve(stream){const durations=[5,60,300,1200];const values=Array.isArray(stream?.values)?stream.values:[];const times=Array.isArray(stream?.times)?stream.times:[];const samples=times.map((time,i)=>({time:time/1e3,power:typeof values[i]===\"number\"&&values[i]>=0&&Number.isFinite(values[i])?values[i]:NaN})).filter(s=>Number.isFinite(s.time)).sort((a,b)=>a.time-b.time);const gaps=samples.slice(1).map((s,i)=>s.time-samples[i].time).filter(g=>g>0&&g<=10).sort((a,b)=>a-b);if(!gaps.length)return durations.map(seconds=>({seconds,watts:null}));const cadence=gaps[Math.floor(gaps.length/2)];const runs=[];let run=[];for(let i=0;i<samples.length-1;i++){const sample=samples[i],next=samples[i+1];const valid=Number.isFinite(sample.power)&&next.time>sample.time&&next.time-sample.time<=Math.min(10,cadence*2);if(valid){run.push(sample);}else if(run.length){run.push({time:sample.time,power:0});runs.push(run);run=[];}}if(run.length){run.push({time:samples[samples.length-1].time,power:0});runs.push(run);}const best=durations.map(()=>null);for(const points of runs){const energy=[0];for(let i=1;i<points.length;i++)energy.push(energy[i-1]+(points[i].time-points[i-1].time)*points[i-1].power);const integral=time=>{let low=0,high=points.length-1;while(low<high){const mid=Math.ceil((low+high)/2);if(points[mid].time<=time)low=mid;else high=mid-1;}return energy[low]+(time-points[low].time)*points[low].power;};durations.forEach((duration,index)=>{const first=points[0].time,last=points[points.length-1].time;for(const point of points)for(const end of[point.time,point.time+duration]){if(end>last||end-duration<first)continue;const watts=(integral(end)-integral(end-duration))/duration;best[index]=Math.max(best[index]??0,watts);}});}return durations.map((seconds,i)=>({seconds,watts:best[i]}));}function CompactWorkoutZoneBar({metric}){const[active,setActive]=React.useState(null);const id=React.useId();const colors=SEILER_DISTRIBUTION_COLORS;const entries=metric.seiler;const description=entry=>{const{zone,seconds,percent}=entry;const low=zone.lower_value,high=zone.upper_value;const range=high==null?\"> \"+Math.round(low??0):low==null||low===0?\"≤ \"+Math.round(high):\"> \"+Math.round(low)+\"–\"+Math.round(high);return\"Z\"+zone.zone_number+\" \\xb7 \"+(zone.label||[\"Low\",\"Moderate\",\"High\"][zone.zone_number-1])+\" \\xb7 \"+range+\" \"+metric.unit+\" \\xb7 \"+formatZoneDuration(seconds)+\" (\"+Math.round(percent)+\"%)\";};return /*#__PURE__*/_jsxs(\"div\",{\"aria-label\":metric.title+\" three-zone distribution\",className:\"wl-performance-row\",style:{position:\"relative\",display:\"grid\",gridTemplateColumns:\"subgrid\",gridColumn:\"1 / -1\",gap:10,alignItems:\"center\",minWidth:0},children:[/*#__PURE__*/_jsx(\"span\",{title:\"Time in three zones, based on your current zone settings\",style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 58%, transparent)\",fontFamily:\"Inter, sans-serif\",fontSize:12},children:metric.key===\"power\"?\"Power zones\":\"HR zones\"}),/*#__PURE__*/_jsxs(\"div\",{className:\"wl-performance-track\",\"aria-hidden\":\"true\",style:{display:\"flex\",position:\"relative\",height:7,overflow:\"hidden\",borderRadius:999,background:summiqAccentAlpha(.1)},children:[entries.map((entry,i)=>/*#__PURE__*/_jsx(\"span\",{title:description(entry),onMouseEnter:()=>setActive(i),onMouseLeave:()=>setActive(null),onClick:()=>setActive(i),style:{width:entry.percent+\"%\",background:colors[i],cursor:\"pointer\"}},i)),/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",top:-2,right:0,bottom:-2,width:3,borderRadius:2,background:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\"}})]}),/*#__PURE__*/_jsx(\"span\",{className:\"wl-performance-value\",style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 54%, transparent)\",fontFamily:\"Inter, sans-serif\",fontSize:11,whiteSpace:\"nowrap\"},children:entries.map((entry,i)=>/*#__PURE__*/_jsxs(React.Fragment,{children:[i>0&&\" / \",/*#__PURE__*/_jsxs(\"button\",{type:\"button\",\"aria-label\":description(entry),\"aria-describedby\":active===i?id:undefined,onMouseEnter:()=>setActive(i),onMouseLeave:()=>setActive(null),onFocus:()=>setActive(i),onBlur:()=>setActive(null),onKeyDown:event=>{if(event.key===\"Escape\")setActive(null);},onClick:()=>setActive(active===i?null:i),style:{border:0,padding:0,background:\"transparent\",color:colors[i],fontFamily:\"inherit\",fontSize:\"inherit\",fontWeight:600,cursor:\"pointer\"},children:[Math.round(entry.percent),\"%\"]})]},i))}),active!==null&&/*#__PURE__*/_jsxs(\"div\",{id:id,className:\"wl-performance-zone-tooltip\",role:\"tooltip\",style:{position:\"absolute\",top:\"calc(100% + 6px)\",left:82,right:0,zIndex:2,padding:\"8px 10px\",borderRadius:6,border:\"1px solid color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 20%, transparent)\",background:\"var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69))\",color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontFamily:\"Inter, sans-serif\",fontSize:11,lineHeight:1.4,pointerEvents:\"none\"},children:[description(entries[active]),/*#__PURE__*/_jsx(\"br\",{}),\"Current zone settings\"]})]});}function WorkoutPerformanceDetails({metrics,stream}){const curve=React.useMemo(()=>workoutPowerCurve(stream),[stream]);const zones=[\"power\",\"heart_rate\"].flatMap(key=>metrics.filter(metric=>metric.key===key&&metric.seiler.length===3&&metric.seiler.some(entry=>entry.seconds>0)));const hasCurve=curve.some(point=>point.watts!==null);if(!zones.length&&!hasCurve)return null;return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"subgrid\",gridColumn:\"1 / -1\",gap:\"15px 10px\",minWidth:0},children:[zones.map(metric=>/*#__PURE__*/_jsx(CompactWorkoutZoneBar,{metric:metric},metric.key)),hasCurve&&/*#__PURE__*/_jsxs(\"section\",{\"aria-label\":\"Workout power curve\",className:\"wl-power-curve\",style:{gridColumn:\"1 / -1\",minWidth:0,display:\"grid\",gridTemplateColumns:\"72px minmax(0, 1fr)\",alignItems:\"center\",gap:10,borderTop:\"1px solid color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 12%, transparent)\",paddingTop:10},children:[/*#__PURE__*/_jsxs(\"h4\",{title:\"Best sustained power in this workout. Values are in watts.\",style:{margin:0,fontFamily:\"Inter, sans-serif\",fontSize:12,lineHeight:1.35,fontWeight:500,color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 58%, transparent)\"},children:[\"Power curve \",/*#__PURE__*/_jsx(\"span\",{style:{fontSize:10},children:\"(watt)\"})]}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"repeat(4, minmax(0, 1fr))\",gap:8,minWidth:0},children:curve.map(point=>/*#__PURE__*/_jsxs(\"div\",{title:point.watts===null?\"Not enough continuous recorded power\":\"Best average power over \"+point.seconds+\" seconds\",style:{display:\"flex\",flexWrap:\"wrap\",alignItems:\"baseline\",gap:\"0px 4px\",minWidth:0},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:\"Inter, sans-serif\",fontSize:11,color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 55%, transparent)\",whiteSpace:\"nowrap\"},children:point.seconds<60?point.seconds+\"s\":point.seconds/60+\"m\"}),/*#__PURE__*/_jsx(\"strong\",{style:{fontSize:18,fontWeight:600,lineHeight:1.1,whiteSpace:\"nowrap\"},children:point.watts===null?\"—\":Math.round(point.watts)})]},point.seconds))})]})]});}function ZoneDistributionPanel({metric,showConventional=true,hideMetricHeader=false}){const models=[...showConventional?[{title:\"CONVENTIONAL \\xb7 \"+metric.standard.length+\" ZONES\",distributions:metric.standard,accent:\"var(--token-1fcaef35-ab4f-439b-9ce4-4e8ece2af3f4, rgb(94, 169, 255))\"}]:[],{title:\"SEILER \\xb7 3 ZONES\",distributions:metric.seiler,accent:\"var(--token-84678622-4f97-41e6-b9e4-7945d370801a, rgb(200, 250, 80))\"}].filter(model=>model.distributions.length);if(!models.length)return null;return /*#__PURE__*/_jsxs(\"section\",{style:{border:\"1px solid var(--token-53181cfb-6f3c-40d8-9548-414e28a77c07, rgb(64, 89, 101))\",borderRadius:9,overflow:\"hidden\",background:\"var(--token-4b48ff5d-c0fc-4a31-a84f-07072c7c967b, rgb(41, 65, 79))\"},children:[!hideMetricHeader&&/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"11px 14px\",borderBottom:\"1px solid color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 12%, transparent)\",display:\"flex\",justifyContent:\"space-between\",gap:12},children:[/*#__PURE__*/_jsx(\"strong\",{style:{color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontSize:18},children:metric.title}),/*#__PURE__*/_jsx(\"span\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 56%, transparent)\",fontSize:13},children:metric.unit})]}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"repeat(auto-fit, minmax(min(100%, 260px), 1fr))\",gap:0},children:models.map(model=>/*#__PURE__*/_jsxs(\"div\",{style:{padding:14,borderRight:\"1px solid color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 10%, transparent)\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{color:model.accent,fontSize:17,fontWeight:600,letterSpacing:\"0.06em\",marginBottom:10},children:model.title}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gap:8},children:model.distributions.map(({zone,seconds,percent})=>{const color=zoneDistributionColor(zone);return /*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",gap:10,flexWrap:\"wrap\",color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 78%, transparent)\",fontSize:16},children:[/*#__PURE__*/_jsx(\"span\",{style:{color,fontWeight:600},children:zoneDistributionLabel(zone)}),/*#__PURE__*/_jsxs(\"span\",{style:{color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",whiteSpace:\"nowrap\"},children:[formatZoneDuration(seconds),\" \\xb7 \",/*#__PURE__*/_jsxs(\"span\",{style:{color:SUMMIQ_ACCENT},children:[Math.round(percent),\"%\"]})]})]}),/*#__PURE__*/_jsx(\"div\",{style:{height:5,marginTop:4,borderRadius:99,background:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 13%, transparent)\",overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"div\",{style:{width:Math.max(0,Math.min(100,percent))+\"%\",height:\"100%\",borderRadius:\"inherit\",background:color}})})]},zone.zone_variant+zone.zone_number);})})]},model.title))})]});}function isIntensitySource(value){return[\"unified\",\"heart_rate\",\"power\",\"pace\"].includes(value);}function emptyDashboardCoverage(){return{total:0,sourceCounts:{unified:0,heart_rate:0,power:0,pace:0}};}function validZoneModel(model){return[3,5,7].includes(Number(model));}function storedZoneSeconds(value){const totals=new Map;const add=(zone,seconds)=>{if(Number.isInteger(zone)&&zone>=1&&zone<=7&&Number.isFinite(seconds)&&seconds>=0)totals.set(zone,(totals.get(zone)||0)+seconds);};if(Array.isArray(value))value.forEach((item,index)=>{if(typeof item===\"number\")add(index+1,item);else if(item&&typeof item===\"object\")add(Number(item.zone??item.zone_number??index+1),Number(item.seconds??item.duration_seconds??item.value));});else if(value&&typeof value===\"object\")Object.entries(value).forEach(([key,seconds])=>add(Number(key.replace(/\\D/g,\"\")),Number(seconds)));return totals;}function zoneSecondsTotal(value){return Array.from(storedZoneSeconds(value).values()).reduce((sum,seconds)=>sum+seconds,0);}function normalizedDistribution(row,workout){if(!isIntensitySource(row.source)||!validZoneModel(row.zone_model))return null;const seconds=storedZoneSeconds(row.zone_seconds);const classified=Array.from(seconds.values()).reduce((sum,value)=>sum+value,0);if(!classified)return null;// Older power results were stored as model 5 even though their zone maps contained Z6/Z7.\nconst model=Number(row.zone_model)===5&&Array.from(seconds.keys()).some(zone=>zone>5)?7:Number(row.zone_model);if(model===3&&Array.from(seconds.keys()).some(zone=>zone>3))return null;const recordedDuration=Number(workout.duration_seconds||0);const savedDuration=row.calculation_version===\"2\"&&row.zone_snapshot?.duration_known!==false?Number(row.total_seconds||0):0;const total=recordedDuration>0?recordedDuration:savedDuration>0?savedDuration:null;return{...row,workout_id:workout.id,zone_model:model,zone_seconds:Object.fromEntries(seconds),classified_seconds:classified,total_seconds:total?Math.max(total,classified):null};}function dashboardRowsFrom(workouts,cachedRows){const results=new Map;const byId=new Map(workouts.map(workout=>[workout.id,workout]));const add=(workout,value)=>{const row=normalizedDistribution(value,workout);if(row)results.set(workout.id+\":\"+row.source+\":\"+(row.zone_model===3?\"seiler\":\"standard\"),row);};cachedRows.slice().sort((a,b)=>Number(a.zone_model)-Number(b.zone_model)).forEach(row=>{const workout=byId.get(row.workout_id||\"\");if(workout)add(workout,row);});workouts.forEach(workout=>{const ai=workout.metrics?.ai_summary;const root=workout.metrics;const saved=[root,ai].sort((a,b)=>(Date.parse(a?.intensity_calculated_at||\"\")||0)-(Date.parse(b?.intensity_calculated_at||\"\")||0));saved.forEach(container=>{if(!Array.isArray(container?.intensity_distributions))return;container.intensity_distributions.forEach(item=>{if(!item||typeof item!==\"object\")return;add(workout,{...item,zone_seconds:Array.isArray(item.zones)?item.zones:item.zone_seconds});});});});return Array.from(results.values());}function dashboardCoverageFrom(workouts,rows){const counts={unified:new Set,heart_rate:new Set,power:new Set,pace:new Set};rows.forEach(row=>{if(row.workout_id&&isIntensitySource(row.source)&&zoneSecondsTotal(row.zone_seconds)>0)counts[row.source].add(row.workout_id);});return{total:workouts.length,sourceCounts:{unified:counts.unified.size,heart_rate:counts.heart_rate.size,power:counts.power.size,pace:counts.pace.size}};}function workoutZoneMetrics(sport,fit,zones){const metrics=[];const add=(key,stream,standard,seiler,title,unit,transform)=>{if(stream&&(standard.length||seiler.length))metrics.push({key,title,unit,standard:zoneSampleSeconds(stream,standard,transform),seiler:zoneSampleSeconds(stream,seiler,transform)});};const hr=selectZones(zones,sport,\"heart_rate\",\"standard\");add(\"heart_rate\",fit.streams?.hr,hr,effectiveSeilerZones(hr,selectZones(zones,sport,\"heart_rate\",\"seiler_3\")),\"HEART RATE\",\"bpm\",value=>value>0?value:NaN);const power=selectZones(zones,sport,\"power\",\"standard\");add(\"power\",fit.streams?.power,power,effectiveSeilerZones(power,selectZones(zones,sport,\"power\",\"seiler_3\")),\"POWER\",\"watt\",value=>value>=0?value:NaN);const pace=selectZones(zones,sport,\"pace\",\"standard\");const paceSeiler=effectiveSeilerZones(pace,selectZones(zones,sport,\"pace\",\"seiler_3\"));const speed=selectZones(zones,sport,\"speed\",\"standard\");const speedSeiler=effectiveSeilerZones(speed,selectZones(zones,sport,\"speed\",\"seiler_3\"));const usePace=!!(pace.length||paceSeiler.length);const standard=usePace?pace:speed;const seiler=usePace?paceSeiler:speedSeiler;const unit=standard[0]?.unit||seiler[0]?.unit||(usePace?sport===\"rowing\"?\"sec/500m\":\"sec/km\":\"m/s\");const normalizedUnit=unit.toLowerCase().replace(/\\s/g,\"\");const distance=normalizedUnit.includes(\"500\")||usePace&&sport===\"rowing\"&&/^(seconds|s|sec)$/.test(normalizedUnit)?500:1e3;const transform=value=>{if(!Number.isFinite(value)||value<=0)return NaN;if(normalizedUnit.includes(\"min/\"))return distance/value/60;if(usePace||normalizedUnit.includes(\"sec/\")||normalizedUnit.includes(\"s/km\")||normalizedUnit.includes(\"s/500\"))return distance/value;if([\"km/h\",\"kph\",\"kmh\"].includes(normalizedUnit))return value*3.6;if(normalizedUnit===\"mph\")return value*2.2369362921;return value;};add(\"pace\",fit.streams?.speed,standard,seiler,usePace?\"PACE\":\"SPEED\",unit,transform);return metrics;}function recordedFitSeconds(fit){const timers=(fit.sessions||[]).map(session=>Number(session.totalTimerTime)).filter(value=>Number.isFinite(value)&&value>0);return timers.length?timers.reduce((sum,value)=>sum+value,0):Number(fit.dur||0)/1e3;}function calculateIntensityDistributions(sport,fit,zones,totalSeconds=recordedFitSeconds(fit)){const distributions=[];const add=(source,model,data)=>{if(!data.length||!validZoneModel(model))return;const measured=data.reduce((sum,zone)=>sum+zone.seconds,0);if(!measured)return;const scale=totalSeconds>0&&measured>totalSeconds?totalSeconds/measured:1;const values=data.map(({zone,seconds})=>({zone:zone.zone_number,label:zoneDistributionLabel(zone),seconds:Math.floor(seconds*scale),percent:undefined}));const target=Math.round(measured*scale);const remainder=target-values.reduce((sum,zone)=>sum+zone.seconds,0);data.map((item,index)=>({index,fraction:item.seconds*scale-values[index].seconds})).sort((a,b)=>b.fraction-a.fraction).slice(0,remainder).forEach(item=>{values[item.index].seconds+=1;});const classified=values.reduce((sum,zone)=>sum+zone.seconds,0);if(!classified)return;values.forEach(zone=>{zone.percent=round(zone.seconds/classified*100,1);});distributions.push({source,zone_model:model,zones:values,classified_seconds:classified,...totalSeconds>0?{total_seconds:Math.max(Math.round(totalSeconds),classified)}:{},source_composition:{[source]:classified},zone_snapshot:data.map(item=>item.zone),calculation_version:\"2\"});};workoutZoneMetrics(sport,fit,zones).forEach(metric=>{add(metric.key,Math.max(0,...metric.standard.map(item=>item.zone.zone_number)),metric.standard);add(metric.key,3,metric.seiler);});const priority=sport===\"running\"?[\"pace\",\"heart_rate\",\"power\"]:[\"power\",\"heart_rate\",\"pace\"];for(const seiler of[true,false]){const primary=priority.map(source=>distributions.find(row=>row.source===source&&row.zone_model===3===seiler&&(row.classified_seconds||0)>0)).find(Boolean);if(primary)distributions.push({...primary,source:\"unified\"});}return distributions;}async function calculateDashboardWorkoutDistributions(workout,zones,token){if(!workout.fit_path)return[];const url=await signedThumbnailUrl(workout.fit_path,token);if(!url)return[];const response=await fetch(url);if(!response.ok)return[];const fit=await parseFitActivity(await response.arrayBuffer(),{id:workout.id,source:workout.metrics?.import_source});return calculateIntensityDistributions(workout.sport,fit,zones,Number(workout.duration_seconds||0)||recordedFitSeconds(fit));}async function saveWorkoutZoneDistributions(workoutId,distributions,token){if(!distributions.some(row=>(row.classified_seconds||0)>0))throw new Error(\"No usable measurements were found. Your saved zone results were kept.\");const response=await fetch(SUPABASE_URL+\"/rest/v1/rpc/summiq_save_workout_zone_distributions\",{method:\"POST\",headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+token,\"Content-Type\":\"application/json\"},body:JSON.stringify({p_workout_id:workoutId,p_distributions:distributions})});if(!response.ok)throw new Error(\"Could not save calculated zone metrics. Your previous results were kept.\");return await response.json();}async function loadDashboardWorkouts(token,includeFiles=false){const end=new Date;const start=new Date(end.getTime()-7*24*60*60*1e3);const query=\"/rest/v1/workouts?duplicate_of_workout_id=is.null&select=id,sport,duration_seconds,metrics\"+(includeFiles?\",fit_path\":\"\")+\"&workout_kind=eq.completed&starts_at=gte.\"+encodeURIComponent(start.toISOString())+\"&starts_at=lt.\"+encodeURIComponent(end.toISOString())+\"&order=starts_at.asc,id.asc\";const workouts=[];for(let offset=0;;offset+=200){const response=await fetch(SUPABASE_URL+query+\"&limit=200&offset=\"+offset,{headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+token}});if(!response.ok)throw new Error(\"Could not load your recorded workouts.\");const page=await response.json();workouts.push(...page);if(page.length<200)return workouts;}}async function loadDashboardCache(workouts,token){const rows=[];for(let index=0;index<workouts.length;index+=50){const ids=workouts.slice(index,index+50).map(workout=>encodeURIComponent(workout.id)).join(\",\");const response=await fetch(SUPABASE_URL+\"/rest/v1/workout_intensity_distributions?select=workout_id,source,zone_model,zone_seconds,classified_seconds,total_seconds,source_composition,zone_snapshot,calculation_version&workout_id=in.(\"+ids+\")&limit=1000\",{headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+token}});if(!response.ok)throw new Error(\"Some saved zone results could not be loaded. Try refreshing the card.\");rows.push(...await response.json());}return rows;}function dashboardZoneMetrics(rows,source){const metricFor=seiler=>{const selected=rows.filter(row=>row.source===source&&Number(row.zone_model)===3===seiler);const totals=new Map;selected.forEach(row=>storedZoneSeconds(row.zone_seconds).forEach((seconds,zone)=>totals.set(zone,(totals.get(zone)||0)+seconds)));const classified=Array.from(totals.values()).reduce((sum,seconds)=>sum+seconds,0);const totalKnown=selected.length>0&&selected.every(row=>Number(row.total_seconds||0)>0);const total=totalKnown?selected.reduce((sum,row)=>sum+Number(row.total_seconds),0):null;const count=seiler?3:Math.max(5,...selected.map(row=>Number(row.zone_model)),...totals.keys());const distributions=Array.from({length:count},(_,index)=>{const zone=index+1,seconds=totals.get(zone)||0;return{zone:{sport:\"all\",metric_type:source,zone_variant:seiler?\"seiler_3\":\"standard\",zone_number:zone,label:seiler?[\"Low\",\"Moderate\",\"High\"][index]:\"Z\"+zone,unit:\"time\"},seconds,percent:classified?seconds/classified*100:0};});return{metric:{key:source===\"pace\"?\"pace\":source===\"heart_rate\"?\"heart_rate\":\"power\",title:seiler?\"SEILER \\xb7 3 ZONES\":\"CONVENTIONAL \\xb7 \"+count+\" ZONES\",unit:\"TIME\",standard:seiler?[]:distributions,seiler:seiler?distributions:[]},classified,total,totalKnown,hasRows:selected.length>0};};return{three:metricFor(true),standard:metricFor(false)};}function StackedZoneBar({zones,label}){const palette=zones[0]?.zone.zone_variant===\"seiler_3\"?[ZONE_DISTRIBUTION_COLORS[0],ZONE_DISTRIBUTION_COLORS[2],ZONE_DISTRIBUTION_COLORS[3]]:ZONE_DISTRIBUTION_COLORS;const container=React.useRef(null);const[width,setWidth]=React.useState(0);React.useEffect(()=>{const node=container.current;if(!node||typeof ResizeObserver===\"undefined\")return;const observer=new ResizeObserver(entries=>setWidth(entries[0]?.contentRect.width||0));observer.observe(node);return()=>observer.disconnect();},[]);let cumulative=0;const visible=zones.map((item,index)=>{const center=cumulative+item.percent/2;cumulative+=item.percent;return{item,index,center,x:center/100*width};}).filter(entry=>entry.item.percent>0);// Keep tiny adjacent zones legible; leaders still point to their actual segment.\nconst gap=visible.length>1&&width>0?Math.min(44,(width-44)/(visible.length-1)):44;if(width>0){visible.forEach((entry,index)=>{entry.x=Math.max(22,entry.x,index?visible[index-1].x+gap:22);});for(let index=visible.length-1;index>=0;index--)visible[index].x=Math.min(visible[index].x,index===visible.length-1?width-22:visible[index+1].x-gap);}const detail=zones.map(item=>zoneDistributionLabel(item.zone)+\": \"+formatZoneDuration(item.seconds)+\" (\"+Math.round(item.percent)+\"%)\").join(\"; \");return /*#__PURE__*/_jsxs(\"div\",{ref:container,className:\"summiq-zone-bar-visual\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"summiq-zone-bar-track\",role:\"img\",\"aria-label\":label+\": \"+detail,title:detail,children:zones.map((item,index)=>/*#__PURE__*/_jsx(\"span\",{title:zoneDistributionLabel(item.zone),style:{width:item.percent+\"%\",height:\"100%\",background:palette[index],flexShrink:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",overflow:\"hidden\",color:\"var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69))\",fontSize:11,fontWeight:700},children:item.percent>0&&(!width?item.percent>=7:item.percent/100*width>=20)?\"Z\"+item.zone.zone_number:null},item.zone.zone_number))}),/*#__PURE__*/_jsxs(\"div\",{className:\"summiq-zone-segment-percentages\",children:[visible.map(entry=>/*#__PURE__*/_jsxs(\"span\",{title:zoneDistributionLabel(entry.item.zone)+\": \"+formatZoneDuration(entry.item.seconds),style:{position:\"absolute\",top:8,left:width?entry.x:entry.center+\"%\",transform:\"translateX(-50%)\",color:palette[entry.index]},children:[width>0&&entry.item.percent/100*width<20?\"Z\"+entry.item.zone.zone_number+\" \\xb7 \":\"\",Math.round(entry.item.percent),\"%\"]},entry.item.zone.zone_number)),width>0&&/*#__PURE__*/_jsx(\"svg\",{width:\"100%\",height:\"8\",\"aria-hidden\":\"true\",style:{position:\"absolute\",left:0,top:0,overflow:\"visible\"},children:visible.filter(entry=>Math.abs(entry.x-entry.center/100*width)>2).map(entry=>/*#__PURE__*/_jsx(\"line\",{x1:entry.center/100*width,y1:0,x2:entry.x,y2:7,stroke:palette[entry.index],strokeWidth:1},entry.item.zone.zone_number))})]})]});}function DashboardIntensityDistribution({height,appEmbedded=false}){const intensityDialog=React.useRef(null);const intensityTitle=React.useId();const[rows,setRows]=React.useState([]);const[workoutCoverage,setWorkoutCoverage]=React.useState(()=>emptyDashboardCoverage());const[zoneView,setZoneView]=React.useState(\"standard\");const[message,setMessage]=React.useState(\"Loading your past 7 days of intensity distribution...\");const[notice,setNotice]=React.useState(\"\");const[recalculating,setRecalculating]=React.useState(false);const generation=React.useRef(0);const calculationBusy=React.useRef(false);const currentUser=React.useRef(null);const chooseZoneView=React.useCallback(value=>{setZoneView(value);const userId=sessionFromToken()?.userId;if(userId){try{window.localStorage.setItem(\"summiq.dashboard.intensity-model.v1.\"+userId,value);}catch{}}},[]);const load=React.useCallback(async()=>{const request=++generation.current;const session=sessionFromToken();if(currentUser.current!==(session?.userId||null)){setRows([]);setWorkoutCoverage(emptyDashboardCoverage());setNotice(\"\");let preferred=\"standard\";if(session?.userId){try{if(window.localStorage.getItem(\"summiq.dashboard.intensity-model.v1.\"+session.userId)===\"seiler\")preferred=\"seiler\";}catch{}}setZoneView(preferred);currentUser.current=session?.userId||null;}if(!session){setRows([]);setWorkoutCoverage(emptyDashboardCoverage());setMessage(\"Sign in to view your intensity distribution.\");return;}const current=()=>generation.current===request&&sessionFromToken()?.userId===session.userId;setMessage(\"Loading your past 7 days of intensity distribution...\");try{const workouts=await loadDashboardWorkouts(session.token);let cachedRows=[];let cacheWarning=\"\";try{cachedRows=await loadDashboardCache(workouts,session.token);}catch(error){cacheWarning=readableError(error,\"Some saved zone results could not be loaded.\");}const nextRows=dashboardRowsFrom(workouts,cachedRows);if(!current())return;setRows(nextRows);setWorkoutCoverage(dashboardCoverageFrom(workouts,nextRows));if(cacheWarning)setNotice(cacheWarning);setMessage(!workouts.length?\"No recorded workouts in the past 7 days.\":nextRows.length?\"\":cacheWarning||\"No calculated zone results yet. Select Recalculate to analyse the recorded workouts from the past 7 days.\");}catch(error){if(!current())return;setRows([]);setWorkoutCoverage(emptyDashboardCoverage());setMessage(readableError(error,\"Could not load your intensity distribution.\"));}},[]);const recalculate=React.useCallback(async()=>{if(calculationBusy.current)return;const session=sessionFromToken();if(!session){setMessage(\"Sign in to recalculate your intensity distribution.\");return;}calculationBusy.current=true;setRecalculating(true);setNotice(\"Calculating recorded workouts from the past 7 days...\");let updated=0,skipped=0,failed=0;try{const workouts=await loadDashboardWorkouts(session.token,true);const zonesBySport=new Map;const zonesForSport=sport=>{if(!zonesBySport.has(sport))zonesBySport.set(sport,loadEffectiveAthleteZones(sport,session.token));return zonesBySport.get(sport);};// Keep downloads bounded and report each unsuccessful workout without clearing previous results.\nfor(let index=0;index<workouts.length;index+=3){if(sessionFromToken()?.userId!==session.userId)return;await Promise.all(workouts.slice(index,index+3).map(async workout=>{try{if(!workout.fit_path){skipped+=1;return;}const distributions=await calculateDashboardWorkoutDistributions(workout,await zonesForSport(workout.sport),session.token);if(!distributions.length){skipped+=1;return;}if(sessionFromToken()?.userId!==session.userId)return;await saveWorkoutZoneDistributions(workout.id,distributions,session.token);updated+=1;}catch{failed+=1;}}));}if(sessionFromToken()?.userId!==session.userId)return;await load();setNotice(updated+\" workout\"+(updated===1?\"\":\"s\")+\" updated.\"+(skipped?\" \"+skipped+\" skipped because files or usable measurements were unavailable.\":\"\")+(failed?\" \"+failed+\" could not be recalculated. Try again.\":\"\")+(skipped||failed?\" Existing results were kept for those workouts.\":\"\"));if(typeof window!==\"undefined\"&&updated)window.dispatchEvent(new CustomEvent(\"summiq:zone-results-updated\"));}catch(error){if(sessionFromToken()?.userId===session.userId)setNotice(readableError(error,\"Could not recalculate intensity distributions. Your existing results were kept.\"));}finally{calculationBusy.current=false;setRecalculating(false);}},[load]);React.useEffect(()=>{void load();if(typeof window===\"undefined\")return()=>{generation.current+=1;};const reload=()=>{void load();};const zonesChanged=()=>setNotice(\"Your zone settings changed. Select Recalculate to apply them to the past 7 days.\");const events=[\"summiq:data-refresh\",\"summiq:workout-saved\",\"summiq:workout-deleted\",\"summiq:session-updated\",\"summiq:session-expired\",\"summiq:zone-results-updated\"];events.forEach(event=>window.addEventListener(event,reload));window.addEventListener(\"summiq:zones-saved\",zonesChanged);return()=>{generation.current+=1;events.forEach(event=>window.removeEventListener(event,reload));window.removeEventListener(\"summiq:zones-saved\",zonesChanged);};},[load]);const power=React.useMemo(()=>dashboardZoneMetrics(rows,\"power\"),[rows]);const heartRate=React.useMemo(()=>dashboardZoneMetrics(rows,\"heart_rate\"),[rows]);const seiler=zoneView===\"seiler\";const bar=(source,label,metrics)=>{const data=seiler?metrics.three:metrics.standard;const zones=seiler?data.metric.seiler:data.metric.standard;const hasData=data.classified>0;const count=new Set(rows.filter(row=>row.source===source&&Number(row.zone_model)===3===seiler&&zoneSecondsTotal(row.zone_seconds)>0).map(row=>row.workout_id)).size;const color=index=>ZONE_DISTRIBUTION_COLORS[index];const detail=zones.map(item=>zoneDistributionLabel(item.zone)+\": \"+formatZoneDuration(item.seconds)+\" (\"+Math.round(item.percent)+\"%)\").join(\"; \");const coverage=data.totalKnown&&data.total?\" \\xb7 \"+Math.min(100,Math.round(data.classified/data.total*100))+\"% coverage\":\"\";return /*#__PURE__*/_jsxs(\"div\",{className:\"summiq-zone-bar-row\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"summiq-zone-bar-label\",children:label}),hasData?/*#__PURE__*/_jsx(StackedZoneBar,{zones:zones,label:label}):/*#__PURE__*/_jsxs(\"div\",{className:\"summiq-zone-bar-visual\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"summiq-zone-bar-track\"}),/*#__PURE__*/_jsx(\"div\",{className:\"summiq-zone-segment-percentages\",style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 55%, transparent)\",paddingTop:8},children:\"No data\"})]}),/*#__PURE__*/_jsx(\"div\",{className:\"summiq-zone-bar-summary\",children:hasData?formatZoneDuration(data.classified)+\" classified\"+coverage+\" \\xb7 \"+count+\"/\"+workoutCoverage.total+\" workouts\":\"No \"+(seiler?\"3-zone\":\"5/7-zone\")+\" \"+label.toLowerCase()+\" data\"})]},source);};const compactBar=(label,metrics)=>{const data=seiler?metrics.three:metrics.standard;const zones=seiler?data.metric.seiler:data.metric.standard;const palette=seiler?[ZONE_DISTRIBUTION_COLORS[0],ZONE_DISTRIBUTION_COLORS[2],ZONE_DISTRIBUTION_COLORS[3]]:ZONE_DISTRIBUTION_COLORS;const percentage=value=>value>0&&value<1?\"<1%\":Math.round(value)+\"%\";const description=zones.map(item=>zoneDistributionLabel(item.zone)+\": \"+percentage(item.percent)).join(\", \");return /*#__PURE__*/_jsxs(\"div\",{className:\"summiq-compact-zone-row\",style:{display:\"grid\",gridTemplateColumns:\"34px minmax(0,1fr) 62px\",gridTemplateRows:\"9px 18px\",alignItems:\"center\",columnGap:6,rowGap:2,fontFamily:\"Inter,sans-serif\",fontSize:10,lineHeight:\"10px\",minWidth:0},children:[/*#__PURE__*/_jsx(\"span\",{style:{opacity:.7},children:label}),/*#__PURE__*/_jsx(\"span\",{role:\"img\",\"aria-label\":label+\": \"+(data.classified?description:\"No data\"),style:{display:\"flex\",height:9,borderRadius:5,overflow:\"hidden\",background:\"color-mix(in srgb,currentColor 16%,transparent)\",minWidth:0},children:data.classified>0&&zones.map((zone,index)=>/*#__PURE__*/_jsx(\"span\",{style:{width:zone.percent+\"%\",height:\"100%\",background:palette[index],flexShrink:0}},zone.zone.zone_number))}),/*#__PURE__*/_jsx(\"span\",{style:{textAlign:\"right\",opacity:.7,whiteSpace:\"nowrap\"},children:data.classified>0?formatZoneDuration(data.classified):\"No data\"}),data.classified>0&&/*#__PURE__*/_jsx(\"span\",{className:\"summiq-compact-zone-percentages\",\"aria-label\":label+\" zone percentages\",style:{gridColumn:2,gridRow:2,display:\"grid\",gridTemplateColumns:`repeat(${zones.length},minmax(0,1fr))`,columnGap:2,height:18,minWidth:0,fontVariantNumeric:\"tabular-nums\"},children:zones.map((zone,index)=>/*#__PURE__*/_jsxs(\"span\",{title:zoneDistributionLabel(zone.zone)+\": \"+formatZoneDuration(zone.seconds)+\" \\xb7 \"+percentage(zone.percent),style:{display:\"grid\",gridTemplateRows:\"9px 9px\",justifyItems:\"center\",alignItems:\"center\",whiteSpace:\"nowrap\",minWidth:0,textAlign:\"center\"},children:[/*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",gap:3,fontSize:9,lineHeight:\"9px\",opacity:.8},children:[/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{width:4,height:4,flexShrink:0,borderRadius:1,background:palette[index]}}),\"Z\",zone.zone.zone_number]}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:10,lineHeight:\"9px\",opacity:.9},children:percentage(zone.percent)})]},zone.zone.zone_number))})]});};return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`.summiq-intensity-dialog::backdrop{background:rgba(5,8,10,.75)}.summiq-intensity-open:focus-visible,.summiq-intensity-model:focus-within{outline:2px solid ${SUMMIQ_ACCENT};outline-offset:2px}.summiq-intensity-tile .summiq-intensity-model,.summiq-intensity-tile .summiq-intensity-model>span{font-size:11px!important;line-height:1.1!important}.summiq-intensity-model select option{background:${CARD};color:var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c,rgb(245,247,250))}`}),/*#__PURE__*/_jsxs(\"article\",{className:\"summiq-intensity-tile\",\"aria-label\":\"Intensity distribution card\",style:{position:\"relative\",display:\"grid\",gridTemplateRows:\"18px 13px minmax(0,1fr)\",gap:2,width:\"100%\",height:110,minHeight:110,maxHeight:110,flexShrink:0,minWidth:0,boxSizing:\"border-box\",border:\"1px solid var(--token-53181cfb-6f3c-40d8-9548-414e28a77c07,rgb(64,89,101))\",borderRadius:10,background:CARD,color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c,rgb(245,247,250))\",padding:\"6px 8px\",textAlign:\"left\",fontFamily:\"Teko,sans-serif\",overflow:\"hidden\"},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"summiq-intensity-open\",\"aria-label\":\"View intensity distribution details\",\"aria-haspopup\":\"dialog\",onClick:()=>intensityDialog.current?.showModal(),style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",border:0,borderRadius:9,padding:0,background:\"transparent\",cursor:\"pointer\",zIndex:1}}),/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",top:8,right:8,pointerEvents:\"none\",zIndex:2,opacity:.9},children:/*#__PURE__*/_jsx(SummiQCardIcon,{metric:\"intensity_distribution\",color:\"var(--token-75fe5ebb-49c7-4ccd-a414-9586cf349771,rgb(94,169,255))\"})}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"baseline\",gap:5,minWidth:0,paddingRight:26,pointerEvents:\"none\"},children:/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:\"Inter,sans-serif\",fontSize:14,fontWeight:600,letterSpacing:0,lineHeight:1.2,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\"},children:\"Intensity distribution\"})}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"baseline\",gap:8,minWidth:0,pointerEvents:\"none\"},children:[/*#__PURE__*/_jsxs(\"label\",{className:\"summiq-intensity-model\",style:{position:\"relative\",fontSize:11,lineHeight:1.1,letterSpacing:0,color:SUMMIQ_ACCENT,whiteSpace:\"nowrap\",pointerEvents:\"auto\",zIndex:2,borderRadius:2},children:[/*#__PURE__*/_jsxs(\"span\",{\"aria-hidden\":\"true\",style:{display:\"inline-flex\",alignItems:\"center\",gap:3},children:[\"(\",seiler?\"3 zones\":\"5/7 zones\",\")\",/*#__PURE__*/_jsx(\"svg\",{width:\"10\",height:\"7\",viewBox:\"0 0 10 7\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"m1 1 4 4 4-4\",stroke:\"currentColor\",strokeWidth:\"1.5\"})})]}),/*#__PURE__*/_jsxs(\"select\",{\"aria-label\":\"Intensity distribution zone model\",value:zoneView,onChange:event=>chooseZoneView(event.target.value),style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",minHeight:0,padding:0,border:0,margin:0,opacity:0,cursor:\"pointer\"},children:[/*#__PURE__*/_jsx(\"option\",{value:\"standard\",children:\"5/7 zones\"}),/*#__PURE__*/_jsx(\"option\",{value:\"seiler\",children:\"3 zones\"})]})]}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:\"Inter,sans-serif\",fontSize:10,lineHeight:1.3,opacity:.6,pointerEvents:\"none\"},children:\"Past 7 days\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",alignContent:\"start\",gap:2,minWidth:0,paddingTop:0,pointerEvents:\"none\"},children:[(power.three.classified>0||power.standard.classified>0)&&compactBar(\"Power\",power),compactBar(\"HR\",heartRate)]})]}),/*#__PURE__*/_jsx(\"dialog\",{ref:intensityDialog,className:\"summiq-intensity-dialog\",\"aria-labelledby\":intensityTitle,style:{width:\"min(760px,calc(100vw - 24px))\",maxWidth:\"calc(100vw - 24px)\",maxHeight:\"calc(100dvh - 32px)\",overflow:\"auto\",padding:0,border:0,borderRadius:12,margin:\"auto\",background:CARD},children:/*#__PURE__*/_jsxs(\"section\",{className:\"summiq-stacked-intensity\",\"aria-label\":\"Intensity distribution for the past 7 days\",\"aria-busy\":recalculating,style:{position:\"relative\",width:\"min(100%, 1120px)\",minWidth:0,height:\"min(460px,calc(100dvh - 32px))\",minHeight:0,maxHeight:\"calc(100dvh - 32px)\",margin:\"0 auto\",boxSizing:\"border-box\",color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontFamily:\"Teko, sans-serif\",border:\"1px solid var(--token-53181cfb-6f3c-40d8-9548-414e28a77c07, rgb(64, 89, 101))\",background:CARD,borderRadius:12,padding:14,display:\"grid\",gridTemplateRows:\"auto minmax(0, 1fr) auto\",gap:8},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n            .summiq-stacked-intensity {container-type:inline-size}\n\n            .summiq-stacked-intensity .summiq-zone-bar-row {display:grid;grid-template-columns:84px minmax(0,1fr);align-items:start;column-gap:12px;row-gap:4px;height:64px;min-width:0;font-family:Inter,sans-serif;font-size:13px}\n            .summiq-stacked-intensity .summiq-zone-bar-label {color:color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 70%, transparent);line-height:16px}\n            .summiq-stacked-intensity .summiq-zone-bar-visual {min-width:0;width:100%}\n            .summiq-stacked-intensity .summiq-zone-bar-track {display:flex;height:20px;border-radius:99px;overflow:hidden;background:color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 16%, transparent);min-width:0}\n            .summiq-stacked-intensity .summiq-zone-segment-percentages {position:relative;height:18px;font-size:10px;line-height:12px;font-weight:600;white-space:nowrap}\n            .summiq-stacked-intensity .summiq-zone-bar-summary {grid-column:1/-1;color:color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 60%, transparent);font-size:10px;line-height:12px}\n            @container (max-width:600px) {\n                .summiq-stacked-intensity .summiq-zone-bar-row {grid-template-columns:minmax(0,1fr);grid-template-rows:16px 38px 12px;height:74px}\n                .summiq-stacked-intensity .summiq-zone-bar-summary {font-size:10px}\n            }\n        `}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",gap:10,minHeight:40},children:[/*#__PURE__*/_jsxs(\"div\",{style:{minWidth:0},children:[/*#__PURE__*/_jsx(\"div\",{id:intensityTitle,style:{color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontSize:23,lineHeight:1,letterSpacing:\"0.02em\",fontWeight:600},children:\"INTENSITY DISTRIBUTION\"}),/*#__PURE__*/_jsx(\"div\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 70%, transparent)\",fontFamily:\"Inter, sans-serif\",fontSize:11,lineHeight:\"14px\",marginTop:3},children:\"Recorded time \\xb7 Past 7 days\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>void recalculate(),disabled:recalculating,style:{minHeight:40,flexShrink:0,border:\"1px solid \"+summiqAccentAlpha(.55),borderRadius:6,background:summiqAccentAlpha(.1),color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",padding:\"6px 9px\",fontFamily:\"Teko, sans-serif\",fontSize:14,fontWeight:700,cursor:recalculating?\"wait\":\"pointer\"},children:recalculating?\"CALCULATING…\":\"RECALCULATE\"}),/*#__PURE__*/_jsx(SummiQCloseButton,{type:\"button\",autoFocus:true,\"aria-label\":\"Close intensity details\",onClick:()=>intensityDialog.current?.close()})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"summiq-intensity-content\",tabIndex:0,\"aria-label\":\"Recorded intensity zones\",style:{minHeight:0,overflowY:\"auto\",borderTop:\"1px solid color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 11%, transparent)\",borderBottom:\"1px solid color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 11%, transparent)\",padding:\"6px 0\",display:\"flex\",flexDirection:\"column\",gap:4},children:[/*#__PURE__*/_jsxs(\"div\",{role:\"group\",\"aria-label\":\"Zone model\",style:{display:\"flex\",gap:4,height:32,flexShrink:0},children:[[[\"seiler\",\"3 ZONES\"],[\"standard\",\"5/7 ZONES\"]].map(([id,label])=>/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-pressed\":zoneView===id,onClick:()=>chooseZoneView(id),style:{minHeight:32,padding:\"2px 10px\",border:\"1px solid \"+(zoneView===id?SUMMIQ_ACCENT:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 25%, transparent)\"),borderRadius:6,background:zoneView===id?summiqAccentAlpha(.12):\"transparent\",color:zoneView===id?SUMMIQ_ACCENT:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 70%, transparent)\",fontFamily:\"Teko, sans-serif\",fontSize:16,cursor:\"pointer\"},children:label},id)),/*#__PURE__*/_jsx(\"span\",{style:{marginLeft:\"auto\",alignSelf:\"center\",color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 60%, transparent)\",fontFamily:\"Inter, sans-serif\",fontSize:10},children:seiler?\"Low / Moderate / High\":\"Z1 → Z5/7\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gap:4,flexShrink:0},children:[(power.three.classified>0||power.standard.classified>0)&&bar(\"power\",\"Power zones\",power),bar(\"heart_rate\",\"HR zones\",heartRate)]})]}),/*#__PURE__*/_jsx(\"div\",{role:\"status\",style:{height:32,display:\"flex\",alignItems:\"center\",overflowY:\"auto\",color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 58%, transparent)\",fontFamily:\"Inter, sans-serif\",fontSize:11,lineHeight:\"14px\"},children:notice||message||\"Classified time \\xb7 Hover for zone details.\"})]})})]});}const LEAFLET_CSS_ID=\"summiq-leaflet-css\";const LEAFLET_SCRIPT_ID=\"summiq-leaflet-script\";function loadLeaflet(){if(typeof window===\"undefined\")return Promise.reject(new Error(\"Leaflet is only available in the browser.\"));const existing=window.L;if(existing)return Promise.resolve(existing);return new Promise((resolve,reject)=>{if(!document.getElementById(LEAFLET_CSS_ID)){const css=document.createElement(\"link\");css.id=LEAFLET_CSS_ID;css.rel=\"stylesheet\";css.href=\"https://unpkg.com/leaflet@1.9.4/dist/leaflet.css\";document.head.appendChild(css);}const existingScript=document.getElementById(LEAFLET_SCRIPT_ID);if(existingScript){existingScript.addEventListener(\"load\",()=>resolve(window.L),{once:true});existingScript.addEventListener(\"error\",()=>reject(new Error(\"Could not load Leaflet.\")),{once:true});return;}const script=document.createElement(\"script\");script.id=LEAFLET_SCRIPT_ID;script.src=\"https://unpkg.com/leaflet@1.9.4/dist/leaflet.js\";script.async=true;script.onload=()=>resolve(window.L);script.onerror=()=>reject(new Error(\"Could not load Leaflet.\"));document.head.appendChild(script);});}function routePoints(fit){const route=fit?.streams?.route;return(route?.lat??[]).map((lat,index)=>({lat,lon:route?.lon?.[index],time:route?.times?.[index]})).filter(point=>within(point.lat,-89.999999,89.999999)!==undefined&&within(point.lon,-179.999999,179.999999)!==undefined);}function formatCoordinate(value){return typeof value===\"number\"?value.toFixed(4)+\"\\xb0\":\"Unavailable\";}function MapPanel({fit,focusTime,height=280}){const host=React.useRef(null);const mapRef=React.useRef(null);const markerRef=React.useRef(null);const[ready,setReady]=React.useState(false);const points=React.useMemo(()=>routePoints(fit??undefined),[fit]);React.useEffect(()=>{if(!host.current||points.length<2)return;let disposed=false;loadLeaflet().then(L=>{if(disposed||!host.current)return;const map=L.map(host.current,{zoomControl:true,attributionControl:true,preferCanvas:true,scrollWheelZoom:false,touchZoom:false,doubleClickZoom:false,boxZoom:false,keyboard:false});mapRef.current=map;L.tileLayer(\"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\",{maxZoom:19,attribution:\"&copy; OpenStreetMap contributors\"}).addTo(map);const latLngs=points.map(point=>[point.lat,point.lon]);L.polyline(latLngs,{color:MAP_ROUTE_COLOR,weight:4,opacity:.95,lineJoin:\"round\"}).addTo(map);L.circleMarker(latLngs[0],{radius:5,color:\"var(--token-ff828a93-d602-4c59-8fcf-961a9e5af6a8, rgb(23, 43, 54))\",weight:2,fillColor:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fillOpacity:1}).addTo(map);L.circleMarker(latLngs[latLngs.length-1],{radius:5,color:\"var(--token-ff828a93-d602-4c59-8fcf-961a9e5af6a8, rgb(23, 43, 54))\",weight:2,fillColor:MAP_ROUTE_COLOR,fillOpacity:1}).addTo(map);const fitRoute=()=>{map.invalidateSize({animate:false});map.fitBounds(L.latLngBounds(latLngs),{padding:[26,26],animate:false});};fitRoute();const resizeObserver=typeof ResizeObserver===\"undefined\"?null:new ResizeObserver(()=>requestAnimationFrame(fitRoute));if(host.current&&resizeObserver)resizeObserver.observe(host.current);setReady(true);requestAnimationFrame(fitRoute);map.__summiqResizeObserver=resizeObserver;}).catch(()=>setReady(false));return()=>{disposed=true;const resizeObserver=mapRef.current?.__summiqResizeObserver;resizeObserver?.disconnect();if(mapRef.current){mapRef.current.remove();mapRef.current=null;}markerRef.current=null;setReady(false);};},[fit]);React.useEffect(()=>{if(!ready||!mapRef.current||focusTime==null||!Number.isFinite(focusTime)||points.length===0||typeof window===\"undefined\")return;const point=points.reduce((closest,candidate)=>Math.abs((candidate.time??0)-focusTime)<Math.abs((closest.time??0)-focusTime)?candidate:closest,points[0]);const L=window.L;if(!L)return;const latLng=[point.lat,point.lon];if(!markerRef.current)markerRef.current=L.circleMarker(latLng,{radius:7,color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",weight:2,fillColor:MAP_ROUTE_COLOR,fillOpacity:1}).addTo(mapRef.current);else markerRef.current.setLatLng(latLng);if(!mapRef.current.getBounds().contains(latLng))mapRef.current.panTo(latLng,{animate:false});},[focusTime,points,ready]);if(points.length<2)return /*#__PURE__*/_jsx(\"div\",{style:{height,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69))\",color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 55%, transparent)\",fontSize:14},children:\"No GPS route is available for this workout.\"});return /*#__PURE__*/_jsx(\"div\",{ref:host,style:{height,width:\"100%\",background:\"var(--token-ff828a93-d602-4c59-8fcf-961a9e5af6a8, rgb(23, 43, 54))\"}});}function stressExplanation(key){if(!key)return\"This workout has not yet been calculated against an available stress source.\";if(key.includes(\"power\"))return\"TS is based on weighted average power and the athlete’s sport-specific threshold power.\";if(key.includes(\"hr\"))return\"TS is based on smoothed heart rate relative to resting and threshold heart rate.\";if(key.includes(\"pace\"))return\"TS is based on pace relative to the sport-specific threshold pace.\";return\"TS is based on the selected sport-specific stress source.\";}const IF_EXPLANATION=\"Intensity Factor (IF) shows how hard the workout was relative to your Functional Threshold Power (FTP). IF = weighted average power \\xf7 your saved FTP for this workout. For example, 0.58 means 58% of FTP; 1.00 means 100%. The result and FTP are stored with the workout so later FTP changes do not alter it. When historical FTP is unavailable, your current FTP at the time of calculation is used instead and clearly labelled.\";const CALORIES_EXPLANATION=\"Calories (kcal) estimate the energy used during this workout. In Automatic mode, SummiQ uses its cycling power estimate when available, otherwise the device/provider value; your calorie source preference can override this. SummiQ adds up recorded power over time to calculate mechanical work, then estimates kcal = work in joules \\xf7 (4,184 \\xd7 0.24), assuming 24% efficiency. This requires at least 95% valid power coverage and ignores gaps longer than 5 seconds. No separate resting-energy allowance is added. Device/provider values come from the activity recording; their calculation and inclusion of resting energy vary.\";const AVERAGE_POWER_EXPLANATION=\"Average power is your mean power output during the workout, measured in watt. One watt equals one joule of work per second. SummiQ uses the average power reported in the activity recording. If that is missing, it adds the valid recorded power samples and divides by the number of those samples; recorded zero-watt samples are included. The device may apply its own rules for pauses and zero power. This is a simple average, while weighted average power gives more weight to harder efforts.\";function IntensityFactorInfo(){return /*#__PURE__*/_jsx(MetricInfo,{label:\"Intensity Factor (IF)\",explanation:IF_EXPLANATION});}function MetricInfo({label,explanation}){const[position,setPosition]=React.useState(null);const button=React.useRef(null);const id=React.useId();const show=()=>{const rect=button.current?.getBoundingClientRect();if(!rect||typeof window===\"undefined\")return;const width=Math.min(280,window.innerWidth-32);setPosition({left:Math.max(16,Math.min(rect.left,window.innerWidth-width-16)),top:Math.max(16,Math.min(rect.bottom+8,window.innerHeight-Math.min(220,window.innerHeight*.4)-16))});};React.useEffect(()=>{if(!position)return;const hide=()=>setPosition(null);window.addEventListener(\"scroll\",hide,true);window.addEventListener(\"resize\",hide);return()=>{window.removeEventListener(\"scroll\",hide,true);window.removeEventListener(\"resize\",hide);};},[position]);return /*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline-block\",position:\"relative\",width:18,height:18,verticalAlign:\"middle\",marginLeft:5},onMouseLeave:()=>{if(typeof document!==\"undefined\"&&document.activeElement!==button.current)setPosition(null);},children:[/*#__PURE__*/_jsx(\"button\",{ref:button,type:\"button\",\"aria-label\":\"About \"+label,\"aria-describedby\":position?id:undefined,\"aria-expanded\":Boolean(position),onMouseEnter:show,onFocus:show,onBlur:()=>setPosition(null),onClick:event=>{event.stopPropagation();show();},onKeyDown:event=>{if(event.key===\"Escape\"){event.stopPropagation();setPosition(null);}},style:{position:\"absolute\",left:-13,top:-13,width:44,height:44,minWidth:44,minHeight:44,padding:0,border:0,background:\"transparent\",color:\"var(--token-84678622-4f97-41e6-b9e4-7945d370801a, rgb(200, 250, 80))\",display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",verticalAlign:\"middle\",cursor:\"help\"},children:/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{width:18,height:18,flex:\"0 0 18px\",boxSizing:\"border-box\",border:\"1px solid currentColor\",borderRadius:\"50%\",fontFamily:\"Inter, sans-serif\",fontSize:12,fontWeight:600,lineHeight:\"16px\",textAlign:\"center\"},children:\"i\"})}),position&&/*#__PURE__*/_jsx(\"span\",{id:id,role:\"tooltip\",style:{position:\"fixed\",zIndex:150,left:position.left,top:position.top,width:\"min(280px, calc(100vw - 32px))\",maxHeight:\"min(220px, 40vh)\",overflowY:\"auto\",boxSizing:\"border-box\",padding:12,border:\"1px solid color-mix(in srgb, var(--token-e93a9a4d-bced-4e33-aaf7-4d3c3e8a3f15, rgb(200, 250, 80)) 45%, transparent)\",borderRadius:8,background:\"var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69))\",color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",boxShadow:\"0 8px 28px color-mix(in srgb, var(--token-bf87054d-de74-400b-af1a-b38155f9f249, rgb(5, 8, 10)) 50%, transparent)\",fontFamily:\"Inter, sans-serif\",fontSize:12,fontWeight:400,lineHeight:1.5,letterSpacing:\"normal\",textAlign:\"left\",whiteSpace:\"normal\"},children:explanation})]});}function MetricCard({label,value,unit,accent=SUMMIQ_ACCENT,ariaLabel}){const hasValue=value!==undefined&&value!==null&&value!==\"\";const valueText=hasValue?String(value):\"—\";const statusText=hasValue?\"\":\"No data\";return /*#__PURE__*/_jsxs(\"div\",{role:\"group\",\"aria-label\":ariaLabel,style:{border:\"1px solid color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 16%, transparent)\",borderTop:\"2px solid \"+accent,borderRadius:8,background:\"color-mix(in srgb, var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69)) 84%, transparent)\",boxShadow:\"inset 0 1px 0 color-mix(in srgb, var(--token-af0f571b-036d-4f06-a60e-a2070e99419a, rgb(255, 255, 255)) 2%, transparent)\",padding:\"12px 13px\",minHeight:84},children:[/*#__PURE__*/_jsx(\"dt\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 68%, transparent)\",fontSize:11,letterSpacing:\"0.04em\",lineHeight:1.1},children:label}),/*#__PURE__*/_jsxs(\"dd\",{style:{margin:\"8px 0 0\",minHeight:45},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"baseline\",gap:6,minHeight:26},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:hasValue?\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\":\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 72%, transparent)\",fontSize:25,fontWeight:600,lineHeight:.95},children:valueText}),hasValue&&unit&&/*#__PURE__*/_jsx(\"span\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 54%, transparent)\",fontSize:13,lineHeight:1},children:unit})]}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:5,color:hasValue?\"color-mix(in srgb, var(--token-1c8576e1-95ac-4ac7-9251-2a81b8830bd1, rgb(117, 230, 200)) 78%, transparent)\":\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 44%, transparent)\",fontSize:12,letterSpacing:\"0.02em\",minHeight:14},children:hasValue?\"Recorded\":statusText})]})]});}function WorkoutCoachPanel({modelSelection,messages,loading,clearing,deletingMessageId,question,error,elapsedSeconds,pendingQuestion,hasFit,onQuestionChange,onStartReview,onSend,onClearHistory,onDeleteMessage}){const transcriptRef=React.useRef(null);const busy=loading||clearing||Boolean(deletingMessageId);React.useEffect(()=>{transcriptRef.current?.scrollTo({top:transcriptRef.current.scrollHeight,behavior:\"smooth\"});},[messages.length,loading]);return /*#__PURE__*/_jsxs(\"section\",{\"aria-label\":\"Workout AI Coach\",style:{maxWidth:780,margin:\"0 auto\",overflow:\"hidden\",border:\"1px solid color-mix(in srgb, \"+SUMMIQ_ACCENT+\" 48%, color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 15%, transparent))\",borderRadius:12,background:\"var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69))\",boxShadow:\"0 18px 60px color-mix(in srgb, var(--token-bf87054d-de74-400b-af1a-b38155f9f249, rgb(5, 8, 10)) 18%, transparent)\"},children:[/*#__PURE__*/_jsxs(\"header\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"flex-start\",gap:16,padding:\"19px 20px 17px\",borderBottom:\"1px solid color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 15%, transparent)\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{minWidth:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontFamily:\"Teko, sans-serif\",fontSize:14,fontWeight:700,letterSpacing:\"0.14em\"},children:\"AI COACH\"}),/*#__PURE__*/_jsx(\"h2\",{style:{margin:\"6px 0 0\",color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontFamily:\"Teko, sans-serif\",fontSize:\"clamp(30px, 5vw, 42px)\",fontWeight:600,lineHeight:.94},children:\"Workout conversation\"}),/*#__PURE__*/_jsx(\"p\",{style:{margin:\"9px 0 0\",color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 58%, transparent)\",fontSize:13,lineHeight:1.45},children:\"Review this session, ask follow-ups, and keep the coaching context with the workout.\"})]}),messages.length>0&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:onClearHistory,disabled:busy,title:\"Delete saved messages so this workout review can start fresh.\",style:{flex:\"0 0 auto\",border:\"1px solid color-mix(in srgb, var(--token-5184f82f-c524-4809-aa5c-78d92709508d, rgb(239, 111, 108)) 56%, transparent)\",borderRadius:7,background:\"color-mix(in srgb, var(--token-5184f82f-c524-4809-aa5c-78d92709508d, rgb(239, 111, 108)) 7%, transparent)\",color:clearing?\"color-mix(in srgb, var(--token-8a9e63f3-d92b-4618-ab51-625b94d718ab, rgb(192, 132, 252)) 58%, transparent)\":\"var(--token-5184f82f-c524-4809-aa5c-78d92709508d, rgb(239, 111, 108))\",padding:\"8px 10px\",fontFamily:\"Teko, sans-serif\",fontSize:14,fontWeight:700,letterSpacing:\"0.07em\",whiteSpace:\"nowrap\",cursor:busy?\"not-allowed\":\"pointer\",opacity:busy?.48:1},children:clearing?\"CLEARING...\":\"DELETE CHAT\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gap:14,padding:20},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gap:10},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",gap:12,flexWrap:\"wrap\",padding:\"10px 12px\",borderRadius:8,background:\"color-mix(in srgb, var(--token-bf87054d-de74-400b-af1a-b38155f9f249, rgb(5, 8, 10)) 34%, transparent)\",border:\"1px solid color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 12%, transparent)\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 70%, transparent)\",fontFamily:\"Teko, sans-serif\",fontSize:14,fontWeight:600,letterSpacing:\"0.09em\"},children:\"COACH CONTEXT\"}),/*#__PURE__*/_jsx(\"span\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 58%, transparent)\",fontSize:12,lineHeight:1.3},children:\"Recorded workout, athlete profile, saved zones, and training load\"})]}),messages.length>0&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",gap:12,flexWrap:\"wrap\",padding:\"10px 12px\",borderRadius:8,border:\"1px solid color-mix(in srgb, \"+SUMMIQ_ACCENT+\" 28%, transparent)\",background:\"color-mix(in srgb, \"+SUMMIQ_ACCENT+\" 7%, transparent)\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 72%, transparent)\",fontSize:13,lineHeight:1.35},children:\"Refresh your workout assessment using the recorded context.\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",disabled:busy||!hasFit,onClick:onStartReview,style:{flex:\"0 0 auto\",border:\"1px solid \"+SUMMIQ_ACCENT,borderRadius:6,background:busy||!hasFit?\"color-mix(in srgb, \"+SUMMIQ_ACCENT+\" 22%, transparent)\":\"color-mix(in srgb, \"+SUMMIQ_ACCENT+\" 11%, transparent)\",color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",padding:\"7px 10px\",fontFamily:\"Teko, sans-serif\",fontSize:14,fontWeight:700,letterSpacing:\"0.07em\",cursor:busy||!hasFit?\"wait\":\"pointer\"},children:loading?\"ANALYSING...\":clearing?\"CLEARING...\":hasFit?\"CURRENT ANALYSIS\":\"FIT LOADING...\"})]})]}),/*#__PURE__*/_jsxs(\"div\",{ref:transcriptRef,\"aria-label\":\"Workout AI Coach conversation\",style:{minHeight:messages.length?120:0,maxHeight:420,display:\"flex\",flexDirection:\"column\",gap:10,overflowY:\"auto\",paddingRight:4,overscrollBehavior:\"contain\"},children:[loading&&messages.length===0&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",placeItems:\"center\",minHeight:210,color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 58%, transparent)\",fontSize:14},children:\"AI Coach is preparing this workout review...\"}),!loading&&messages.length===0&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gap:14,alignContent:\"center\",minHeight:260,padding:\"18px 18px 20px\",border:\"1px dashed color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 20%, transparent)\",borderRadius:10,background:\"color-mix(in srgb, var(--token-bf87054d-de74-400b-af1a-b38155f9f249, rgb(5, 8, 10)) 26%, transparent)\"},children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{style:{color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontFamily:\"Teko, sans-serif\",fontSize:18,fontWeight:700,letterSpacing:\"0.09em\"},children:\"BEGIN A WORKOUT REVIEW\"}),/*#__PURE__*/_jsx(\"p\",{style:{margin:\"7px 0 0\",color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 58%, transparent)\",fontSize:14,lineHeight:1.5},children:\"Your coach will review execution, effort distribution, and the most useful next step using this workout’s recorded data.\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:8,flexWrap:\"wrap\"},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",disabled:busy||!hasFit,onClick:onStartReview,style:{border:0,borderRadius:6,background:busy||!hasFit?\"color-mix(in srgb, \"+SUMMIQ_ACCENT+\" 34%, transparent)\":SUMMIQ_ACCENT,color:\"var(--token-bf87054d-de74-400b-af1a-b38155f9f249, rgb(5, 8, 10))\",padding:\"9px 12px\",fontFamily:\"Teko, sans-serif\",fontSize:15,fontWeight:700,letterSpacing:\"0.07em\",cursor:busy||!hasFit?\"wait\":\"pointer\"},children:loading?\"COACH IS THINKING...\":hasFit?\"ANALYSE THIS WORKOUT\":\"FIT LOADING...\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",disabled:busy||!hasFit,onClick:()=>onQuestionChange(\"What should I prioritise after this workout?\"),style:{border:\"1px solid color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 20%, transparent)\",borderRadius:6,background:\"transparent\",color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",padding:\"8px 11px\",fontFamily:\"Teko, sans-serif\",fontSize:14,fontWeight:600,letterSpacing:\"0.07em\",cursor:busy||!hasFit?\"wait\":\"pointer\"},children:\"WHAT SHOULD I DO NEXT?\"})]})]}),!loading&&messages.map(message=>/*#__PURE__*/_jsxs(\"article\",{style:{alignSelf:message.role===\"user\"?\"flex-end\":\"flex-start\",maxWidth:\"88%\",padding:\"12px 14px\",borderRadius:9,background:message.role===\"user\"?\"color-mix(in srgb, \"+SUMMIQ_ACCENT+\" 14%, transparent)\":\"color-mix(in srgb, var(--token-bf87054d-de74-400b-af1a-b38155f9f249, rgb(5, 8, 10)) 66%, transparent)\",border:\"1px solid \"+(message.role===\"user\"?\"color-mix(in srgb, \"+SUMMIQ_ACCENT+\" 32%, transparent)\":\"color-mix(in srgb, var(--token-1c8576e1-95ac-4ac7-9251-2a81b8830bd1, rgb(117, 230, 200)) 22%, transparent)\"),color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontSize:14,lineHeight:1.55,whiteSpace:\"pre-wrap\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"baseline\",gap:12,marginBottom:4},children:[/*#__PURE__*/_jsxs(\"span\",{style:{color:message.role===\"user\"?SUMMIQ_ACCENT:\"var(--token-1c8576e1-95ac-4ac7-9251-2a81b8830bd1, rgb(117, 230, 200))\",fontFamily:\"Teko, sans-serif\",fontSize:12,fontWeight:700,letterSpacing:\"0.1em\"},children:[message.role===\"user\"?\"YOU\":\"AI COACH\",message.pending?\" \\xb7 SENDING\":\"\"]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8,flex:\"0 0 auto\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 46%, transparent)\",fontFamily:\"Teko, sans-serif\",fontSize:11,fontWeight:600,letterSpacing:\"0.05em\",whiteSpace:\"nowrap\"},children:formatCoachMessageTime(message.createdAt)}),!message.pending&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",disabled:busy,onClick:()=>onDeleteMessage(message),\"aria-label\":\"Delete \"+(message.role===\"assistant\"?\"AI Coach response\":\"message\"),style:{border:0,background:\"transparent\",color:deletingMessageId===message.id?\"color-mix(in srgb, var(--token-8a9e63f3-d92b-4618-ab51-625b94d718ab, rgb(192, 132, 252)) 58%, transparent)\":\"var(--token-5184f82f-c524-4809-aa5c-78d92709508d, rgb(239, 111, 108))\",padding:0,fontFamily:\"Teko, sans-serif\",fontSize:11,fontWeight:700,letterSpacing:\"0.07em\",cursor:busy?\"wait\":\"pointer\"},children:deletingMessageId===message.id?\"DELETING...\":\"DELETE\"})]})]}),message.content]},message.id)),loading&&messages.length>0&&/*#__PURE__*/_jsxs(\"div\",{\"aria-live\":\"polite\",style:{alignSelf:\"flex-start\",padding:\"9px 11px\",color:\"var(--token-e93a9a4d-bced-4e33-aaf7-4d3c3e8a3f15, rgb(200, 250, 80))\",fontFamily:\"Teko, sans-serif\",fontSize:14,fontWeight:600,letterSpacing:\"0.08em\"},children:[pendingQuestion?\"AI COACH IS REVIEWING YOUR QUESTION...\":\"AI COACH IS REVIEWING THIS WORKOUT...\",\" \\xb7 \",elapsedSeconds,\"s\"]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gap:9},children:[error&&!loading&&/*#__PURE__*/_jsx(\"div\",{role:\"alert\",style:{padding:\"10px 12px\",borderRadius:7,background:\"color-mix(in srgb, var(--token-5184f82f-c524-4809-aa5c-78d92709508d, rgb(239, 111, 108)) 8%, transparent)\",border:\"1px solid color-mix(in srgb, var(--token-5184f82f-c524-4809-aa5c-78d92709508d, rgb(239, 111, 108)) 32%, transparent)\",color:\"var(--token-5184f82f-c524-4809-aa5c-78d92709508d, rgb(239, 111, 108))\",fontSize:13,lineHeight:1.4},children:error}),/*#__PURE__*/_jsxs(\"form\",{onSubmit:event=>{event.preventDefault();onSend();},style:{display:\"grid\",gridTemplateColumns:\"minmax(0,1fr) auto\",gap:9,alignItems:\"end\"},children:[/*#__PURE__*/_jsxs(\"label\",{style:{minWidth:0},children:[/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",width:1,height:1,overflow:\"hidden\",clip:\"rect(0,0,0,0)\"},children:\"Message your AI Coach\"}),/*#__PURE__*/_jsx(\"textarea\",{value:question,onChange:event=>onQuestionChange(event.target.value.slice(0,4e3)),disabled:busy||!hasFit,rows:2,placeholder:hasFit?\"Ask about pacing, effort, recovery, or your next session...\":\"Loading workout data...\",style:{width:\"100%\",minHeight:62,boxSizing:\"border-box\",resize:\"vertical\",border:\"1px solid color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 22%, transparent)\",borderRadius:7,background:\"var(--token-ff828a93-d602-4c59-8fcf-961a9e5af6a8, rgb(23, 43, 54))\",color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",padding:\"10px 11px\",outline:\"none\",fontFamily:\"Inter, sans-serif\",fontSize:13,lineHeight:1.42}})]}),/*#__PURE__*/_jsx(AiCoachAskButton,{model:modelSelection.model,canSelectModel:modelSelection.canSelectModel,onModelChange:modelSelection.setModel,disabled:busy||!hasFit||!question.trim(),busy:busy,busyLabel:clearing?\"CLEARING...\":\"THINKING...\",accent:SUMMIQ_ACCENT})]})]})]})]});}/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function WorkoutLibrary(props){const{height=760,mode=\"library\",appEmbedded=false}=props;if(mode===\"dashboard-zones\")return /*#__PURE__*/_jsx(DashboardIntensityDistribution,{height:height,appEmbedded:appEmbedded});const inputRef=React.useRef(null);const[selectedFile,setSelectedFile]=React.useState(null);const[selectedFiles,setSelectedFiles]=React.useState([]);const[dragging,setDragging]=React.useState(false);const[status,setStatus]=React.useState(\"\");const[busy,setBusy]=React.useState(false);const polarImportRunning=React.useRef(false);const[library,setLibrary]=React.useState([]);const[libraryLoading,setLibraryLoading]=React.useState(true);const[deletingId,setDeletingId]=React.useState(null);const[selectedWorkoutDetail,setSelectedWorkoutDetail]=React.useState(null);const[aiAnalysisTarget,setAiAnalysisTarget]=React.useState(null);React.useEffect(()=>{setAiAnalysisTarget(null);},[selectedWorkoutDetail?.id]);React.useEffect(()=>{const cancelAnalysis=()=>setAiAnalysisTarget(null);window.addEventListener(\"summiq-auth-changed\",cancelAnalysis);return()=>window.removeEventListener(\"summiq-auth-changed\",cancelAnalysis);},[]);useStrengthWorkoutPopup(selectedWorkoutDetail?.id);const[duplicateEditorOpen,setDuplicateEditorOpen]=React.useState(false);const duplicateControlsId=React.useId();const[recordingLinked,setRecordingLinked]=React.useState(null);const[recordingLinkError,setRecordingLinkError]=React.useState(false);React.useEffect(()=>{const id=selectedWorkoutDetail?.id;setRecordingLinked(null);setRecordingLinkError(false);setDuplicateEditorOpen(false);if(!id)return;let active=true;let request=null;async function checkLink(){request?.abort();request=new AbortController;const controller=request;const session=sessionFromToken();if(!session){setRecordingLinkError(true);return;}setRecordingLinked(null);setRecordingLinkError(false);try{const response=await fetch(SUPABASE_URL+\"/rest/v1/rpc/summiq_recording_is_linked\",{method:\"POST\",signal:controller.signal,headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+session.token,\"Content-Type\":\"application/json\"},body:JSON.stringify({p_workout_id:id})});if(!response.ok)throw new Error(\"Could not check recording links.\");const linked=await response.json();if(typeof linked!==\"boolean\")throw new Error(\"Invalid recording link status.\");if(active&&!controller.signal.aborted){setRecordingLinked(linked);if(linked)setDuplicateEditorOpen(false);}}catch{if(active&&!controller.signal.aborted)setRecordingLinkError(true);}}void checkLink();window.addEventListener(\"summiq:workout-saved\",checkLink);window.addEventListener(\"summiq:planned-workout-saved\",checkLink);window.addEventListener(\"summiq:data-refresh\",checkLink);return()=>{active=false;request?.abort();window.removeEventListener(\"summiq:workout-saved\",checkLink);window.removeEventListener(\"summiq:planned-workout-saved\",checkLink);window.removeEventListener(\"summiq:data-refresh\",checkLink);};},[selectedWorkoutDetail?.id]);React.useEffect(()=>{setDuplicateEditorOpen(false);},[selectedWorkoutDetail?.id]);React.useEffect(()=>{const workout=selectedWorkoutDetail;const session=sessionFromToken();if(!session||!workout?.has_route||workout.thumbnail_path||workout.thumbnail_status!==\"failed\")return;let active=true;const assertActive=()=>{if(!active)throw new Error(\"Workout closed\");};void(async()=>{try{const{repairMissingRouteThumbnail}=await import(\"https://framerusercontent.com/modules/p1ly2GZB98DfxJ9Io1t9/apRDyzVa3xl1vpXr28mo/repairMissingRouteThumbnail.js\");assertActive();const patch=await repairMissingRouteThumbnail(workout.id,session.userId,assertActive);if(!active||!patch)return;setSelectedWorkoutDetail(current=>current?.id===workout.id?{...current,...patch}:current);window.dispatchEvent(new Event(\"summiq:workout-saved\"));}catch{}})();return()=>{active=false;};},[selectedWorkoutDetail?.id,selectedWorkoutDetail?.thumbnail_path,selectedWorkoutDetail?.thumbnail_status]);const caloriePreference=useWorkoutCalorieMode();const selectedCalories=selectedWorkoutDetail&&caloriePreference.ready?workoutCalories(selectedWorkoutDetail,caloriePreference.mode):null;const[titleEditing,setTitleEditing]=React.useState(false);const[titleDraft,setTitleDraft]=React.useState(\"\");const[titleSaving,setTitleSaving]=React.useState(false);const[titleError,setTitleError]=React.useState(\"\");const workoutIF=workout=>storedWorkoutIF(workout);const selectedIF=selectedWorkoutDetail?workoutIF(selectedWorkoutDetail):null;const sportPickerRef=React.useRef(null);const sportPickerTitle=React.useId();const[sportDraft,setSportDraft]=React.useState(\"other\");const[sportSaving,setSportSaving]=React.useState(false);const[sportStatus,setSportStatus]=React.useState(\"\");const[sportEditing,setSportEditing]=React.useState(false);const[providerDraft,setProviderDraft]=React.useState(\"other\");const[providerSaving,setProviderSaving]=React.useState(false);const[providerStatus,setProviderStatus]=React.useState(\"\");const[providerEditing,setProviderEditing]=React.useState(false);const[detailTab,setDetailTab]=React.useState(\"overview\");const[detailFit,setDetailFit]=React.useState(null);const[detailFitStatus,setDetailFitStatus]=React.useState(\"\");const displayedDistance=React.useMemo(()=>{const stored=selectedWorkoutDetail?.distance_m;const fit=detailFit?.id===selectedWorkoutDetail?.id?detailFit:null;if(typeof stored===\"number\"&&Number.isFinite(stored)&&stored>=0)return{meters:stored,estimated:fit?.summary?.distanceEstimated===1};const recorded=fit?.summary?.distanceM;if(typeof recorded===\"number\"&&Number.isFinite(recorded)&&recorded>=0)return{meters:recorded,estimated:fit?.summary?.distanceEstimated===1};const route=fit?.streams?.route;const points=(route?.times||[]).map((time,i)=>({time,latitude:route.lat?.[i],longitude:route.lon?.[i]}));return{meters:estimateRouteDistance(points,fit?.dur||0),estimated:true};},[selectedWorkoutDetail?.id,selectedWorkoutDetail?.distance_m,detailFit]);const[detailZones,setDetailZones]=React.useState([]);const[detailZonesStatus,setDetailZonesStatus]=React.useState(\"\");const[analysisFocusTime,setAnalysisFocusTime]=React.useState(null);const dateFormat=useDateFormat(mode!==\"overlay\"||selectedWorkoutDetail!==null);const[aiCoachStatus,setAiCoachStatus]=React.useState(\"\");const[aiCoachAnalysis,setAiCoachAnalysis]=React.useState(\"\");const[aiCoachMessages,setAiCoachMessages]=React.useState([]);const[aiCoachQuestion,setAiCoachQuestion]=React.useState(\"\");const[aiCoachElapsedSeconds,setAiCoachElapsedSeconds]=React.useState(0);const[aiCoachPendingQuestion,setAiCoachPendingQuestion]=React.useState(\"\");const aiCoachModel=useAiCoachModel(Boolean(selectedWorkoutDetail)&&detailTab===\"ai-coach\",selectedWorkoutDetail?.id);const[aiCoachLoading,setAiCoachLoading]=React.useState(false);const[aiCoachClearing,setAiCoachClearing]=React.useState(false);const[aiCoachDeletingMessageId,setAiCoachDeletingMessageId]=React.useState(null);const overviewMetrics=React.useMemo(()=>{if(!selectedWorkoutDetail)return[];const durationText=selectedWorkoutDetail.duration_seconds?Math.floor(selectedWorkoutDetail.duration_seconds/3600)+\"h \"+Math.floor(selectedWorkoutDetail.duration_seconds%3600/60)+\"m\":undefined;const distanceKm=displayedDistance.meters!==undefined?Math.round(displayedDistance.meters/100)/10:undefined;return[{key:\"duration\",label:\"Duration\",value:durationText,ariaLabel:\"Workout duration \"+(durationText??\"No data\")},{key:\"distance\",label:\"Distance\",value:distanceKm,unit:\"km\",accent:\"var(--token-1fcaef35-ab4f-439b-9ce4-4e8ece2af3f4, rgb(94, 169, 255))\",ariaLabel:\"Workout distance \"+(distanceKm!==undefined?distanceKm+\" kilometers\":\"No data\")},{key:\"weightedPower\",label:\"Weighted Avg Power\",value:selectedWorkoutDetail.weighted_average_power_w!==undefined?Math.round(selectedWorkoutDetail.weighted_average_power_w):undefined,unit:\"watt\",accent:SUMMIQ_ACCENT,ariaLabel:\"Weighted average power \"+(selectedWorkoutDetail.weighted_average_power_w!==undefined?Math.round(selectedWorkoutDetail.weighted_average_power_w)+\" watts\":\"No data\")},{key:\"avgHr\",label:\"Avg Heart Rate\",value:selectedWorkoutDetail.average_heart_rate_bpm!==undefined?Math.round(selectedWorkoutDetail.average_heart_rate_bpm):undefined,unit:\"bpm\",accent:\"var(--token-5184f82f-c524-4809-aa5c-78d92709508d, rgb(239, 111, 108))\",ariaLabel:\"Average heart rate \"+(selectedWorkoutDetail.average_heart_rate_bpm!==undefined?Math.round(selectedWorkoutDetail.average_heart_rate_bpm)+\" beats per minute\":\"No data\")},{key:\"trainingLoad\",label:\"Training Load\",value:nonNegativeNumber(selectedWorkoutDetail.training_load)!==null?Math.round(selectedWorkoutDetail.training_load):undefined,accent:SUMMIQ_ACCENT,ariaLabel:\"Training load \"+(nonNegativeNumber(selectedWorkoutDetail.training_load)!==null?Math.round(selectedWorkoutDetail.training_load):\"No data\")},{key:\"unifiedTl\",label:\"Unified Training Load (uTL)\",value:nonNegativeNumber(selectedWorkoutDetail.utl)!==null?Math.round(selectedWorkoutDetail.utl):undefined,accent:\"var(--token-1c8576e1-95ac-4ac7-9251-2a81b8830bd1, rgb(117, 230, 200))\",ariaLabel:\"Unified training load \"+(nonNegativeNumber(selectedWorkoutDetail.utl)!==null?Math.round(selectedWorkoutDetail.utl):\"No data\")}];},[selectedWorkoutDetail,displayedDistance]);const openWorkoutDetail=React.useCallback(async workoutId=>{const session=sessionFromToken();if(!session){setStatus(\"Sign in to view this workout.\");return;}try{const response=await fetch(SUPABASE_URL+\"/rest/v1/workouts?select=id,title,sport,starts_at,calories_kcal,summiq_calories_kcal,calories_model_version,calorie_metadata,source_provider,original_filename,distance_m,duration_seconds,elevation_gain_m,elevation_loss_m,average_heart_rate_bpm,max_heart_rate_bpm,average_power_w,max_power_w,weighted_average_power_w,training_load,training_load_key,utl,calculation_model_version,average_cadence_rpm,max_cadence_rpm,average_speed_mps,max_speed_mps,has_route,thumbnail_status,fit_path,thumbnail_path,metrics,ai_coach_conversation,fit_bucket,recording_device_brand,recording_device_brand_origin,duplicate_of_workout_id&id=eq.\"+encodeURIComponent(workoutId)+\"&limit=1\",{headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+session.token}});if(!response.ok)throw new Error(\"Could not load this workout.\");const workout=(await response.json())[0];if(!workout)throw new Error(\"This workout is no longer available.\");setSelectedWorkoutDetail({...workout,thumbnailUrl:workout.thumbnail_path?await signedThumbnailUrl(workout.thumbnail_path,session.token):undefined});}catch(error){setStatus(error instanceof Error?error.message:\"Could not open this workout.\");}},[]);React.useEffect(()=>{if(mode!==\"overlay\"||typeof window===\"undefined\")return;const openFromCalendar=event=>{const workoutId=event.detail?.workoutId;if(workoutId)openWorkoutDetail(workoutId);};window.addEventListener(\"summiq:open-workout\",openFromCalendar);return()=>window.removeEventListener(\"summiq:open-workout\",openFromCalendar);},[mode,openWorkoutDetail]);React.useEffect(()=>{const workout=selectedWorkoutDetail;if(!workout?.fit_path||workout.calorie_metadata?.checked_version)return;let cancelled=false;void(async()=>{try{await caloriesRequest(\"/functions/v1/calculate-workout-metrics\",{workoutId:workout.id,caloriesOnly:true});const rows=await caloriesRequest(\"/rest/v1/workouts?select=calories_kcal,summiq_calories_kcal,calories_model_version,calorie_metadata&id=eq.\"+encodeURIComponent(workout.id)+\"&limit=1\");if(cancelled||!rows?.[0])return;setSelectedWorkoutDetail(current=>current?.id===workout.id?{...current,...rows[0]}:current);setLibrary(items=>items.map(item=>item.id===workout.id?{...item,...rows[0]}:item));window.dispatchEvent(new Event(\"summiq:health-updated\"));}catch{}})();return()=>{cancelled=true;};},[selectedWorkoutDetail?.id,selectedWorkoutDetail?.sport]);React.useEffect(()=>{setSportDraft(selectedWorkoutDetail?.sport??\"other\");setSportStatus(\"\");setSportEditing(false);},[selectedWorkoutDetail?.id]);React.useEffect(()=>{setTitleEditing(false);setTitleDraft(selectedWorkoutDetail?.title||\"\");setTitleSaving(false);setTitleError(\"\");},[selectedWorkoutDetail?.id]);const closeWorkoutDetail=React.useCallback(()=>{if(titleEditing&&titleDraft.trim()!==selectedWorkoutDetail?.title&&typeof window!==\"undefined\"&&!window.confirm(\"Discard your unsaved workout name?\"))return;setSelectedWorkoutDetail(null);},[selectedWorkoutDetail?.title,titleDraft,titleEditing]);React.useEffect(()=>{const sourceProvider=detailFit?.source?.provider;setProviderDraft(selectedWorkoutDetail?.source_provider?.toString()||sourceProvider||\"other\");setProviderStatus(\"\");setProviderEditing(false);},[selectedWorkoutDetail?.id,selectedWorkoutDetail?.source_provider,detailFit?.source?.provider]);const saveWorkoutSport=React.useCallback(async()=>{const workout=selectedWorkoutDetail;if(!workout||sportSaving||sportDraft===workout.sport)return;const session=sessionFromToken();if(!session){setSportStatus(\"Sign in to change this workout's sport.\");return;}const{checked_version,...priorCalorieMetadata}=workout.calorie_metadata||{};const calorieReset={summiq_calories_kcal:null,calories_model_version:null,calorie_metadata:{...priorCalorieMetadata,summiq:null}};setSportSaving(true);setSportStatus(\"\");try{const response=await fetch(SUPABASE_URL+\"/rest/v1/workouts?id=eq.\"+encodeURIComponent(workout.id)+\"&user_id=eq.\"+encodeURIComponent(session.userId)+\"&select=sport\",{method:\"PATCH\",headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+session.token,\"Content-Type\":\"application/json\",Prefer:\"return=representation\"},body:JSON.stringify({sport:sportDraft,...calorieReset})});if(!response.ok)throw new Error(await supabaseError(response,\"Could not save the sport.\"));const saved=(await response.json())[0];if(!saved?.sport)throw new Error(\"The workout was not updated. Please try again.\");setSelectedWorkoutDetail(current=>current?.id===workout.id?{...current,sport:saved.sport,...calorieReset}:current);setLibrary(items=>items.map(item=>item.id===workout.id?{...item,sport:saved.sport,...calorieReset}:item));setSportDraft(saved.sport);setSportStatus(\"Sport saved.\");sportPickerRef.current?.close();setSportEditing(false);if(typeof window!==\"undefined\")window.dispatchEvent(new CustomEvent(\"summiq:workout-saved\",{detail:{workoutId:workout.id}}));}catch(error){setSportStatus(error instanceof Error?error.message:\"Could not save the sport.\");}finally{setSportSaving(false);}},[selectedWorkoutDetail,sportDraft,sportSaving]);const saveWorkoutProvider=React.useCallback(async()=>{const workout=selectedWorkoutDetail;const currentProvider=workout?.source_provider?.toString()||detailFit?.source?.provider||\"other\";if(!workout||providerSaving||providerDraft===currentProvider)return;const session=sessionFromToken();if(!session){setProviderStatus(\"Sign in to change this workout's provider.\");return;}setProviderSaving(true);setProviderStatus(\"\");try{const response=await fetch(SUPABASE_URL+\"/rest/v1/workouts?id=eq.\"+encodeURIComponent(workout.id)+\"&user_id=eq.\"+encodeURIComponent(session.userId)+\"&select=source_provider\",{method:\"PATCH\",headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+session.token,\"Content-Type\":\"application/json\",Prefer:\"return=representation\"},body:JSON.stringify({source_provider:providerDraft})});if(!response.ok)throw new Error(await supabaseError(response,\"Could not save the provider.\"));const saved=(await response.json())[0];if(!saved?.source_provider)throw new Error(\"The provider was not updated. Please try again.\");setSelectedWorkoutDetail(current=>current?.id===workout.id?{...current,source_provider:saved.source_provider}:current);setLibrary(items=>items.map(item=>item.id===workout.id?{...item,source_provider:saved.source_provider}:item));setProviderDraft(saved.source_provider);setProviderStatus(\"Provider saved.\");setProviderEditing(false);if(typeof window!==\"undefined\")window.dispatchEvent(new CustomEvent(\"summiq:workout-saved\",{detail:{workoutId:workout.id}}));}catch(error){setProviderStatus(error instanceof Error?error.message:\"Could not save the provider.\");}finally{setProviderSaving(false);}},[selectedWorkoutDetail,detailFit?.source?.provider,providerDraft,providerSaving]);const saveWorkoutTitle=React.useCallback(async()=>{const workout=selectedWorkoutDetail;const title=titleDraft.trim();if(!workout||titleSaving)return;if(!title||title.length>120){setTitleError(\"Enter a workout name of 1 to 120 characters.\");return;}if(title===workout.title){setTitleEditing(false);setTitleError(\"\");return;}const session=sessionFromToken();if(!session){setTitleError(\"Sign in to rename this workout.\");return;}setTitleSaving(true);setTitleError(\"\");try{const response=await fetch(SUPABASE_URL+\"/rest/v1/workouts?id=eq.\"+encodeURIComponent(workout.id)+\"&user_id=eq.\"+encodeURIComponent(session.userId)+\"&select=id,title\",{method:\"PATCH\",headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+session.token,\"Content-Type\":\"application/json\",Prefer:\"return=representation\"},body:JSON.stringify({title})});if(!response.ok)throw new Error(await supabaseError(response,\"Could not save the workout name.\"));const saved=await response.json();if(saved.length!==1||!saved[0]?.title)throw new Error(\"The workout could not be found.\");const savedTitle=saved[0].title;setSelectedWorkoutDetail(current=>current?.id===workout.id?{...current,title:savedTitle}:current);setLibrary(items=>items.map(item=>item.id===workout.id?{...item,title:savedTitle}:item));setTitleDraft(savedTitle);setTitleEditing(false);if(typeof window!==\"undefined\")window.dispatchEvent(new CustomEvent(\"summiq:workout-saved\",{detail:{workoutId:workout.id}}));}catch(error){setTitleError(error instanceof Error?error.message:\"Could not save the workout name.\");}finally{setTitleSaving(false);}},[selectedWorkoutDetail,titleDraft,titleSaving]);React.useEffect(()=>{if(!selectedWorkoutDetail){setDetailFit(null);setDetailFitStatus(\"\");setAiCoachAnalysis(\"\");setAiCoachMessages([]);setAiCoachQuestion(\"\");setAiCoachPendingQuestion(\"\");setAiCoachElapsedSeconds(0);setAiCoachClearing(false);setAiCoachDeletingMessageId(null);return;}setDetailTab(\"overview\");setAnalysisFocusTime(null);setDetailFit(null);setAiCoachStatus(\"\");setAiCoachAnalysis(\"\");setAiCoachMessages(savedCoachConversation(selectedWorkoutDetail.ai_coach_conversation));setAiCoachQuestion(\"\");setAiCoachPendingQuestion(\"\");setAiCoachElapsedSeconds(0);setAiCoachClearing(false);setAiCoachDeletingMessageId(null);const session=sessionFromToken();if(!session||!selectedWorkoutDetail.fit_path){setDetailFitStatus(\"The FIT file is unavailable for this workout.\");return;}let cancelled=false;const controller=new AbortController;setDetailFitStatus(\"Loading recorded FIT data...\");readFitWithRetry(SUPABASE_URL+\"/storage/v1/object/authenticated/\"+encodeURIComponent(selectedWorkoutDetail.fit_bucket||\"workout-files\")+\"/\"+storagePath(selectedWorkoutDetail.fit_path),session.token,controller.signal,()=>{if(!cancelled)setDetailFitStatus(\"Activity storage is busy. Retrying…\");}).then(async response=>{if(!response.ok)throw new Error(\"Could not open the FIT file: \"+await supabaseError(response,\"Storage denied access (\"+response.status+\").\"));return parseFitActivity(await response.arrayBuffer(),{id:selectedWorkoutDetail.id,userId:session.userId,filename:selectedWorkoutDetail.original_filename,source:selectedWorkoutDetail.metrics?.import_source});}).then(fit=>{if(!cancelled){setDetailFit(fit);setDetailFitStatus(\"\");}}).catch(error=>{if(!cancelled)setDetailFitStatus(error instanceof Error?error.message:\"Could not load the FIT file.\");});return()=>{cancelled=true;controller.abort();};},[selectedWorkoutDetail?.id]);React.useEffect(()=>{if(!selectedWorkoutDetail){setDetailZones([]);setDetailZonesStatus(\"\");return;}const session=sessionFromToken();if(!session){setDetailZones([]);setDetailZonesStatus(\"Sign in to load your zone settings.\");return;}let cancelled=false;setDetailZones([]);setDetailZonesStatus(\"Loading your zone settings...\");let zoneGeneration=0;const refreshZones=()=>{const generation=++zoneGeneration;setDetailZonesStatus(\"Loading your zone settings...\");loadEffectiveAthleteZones(selectedWorkoutDetail.sport,session.token).then(zones=>{if(!cancelled&&generation===zoneGeneration){setDetailZones(zones);setDetailZonesStatus(\"\");}}).catch(error=>{if(!cancelled&&generation===zoneGeneration){setDetailZones([]);setDetailZonesStatus(error instanceof Error?error.message:\"Could not load your zone settings.\");}});};refreshZones();window.addEventListener(\"summiq:zones-saved\",refreshZones);return()=>{cancelled=true;window.removeEventListener(\"summiq:zones-saved\",refreshZones);};},[selectedWorkoutDetail?.id,selectedWorkoutDetail?.sport]);React.useEffect(()=>{const workout=selectedWorkoutDetail;if(!workout||detailFit?.id!==workout.id)return;let active=true;void repairZeroPowerThumbnail(workout,detailFit,()=>{if(!active)throw new Error(\"Workout closed\");}).then(patch=>{if(!active||!patch)return;setSelectedWorkoutDetail(current=>current?.id===workout.id?{...current,...patch}:current);window.dispatchEvent(new Event(\"summiq:workout-saved\"));}).catch(()=>{});return()=>{active=false;};},[selectedWorkoutDetail?.id,detailFit]);const hasAnalysisData=React.useMemo(()=>!!detailFit&&analysisSeries(detailFit,selectedWorkoutDetail?.sport).length>0,[detailFit,selectedWorkoutDetail?.sport]);React.useEffect(()=>{if(detailTab===\"analysis\"&&!hasAnalysisData)setDetailTab(\"overview\");},[detailTab,hasAnalysisData]);const detailZoneMetrics=React.useMemo(()=>selectedWorkoutDetail&&detailFit?workoutZoneMetrics(selectedWorkoutDetail.sport,detailFit,detailZones):[],[selectedWorkoutDetail,detailFit,detailZones]);const stimulusInput=React.useMemo(()=>({sport:selectedWorkoutDetail?.sport||\"\",starts_at:selectedWorkoutDetail?.starts_at,duration_seconds:selectedWorkoutDetail?.duration_seconds,distance_m:selectedWorkoutDetail?.distance_m,elevation_gain_m:selectedWorkoutDetail?.elevation_gain_m,fit:detailFit,zones:detailZones,ftp:selectedWorkoutDetail?storedWorkoutIntensity(selectedWorkoutDetail)?.ftp_w:null,ftpBasis:selectedWorkoutDetail&&workoutIfUsesCurrentFtp(selectedWorkoutDetail)?\"current FTP fallback\":\"saved workout FTP\"}),[selectedWorkoutDetail,detailFit,detailZones]);const[loadRecalculating,setLoadRecalculating]=React.useState(false);const[loadRecalculationStatus,setLoadRecalculationStatus]=React.useState(\"\");const loadRecalculationPending=React.useRef(false);const loadWorkoutId=React.useRef(selectedWorkoutDetail?.id);loadWorkoutId.current=selectedWorkoutDetail?.id;React.useEffect(()=>{setLoadRecalculationStatus(\"\");},[selectedWorkoutDetail?.id]);const recalculateTrainingLoad=React.useCallback(async()=>{const workout=selectedWorkoutDetail;if(!workout||loadRecalculationPending.current)return;const session=sessionFromToken();if(!session){setLoadRecalculationStatus(\"Sign in before recalculating training load.\");return;}if(!workout.fit_path){setLoadRecalculationStatus(\"The recorded FIT file is required to recalculate training load.\");return;}loadRecalculationPending.current=true;setLoadRecalculating(true);setLoadRecalculationStatus(\"Recalculating with your saved settings…\");const headers={apikey:SUPABASE_KEY,Authorization:\"Bearer \"+session.token,\"Content-Type\":\"application/json\"};try{const response=await fetch(SUPABASE_URL+\"/functions/v1/calculate-workout-metrics\",{method:\"POST\",headers,body:JSON.stringify({workoutId:workout.id})});const result=await response.json().catch(()=>null);if(!response.ok)throw new Error(result?.error||\"Training load could not be recalculated. Please retry.\");const refreshed=await fetch(SUPABASE_URL+\"/rest/v1/workouts?select=id,training_load,training_load_key,utl,calculation_model_version,weighted_average_power_w,metrics,zone_distributions&id=eq.\"+encodeURIComponent(workout.id)+\"&user_id=eq.\"+encodeURIComponent(session.userId)+\"&limit=1\",{headers,cache:\"no-store\"});if(!refreshed.ok)throw new Error(\"Calculation finished, but the updated workout could not be loaded. Reopen the workout.\");const saved=(await refreshed.json())?.[0];if(!saved||saved.id!==workout.id)throw new Error(\"The updated workout is unavailable. Reopen it to check the result.\");setSelectedWorkoutDetail(current=>current?.id===workout.id?{...current,...saved}:current);setLibrary(items=>items.map(item=>item.id===workout.id?{...item,...saved}:item));window.dispatchEvent(new CustomEvent(\"summiq:workout-saved\",{detail:{workoutId:workout.id}}));window.dispatchEvent(new CustomEvent(\"summiq:zone-results-updated\"));if(loadWorkoutId.current===workout.id)setLoadRecalculationStatus(nonNegativeNumber(saved.utl)!==null?\"Training load recalculated.\":saved.metrics?.summiq_hr_load?.reason||\"Recalculation finished, but uTL is unavailable for this workout’s data and configured sport rules.\");}catch(error){if(loadWorkoutId.current===workout.id)setLoadRecalculationStatus(error instanceof Error?error.message:\"Training load could not be recalculated.\");}finally{loadRecalculationPending.current=false;setLoadRecalculating(false);}},[selectedWorkoutDetail]);const recalculateZoneMetrics=React.useCallback(async()=>{const session=sessionFromToken();if(!session||!selectedWorkoutDetail)throw new Error(\"Sign in and open a workout before recalculating metrics.\");if(!detailFit||!detailZoneMetrics.length)throw new Error(\"Workout streams and matching athlete zones must finish loading first.\");const intensityDistributions=calculateIntensityDistributions(selectedWorkoutDetail.sport,detailFit,detailZones,Number(selectedWorkoutDetail.duration_seconds||0)||recordedFitSeconds(detailFit));const metrics=await saveWorkoutZoneDistributions(selectedWorkoutDetail.id,intensityDistributions,session.token);if(typeof window!==\"undefined\")window.dispatchEvent(new CustomEvent(\"summiq:zone-results-updated\"));setSelectedWorkoutDetail(current=>current?.id===selectedWorkoutDetail.id?{...current,metrics}:current);},[detailFit,detailZoneMetrics,detailZones,selectedWorkoutDetail]);React.useEffect(()=>{if(!aiCoachLoading)return;const startedAt=Date.now();setAiCoachElapsedSeconds(0);const timer=window.setInterval(()=>setAiCoachElapsedSeconds(Math.floor((Date.now()-startedAt)/1e3)),1e3);return()=>window.clearInterval(timer);},[aiCoachLoading]);const saveAiCoachNote=React.useCallback(async note=>{const session=sessionFromToken();if(!session||!selectedWorkoutDetail)throw new Error(\"Sign in and open a workout before saving a message.\");const metrics={...selectedWorkoutDetail.metrics||{},ai_coach_note:note};const response=await fetch(SUPABASE_URL+\"/rest/v1/workouts?id=eq.\"+encodeURIComponent(selectedWorkoutDetail.id),{method:\"PATCH\",headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+session.token,\"Content-Type\":\"application/json\",Prefer:\"return=minimal\"},body:JSON.stringify({metrics})});if(!response.ok)throw new Error(\"Could not save your message for AI Coach.\");setSelectedWorkoutDetail(current=>current?.id===selectedWorkoutDetail.id?{...current,metrics}:current);},[selectedWorkoutDetail]);const requestAiCoachAnalysis=React.useCallback(async question=>{const session=sessionFromToken();const workout=selectedWorkoutDetail;if(!session||!workout){setAiCoachStatus(\"Sign in and open a workout before requesting coaching.\");return;}const message=question?.trim()??\"\";if(question!==undefined&&!message)return;const sentAt=new Date().toISOString();const optimisticId=message?coachMessageId(\"pending\"):null;const optimisticMessage=message&&optimisticId?{id:optimisticId,role:\"user\",content:message,createdAt:sentAt,pending:true}:null;const conversationBeforeRequest=optimisticMessage?[...aiCoachMessages,optimisticMessage]:aiCoachMessages;if(optimisticMessage){setAiCoachMessages(conversationBeforeRequest);setAiCoachQuestion(\"\");}setAiCoachPendingQuestion(message);setAiCoachLoading(true);setAiCoachStatus(\"\");try{const response=await fetch(SUPABASE_URL+\"/functions/v1/request-ai-coach-analysis\",{method:\"POST\",headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+session.token,\"Content-Type\":\"application/json\"},body:JSON.stringify({workoutId:workout.id,model:aiCoachModel.modelForUser(session.userId),athleteNote:aiCoachNoteFromMetrics(workout.metrics)||undefined,...message?{message}:{}})});const payload=await response.json().catch(()=>null);if(!response.ok)throw new Error(aiCoachText(payload)??payload?.error??\"The AI Coach workflow could not analyse this workout.\");const analysis=aiCoachText(payload);if(!analysis)throw new Error(\"The AI Coach workflow returned no analysis text.\");const receivedAt=new Date().toISOString();const returnedConversation=savedCoachConversation(payload?.conversation,conversationBeforeRequest);const existingAssistantContent=new Set(aiCoachMessages.filter(item=>item.role===\"assistant\").map(item=>item.content));const nextMessages=(returnedConversation.length?returnedConversation:[...conversationBeforeRequest.map(item=>({...item,pending:false})),{id:coachMessageId(\"assistant\"),role:\"assistant\",content:analysis,createdAt:receivedAt}]).map(item=>({...item,pending:false,createdAt:item.createdAt||(item.id===optimisticId?sentAt:item.role===\"assistant\"&&!existingAssistantContent.has(item.content)?receivedAt:undefined)}));setAiCoachAnalysis(analysis);setAiCoachMessages(nextMessages);setSelectedWorkoutDetail(current=>current?.id===workout.id?{...current,ai_coach_conversation:nextMessages}:current);try{await saveWorkoutCoachConversation(workout.id,nextMessages,session.token);}catch(saveError){setAiCoachStatus(\"The reply is shown, but its timestamped conversation could not be saved: \"+readableError(saveError,\"Please try again.\"));}}catch(error){if(optimisticId)setAiCoachMessages(current=>current.filter(item=>item.id!==optimisticId));setAiCoachStatus(readableError(error,\"Could not request an AI Coach response.\"));}finally{setAiCoachLoading(false);setAiCoachPendingQuestion(\"\");}},[aiCoachMessages,selectedWorkoutDetail]);const clearWorkoutCoachHistory=React.useCallback(async()=>{const session=sessionFromToken();const workout=selectedWorkoutDetail;if(!session||!workout){setAiCoachStatus(\"Sign in and open a workout before changing this conversation.\");return;}if(!aiCoachMessages.length)return;if(typeof window!==\"undefined\"&&!window.confirm(\"Delete the saved AI Coach conversation for “\"+workout.title+\"”? The next message will start a fresh review.\"))return;const previousMessages=aiCoachMessages;setAiCoachStatus(\"\");setAiCoachAnalysis(\"\");setAiCoachMessages([]);setAiCoachQuestion(\"\");setAiCoachClearing(true);try{await saveWorkoutCoachConversation(workout.id,[],session.token);setSelectedWorkoutDetail(current=>current?.id===workout.id?{...current,ai_coach_conversation:[]}:current);}catch(error){setAiCoachMessages(previousMessages);setAiCoachStatus(readableError(error,\"Could not delete the saved AI Coach conversation.\"));}finally{setAiCoachClearing(false);}},[aiCoachMessages,selectedWorkoutDetail]);const deleteWorkoutCoachMessage=React.useCallback(async message=>{const session=sessionFromToken();const workout=selectedWorkoutDetail;if(!session||!workout||message.pending)return;const messageLabel=message.role===\"assistant\"?\"AI Coach response\":\"message\";if(typeof window!==\"undefined\"&&!window.confirm(\"Delete this \"+messageLabel+\"?\"))return;const previousMessages=aiCoachMessages;const nextMessages=previousMessages.filter(item=>item.id!==message.id);setAiCoachStatus(\"\");setAiCoachMessages(nextMessages);setAiCoachDeletingMessageId(message.id);try{await saveWorkoutCoachConversation(workout.id,nextMessages,session.token);setSelectedWorkoutDetail(current=>current?.id===workout.id?{...current,ai_coach_conversation:nextMessages}:current);}catch(error){setAiCoachMessages(previousMessages);setAiCoachStatus(readableError(error,\"Could not delete the selected AI Coach message.\"));}finally{setAiCoachDeletingMessageId(null);}},[aiCoachMessages,selectedWorkoutDetail]);const loadLibrary=React.useCallback(async()=>{// Overlay details load by ID; never fetch the unused library, even after imports.\nif(mode!==\"library\")return;const session=sessionFromToken();if(!session){setLibraryLoading(false);return;}try{const response=await fetch(SUPABASE_URL+\"/rest/v1/workouts?select=id,title,sport,starts_at,calories_kcal,summiq_calories_kcal,calories_model_version,calorie_metadata,source_provider,original_filename,distance_m,duration_seconds,elevation_gain_m,elevation_loss_m,average_heart_rate_bpm,max_heart_rate_bpm,average_power_w,max_power_w,weighted_average_power_w,training_load,training_load_key,utl,calculation_model_version,average_cadence_rpm,max_cadence_rpm,average_speed_mps,max_speed_mps,has_route,thumbnail_status,fit_path,thumbnail_path,metrics,ai_coach_conversation,fit_bucket,recording_device_brand,recording_device_brand_origin,duplicate_of_workout_id&fit_path=not.is.null&order=starts_at.desc&limit=30\",{headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+session.token}});if(!response.ok)throw new Error(\"Could not load stored FIT activities.\");const workouts=await response.json();setLibrary(await mapStorageThumbnails(workouts,async workout=>({...workout,thumbnailUrl:workout.thumbnail_path?await signedThumbnailUrl(workout.thumbnail_path,session.token):undefined})));}catch(error){setStatus(error instanceof Error?error.message:\"Could not load stored FIT activities.\");}finally{setLibraryLoading(false);}},[mode]);React.useEffect(()=>{if(mode!==\"library\")return;loadLibrary();if(typeof window===\"undefined\")return;return subscribeSummiQRefresh([\"summiq:data-refresh\",\"summiq-auth-changed\"],event=>{if(event?.type===\"summiq-auth-changed\")setLibraryLoading(true);void loadLibrary();});},[loadLibrary,mode]);const acceptFiles=React.useCallback(files=>{const accepted=Array.from(files).filter(file=>[\"fit\"].includes(file.name.split(\".\").pop()?.toLowerCase()??\"\"));if(!accepted.length){setStatus(\"Choose one or more FIT activity files.\");return;}setSelectedFiles(accepted);setSelectedFile(accepted[0]);const readyCount=accepted.filter(file=>/\\.fit$/i.test(file.name)).length;setStatus(readyCount?readyCount+\" \"+(readyCount===1?\"activity is\":\"activities are\")+\" ready to import.\":\"FIT imports are supported.\");},[]);const convertAndStoreFile=React.useCallback(async(file,importContext)=>{if(file.name.split(\".\").pop()?.toLowerCase()!==\"fit\")throw new Error(\"Only FIT activity files are supported.\");const session=sessionFromToken();if(!session){setStatus(\"Sign in to SummiQ before storing a workout.\");return;}let savedWorkoutId=null;try{setStatus(\"Reading FIT activity...\");if(file.size>50*1024*1024)throw new Error(\"This FIT file exceeds the 50 MB upload limit.\");const originalBytes=await file.arrayBuffer();const provisional=applyPolarSportDetail(await parseFitActivity(originalBytes,{filename:file.name,userId:session.userId,id:\"pending\"}),importContext?.source);const thumbnailKind=thumbnailKindForFit(provisional);const importSource=importContext?.source&&typeof importContext.source===\"object\"&&!Array.isArray(importContext.source)?importContext.source:null;const importAiSummary={version:\"v1\",workout_kind:\"completed\",sport:provisional.sport,started_at:provisional.start,duration_seconds:Math.round(provisional.dur/1e3),distance_m:provisional.summary.distanceM,elevation_gain_m:provisional.summary.elevationGainM,average_heart_rate_bpm:provisional.summary.avgHr,max_heart_rate_bpm:provisional.summary.maxHr,average_power_w:provisional.summary.avgPower,max_power_w:provisional.summary.maxPower,average_cadence_rpm:provisional.summary.avgCadence,average_speed_mps:provisional.summary.avgSpeedMps,has_route:provisional.flags.hasGps,source:importSource?.provider===\"polar\"?\"polar_import\":\"fit_import\",generated_at:new Date().toISOString()};const existingImportResponse=await fetch(SUPABASE_URL+\"/rest/v1/workouts?select=id&user_id=eq.\"+encodeURIComponent(session.userId)+\"&original_filename=eq.\"+encodeURIComponent(file.name)+\"&starts_at=eq.\"+encodeURIComponent(provisional.start)+\"&limit=1\",{headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+session.token}});if(!existingImportResponse.ok)throw new Error(\"Could not check for an earlier import of this activity.\");const existingWorkout=(await existingImportResponse.json())[0];const workoutEndpoint=existingWorkout?SUPABASE_URL+\"/rest/v1/workouts?id=eq.\"+encodeURIComponent(existingWorkout.id):SUPABASE_URL+\"/rest/v1/workouts\";const insertResponse=await fetch(workoutEndpoint,{method:existingWorkout?\"PATCH\":\"POST\",headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+session.token,\"Content-Type\":\"application/json\",Prefer:\"return=representation\"},body:JSON.stringify({...importedRecordingBrand({...provisional.source,...importSource||{}},existingWorkout),user_id:session.userId,workout_kind:\"completed\",status:\"completed\",processing_status:\"uploading\",sport:provisional.sport,title:importContext?.title?.trim()||provisional.title,starts_at:provisional.start,ends_at:provisional.end,time_zone:Intl.DateTimeFormat().resolvedOptions().timeZone||\"UTC\",duration_seconds:Math.round(provisional.dur/1e3),calories_kcal:provisional.sessions?.length&&provisional.sessions.every(row=>typeof row.totalCalories===\"number\"&&Number.isFinite(row.totalCalories)&&row.totalCalories>=0)?provisional.sessions.reduce((sum,row)=>sum+row.totalCalories,0):null,distance_m:provisional.summary.distanceM,elevation_gain_m:provisional.summary.elevationGainM,elevation_loss_m:provisional.summary.elevationLossM,average_heart_rate_bpm:provisional.summary.avgHr,max_heart_rate_bpm:provisional.summary.maxHr,average_power_w:provisional.summary.avgPower,max_power_w:provisional.summary.maxPower,average_cadence_rpm:provisional.summary.avgCadence,max_cadence_rpm:provisional.summary.maxCadence,average_speed_mps:provisional.summary.avgSpeedMps,max_speed_mps:provisional.summary.maxSpeedMps,has_route:provisional.flags.hasGps,route_summary:{pointCount:provisional.flags.hasGps?provisional.streams.route?.times?.length??0:0},original_filename:file.name,original_file_type:\"fit\",thumbnail_status:thumbnailKind?\"pending\":\"not_required\",metrics:{ai_summary:importAiSummary,zone_distributions:{},...importSource?{import_source:importSource}:{}}})});if(!insertResponse.ok){const responseBody=await insertResponse.json().catch(()=>null);const detail=responseBody?.message||responseBody?.details||responseBody?.hint||\"Supabase rejected the insert.\";throw new Error(\"Could not store the workout record: \"+detail);}const workout=(await insertResponse.json())[0];savedWorkoutId=workout.id;const fit={...provisional,id:workout.id};if(importSource?.provider===\"polar\"){Object.assign(fit.source,{...importSource,platform:\"framer\",provider:\"polar\",recordingApp:\"Polar Flow\"});}const blob=new Blob([originalBytes],{type:\"application/octet-stream\"});const objectPath=session.userId+\"/\"+workout.id+\"/activity.fit\";setStatus(\"Uploading original FIT file...\");const uploadResponse=await fetch(SUPABASE_URL+\"/storage/v1/object/workout-files/\"+storagePath(objectPath),{method:\"POST\",headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+session.token,\"Content-Type\":\"application/octet-stream\",\"x-upsert\":\"true\"},body:blob});if(!uploadResponse.ok)throw new Error(\"The FIT file could not be uploaded. Check the workout-files bucket policy.\");let thumbnailPatch={thumbnail_status:thumbnailKind?\"pending\":\"not_required\"};if(thumbnailKind){try{setStatus(\"Rendering \"+(thumbnailKind===\"heart_rate\"?\"heart-rate\":thumbnailKind)+\" thumbnail...\");const thumbnail=thumbnailKind===\"route\"?await renderRouteThumbnail(fit,MAP_ROUTE_COLOR):await renderMetricThumbnail(fit,thumbnailKind);if(thumbnail){const thumbnailPath=session.userId+\"/\"+workout.id+\"/thumbnail.webp\";const thumbnailResponse=await fetch(SUPABASE_URL+\"/storage/v1/object/workout-files/\"+storagePath(thumbnailPath),{method:\"POST\",headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+session.token,\"Content-Type\":\"image/webp\",\"x-upsert\":\"true\"},body:thumbnail});thumbnailPatch=thumbnailResponse.ok?{thumbnail_bucket:\"workout-files\",thumbnail_path:thumbnailPath,thumbnail_status:\"ready\",thumbnail_generated_at:new Date().toISOString()}:{thumbnail_status:\"failed\"};}else thumbnailPatch={thumbnail_status:\"failed\"};}catch(thumbnailError){console.error(\"SummiQ thumbnail render failed\",thumbnailError);thumbnailPatch={thumbnail_status:\"failed\"};}}const finalizationPatch={fit_bucket:\"workout-files\",fit_path:objectPath,fit_byte_size:blob.size,fit_checksum_sha256:await sha256(blob),processing_status:provisional.sport===\"strength\"||!Object.keys(provisional.streams).length?\"ready\":\"processing\",...thumbnailPatch};if(provisional.sport===\"strength\"){setStatus(\"Applying the configured strength TSE lookup...\");const strengthModel=await loadStrengthDurationModel(session.token);const durationMinutes=Math.max(0,provisional.dur/6e4);const strengthLoad=estimateStrengthLoad(strengthModel,durationMinutes);const existingMetrics=workout.metrics&&typeof workout.metrics===\"object\"&&!Array.isArray(workout.metrics)?workout.metrics:{};const existingAiSummary=existingMetrics.ai_summary&&typeof existingMetrics.ai_summary===\"object\"&&!Array.isArray(existingMetrics.ai_summary)?existingMetrics.ai_summary:importAiSummary;const roundedDurationMinutes=Math.round(durationMinutes*10)/10;const strengthTse={training_load:strengthLoad.trainingLoad,utl:strengthLoad.utl,lookup_key:strengthLoad.lookupKey,lookup_label:strengthLoad.lookupLabel,duration_minutes:roundedDurationMinutes,training_load_key:strengthLoad.trainingLoadKey,calculation_model_version:strengthLoad.calculationModelVersion};finalizationPatch.training_load=strengthLoad.trainingLoad;finalizationPatch.training_load_key=strengthLoad.trainingLoadKey;finalizationPatch.utl=strengthLoad.utl;finalizationPatch.calculation_model_version=strengthLoad.calculationModelVersion;finalizationPatch.metrics={...existingMetrics,ai_summary:{...existingAiSummary,training_load:strengthLoad.trainingLoad,unified_training_load:strengthLoad.utl,training_load_key:strengthLoad.trainingLoadKey,calculation_model_version:strengthLoad.calculationModelVersion,strength_lookup_key:strengthLoad.lookupKey,strength_lookup_label:strengthLoad.lookupLabel,strength_duration_minutes:roundedDurationMinutes,generated_at:new Date().toISOString()},strength_tse:strengthTse};}const updateResponse=await fetch(SUPABASE_URL+\"/rest/v1/workouts?id=eq.\"+workout.id,{method:\"PATCH\",headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+session.token,\"Content-Type\":\"application/json\"},body:JSON.stringify(finalizationPatch)});if(!updateResponse.ok)throw new Error(\"FIT uploaded, but its workout record could not be finalised.\");let automaticLinkWarning=\"\";if(!existingWorkout){try{await automaticallyLinkCompletedWorkout({id:workout.id,sport:provisional.sport,starts_at:provisional.start,duration_seconds:Math.round(provisional.dur/1e3)},session.token,session.userId);}catch(error){console.error(\"SummiQ automatic completion linking failed\",error);automaticLinkWarning=\" Automatic linking failed; you can link this activity in the calendar.\";}}// Strength already has its authoritative duration-based TSE result above.\nif(provisional.sport!==\"strength\"&&Object.keys(provisional.streams).length){setStatus(\"Calculating workout metrics...\");const calculationResponse=await fetch(SUPABASE_URL+\"/functions/v1/calculate-workout-metrics\",{method:\"POST\",headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+session.token,\"Content-Type\":\"application/json\"},body:JSON.stringify({workoutId:workout.id})});const calculation=await calculationResponse.json().catch(()=>null);if(!calculationResponse.ok)throw new Error(calculation?.error||\"Workout calculation failed.\");}setStatus(\"Imported \"+file.name+\" as a FIT activity.\"+automaticLinkWarning);}catch(error){console.error(\"SummiQ workout import failed\",error);setStatus(readableError(error,\"Workout import failed.\"));throw error;}finally{// A saved workout is visible even if its calculation or thumbnail failed.\nif(savedWorkoutId){if(importContext?.source?.provider===\"polar\")requestSummiQSyncRefresh(true);else window.dispatchEvent(new CustomEvent(\"summiq:workout-saved\",{detail:{workoutId:savedWorkoutId}}));}}},[]);const importPendingPolarQueue=React.useCallback(async()=>{if(polarImportRunning.current||typeof window===\"undefined\")return;const storedQueue=window.sessionStorage.getItem(POLAR_PENDING_IMPORTS_STORAGE_KEY);if(!storedQueue)return;polarImportRunning.current=true;window.sessionStorage.removeItem(POLAR_PENDING_IMPORTS_STORAGE_KEY);let queue={};let queuedActivities=[];try{queue=JSON.parse(storedQueue);queuedActivities=Array.isArray(queue.activities)?queue.activities.filter(activity=>Boolean(activity)&&typeof activity.id===\"string\"&&activity.id.trim().length>0):[];}catch{setStatus(\"The selected Polar activities could not be read. Please choose them again.\");polarImportRunning.current=false;return;}const startedAt=typeof queue.createdAt===\"string\"&&queue.createdAt?queue.createdAt:new Date().toISOString();const previouslyProcessed=queue.mode===\"full-sync\"?Math.max(0,Number(queue.alreadyImported)||0)+Math.max(0,Number(queue.ignored)||0):0;let progress={id:typeof queue.syncId===\"string\"&&queue.syncId?queue.syncId:\"polar-\"+Date.now().toString(36),state:\"syncing\",provider:\"Polar Flow\",total:queuedActivities.length+previouslyProcessed,completed:previouslyProcessed,imported:0,skipped:Math.max(0,Number(queue.alreadyImported)||0),ignored:Math.max(0,Number(queue.ignored)||0),failed:0,currentLabel:queuedActivities[0]?.title?.trim()||\"Polar activity\",message:queuedActivities.length?\"Preparing Polar Flow import...\":\"No new Polar activities were selected for import.\",startedAt};const updateProgress=patch=>{progress={...progress,...patch};const prior=queue.mode===\"full-sync\"?queue.priorResults:undefined;writeSyncProgress(prior?{...progress,provider:\"Connected services\",total:progress.total+(prior.total??prior.completed),completed:progress.completed+prior.completed,imported:progress.imported+prior.imported,skipped:progress.skipped+prior.skipped,ignored:(progress.ignored||0)+prior.ignored,failed:progress.failed+prior.failed,state:progress.state===\"completed\"&&prior.failed?\"completed_with_errors\":progress.state,message:[prior.message,progress.message].filter(Boolean).join(\" \")}:progress);};if(!queuedActivities.length){updateProgress({state:\"completed\",message:\"No new Polar activities were selected for import.\",finishedAt:new Date().toISOString()});setStatus(\"No new Polar activities were selected for import.\");polarImportRunning.current=false;return;}const session=sessionFromToken();if(!session){const message=\"Sign in to import the selected Polar activities.\";updateProgress({state:\"failed\",message,finishedAt:new Date().toISOString()});setStatus(message);polarImportRunning.current=false;return;}const refreshBatchId=progress.id+\":polar\";beginSummiQSyncRefresh(refreshBatchId);setBusy(true);const failures=[];let completed=previouslyProcessed;let imported=0;try{updateProgress({state:\"syncing\",message:\"Downloading and processing Polar activities...\"});for(let index=0;index<queuedActivities.length;index+=1){const activity=queuedActivities[index];const displayName=activity.title?.trim()||\"Polar activity\";setStatus(\"Downloading Polar activity \"+(index+1)+\" of \"+queuedActivities.length+\"...\");updateProgress({state:\"syncing\",currentLabel:\"Downloading \"+displayName,message:\"Downloading activity \"+(index+1)+\" of \"+queuedActivities.length+\".\"});try{const file=await downloadPolarFit(session.token,activity);updateProgress({currentLabel:\"Processing \"+displayName,message:\"Converting and calculating activity \"+(index+1)+\" of \"+queuedActivities.length+\".\"});await convertAndStoreFile(file,{title:activity.title?.trim()||undefined,source:{provider:\"polar\",source:\"polar_accesslink\",exercise_id:activity.id,activity_start:activity.startTime??null,sport:activity.sport??null,detailed_sport:activity.detailedSport??null,imported_at:new Date().toISOString()}});imported+=1;completed+=1;updateProgress({completed,imported,currentLabel:displayName,message:\"Imported \"+imported+\" of \"+queuedActivities.length+\" new Polar activities.\"});}catch(error){console.error(\"SummiQ Polar import failed\",error);const reason=readableError(error,\"Unknown import error.\").replace(/\\s+/g,\" \").trim().slice(0,240)||\"Unknown import error.\";failures.push({name:displayName,reason});completed+=1;updateProgress({completed,failed:failures.length,currentLabel:displayName,message:\"Could not import \"+displayName+\": \"+reason});}}const message=failures.length?imported+\" of \"+queuedActivities.length+\" Polar activities imported. Could not import: \"+failures.map(failure=>failure.name+\" (\"+failure.reason+\")\").join(\", \"):\"Imported \"+imported+\" \"+(imported===1?\"Polar activity.\":\"Polar activities.\");updateProgress({state:failures.length?\"completed_with_errors\":\"completed\",completed,imported,failed:failures.length,currentLabel:undefined,message,finishedAt:new Date().toISOString()});setStatus(message);}catch(error){const message=readableError(error,\"Polar import could not be completed.\");updateProgress({state:\"failed\",completed,imported,failed:Math.max(1,failures.length),currentLabel:undefined,message,finishedAt:new Date().toISOString()});setStatus(message);}finally{requestSummiQSyncRefresh(true);endSummiQSyncRefresh(refreshBatchId);setBusy(false);polarImportRunning.current=false;}},[convertAndStoreFile]);React.useEffect(()=>{if(typeof window===\"undefined\")return;void importPendingPolarQueue();const onQueue=()=>{void importPendingPolarQueue();};window.addEventListener(POLAR_QUEUE_EVENT,onQueue);return()=>window.removeEventListener(POLAR_QUEUE_EVENT,onQueue);},[importPendingPolarQueue]);const convertAndStore=React.useCallback(async()=>{const importFiles=selectedFiles.filter(file=>/\\.fit$/i.test(file.name));if(!importFiles.length||busy){if(!importFiles.length)setStatus(\"Select at least one FIT activity to import.\");return;}setBusy(true);let completed=0;const failures=[];try{for(let index=0;index<importFiles.length;index+=1){const file=importFiles[index];setSelectedFile(file);setStatus(\"Processing \"+(index+1)+\" of \"+importFiles.length+\": \"+file.name);try{await convertAndStoreFile(file);completed+=1;}catch{failures.push(file.name);}}setSelectedFiles([]);setSelectedFile(null);setStatus(failures.length?completed+\" of \"+importFiles.length+\" activities imported. Could not import: \"+failures.join(\", \"):\"Imported \"+completed+\" \"+(completed===1?\"activity.\":\"activities.\"));await loadLibrary();}finally{setBusy(false);}},[busy,convertAndStoreFile,loadLibrary,selectedFiles]);const deleteWorkout=React.useCallback(async workout=>{const session=sessionFromToken();if(!session){setStatus(\"Sign in to delete a workout.\");return;}if(typeof window!==\"undefined\"&&!window.confirm(\"Delete \"+workout.title+\" and its stored files? This cannot be undone.\"))return;setDeletingId(workout.id);try{setStatus(\"Deleting workout files...\");const paths=[workout.fit_path,workout.thumbnail_path].filter(path=>Boolean(path));for(const path of paths){const response=await fetch(SUPABASE_URL+\"/storage/v1/object/workout-files/\"+storagePath(path),{method:\"DELETE\",headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+session.token}});if(!response.ok&&response.status!==404){const responseBody=await response.json().catch(()=>null);const detail=responseBody?.message||responseBody?.error||responseBody?.details||response.statusText||\"Supabase Storage rejected the deletion.\";if(!/object not found/i.test(detail))throw new Error(\"Could not delete the stored workout file: \"+detail);}}const response=await fetch(SUPABASE_URL+\"/rest/v1/workouts?id=eq.\"+encodeURIComponent(workout.id),{method:\"DELETE\",headers:{apikey:SUPABASE_KEY,Authorization:\"Bearer \"+session.token}});if(!response.ok)throw new Error(\"Could not delete the workout record.\");setLibrary(items=>items.filter(item=>item.id!==workout.id));setSelectedWorkoutDetail(current=>current?.id===workout.id?null:current);if(typeof window!==\"undefined\")window.dispatchEvent(new CustomEvent(\"summiq:workout-deleted\",{detail:{workoutId:workout.id}}));setStatus(\"Deleted \"+workout.title+\".\");}catch(error){setStatus(error instanceof Error?error.message:\"Could not delete the workout.\");}finally{setDeletingId(null);}},[]);return /*#__PURE__*/_jsxs(_Fragment,{children:[mode!==\"overlay\"&&/*#__PURE__*/_jsxs(\"section\",{style:{width:\"100%\",height,minHeight:620,boxSizing:\"border-box\",color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontFamily:\"Teko, sans-serif\",overflow:\"auto\",background:CARD,border:\"1px solid var(--token-53181cfb-6f3c-40d8-9548-414e28a77c07, rgb(64, 89, 101))\",borderRadius:12,padding:24},children:[/*#__PURE__*/_jsx(\"input\",{ref:inputRef,type:\"file\",accept:\".fit\",multiple:true,style:{display:\"none\"},onChange:event=>acceptFiles(event.target.files||[])}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"flex-start\",gap:20,marginBottom:22},children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{style:{color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontSize:15,letterSpacing:\"0.1em\",fontWeight:600},children:\"WORKOUT FILES\"}),/*#__PURE__*/_jsx(\"h1\",{style:{margin:\"5px 0 0\",fontSize:42,lineHeight:.95,letterSpacing:\"-0.03em\",fontWeight:600},children:\"Import & activity library\"})]}),/*#__PURE__*/_jsx(\"div\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 54%, transparent)\",fontSize:14,maxWidth:260,textAlign:\"right\"},children:\"FIT importing, plus route, power, or heart-rate thumbnails are ready.\"})]}),/*#__PURE__*/_jsxs(\"div\",{onClick:()=>inputRef.current?.click(),onDragOver:event=>{event.preventDefault();setDragging(true);},onDragLeave:()=>setDragging(false),onDrop:event=>{event.preventDefault();setDragging(false);acceptFiles(event.dataTransfer.files);},role:\"button\",tabIndex:0,onKeyDown:event=>{if(event.key===\"Enter\"||event.key===\" \")inputRef.current?.click();},style:{cursor:\"pointer\",border:\"1px dashed \"+(dragging?SUMMIQ_ACCENT:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 30%, transparent)\"),borderRadius:10,background:dragging?summiqAccentAlpha(.1):\"var(--token-4b48ff5d-c0fc-4a31-a84f-07072c7c967b, rgb(41, 65, 79))\",padding:\"20px 22px\",display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",gap:16},children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{style:{color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontSize:22,lineHeight:1},children:\"Drop a workout file here\"}),/*#__PURE__*/_jsx(\"div\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 60%, transparent)\",fontSize:14,marginTop:3},children:\"Import FIT activity files.\"})]}),/*#__PURE__*/_jsx(\"div\",{style:{border:\"1px solid \"+summiqAccentAlpha(.7),color:\"var(--token-17ee7dcd-4377-4fab-a2b0-9a75f438ffa6, rgb(255, 191, 97))\",background:summiqAccentAlpha(.1),borderRadius:6,fontSize:15,fontWeight:600,letterSpacing:\"0.08em\",padding:\"8px 13px\",whiteSpace:\"nowrap\"},children:\"CHOOSE FILE\"})]}),selectedFiles.length>0&&/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:12,padding:\"10px 12px\",borderLeft:\"3px solid var(--token-1c8576e1-95ac-4ac7-9251-2a81b8830bd1, rgb(117, 230, 200))\",background:\"color-mix(in srgb, var(--token-1c8576e1-95ac-4ac7-9251-2a81b8830bd1, rgb(117, 230, 200)) 8%, transparent)\",borderRadius:5,display:\"flex\",justifyContent:\"space-between\",gap:16,alignItems:\"center\"},children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsxs(\"span\",{style:{color:\"var(--token-1c8576e1-95ac-4ac7-9251-2a81b8830bd1, rgb(117, 230, 200))\",fontSize:12,letterSpacing:\"0.1em\"},children:[selectedFiles.length,\" SELECTED\"]}),/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:18,lineHeight:1,marginTop:3},children:[selectedFiles[0].name,selectedFiles.length>1?\" + \"+(selectedFiles.length-1)+\" more\":\"\"]})]}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",disabled:busy||!selectedFiles.some(file=>/\\.fit$/i.test(file.name)),onClick:event=>{event.stopPropagation();void convertAndStore();},style:{border:\"1px solid color-mix(in srgb, var(--token-1c8576e1-95ac-4ac7-9251-2a81b8830bd1, rgb(117, 230, 200)) 68%, transparent)\",borderRadius:6,background:\"color-mix(in srgb, var(--token-1c8576e1-95ac-4ac7-9251-2a81b8830bd1, rgb(117, 230, 200)) 12%, transparent)\",color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontFamily:\"Teko, sans-serif\",fontSize:15,fontWeight:600,letterSpacing:\"0.08em\",padding:\"8px 12px\",cursor:busy?\"wait\":\"pointer\",opacity:busy?.6:1},children:busy?\"PROCESSING...\":\"IMPORT WORKOUTS\"})]}),status&&/*#__PURE__*/_jsx(\"div\",{\"aria-live\":\"polite\",style:{color:status.includes(\"failed\")||status.includes(\"could not\")||status.includes(\"Apply\")?\"var(--token-8a9e63f3-d92b-4618-ab51-625b94d718ab, rgb(192, 132, 252))\":\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 70%, transparent)\",fontSize:14,marginTop:10},children:status}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"baseline\",marginTop:30,marginBottom:12},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:24,lineHeight:1},children:\"Existing FIT activities\"}),/*#__PURE__*/_jsx(\"div\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 52%, transparent)\",fontSize:13,letterSpacing:\"0.08em\"},children:\"THUMBNAIL STATUS\"})]}),libraryLoading?/*#__PURE__*/_jsx(\"div\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 50%, transparent)\",fontSize:14},children:\"Loading stored activities...\"}):library.length===0?/*#__PURE__*/_jsx(\"div\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 50%, transparent)\",fontSize:14,border:\"1px solid color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 10%, transparent)\",borderRadius:8,padding:16},children:\"No stored FIT activities yet. Import a FIT file above to create the first one.\"}):/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"repeat(auto-fit, minmax(220px, 1fr))\",gap:12},children:library.map(workout=>/*#__PURE__*/_jsxs(\"article\",{role:\"button\",tabIndex:0,onClick:()=>setSelectedWorkoutDetail(workout),onKeyDown:event=>{if(event.key===\"Enter\"||event.key===\" \")setSelectedWorkoutDetail(workout);},style:{border:\"1px solid var(--token-53181cfb-6f3c-40d8-9548-414e28a77c07, rgb(64, 89, 101))\",borderRadius:9,padding:10,background:\"var(--token-4b48ff5d-c0fc-4a31-a84f-07072c7c967b, rgb(41, 65, 79))\",cursor:\"pointer\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\"},children:[(workout.source_provider===\"strava\"||workout.source_provider===\"polar\")&&workout.has_route?/*#__PURE__*/_jsx(StravaRouteThumbnail,{sourceProvider:workout.source_provider,workoutId:workout.id,thumbnailUrl:workout.thumbnailUrl,title:workout.title,height:58,borderRadius:8}):workout.thumbnailUrl?/*#__PURE__*/_jsx(\"img\",{loading:\"lazy\",decoding:\"async\",src:workout.thumbnailUrl,alt:workout.title+\" thumbnail\",style:{height:58,width:\"100%\",objectFit:\"cover\",borderRadius:8,display:\"block\"}}):/*#__PURE__*/_jsx(\"div\",{style:{height:58,borderRadius:8,background:workout.has_route?\"linear-gradient(135deg, var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69)), var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69)))\":\"var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69))\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:workout.has_route?\"var(--token-1c8576e1-95ac-4ac7-9251-2a81b8830bd1, rgb(117, 230, 200))\":\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 44%, transparent)\",fontSize:12,letterSpacing:\"0.1em\"},children:thumbnailPlaceholderLabel(workout)}),workout.source_provider===\"strava\"&&/*#__PURE__*/_jsx(\"img\",{src:\"https://framerusercontent.com/images/hnv6AZCtIXKjDbdtk7FKOEOF9w.png\",alt:\"Imported from Strava\",title:\"Imported from Strava\",draggable:false,style:{position:\"absolute\",right:6,bottom:4,width:20,height:20,objectFit:\"contain\",pointerEvents:\"none\",filter:\"drop-shadow(0 1px 2px rgb(0 0 0 / 70%))\"}})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",gap:8,marginTop:10},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:SUMMIQ_ACCENT,fontSize:12,letterSpacing:\"0.1em\"},children:/*#__PURE__*/_jsx(SportIdentity,{sport:workout.sport.toUpperCase(),sourceProvider:workout.source_provider,recordingBrand:workout.recording_device_brand,importSource:workout.metrics?.import_source,display:\"text\"})}),/*#__PURE__*/_jsx(\"span\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 48%, transparent)\",fontSize:12},children:formatDate(new Date(workout.starts_at),dateFormat)})]}),/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:20,lineHeight:1,marginTop:2,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\"},children:[workout.title,/*#__PURE__*/_jsx(GarminSource,{workout:workout})]}),/*#__PURE__*/_jsxs(\"div\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 63%, transparent)\",fontSize:13,marginTop:4},children:[workout.distance_m?Math.round(workout.distance_m/1e3*10)/10+\" km\":\"Distance unavailable\",workout.weighted_average_power_w?\" \\xb7 \"+Math.round(workout.weighted_average_power_w)+\" WAP\":\"\",\" \\xb7 \"+formatIF(workoutIF(workout))+(workoutIfUsesCurrentFtp(workout)?\" IF (current FTP)\":\" IF\")]}),/*#__PURE__*/_jsxs(\"div\",{style:{borderTop:\"1px solid color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 10%, transparent)\",marginTop:9,paddingTop:7,display:\"flex\",justifyContent:\"space-between\",color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 52%, transparent)\",fontSize:12},children:[/*#__PURE__*/_jsx(\"span\",{children:\"FIT STORED\"}),/*#__PURE__*/_jsx(\"span\",{style:{color:workout.thumbnail_status===\"ready\"?\"var(--token-1c8576e1-95ac-4ac7-9251-2a81b8830bd1, rgb(117, 230, 200))\":SUMMIQ_ACCENT},children:workout.thumbnail_status.toUpperCase()})]}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:event=>{event.stopPropagation();deleteWorkout(workout);},disabled:deletingId===workout.id,style:{width:\"100%\",marginTop:9,border:\"1px solid \"+summiqAccentAlpha(.65),borderRadius:5,background:summiqAccentAlpha(.08),color:SUMMIQ_ACCENT,fontFamily:\"Teko, sans-serif\",fontSize:13,letterSpacing:\"0.08em\",padding:\"6px 8px\",cursor:deletingId===workout.id?\"wait\":\"pointer\",opacity:deletingId===workout.id?.6:1},children:deletingId===workout.id?\"DELETING...\":\"DELETE WORKOUT\"})]},workout.id))})]}),selectedWorkoutDetail&&/*#__PURE__*/_jsxs(\"div\",{className:\"wl-workout-dialog\",role:\"dialog\",\"aria-modal\":\"true\",\"aria-label\":selectedWorkoutDetail.title+\" workout workspace\",onClick:closeWorkoutDetail,style:{position:\"fixed\",inset:0,zIndex:100,background:\"color-mix(in srgb, var(--token-bf87054d-de74-400b-af1a-b38155f9f249, rgb(5, 8, 10)) 86%, transparent)\",color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontFamily:\"Teko, sans-serif\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:24},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n\n                .wl-workout-dialog, .wl-workout-dialog * { box-sizing: border-box; }\n                .wl-workout-tabs { min-width: 0; max-width: 100%; flex-shrink: 0; scrollbar-width: thin; overscroll-behavior-x: contain; }\n                .wl-workout-tabs > button { flex: 0 0 auto; min-height: 44px; }\n                @media (max-width: 600px) {\n                    .wl-workout-dialog { padding: 8px !important; align-items: stretch !important; overflow: hidden; }\n                    .wl-workout-sheet { display: flex; flex-direction: column; width: 100% !important; min-width: 0; min-height: 0; max-height: 100% !important; overflow: hidden !important; border-radius: 12px !important; background: var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69)) !important; }\n                    .wl-workout-header { flex: 0 0 auto; position: relative !important; padding: 12px 12px 8px !important; background: var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69)) !important; }\n                    .wl-workout-header > div:first-child { gap: 8px !important; }\n                    .wl-workout-header > div:first-child > div:last-child { gap: 4px !important; }\n                    .wl-workout-header form { flex-wrap: wrap; }\n                    .wl-workout-header form input { flex-basis: 100% !important; font-size: 20px !important; }\n                    .wl-workout-tabs { margin-top: 10px !important; padding-bottom: 3px; }\n                    .wl-workout-tabs > button { font-size: 14px !important; padding: 8px 12px !important; }\n                    .wl-workout-content { flex: 1 1 auto; min-height: 0; min-width: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior-y: contain; padding: 12px !important; -webkit-overflow-scrolling: touch; }\n                    .wl-workout-content > *, .wl-workout-content section { min-width: 0; max-width: 100%; }\n                    .wl-workout-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }\n                    .wl-workout-stats > div { padding: 12px 10px !important; border-radius: 8px !important; }\n                    .wl-workout-stats > div > div:first-child { font-size: 25px !important; line-height: 1.1 !important; }\n                    .wl-workout-stats > div > div:last-child { line-height: 1.4; overflow-wrap: anywhere; }\n                    .wl-workout-content [style*=\"grid-template-columns: repeat(4\"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }\n                }\n                .wl-detail-icon-action { width: 32px; height: 32px; min-width: 32px; padding: 0; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }\n                .wl-detail-icon-action:focus-visible { outline: 2px solid var(--token-84678622-4f97-41e6-b9e4-7945d370801a, rgb(200, 250, 80)); outline-offset: 2px; }\n                @media (pointer: coarse), (max-width: 600px) { .wl-detail-icon-action { width: 44px; height: 44px; min-width: 44px; } }\n                .wl-title-rename:hover:not(:disabled) { color: var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) !important; }\n                .wl-title-rename:focus-visible { outline: 2px solid var(--token-84678622-4f97-41e6-b9e4-7945d370801a, rgb(200, 250, 80)); outline-offset: 2px; }\n                @media (pointer: coarse), (max-width: 600px) { .wl-title-rename { width: 44px !important; height: 44px !important; } }\n                .wl-performance-profile { container-name: workout-performance; container-type: inline-size; }\n                @container workout-performance (max-width: 360px) {\n                    .wl-performance-bars { grid-template-columns: minmax(0, 1fr) auto !important; }\n                    .wl-performance-row > span:first-child { grid-column: 1; grid-row: 1; }\n                    .wl-performance-value { grid-column: 2; grid-row: 1; text-align: right; }\n                    .wl-performance-track { grid-column: 1 / -1; grid-row: 2; }\n                    .wl-performance-zone-tooltip { left: 0 !important; }\n                    .wl-power-curve { grid-template-columns: minmax(0, 1fr) !important; gap: 6px !important; }\n                }\n            `}),/*#__PURE__*/_jsxs(\"dialog\",{ref:sportPickerRef,className:\"wl-sport-picker\",\"aria-labelledby\":sportPickerTitle,onClick:event=>{event.stopPropagation();if(event.target!==event.currentTarget||sportSaving)return;const rect=event.currentTarget.getBoundingClientRect();if(event.clientX<rect.left||event.clientX>rect.right||event.clientY<rect.top||event.clientY>rect.bottom)event.currentTarget.close();},onCancel:event=>{if(sportSaving)event.preventDefault();},style:{width:\"min(660px, calc(100vw - 32px))\",maxHeight:\"calc(100dvh - 32px)\",margin:\"auto\",padding:24,boxSizing:\"border-box\",overflowY:\"auto\",border:\"1px solid \"+summiqAccentAlpha(.35),borderRadius:14,background:CARD,color:\"#F5F7FA\",fontFamily:\"Inter, sans-serif\",boxShadow:\"0 24px 80px rgba(0,0,0,.5)\"},children:[/*#__PURE__*/_jsxs(\"header\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:16},children:[/*#__PURE__*/_jsx(\"h2\",{id:sportPickerTitle,style:{margin:0,font:\"600 28px/1.1 Teko, sans-serif\"},children:\"Change sport\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",autoFocus:true,\"aria-label\":\"Close sport picker\",disabled:sportSaving,onClick:()=>sportPickerRef.current?.close(),style:{width:36,height:36,border:\"1px solid \"+summiqAccentAlpha(.3),borderRadius:6,background:\"transparent\",color:\"inherit\",fontSize:24,cursor:\"pointer\"},children:\"\\xd7\"})]}),/*#__PURE__*/_jsx(\"p\",{style:{fontSize:13,lineHeight:1.5,opacity:.7,margin:\"12px 0 18px\"},children:\"Supported sports in SummiQ. Select the sport for this workout.\"}),/*#__PURE__*/_jsx(\"div\",{role:\"group\",\"aria-label\":\"Supported sports\",style:{display:\"grid\",gridTemplateColumns:\"repeat(auto-fit, minmax(120px, 1fr))\",gap:10},children:WORKOUT_SPORT_OPTIONS.map(([value,label])=>/*#__PURE__*/_jsxs(\"button\",{type:\"button\",\"aria-pressed\":sportDraft===value,disabled:sportSaving,onClick:()=>{setSportDraft(value);setSportStatus(\"\");},style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",gap:10,minHeight:104,padding:\"12px 8px\",border:\"1px solid \"+(sportDraft===value?SUMMIQ_ACCENT:summiqAccentAlpha(.2)),borderRadius:9,background:sportDraft===value?summiqAccentAlpha(.12):\"transparent\",color:sportDraft===value?SUMMIQ_ACCENT:\"#F5F7FA\",cursor:sportSaving?\"wait\":\"pointer\",font:\"500 13px/1.3 Inter, sans-serif\"},children:[/*#__PURE__*/_jsx(SportIdentity,{sport:value,display:\"icons\",size:40,catalogPreview:true}),/*#__PURE__*/_jsx(\"span\",{children:label})]},value))}),sportStatus&&/*#__PURE__*/_jsx(\"p\",{role:\"status\",style:{fontSize:13,color:\"#FFB7B7\",lineHeight:1.5},children:sportStatus}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"flex-end\",gap:10,marginTop:20},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",disabled:sportSaving,onClick:()=>sportPickerRef.current?.close(),style:{padding:\"10px 16px\",border:\"1px solid \"+summiqAccentAlpha(.3),borderRadius:6,background:\"transparent\",color:\"inherit\",cursor:\"pointer\"},children:\"Cancel\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",disabled:sportSaving||sportDraft===selectedWorkoutDetail.sport,onClick:()=>void saveWorkoutSport(),style:{padding:\"10px 16px\",border:0,borderRadius:6,background:SUMMIQ_ACCENT,color:\"#101419\",opacity:sportSaving||sportDraft===selectedWorkoutDetail.sport?.5:1,cursor:\"pointer\",fontWeight:700},children:sportSaving?\"Saving…\":\"Save sport\"})]})]}),/*#__PURE__*/_jsx(\"style\",{children:`.wl-sport-picker::backdrop{background:rgba(0,0,0,.7)}.wl-sport-picker button:focus-visible{outline:2px solid var(--token-84678622-4f97-41e6-b9e4-7945d370801a);outline-offset:3px}`}),/*#__PURE__*/_jsxs(\"div\",{className:\"wl-workout-sheet\",onClick:event=>event.stopPropagation(),style:{width:\"min(1120px, 100%)\",maxHeight:\"calc(100vh - 48px)\",overflow:\"auto\",background:CARD,border:\"1px solid \"+summiqAccentAlpha(.36),borderRadius:18,boxShadow:\"0 28px 90px color-mix(in srgb, var(--token-bf87054d-de74-400b-af1a-b38155f9f249, rgb(5, 8, 10)) 58%, transparent)\"},children:[/*#__PURE__*/_jsxs(\"div\",{className:\"wl-workout-header\",style:{padding:\"20px 24px 14px\",position:\"sticky\",top:0,zIndex:3,background:CARD,borderBottom:\"1px solid \"+summiqAccentAlpha(.22)},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"flex-start\",justifyContent:\"space-between\",gap:16,minWidth:0},children:[/*#__PURE__*/_jsxs(\"div\",{style:{minWidth:0,flex:\"1 1 auto\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:9,minWidth:0},children:/*#__PURE__*/_jsxs(\"div\",{style:{color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",display:\"flex\",flexWrap:\"wrap\",alignItems:\"center\",gap:9,fontSize:13,fontWeight:700,letterSpacing:\"0.12em\",lineHeight:1,whiteSpace:\"nowrap\"},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":\"Change workout sport\",\"aria-haspopup\":\"dialog\",title:\"Change sport \\xb7 view supported sports\",onClick:()=>{setSportDraft(selectedWorkoutDetail.sport);setSportStatus(\"\");sportPickerRef.current?.showModal();},disabled:sportSaving,style:{display:\"inline-flex\",alignItems:\"center\",padding:0,border:0,background:\"transparent\",color:\"inherit\",font:\"inherit\",letterSpacing:\"inherit\",cursor:\"pointer\"},children:/*#__PURE__*/_jsx(SportIdentity,{sport:selectedWorkoutDetail.sport.toUpperCase(),importSource:selectedWorkoutDetail.metrics?.import_source,sourceProvider:selectedWorkoutDetail.source_provider,recordingBrand:selectedWorkoutDetail.recording_device_brand,display:\"icons\",size:32})}),/*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline-flex\",alignItems:\"center\",gap:5,whiteSpace:\"nowrap\"},children:[/*#__PURE__*/_jsx(SportIdentity,{sport:selectedWorkoutDetail.sport.toUpperCase(),importSource:selectedWorkoutDetail.metrics?.import_source,sourceProvider:selectedWorkoutDetail.source_provider,recordingBrand:selectedWorkoutDetail.recording_device_brand,display:\"text\"}),\" WORKOUT\"]}),isTreadmillWorkout(selectedWorkoutDetail)&&/*#__PURE__*/_jsx(\"span\",{style:{padding:\"4px 7px\",borderRadius:5,border:\"1px solid \"+summiqAccentAlpha(.25),background:summiqAccentAlpha(.07),color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontFamily:\"Inter, sans-serif\",fontSize:10,fontWeight:600,letterSpacing:\"0.04em\",lineHeight:1.2},children:\"INDOOR \\xb7 TREADMILL\"})]})}),titleEditing?/*#__PURE__*/_jsxs(\"form\",{onSubmit:event=>{event.preventDefault();void saveWorkoutTitle();},style:{display:\"flex\",alignItems:\"center\",gap:8,marginTop:7,maxWidth:720},children:[/*#__PURE__*/_jsx(\"input\",{autoFocus:true,value:titleDraft,maxLength:120,\"aria-label\":\"Workout name\",onChange:event=>{setTitleDraft(event.target.value);if(titleError)setTitleError(\"\");},onKeyDown:event=>{if(event.key===\"Escape\"){event.preventDefault();setTitleDraft(selectedWorkoutDetail.title);setTitleEditing(false);setTitleError(\"\");}},disabled:titleSaving,style:{minWidth:0,flex:\"1 1 auto\",border:\"1px solid \"+summiqAccentAlpha(.55),borderRadius:6,background:\"color-mix(in srgb, var(--token-bf87054d-de74-400b-af1a-b38155f9f249, rgb(5, 8, 10)) 34%, transparent)\",color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",padding:\"5px 9px\",fontFamily:\"Teko, sans-serif\",fontSize:27,fontWeight:600,lineHeight:1,outline:\"none\"}}),/*#__PURE__*/_jsx(\"button\",{type:\"submit\",disabled:titleSaving||!titleDraft.trim(),style:{border:\"1px solid \"+summiqAccentAlpha(.7),borderRadius:5,background:SUMMIQ_ACCENT,color:\"var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69))\",padding:\"6px 10px\",fontFamily:\"Teko, sans-serif\",fontSize:14,fontWeight:700,lineHeight:1,cursor:titleSaving?\"wait\":\"pointer\",opacity:titleSaving||!titleDraft.trim()?.6:1},children:titleSaving?\"SAVING...\":\"SAVE\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",disabled:titleSaving,onClick:()=>{setTitleDraft(selectedWorkoutDetail.title);setTitleEditing(false);setTitleError(\"\");},style:{border:\"1px solid color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 22%, transparent)\",borderRadius:5,background:\"transparent\",color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 82%, transparent)\",padding:\"6px 10px\",fontFamily:\"Teko, sans-serif\",fontSize:14,fontWeight:600,lineHeight:1,cursor:titleSaving?\"wait\":\"pointer\"},children:\"CANCEL\"})]}):/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8,marginTop:7,minWidth:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{minWidth:0,color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontSize:34,fontWeight:600,lineHeight:.95,letterSpacing:\"-0.025em\",whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\"},children:selectedWorkoutDetail.title}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"wl-title-rename\",title:\"Rename workout\",\"aria-label\":\"Edit workout name\",onClick:()=>{setTitleDraft(selectedWorkoutDetail.title);setTitleEditing(true);setTitleError(\"\");},disabled:titleSaving,style:{flex:\"0 0 auto\",border:0,borderRadius:5,background:\"transparent\",color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 62%, transparent)\",width:24,height:24,display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",padding:0,cursor:titleSaving?\"wait\":\"pointer\",opacity:titleSaving?.6:1},children:/*#__PURE__*/_jsxs(\"svg\",{\"aria-hidden\":\"true\",width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.8\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"m16 3 5 5-12 12-6 1 1-6Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m14 5 5 5\"})]})})]}),/*#__PURE__*/_jsx(GarminSource,{workout:selectedWorkoutDetail}),/*#__PURE__*/_jsx(StravaSendButton,{workoutId:selectedWorkoutDetail.id,sourceProvider:selectedWorkoutDetail.source_provider},selectedWorkoutDetail.id),titleError&&/*#__PURE__*/_jsx(\"div\",{role:\"alert\",style:{marginTop:6,color:\"var(--token-5184f82f-c524-4809-aa5c-78d92709508d, rgb(239, 111, 108))\",fontFamily:\"Inter, sans-serif\",fontSize:12},children:titleError}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:7,color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 56%, transparent)\",fontFamily:\"Inter, sans-serif\",fontSize:13},children:formatDateTime(new Date(selectedWorkoutDetail.starts_at),dateFormat)})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8,flex:\"0 0 auto\"},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"wl-detail-icon-action\",title:recordingLinked===true?\"This recording is linked to a workout. It stays visible and is included in AI context.\":recordingLinkError?\"Could not check recording links. Reopen this workout to try again.\":recordingLinked===null?\"Checking whether this recording is linked to a workout…\":selectedWorkoutDetail.duplicate_of_workout_id?\"Duplicate recording: excluded from totals and AI context. Click to manage.\":\"Duplicate recording: group this with another recording of the same workout and count it only once.\",disabled:recordingLinked!==false,\"aria-label\":\"Manage duplicate recording\",\"aria-expanded\":duplicateEditorOpen,\"aria-controls\":duplicateControlsId,onClick:()=>setDuplicateEditorOpen(open=>!open),style:{border:\"1px solid \"+(selectedWorkoutDetail.duplicate_of_workout_id?\"color-mix(in srgb, var(--token-17ee7dcd-4377-4fab-a2b0-9a75f438ffa6, rgb(255, 191, 97)) 55%, transparent)\":\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 20%, transparent)\"),borderRadius:6,background:duplicateEditorOpen?summiqAccentAlpha(.09):\"transparent\",color:selectedWorkoutDetail.duplicate_of_workout_id&&recordingLinked!==true?\"var(--token-17ee7dcd-4377-4fab-a2b0-9a75f438ffa6, rgb(255, 191, 97))\":\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",opacity:recordingLinked!==false?.45:1,cursor:recordingLinked!==false?\"not-allowed\":\"pointer\"},children:/*#__PURE__*/_jsxs(\"svg\",{\"aria-hidden\":\"true\",width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.8\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"rect\",{x:\"3\",y:\"3\",width:\"12\",height:\"12\",rx:\"2\"}),/*#__PURE__*/_jsx(\"rect\",{x:\"9\",y:\"9\",width:\"12\",height:\"12\",rx:\"2\"})]})}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"wl-detail-icon-action\",title:\"Delete workout\",\"aria-label\":\"Delete workout\",\"aria-busy\":deletingId===selectedWorkoutDetail.id,onClick:()=>deleteWorkout(selectedWorkoutDetail),disabled:deletingId===selectedWorkoutDetail.id||titleSaving,style:{border:\"1px solid color-mix(in srgb, var(--token-5184f82f-c524-4809-aa5c-78d92709508d, rgb(239, 111, 108)) 50%, transparent)\",borderRadius:6,background:\"color-mix(in srgb, var(--token-5184f82f-c524-4809-aa5c-78d92709508d, rgb(239, 111, 108)) 9%, transparent)\",color:\"var(--token-5184f82f-c524-4809-aa5c-78d92709508d, rgb(239, 111, 108))\",cursor:deletingId===selectedWorkoutDetail.id||titleSaving?\"wait\":\"pointer\",opacity:deletingId===selectedWorkoutDetail.id||titleSaving?.6:1},children:/*#__PURE__*/_jsx(\"svg\",{\"aria-hidden\":\"true\",width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.8\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M3 6h18M9 6V4h6v2M5 6l1 14h12l1-14M10 10v6M14 10v6\"})})}),/*#__PURE__*/_jsx(SummiQCloseButton,{type:\"button\",className:\"wl-detail-icon-action\",onClick:closeWorkoutDetail,\"aria-label\":\"Close workout details\",style:{flex:\"0 0 auto\",border:\"1px solid color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 20%, transparent)\",borderRadius:5,background:\"transparent\",color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontFamily:\"Teko, sans-serif\",fontSize:18,lineHeight:1,cursor:\"pointer\"}})]})]}),/*#__PURE__*/_jsx(\"div\",{className:\"wl-workout-tabs\",role:\"tablist\",\"aria-label\":\"Workout detail sections\",style:{display:\"flex\",gap:6,marginTop:18,overflowX:\"auto\"},children:[[\"overview\",\"OVERVIEW\"],[\"stress\",\"TRAINING LOAD\"],[\"zones\",\"ZONES\"],...selectedWorkoutDetail.has_route?[[\"route\",\"MAP\"]]:[],...hasAnalysisData?[[\"analysis\",\"ANALYSIS\"]]:[],[\"ai-coach\",\"AI Analysis\"]].map(([id,label])=>/*#__PURE__*/_jsx(\"button\",{type:\"button\",role:\"tab\",\"aria-selected\":detailTab===id,onClick:()=>{if(id===\"ai-coach\"){const owner=sessionFromToken()?.userId;if(owner)setAiAnalysisTarget({id:selectedWorkoutDetail.id,title:selectedWorkoutDetail.title||\"Untitled workout\",userId:owner});return;}setDetailTab(id);},style:{border:\"1px solid \"+(detailTab===id?SUMMIQ_ACCENT:\"transparent\"),borderRadius:999,background:detailTab===id?SUMMIQ_ACCENT:summiqAccentAlpha(.05),color:detailTab===id?\"var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69))\":\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 66%, transparent)\",padding:\"7px 12px\",fontFamily:\"Teko, sans-serif\",fontWeight:700,fontSize:14,letterSpacing:\"0.08em\",cursor:\"pointer\",whiteSpace:\"nowrap\"},children:label},id))})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"wl-workout-content\",style:{padding:24,background:summiqAccentAlpha(.025)},children:[duplicateEditorOpen&&recordingLinked===false&&/*#__PURE__*/_jsx(\"div\",{id:duplicateControlsId,children:/*#__PURE__*/_jsx(DuplicateRecordingEditor,{workout:selectedWorkoutDetail,onSaved:(id,primaryId)=>{setSelectedWorkoutDetail(current=>current?.id===id?{...current,duplicate_of_workout_id:primaryId}:current);setLibrary(current=>current.map(item=>item.id===id?{...item,duplicate_of_workout_id:primaryId}:item));}},selectedWorkoutDetail.id+(selectedWorkoutDetail.duplicate_of_workout_id||\"\"))}),detailFitStatus&&/*#__PURE__*/_jsx(\"div\",{style:{padding:\"11px 13px\",borderRadius:7,background:summiqAccentAlpha(.09),color:\"var(--token-17ee7dcd-4377-4fab-a2b0-9a75f438ffa6, rgb(255, 191, 97))\",fontSize:14,marginBottom:16},children:detailFitStatus}),workoutIfUsesCurrentFtp(selectedWorkoutDetail)&&/*#__PURE__*/_jsx(\"div\",{role:\"note\",style:{marginBottom:14,padding:\"10px 12px\",borderRadius:7,border:\"1px solid color-mix(in srgb, var(--token-17ee7dcd-4377-4fab-a2b0-9a75f438ffa6, rgb(255, 191, 97)) 35%, transparent)\",background:\"color-mix(in srgb, var(--token-17ee7dcd-4377-4fab-a2b0-9a75f438ffa6, rgb(255, 191, 97)) 7%, transparent)\",color:\"var(--token-17ee7dcd-4377-4fab-a2b0-9a75f438ffa6, rgb(255, 191, 97))\",fontFamily:\"Inter, sans-serif\",fontSize:12,lineHeight:1.5},children:workoutIfNotice(selectedWorkoutDetail)}),detailTab===\"overview\"&&(()=>{const source=detailFit?.source;const sourceLabels=[{label:\"Platform\",value:source?.platform},{label:\"Recording app\",value:source?.recordingApp},{label:\"Recording device\",value:source?.recordingDevice}];const sourceIcon=value=>{const normalized=(value??\"\").toLowerCase().replace(/[\\s_-]/g,\"\");if(normalized===\"android\")return\"https://framerusercontent.com/images/RxJMTe5mSb7axOGpYppxOPug.png\";if(normalized===\"garmin\")return\"https://framerusercontent.com/images/K2FoDveMaA6DALEZz6h4JRp300.png\";return normalized===\"healthconnect\"?\"https://framerusercontent.com/images/VikQIanUIKDbJ0LBLVXxK0A0fhA.png\":normalized===\"healthsync\"?\"https://framerusercontent.com/images/v9IyWaGfH6tkScgpY4U7LGNjlLQ.png\":undefined;};const fileName=selectedWorkoutDetail.original_filename??detailFit?.source?.originalFilename??\"Original file name unavailable\";const biketerraValue=selectedWorkoutDetail.metrics?.biketerra_summary;const biketerra=biketerraValue&&typeof biketerraValue===\"object\"&&!Array.isArray(biketerraValue)?biketerraValue:null;const biketerraNumber=field=>{const value=biketerra?.[field];return typeof value===\"number\"&&Number.isFinite(value)?value:undefined;};const deviceValue=biketerra?.devices;const biketerraDevices=deviceValue&&typeof deviceValue===\"object\"&&!Array.isArray(deviceValue)?Object.keys(deviceValue):[];const importSourceValue=selectedWorkoutDetail.metrics?.import_source;const importSource=importSourceValue&&typeof importSourceValue===\"object\"&&!Array.isArray(importSourceValue)?importSourceValue:null;const sourceRecord=source&&typeof source===\"object\"&&!Array.isArray(source)?source:null;const currentProvider=selectedWorkoutDetail.source_provider?.toString()||source?.provider||\"other\";const biketerraActivityId=[selectedWorkoutDetail.source_activity_id,biketerra?.activity_id,biketerra?.activityId,biketerra?.id,importSource?.activity_id,importSource?.activityId,importSource?.id,sourceRecord?.activity_id,sourceRecord?.activityId].map(value=>typeof value===\"number\"&&Number.isInteger(value)&&value>0?String(value):typeof value===\"string\"&&/^\\d+$/.test(value.trim())?value.trim():undefined).find(value=>Boolean(value));const biketerraRideUrl=biketerraActivityId?\"https://biketerra.com/activities/\"+encodeURIComponent(biketerraActivityId):undefined;const externalActivityLink=biketerraRideUrl?{provider:\"Biketerra\",href:biketerraRideUrl,label:\"View ride on Biketerra\",icon:\"https://framerusercontent.com/images/0APkH9hFVIc37YbDsxFxoUNCUr8.png\"}:null;const elapsed=biketerraNumber(\"elapsed_seconds\");const calories=selectedCalories?.value??undefined;const draftAverage=biketerraNumber(\"draft_average_percent\");const draftMax=biketerraNumber(\"draft_max_percent\");const ftp=storedWorkoutIntensity(selectedWorkoutDetail)?.ftp_w??undefined;const riderWeight=biketerraNumber(\"rider_weight_kg\");const distanceKm=displayedDistance.meters!==undefined?Math.round(displayedDistance.meters/100)/10:undefined;const averageSpeedKmh=selectedWorkoutDetail.average_speed_mps!==undefined?Math.round(selectedWorkoutDetail.average_speed_mps*36)/10:undefined;const maxSpeedKmh=selectedWorkoutDetail.max_speed_mps!==undefined?Math.round(selectedWorkoutDetail.max_speed_mps*36)/10:undefined;const weightedPower=selectedWorkoutDetail.weighted_average_power_w;const displayedIF=selectedIF;const intensityPercent=displayedIF!==null?Math.round(displayedIF*100):0;const headlineStats=[{label:displayedDistance.estimated&&distanceKm!==undefined?\"Distance (GPS estimate)\":\"Distance\",value:distanceKm!==undefined?distanceKm+\" km\":\"Unavailable\",highlighted:false},{label:biketerra?\"Moving time\":\"Time\",value:formatWorkoutDuration(selectedWorkoutDetail.duration_seconds),highlighted:false},{label:\"Intensity Factor (IF)\",value:formatIF(selectedIF),highlighted:false},{label:\"Calories\",value:selectedCalories?.text||(caloriePreference.error?\"Unavailable\":\"Loading…\"),highlighted:false},{label:\"Average power\",value:selectedWorkoutDetail.average_power_w!==undefined?Math.round(selectedWorkoutDetail.average_power_w)+\" watt\":\"—\",highlighted:false},{label:\"Unified Training Load (uTL)\",value:nonNegativeNumber(selectedWorkoutDetail.utl)!==null?String(Math.round(selectedWorkoutDetail.utl)):\"—\",highlighted:true}];const displayCadence=cadenceDisplay(selectedWorkoutDetail.sport);const performanceRows=[];if(averageSpeedKmh!==undefined&&maxSpeedKmh!==undefined&&maxSpeedKmh>0)performanceRows.push({label:\"Speed\",color:\"var(--token-75fe5ebb-49c7-4ccd-a414-9586cf349771, rgb(94, 169, 255))\",average:averageSpeedKmh,maximum:maxSpeedKmh,averageText:averageSpeedKmh+\" km/h\",maximumText:maxSpeedKmh+\" km/h\"});if(selectedWorkoutDetail.average_power_w!==undefined&&selectedWorkoutDetail.max_power_w!==undefined&&selectedWorkoutDetail.max_power_w>0)performanceRows.push({label:\"Power\",color:\"var(--token-8a9e63f3-d92b-4618-ab51-625b94d718ab, rgb(192, 132, 252))\",average:selectedWorkoutDetail.average_power_w,maximum:selectedWorkoutDetail.max_power_w,averageText:Math.round(selectedWorkoutDetail.average_power_w)+\" watt\",maximumText:Math.round(selectedWorkoutDetail.max_power_w)+\" watt\"});if(selectedWorkoutDetail.average_cadence_rpm!==undefined&&selectedWorkoutDetail.max_cadence_rpm!==undefined&&selectedWorkoutDetail.max_cadence_rpm>0)performanceRows.push({label:\"Cadence\",color:\"var(--token-17ee7dcd-4377-4fab-a2b0-9a75f438ffa6, rgb(255, 191, 97))\",average:selectedWorkoutDetail.average_cadence_rpm*displayCadence.multiplier,maximum:selectedWorkoutDetail.max_cadence_rpm*displayCadence.multiplier,averageText:Math.round(selectedWorkoutDetail.average_cadence_rpm*displayCadence.multiplier)+\" \"+displayCadence.unit,maximumText:Math.round(selectedWorkoutDetail.max_cadence_rpm*displayCadence.multiplier)+\" \"+displayCadence.unit});if(selectedWorkoutDetail.average_heart_rate_bpm!==undefined&&selectedWorkoutDetail.max_heart_rate_bpm!==undefined&&selectedWorkoutDetail.max_heart_rate_bpm>0)performanceRows.push({label:\"Heart rate\",color:\"var(--token-5184f82f-c524-4809-aa5c-78d92709508d, rgb(239, 111, 108))\",average:selectedWorkoutDetail.average_heart_rate_bpm,maximum:selectedWorkoutDetail.max_heart_rate_bpm,averageText:Math.round(selectedWorkoutDetail.average_heart_rate_bpm)+\" bpm\",maximumText:Math.round(selectedWorkoutDetail.max_heart_rate_bpm)+\" bpm\"});if(draftAverage!==undefined&&draftMax!==undefined&&draftMax>0)performanceRows.push({label:\"Draft\",color:\"var(--token-1c8576e1-95ac-4ac7-9251-2a81b8830bd1, rgb(117, 230, 200))\",average:draftAverage,maximum:draftMax,averageText:Math.round(draftAverage)+\"%\",maximumText:Math.round(draftMax)+\"%\"});const rideFacts=[selectedWorkoutDetail.elevation_gain_m!==undefined?{label:\"Elevation gain\",value:Math.round(selectedWorkoutDetail.elevation_gain_m)+\" m\"}:null,elapsed!==undefined?{label:\"Elapsed time\",value:formatWorkoutDuration(elapsed)}:null,riderWeight!==undefined?{label:\"Ride weight\",value:Math.round(riderWeight*10)/10+\" kg\"}:null].filter(item=>item!==null);return /*#__PURE__*/_jsxs(\"section\",{\"aria-label\":\"Workout overview\",style:{color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\"},children:[isCheckInStrength(selectedWorkoutDetail.sport)&&!selectedWorkoutDetail.duplicate_of_workout_id&&/*#__PURE__*/_jsx(StrengthCheckInEditor,{workout:selectedWorkoutDetail},selectedWorkoutDetail.id),/*#__PURE__*/_jsx(\"div\",{className:\"wl-workout-stats\",style:{display:\"grid\",gridTemplateColumns:\"repeat(auto-fit, minmax(150px, 1fr))\",gap:10},children:headlineStats.map(stat=>/*#__PURE__*/_jsxs(\"div\",{style:{minWidth:0,padding:\"15px 16px\",border:\"1px solid \"+(stat.highlighted?SUMMIQ_ACCENT:summiqAccentAlpha(.16)),borderRadius:12,background:stat.highlighted?SUMMIQ_ACCENT:CARD},children:[/*#__PURE__*/_jsx(\"div\",{style:{color:stat.highlighted?\"var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69))\":\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontSize:28,lineHeight:.95,fontWeight:600,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\"},children:stat.value}),/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:8,color:stat.highlighted?\"color-mix(in srgb, var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69)) 66%, transparent)\":\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 58%, transparent)\",fontFamily:\"Inter, sans-serif\",fontSize:12},children:[stat.label.slice(0,stat.label.lastIndexOf(\" \")+1),/*#__PURE__*/_jsxs(\"span\",{style:{whiteSpace:\"nowrap\"},children:[stat.label.slice(stat.label.lastIndexOf(\" \")+1),stat.label===\"Calories\"&&/*#__PURE__*/_jsx(MetricInfo,{label:\"Calories\",explanation:CALORIES_EXPLANATION}),stat.label===\"Average power\"&&/*#__PURE__*/_jsx(MetricInfo,{label:\"Average power\",explanation:AVERAGE_POWER_EXPLANATION}),stat.label===\"Intensity Factor (IF)\"&&/*#__PURE__*/_jsx(IntensityFactorInfo,{})]}),stat.label===\"Calories\"&&/*#__PURE__*/_jsx(\"span\",{title:selectedCalories?.note,style:{display:\"block\",fontSize:11,marginTop:4},children:selectedCalories?.source||caloriePreference.error})]})]},stat.label))}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"repeat(auto-fit, minmax(min(100%, 320px), 1fr))\",gap:14,marginTop:14,alignItems:\"start\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gap:14,minWidth:0},children:[/*#__PURE__*/_jsxs(\"section\",{\"aria-label\":\"Performance profile\",className:\"wl-performance-profile\",style:{minWidth:0,padding:18,border:\"1px solid \"+summiqAccentAlpha(.16),borderRadius:12,background:CARD},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"baseline\",justifyContent:\"space-between\",gap:12},children:[/*#__PURE__*/_jsx(\"h3\",{style:{margin:0,color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontSize:19,fontWeight:600},children:\"Performance profile\"}),/*#__PURE__*/_jsx(\"span\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 48%, transparent)\",fontFamily:\"Inter, sans-serif\",fontSize:11},children:\"AVERAGE / MAXIMUM\"})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"wl-performance-bars\",style:{display:\"grid\",gridTemplateColumns:\"72px minmax(0, 1fr) auto\",gap:\"15px 10px\",minWidth:0,marginTop:18},children:[performanceRows.map(row=>{const fill=Math.max(4,Math.min(100,Math.round(row.average/row.maximum*100)));return /*#__PURE__*/_jsxs(\"div\",{className:\"wl-performance-row\",style:{display:\"grid\",gridTemplateColumns:\"subgrid\",gridColumn:\"1 / -1\",gap:10,alignItems:\"center\",minWidth:0},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 58%, transparent)\",fontFamily:\"Inter, sans-serif\",fontSize:12},children:row.label}),/*#__PURE__*/_jsxs(\"div\",{className:\"wl-performance-track\",\"aria-hidden\":\"true\",style:{position:\"relative\",height:7,overflow:\"hidden\",borderRadius:999,background:\"color-mix(in srgb, \"+row.color+\" 15%, transparent)\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",inset:\"0 auto 0 0\",width:fill+\"%\",borderRadius:999,background:row.color}}),/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",top:-2,right:0,bottom:-2,width:3,borderRadius:2,background:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\"}})]}),/*#__PURE__*/_jsxs(\"span\",{className:\"wl-performance-value\",style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 54%, transparent)\",fontFamily:\"Inter, sans-serif\",fontSize:11,whiteSpace:\"nowrap\"},children:[/*#__PURE__*/_jsx(\"strong\",{style:{color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontWeight:600},children:row.averageText}),\" / \",row.maximumText]})]},row.label);}),/*#__PURE__*/_jsx(WorkoutPerformanceDetails,{metrics:detailZoneMetrics,stream:detailFit?.streams?.power})]})]}),/*#__PURE__*/_jsx(WorkoutStimulusProfile,{input:stimulusInput,loading:detailFitStatus.startsWith(\"Loading\")||detailFitStatus.includes(\"Retrying\")||detailZonesStatus.startsWith(\"Loading\")})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gap:14},children:[/*#__PURE__*/_jsxs(\"section\",{\"aria-label\":\"Training effect\",style:{padding:18,border:\"1px solid \"+summiqAccentAlpha(.16),borderRadius:12,background:CARD},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"baseline\",justifyContent:\"space-between\",gap:12},children:[/*#__PURE__*/_jsx(\"h3\",{style:{margin:0,color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontSize:19,fontWeight:600},children:\"Training effect\"}),ftp!==undefined&&/*#__PURE__*/_jsxs(\"span\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 48%, transparent)\",fontFamily:\"Inter, sans-serif\",fontSize:11},children:[workoutIfUsesCurrentFtp(selectedWorkoutDetail)?\"FALLBACK FTP \":\"SAVED FTP \",Math.round(ftp),\" watt\"]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:22,marginTop:16,flexWrap:\"wrap\"},children:[/*#__PURE__*/_jsx(\"div\",{\"aria-label\":displayedIF!==null?\"Intensity factor \"+formatIF(displayedIF)+\", \"+intensityPercent+\" percent of FTP\":\"Intensity unavailable\",style:{width:104,height:104,flex:\"0 0 auto\",borderRadius:\"50%\",padding:10,background:\"conic-gradient(\"+SUMMIQ_ACCENT+\" 0 \"+Math.min(100,intensityPercent)+\"%, \"+summiqAccentAlpha(.11)+\" \"+Math.min(100,intensityPercent)+\"% 100%)\"},children:/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",borderRadius:\"50%\",display:\"grid\",placeItems:\"center\",background:CARD,textAlign:\"center\"},children:/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"strong\",{style:{display:\"block\",color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontSize:24,fontWeight:600,lineHeight:1},children:displayedIF!==null?formatIF(displayedIF):\"—\"}),/*#__PURE__*/_jsxs(\"span\",{style:{display:\"block\",marginTop:5,color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 48%, transparent)\",fontFamily:\"Inter, sans-serif\",fontSize:10},children:[\"IF\",/*#__PURE__*/_jsx(IntensityFactorInfo,{})]})]})})}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gap:14,flex:\"1 1 150px\"},children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"strong\",{style:{display:\"block\",color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontSize:27,fontWeight:600,lineHeight:1},children:weightedPower!==undefined?Math.round(weightedPower)+\" watt\":\"—\"}),/*#__PURE__*/_jsx(\"span\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 54%, transparent)\",fontFamily:\"Inter, sans-serif\",fontSize:12},children:\"Weighted average power\"})]}),/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"strong\",{style:{display:\"block\",color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontSize:27,fontWeight:600,lineHeight:1},children:nonNegativeNumber(selectedWorkoutDetail.training_load)!==null?Math.round(selectedWorkoutDetail.training_load)+\" TL\":\"—\"}),/*#__PURE__*/_jsx(\"span\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 54%, transparent)\",fontFamily:\"Inter, sans-serif\",fontSize:12},children:\"Training load\"})]})]})]})]}),rideFacts.length>0&&/*#__PURE__*/_jsxs(\"section\",{\"aria-label\":\"Ride facts\",style:{padding:18,border:\"1px solid \"+summiqAccentAlpha(.16),borderRadius:12,background:CARD},children:[/*#__PURE__*/_jsx(\"h3\",{style:{margin:0,color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontSize:19,fontWeight:600},children:\"Ride facts\"}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"repeat(2, minmax(0, 1fr))\",gap:\"12px 18px\",marginTop:14},children:rideFacts.map(fact=>/*#__PURE__*/_jsxs(\"div\",{style:{paddingBottom:10,borderBottom:\"1px solid \"+summiqAccentAlpha(.12)},children:[/*#__PURE__*/_jsx(\"strong\",{style:{display:\"block\",color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontSize:19,fontWeight:600,lineHeight:1},children:fact.value}),/*#__PURE__*/_jsx(\"span\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 50%, transparent)\",fontFamily:\"Inter, sans-serif\",fontSize:11},children:fact.label})]},fact.label))})]})]})]}),/*#__PURE__*/_jsxs(\"details\",{style:{marginTop:14,padding:\"14px 16px\",border:\"1px solid \"+summiqAccentAlpha(.16),borderRadius:12,background:CARD},children:[/*#__PURE__*/_jsx(\"summary\",{style:{color:SUMMIQ_ACCENT,fontFamily:\"Teko, sans-serif\",fontSize:15,fontWeight:700,letterSpacing:\"0.09em\",cursor:\"pointer\"},children:\"RIDE DETAILS & SOURCE\"}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",gap:\"12px 26px\",marginTop:15,color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 68%, transparent)\",fontFamily:\"Inter, sans-serif\",fontSize:14,lineHeight:1.35},children:[/*#__PURE__*/_jsxs(\"span\",{lang:\"en\",translate:\"no\",style:{display:\"inline-flex\",alignItems:\"center\",flexWrap:\"wrap\",gap:7},children:[/*#__PURE__*/_jsx(\"span\",{children:\"Sport:\"}),!sportEditing?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"strong\",{style:{color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\"},children:workoutSportLabel(selectedWorkoutDetail.sport)}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":\"Edit workout sport\",onClick:()=>{setSportDraft(selectedWorkoutDetail.sport);setSportStatus(\"\");setSportEditing(true);},style:{border:\"1px solid \"+summiqAccentAlpha(.28),borderRadius:5,background:summiqAccentAlpha(.06),color:SUMMIQ_ACCENT,padding:\"3px 7px\",fontFamily:\"Teko, sans-serif\",fontSize:12,fontWeight:700,letterSpacing:\"0.08em\",lineHeight:1,cursor:\"pointer\"},children:\"EDIT\"})]}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"select\",{id:\"workout-sport\",\"aria-label\":\"Workout sport\",value:sportDraft,disabled:sportSaving,onChange:event=>{setSportDraft(event.target.value);setSportStatus(\"\");},style:{border:\"1px solid \"+summiqAccentAlpha(.28),borderRadius:7,background:CARD,color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",padding:\"6px 9px\",fontFamily:\"Inter, sans-serif\",fontSize:14,cursor:sportSaving?\"wait\":\"pointer\"},children:[!WORKOUT_SPORT_OPTIONS.some(([value])=>value===sportDraft)&&/*#__PURE__*/_jsx(\"option\",{value:sportDraft,children:workoutSportLabel(sportDraft)}),WORKOUT_SPORT_OPTIONS.map(([value,label])=>/*#__PURE__*/_jsx(\"option\",{value:value,children:label},value))]}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>void saveWorkoutSport(),disabled:sportSaving||sportDraft===selectedWorkoutDetail.sport,style:{border:0,borderRadius:6,background:SUMMIQ_ACCENT,color:\"var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69))\",padding:\"6px 10px\",fontFamily:\"Teko, sans-serif\",fontSize:14,fontWeight:700,cursor:sportSaving?\"wait\":sportDraft===selectedWorkoutDetail.sport?\"not-allowed\":\"pointer\",opacity:sportSaving||sportDraft===selectedWorkoutDetail.sport?.5:1},children:sportSaving?\"SAVING...\":\"SAVE SPORT\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",disabled:sportSaving,onClick:()=>{setSportDraft(selectedWorkoutDetail.sport);setSportStatus(\"\");setSportEditing(false);},style:{border:\"1px solid \"+summiqAccentAlpha(.22),borderRadius:6,background:\"transparent\",color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 68%, transparent)\",padding:\"6px 9px\",fontFamily:\"Teko, sans-serif\",fontSize:14,fontWeight:700,cursor:sportSaving?\"wait\":\"pointer\"},children:\"CANCEL\"})]}),sportStatus&&/*#__PURE__*/_jsx(\"span\",{role:\"status\",style:{color:sportStatus===\"Sport saved.\"?SUMMIQ_ACCENT:\"var(--token-5184f82f-c524-4809-aa5c-78d92709508d, rgb(239, 111, 108))\",fontSize:13},children:sportStatus})]}),/*#__PURE__*/_jsxs(\"span\",{lang:\"en\",translate:\"no\",style:{display:\"inline-flex\",alignItems:\"center\",flexWrap:\"wrap\",gap:7},children:[/*#__PURE__*/_jsx(\"span\",{children:\"Provider:\"}),!providerEditing?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"strong\",{style:{color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\"},children:workoutProviderLabel(currentProvider)}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":\"Edit workout provider\",onClick:()=>{setProviderDraft(currentProvider);setProviderStatus(\"\");setProviderEditing(true);},style:{border:\"1px solid \"+summiqAccentAlpha(.28),borderRadius:5,background:summiqAccentAlpha(.06),color:SUMMIQ_ACCENT,padding:\"3px 7px\",fontFamily:\"Teko, sans-serif\",fontSize:12,fontWeight:700,letterSpacing:\"0.08em\",lineHeight:1,cursor:\"pointer\"},children:\"EDIT\"})]}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"select\",{id:\"workout-provider\",\"aria-label\":\"Workout provider\",value:providerDraft,disabled:providerSaving,onChange:event=>{setProviderDraft(event.target.value);setProviderStatus(\"\");},style:{border:\"1px solid \"+summiqAccentAlpha(.28),borderRadius:7,background:CARD,color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",padding:\"6px 9px\",fontFamily:\"Inter, sans-serif\",fontSize:14,cursor:providerSaving?\"wait\":\"pointer\"},children:[!WORKOUT_PROVIDER_OPTIONS.some(([value])=>value===providerDraft)&&/*#__PURE__*/_jsx(\"option\",{value:providerDraft,children:workoutProviderLabel(providerDraft)}),WORKOUT_PROVIDER_OPTIONS.map(([value,label])=>/*#__PURE__*/_jsx(\"option\",{value:value,children:label},value))]}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>void saveWorkoutProvider(),disabled:providerSaving||providerDraft===currentProvider,style:{border:0,borderRadius:6,background:SUMMIQ_ACCENT,color:\"var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69))\",padding:\"6px 10px\",fontFamily:\"Teko, sans-serif\",fontSize:14,fontWeight:700,cursor:providerSaving?\"wait\":providerDraft===currentProvider?\"not-allowed\":\"pointer\",opacity:providerSaving||providerDraft===currentProvider?.5:1},children:providerSaving?\"SAVING...\":\"SAVE PROVIDER\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",disabled:providerSaving,onClick:()=>{setProviderDraft(currentProvider);setProviderStatus(\"\");setProviderEditing(false);},style:{border:\"1px solid \"+summiqAccentAlpha(.22),borderRadius:6,background:\"transparent\",color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 68%, transparent)\",padding:\"6px 9px\",fontFamily:\"Teko, sans-serif\",fontSize:14,fontWeight:700,cursor:providerSaving?\"wait\":\"pointer\"},children:\"CANCEL\"})]}),providerStatus&&/*#__PURE__*/_jsx(\"span\",{role:\"status\",style:{color:providerStatus===\"Provider saved.\"?SUMMIQ_ACCENT:\"var(--token-5184f82f-c524-4809-aa5c-78d92709508d, rgb(239, 111, 108))\",fontSize:13},children:providerStatus})]}),sourceLabels.map(({label,value})=>/*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline-flex\",alignItems:\"center\",gap:6},children:[label,\":\",sourceIcon(value)&&/*#__PURE__*/_jsx(\"img\",{src:sourceIcon(value),alt:\"\",width:22,height:22,style:{objectFit:\"contain\",borderRadius:4,flexShrink:0}}),/*#__PURE__*/_jsx(\"strong\",{style:{color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\"},children:value?.trim()||(detailFit?\"Not provided\":\"Loading...\")})]},label)),/*#__PURE__*/_jsxs(\"span\",{children:[\"Start: \",/*#__PURE__*/_jsx(\"strong\",{style:{color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\"},children:formatDateTime(new Date(selectedWorkoutDetail.starts_at),dateFormat)})]}),/*#__PURE__*/_jsxs(\"span\",{children:[\"File: \",/*#__PURE__*/_jsx(\"strong\",{style:{color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",overflowWrap:\"anywhere\"},children:fileName})]}),!appEmbedded&&externalActivityLink&&/*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline-flex\",alignItems:\"center\",gap:7},children:[\"Link: \",/*#__PURE__*/_jsx(\"img\",{src:externalActivityLink.icon,alt:\"\",width:18,height:18,style:{display:\"block\",width:18,height:18,objectFit:\"cover\",borderRadius:4,flexShrink:0}}),/*#__PURE__*/_jsxs(\"a\",{href:externalActivityLink.href,target:\"_blank\",rel:\"noopener noreferrer\",\"aria-label\":externalActivityLink.label,style:{color:SUMMIQ_ACCENT,fontWeight:700,textDecoration:\"none\"},children:[externalActivityLink.label,\" \",/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",children:\"↗\"})]})]}),biketerraDevices.length>0&&/*#__PURE__*/_jsxs(\"span\",{children:[\"Devices: \",/*#__PURE__*/_jsx(\"strong\",{style:{color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\"},children:biketerraDevices.join(\", \")})]})]})]}),(selectedWorkoutDetail.has_route||detailZoneMetrics.some(metric=>metric.seiler.length))&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gridTemplateColumns:selectedWorkoutDetail.has_route?\"repeat(auto-fit, minmax(260px, 1fr))\":\"minmax(0, 1fr)\",gap:14,marginTop:28,alignItems:\"start\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gap:12,alignContent:\"start\"},children:detailZoneMetrics.filter(metric=>metric.seiler.length).map(metric=>/*#__PURE__*/_jsx(ZoneDistributionPanel,{metric:metric,showConventional:false},metric.key))}),selectedWorkoutDetail.has_route&&/*#__PURE__*/_jsx(\"div\",{style:{height:310,borderRadius:10,overflow:\"hidden\",border:\"1px solid color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 14%, transparent)\"},children:/*#__PURE__*/_jsx(MapPanel,{fit:detailFit,height:310})})]})]});})(),detailTab===\"zones\"&&/*#__PURE__*/_jsxs(\"section\",{\"aria-label\":\"Workout zone distributions\",children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"baseline\",justifyContent:\"space-between\",gap:16,flexWrap:\"wrap\",marginBottom:16},children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{style:{color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontSize:13,fontWeight:600,letterSpacing:\"0.12em\"},children:\"TIME IN ZONES\"}),/*#__PURE__*/_jsx(\"h2\",{style:{margin:\"4px 0 0\",fontSize:29,lineHeight:1},children:\"Recorded intensity distribution\"})]}),/*#__PURE__*/_jsx(\"span\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 58%, transparent)\",fontSize:14},children:\"Uses your saved zones at the time you open this workout.\"})]}),detailZonesStatus&&/*#__PURE__*/_jsx(\"div\",{role:\"status\",style:{padding:\"11px 13px\",borderRadius:7,background:summiqAccentAlpha(.09),color:\"var(--token-17ee7dcd-4377-4fab-a2b0-9a75f438ffa6, rgb(255, 191, 97))\",fontSize:14,marginBottom:14},children:detailZonesStatus}),!detailFit&&!detailFitStatus&&/*#__PURE__*/_jsx(\"div\",{style:{padding:24,borderRadius:8,background:\"var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69))\",color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 62%, transparent)\"},children:\"Load the FIT file to calculate time in zones.\"}),detailFit&&detailZoneMetrics.length>0&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gap:12},children:detailZoneMetrics.map(metric=>/*#__PURE__*/_jsx(ZoneDistributionPanel,{metric:metric},metric.key))}),detailFit&&!detailZonesStatus&&detailZoneMetrics.length===0&&/*#__PURE__*/_jsx(\"div\",{style:{padding:20,borderRadius:8,border:\"1px solid color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 13%, transparent)\",background:\"var(--token-4b48ff5d-c0fc-4a31-a84f-07072c7c967b, rgb(41, 65, 79))\",color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 65%, transparent)\",fontSize:16},children:\"This workout has no recorded HR, power, or pace/speed stream with a matching saved zone setup.\"})]}),detailTab===\"stress\"&&/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",alignItems:\"center\",gap:12,marginBottom:16},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>void recalculateTrainingLoad(),disabled:loadRecalculating||!selectedWorkoutDetail.fit_path,style:{border:0,borderRadius:7,padding:\"10px 18px\",background:SUMMIQ_ACCENT,color:\"var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69))\",fontFamily:\"Teko, sans-serif\",fontSize:20,fontWeight:600,cursor:loadRecalculating?\"wait\":\"pointer\",opacity:loadRecalculating||!selectedWorkoutDetail.fit_path?.6:1},children:loadRecalculating?\"RECALCULATING…\":\"RECALCULATE\"}),/*#__PURE__*/_jsx(\"span\",{role:\"status\",\"aria-live\":\"polite\",style:{fontSize:16},children:loadRecalculationStatus||(!selectedWorkoutDetail.fit_path?\"The recorded FIT file is required for recalculation.\":\"Recalculate TL and uTL using your saved training settings.\")})]}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"repeat(auto-fit, minmax(180px, 1fr))\",gap:12},children:[[\"Intensity Factor (IF)\",formatIF(selectedIF),workoutIfNotice(selectedWorkoutDetail)||\"Weighted average power divided by your saved FTP for this workout. Requires power and FTP.\"],[\"Training Load (TL)\",nonNegativeNumber(selectedWorkoutDetail.training_load)!==null?Math.round(selectedWorkoutDetail.training_load):\"Unavailable\",\"Training load from the selected source.\"],[\"Unified Training Load (uTL)\",nonNegativeNumber(selectedWorkoutDetail.utl)!==null?Math.round(selectedWorkoutDetail.utl):\"Unavailable\",\"Unified training load after sport-specific conversion.\"],[\"TRAINING LOAD SOURCE\",selectedWorkoutDetail.training_load_key||\"Unavailable\",stressExplanation(selectedWorkoutDetail.training_load_key)]].map(([label,value,explanation])=>/*#__PURE__*/_jsxs(\"section\",{style:{padding:16,borderRadius:9,border:\"1px solid var(--token-53181cfb-6f3c-40d8-9548-414e28a77c07, rgb(64, 89, 101))\",background:\"var(--token-4b48ff5d-c0fc-4a31-a84f-07072c7c967b, rgb(41, 65, 79))\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{color:SUMMIQ_ACCENT,fontSize:12,letterSpacing:\"0.1em\"},children:[label,label===\"Intensity Factor (IF)\"&&/*#__PURE__*/_jsx(IntensityFactorInfo,{})]}),/*#__PURE__*/_jsx(\"div\",{style:{color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontSize:28,marginTop:5},children:value}),/*#__PURE__*/_jsx(\"div\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 62%, transparent)\",fontSize:14,lineHeight:1.18,marginTop:10},children:explanation})]},label))}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"repeat(2, minmax(0, 1fr))\",gap:12,marginTop:14},children:[/*#__PURE__*/_jsxs(\"section\",{style:{padding:16,borderRadius:9,background:\"color-mix(in srgb, var(--token-1c8576e1-95ac-4ac7-9251-2a81b8830bd1, rgb(117, 230, 200)) 6%, transparent)\",border:\"1px solid var(--token-53181cfb-6f3c-40d8-9548-414e28a77c07, rgb(64, 89, 101))\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{color:\"var(--token-1c8576e1-95ac-4ac7-9251-2a81b8830bd1, rgb(117, 230, 200))\",fontSize:13,letterSpacing:\"0.1em\"},children:\"WEIGHTED AVERAGE POWER\"}),/*#__PURE__*/_jsx(\"p\",{style:{margin:\"7px 0 0\",color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 72%, transparent)\",fontSize:15,lineHeight:1.2},children:\"Calculated from a rolling 30-second power average. This gives variable efforts their true physiological weight before power-based TL is calculated.\"})]}),/*#__PURE__*/_jsxs(\"section\",{style:{padding:16,borderRadius:9,background:summiqAccentAlpha(.06),border:\"1px solid \"+summiqAccentAlpha(.18)},children:[/*#__PURE__*/_jsx(\"div\",{style:{color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontSize:13,letterSpacing:\"0.1em\"},children:\"MODEL VERSION\"}),/*#__PURE__*/_jsx(\"div\",{style:{color:\"var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250))\",fontSize:22,marginTop:7},children:selectedWorkoutDetail.calculation_model_version||\"Unavailable\"}),/*#__PURE__*/_jsx(\"p\",{style:{margin:\"7px 0 0\",color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 72%, transparent)\",fontSize:15,lineHeight:1.2},children:\"The calculation release stored with this workout keeps results interpretable as the model evolves.\"})]})]})]}),detailTab===\"route\"&&/*#__PURE__*/_jsx(\"div\",{children:detailFit?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{borderRadius:10,overflow:\"hidden\",border:\"1px solid color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 14%, transparent)\"},children:/*#__PURE__*/_jsx(MapPanel,{fit:detailFit,height:500})}),(()=>{const points=routePoints(detailFit);const first=points[0],last=points[points.length-1];const latitudes=points.map(point=>point.lat),longitudes=points.map(point=>point.lon);return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"repeat(4, minmax(0, 1fr))\",gap:10,marginTop:14},children:[/*#__PURE__*/_jsxs(\"div\",{style:{padding:12,background:\"var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69))\",borderRadius:7},children:[/*#__PURE__*/_jsx(\"div\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 50%, transparent)\",fontSize:11,letterSpacing:\"0.08em\"},children:\"START\"}),/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:4,fontSize:15},children:[formatCoordinate(first?.lat),/*#__PURE__*/_jsx(\"br\",{}),formatCoordinate(first?.lon)]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{padding:12,background:\"var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69))\",borderRadius:7},children:[/*#__PURE__*/_jsx(\"div\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 50%, transparent)\",fontSize:11,letterSpacing:\"0.08em\"},children:\"FINISH\"}),/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:4,fontSize:15},children:[formatCoordinate(last?.lat),/*#__PURE__*/_jsx(\"br\",{}),formatCoordinate(last?.lon)]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{padding:12,background:\"var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69))\",borderRadius:7},children:[/*#__PURE__*/_jsx(\"div\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 50%, transparent)\",fontSize:11,letterSpacing:\"0.08em\"},children:\"LATITUDE RANGE\"}),/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:4,fontSize:15},children:[formatCoordinate(Math.min(...latitudes)),/*#__PURE__*/_jsx(\"br\",{}),\"to \",formatCoordinate(Math.max(...latitudes))]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{padding:12,background:\"var(--token-fefbc56e-37da-4294-8c8c-807f30d4b33d, rgb(32, 55, 69))\",borderRadius:7},children:[/*#__PURE__*/_jsx(\"div\",{style:{color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 50%, transparent)\",fontSize:11,letterSpacing:\"0.08em\"},children:\"LONGITUDE RANGE\"}),/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:4,fontSize:15},children:[formatCoordinate(Math.min(...longitudes)),/*#__PURE__*/_jsx(\"br\",{}),\"to \",formatCoordinate(Math.max(...longitudes))]})]})]});})()]}):/*#__PURE__*/_jsx(\"div\",{style:{padding:24,color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 60%, transparent)\"},children:\"Load the FIT file to view the interactive route and its geographic details.\"})}),detailTab===\"ai-coach\"&&/*#__PURE__*/_jsx(WorkoutCoachPanel,{modelSelection:aiCoachModel,messages:aiCoachMessages,loading:aiCoachLoading,clearing:aiCoachClearing,deletingMessageId:aiCoachDeletingMessageId,question:aiCoachQuestion,error:aiCoachStatus,elapsedSeconds:aiCoachElapsedSeconds,pendingQuestion:aiCoachPendingQuestion,hasFit:Boolean(detailFit),onQuestionChange:setAiCoachQuestion,onStartReview:()=>void requestAiCoachAnalysis(),onSend:()=>void requestAiCoachAnalysis(aiCoachQuestion),onClearHistory:()=>void clearWorkoutCoachHistory(),onDeleteMessage:message=>void deleteWorkoutCoachMessage(message)}),detailTab===\"analysis\"&&hasAnalysisData&&/*#__PURE__*/_jsx(\"div\",{children:detailFit?/*#__PURE__*/_jsxs(_Fragment,{children:[(detailFit.streams?.route?.times?.length||0)>1&&/*#__PURE__*/_jsx(\"div\",{style:{borderRadius:10,overflow:\"hidden\",border:\"1px solid color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 14%, transparent)\",marginBottom:14},children:/*#__PURE__*/_jsx(MapPanel,{fit:detailFit,focusTime:analysisFocusTime,height:220})}),/*#__PURE__*/_jsx(WorkoutAnalysisCharts,{fit:detailFit,sport:selectedWorkoutDetail.sport,focusTime:analysisFocusTime,onFocusTime:setAnalysisFocusTime})]}):/*#__PURE__*/_jsx(\"div\",{style:{padding:24,color:\"color-mix(in srgb, var(--token-a3ed6c35-3269-485a-b55e-2ee55ad8b75c, rgb(245, 247, 250)) 60%, transparent)\",fontSize:14},children:\"Load the FIT file to inspect its recorded streams.\"})})]})]})]}),aiAnalysisTarget&&selectedWorkoutDetail?.id===aiAnalysisTarget.id&&/*#__PURE__*/_jsx(WorkoutAiAnalysisConfirmation,{workoutTitle:aiAnalysisTarget.title,onCancel:()=>setAiAnalysisTarget(null),onConfirm:()=>{const target=aiAnalysisTarget;setAiAnalysisTarget(null);if(sessionFromToken()?.userId!==target.userId||selectedWorkoutDetail?.id!==target.id)return;window.dispatchEvent(new CustomEvent(\"summiq:open-coach\",{detail:{autoSend:true,workoutId:target.id,message:\"Please do a deep dive on this specific completed workout: “\"+target.title+\"”. Analyze its recorded metrics, pacing, intensity, training load and FIT file if available, and explain the main findings and practical takeaways. Workout ID: \"+target.id}}));}},aiAnalysisTarget.userId+\":\"+aiAnalysisTarget.id)]});}addPropertyControls(WorkoutLibrary,{height:{type:ControlType.Number,title:\"Height\",defaultValue:760,min:260,max:1400,step:20,unit:\"px\"},mode:{type:ControlType.Enum,title:\"Mode\",options:[\"library\",\"overlay\",\"dashboard-zones\"],optionTitles:[\"Library\",\"Dashboard overlay\",\"Dashboard zones\"],defaultValue:\"library\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"WorkoutLibrary\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./WorkoutLibrary.map"],"mappings":"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"}