// Realistic sample data for Run platform

const RUN_DATA = {
  athlete: {
    name: "Maya Chen",
    handle: "@mayac",
    coach: "Marcus Webb",
    avatar: "linear-gradient(135deg, #FFB627, #FF6B35)",
    pr5k: "18:42",
    pr10k: "39:18",
    weekMileage: 38.4,
    weekTarget: 42,
    readiness: 86,
    nextRace: { name: "Boulder 10K", date: "Jun 14", daysOut: 28 },
  },

  // 7 days, today at index 3 (Wed)
  week: [
    { day: "Mon", date: "May 12", type: "Easy", title: "Easy 6mi", planned: "6.0 mi @ 8:30/mi", status: "done", actual: "6.1 mi · 8:24/mi" },
    { day: "Tue", date: "May 13", type: "Speed", title: "5×1K @ 5K pace", planned: "5×1000m · 3:45/k · 90s rest", status: "done", actual: "5×1K · 3:42 avg" },
    { day: "Wed", date: "May 14", type: "Easy", title: "Easy 5mi + strides", planned: "5.0 mi + 6×100m", status: "done", actual: "5.2 mi · 8:38/mi" },
    { day: "Thu", date: "May 15", type: "Speed", title: "Track: 8×400m", planned: "8×400m · 85s · 200m jog", status: "today", actual: null },
    { day: "Fri", date: "May 16", type: "Rest", title: "Rest day", planned: "Mobility 20min", status: "upcoming", actual: null },
    { day: "Sat", date: "May 17", type: "Long", title: "Long 10mi w/ tempo", planned: "10 mi · last 4 @ 6:50/mi", status: "upcoming", actual: null },
    { day: "Sun", date: "May 18", type: "Easy", title: "Recovery 4mi", planned: "4.0 mi @ 9:00/mi", status: "upcoming", actual: null },
  ],

  todayWorkout: {
    title: "Track: 8×400m",
    type: "Speed",
    pace: "5K pace · 85 sec / 400",
    location: "Boulder HS Track",
    structure: [
      { label: "Warm-up", detail: "2 mi easy", duration: "~17:00", pace: "8:30/mi" },
      { label: "Drills + 4×strides", detail: "A-skips, high knees, 4×100m", duration: "8:00", pace: "—" },
      { label: "Main set", detail: "8×400m", duration: "23:00", pace: "85s / 200m jog", isMain: true },
      { label: "Cool-down", detail: "1 mi easy", duration: "~9:00", pace: "8:45/mi" },
    ],
    coachNote: "Goal is consistency, not heroics. First two should feel easy. Hit 84–86 every rep. Voice note attached.",
    aiInsight: "Recovery score 86 — green light. HRV trending up 4 days. Cleared for full session.",
  },

  liveRun: {
    elapsed: "00:23:14",
    distance: 3.42,
    pace: "6:48",
    avgPace: "6:52",
    hr: 168,
    cadence: 178,
    splits: [
      { mi: 1, pace: "6:55", hr: 162 },
      { mi: 2, pace: "6:51", hr: 167 },
      { mi: 3, pace: "6:48", hr: 169 },
    ],
    currentInterval: { num: 4, of: 8, target: "85s", elapsed: "0:42", remaining: 100 },
  },

  trends: {
    weeklyMiles: [22, 28, 31, 35, 38, 36, 38, 42, 39, 44, 41, 38],
    weekLabels: ["wk-11", "-10", "-9", "-8", "-7", "-6", "-5", "-4", "-3", "-2", "last", "this"],
    fitnessLoad: 78,
    fatigue: 42,
    form: 36, // fitness - fatigue
    monthDistance: 162.4,
    monthPaceGain: -8, // seconds/mile improvement
    consistency: 94,
  },

  // Heat-map: 7 weeks × 7 days, intensity 0-4
  heatmap: [
    [0, 2, 0, 2, 0, 3, 1],
    [1, 3, 0, 2, 0, 4, 1],
    [0, 2, 1, 3, 0, 3, 0],
    [1, 3, 0, 3, 0, 4, 1],
    [0, 2, 1, 2, 0, 3, 1],
    [1, 3, 0, 3, 0, 4, 0],
    [0, 2, 0, 3, 1, 0, 1], // current week, partial
  ],

  messages: [
    { from: "coach", time: "Yesterday", text: "Great session on Tuesday — the splits looked even. How are the legs feeling?", voice: false },
    { from: "me", time: "Yesterday", text: "Solid! Right hamstring a little tight day after but loosened up.", voice: false },
    { from: "coach", time: "Yesterday", text: "Good. For tomorrow's 8×400, aim 84–86. I'm going to send a voice note about pacing the back half.", voice: false },
    { from: "coach", time: "8:42 AM", text: "", voice: true, duration: "1:24" },
    { from: "coach", time: "8:43 AM", text: "Quick warm-up note — keep it relaxed, you've earned the speed.", voice: false },
    { from: "me", time: "9:18 AM", text: "Got it. Heading to the track at 4.", voice: false },
  ],

  // Coach dashboard
  roster: [
    { name: "Maya Chen", group: "Elite", load: 86, status: "green", lastRun: "5.2 mi · y'day", trend: +4, races: ["Boulder 10K"], nextRace: "28d", avatar: "linear-gradient(135deg, #FFB627, #FF6B35)" },
    { name: "Daniel Okafor", group: "Elite", load: 92, status: "yellow", lastRun: "12 mi · y'day", trend: +6, races: ["NYC Marathon"], nextRace: "112d", avatar: "linear-gradient(135deg, #FF6B35, #FF3B30)" },
    { name: "Sophie Lambert", group: "Sub-elite", load: 68, status: "green", lastRun: "Rest", trend: 0, races: ["Track 5K"], nextRace: "14d", avatar: "linear-gradient(135deg, #FFCB6B, #FF8C42)" },
    { name: "Jordan Reyes", group: "Sub-elite", load: 104, status: "red", lastRun: "8 mi · 2d ago", trend: -3, races: ["Half Marathon"], nextRace: "42d", avatar: "linear-gradient(135deg, #FFA07A, #FF6347)" },
    { name: "Aïsha Diallo", group: "Elite", load: 81, status: "green", lastRun: "Intervals · y'day", trend: +2, races: ["Track 1500m"], nextRace: "21d", avatar: "linear-gradient(135deg, #FFB627, #E85D2F)" },
    { name: "Tomás Herrera", group: "Development", load: 54, status: "green", lastRun: "4 mi · y'day", trend: +1, races: ["First 10K"], nextRace: "56d", avatar: "linear-gradient(135deg, #FFD89B, #FF9F66)" },
    { name: "Kira Volkov", group: "Sub-elite", load: 73, status: "green", lastRun: "Tempo · y'day", trend: +3, races: ["Track 5K"], nextRace: "14d", avatar: "linear-gradient(135deg, #FFAB76, #FF5722)" },
    { name: "Liam Walsh", group: "Development", load: 48, status: "yellow", lastRun: "—", trend: -2, races: ["5K debut"], nextRace: "35d", avatar: "linear-gradient(135deg, #FFC48C, #FF7849)" },
  ],
};

window.RUN_DATA = RUN_DATA;
