<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Weekly Self-Care First Retreat Planner</title>
  <style>
    body {
      font-family: "Segoe UI", Tahoma, sans-serif;
      background: #f9fdf9;
      color: #333;
      margin: 0;
      padding: 20px;
    }
    h1 {
      text-align: center;
      color: #2e604a;
      margin-bottom: 30px;
    }
    .day {
      background: #ffffff;
      border-radius: 12px;
      padding: 20px;
      margin-bottom: 25px;
      box-shadow: 0 4px 8px rgba(0,0,0,0.05);
    }
    h2 {
      margin-top: 0;
      color: #36624f;
      border-bottom: 1px solid #d1f0dc;
      padding-bottom: 5px;
    }
    h3 {
      color: #446b55;
      margin-top: 15px;
    }
    .checklist {
      list-style: none;
      padding: 0;
    }
    .checklist li {
      margin: 10px 0;
      padding: 10px;
      display: flex;
      align-items: center;
      border-radius: 8px;
      background: #f0f9f4;
      transition: background 0.3s;
    }
    input[type="checkbox"] {
      margin-right: 10px;
      transform: scale(1.2);
    }
    .checklist li.checked {
      background: #d1f0dc;
      text-decoration: line-through;
      color: #666;
    }
    textarea {
      width: 100%;
      margin-top: 12px;
      padding: 10px;
      min-height: 80px;
      border: 1px solid #d1f0dc;
      border-radius: 8px;
      font-size: 0.95em;
      resize: vertical;
      background: #fdfdfd;
    }
    textarea:focus {
      outline: none;
      border-color: #2e604a;
      box-shadow: 0 0 4px rgba(46,96,74,0.3);
    }
    footer {
      text-align: center;
      margin-top: 30px;
      font-size: 0.9em;
      color: #555;
    }
    a {
      color: #2e604a;
      text-decoration: none;
      font-weight: bold;
    }
    @media (max-width: 700px) {
      body { padding: 10px; }
      .day { padding: 15px; }
    }
  </style>
</head>
<body>

  <h1>๐ŸŒฟ Weekly Self-Care First Retreat Planner</h1>
  <div id="planner"></div>

  <footer>
    Inspired by PJ Zitoโ€™s supportive self-care resources.  
    Explore more at <a href="http://www.ZitoProHealth.com" target="_blank">ZitoProHealth.com</a>
  </footer>

  <script>
    // ---- safe storage wrapper ----
    let storageAvailable = true;
    let safeStorage = {};
    try {
      localStorage.setItem("_test", "ok");
      localStorage.removeItem("_test");
    } catch (e) {
      storageAvailable = false;
      console.warn("LocalStorage not available, using in-memory session only.");
    }

    function loadData(key) {
      if (storageAvailable) {
        try {
          return JSON.parse(localStorage.getItem(key)) || {};
        } catch (e) {
          return {};
        }
      } else {
        return safeStorage[key] || {};
      }
    }

    function saveData(key, data) {
      if (storageAvailable) {
        try {
          localStorage.setItem(key, JSON.stringify(data));
        } catch (e) {
          // fail silently if blocked
        }
      } else {
        safeStorage[key] = data;
      }
    }

    // ---- planner setup ----
    const days = [
      "Day 1 ๐ŸŒ…", "Day 2 ๐ŸŒผ", "Day 3 ๐ŸŒป",
      "Day 4 ๐ŸŒธ", "Day 5 ๐ŸŒฟ", "Day 6 ๐ŸŒ™", "Day 7 ๐ŸŒบ"
    ];
    const morningList = [
      "Awaken with 5 deep breaths โ€“ 'Today begins with me.'",
      "Mental Plane Shift โ€“ Choose and write a supportive thought",
      "Journal Prompt โ€“ 'What energy do I want to bring into my day?'"
    ];
    const eveningList = [
      "Release with 5 deep breaths โ€“ let go of the dayโ€™s weight",
      "Journal Prompt โ€“ 'What am I grateful for today, and what can I release before sleep?'",
      "Mental Plane Reset โ€“ Reframe challenges with compassion",
      "Body Soothing โ€“ stretch, tea, or hand-to-heart grounding"
    ];

    const plannerContainer = document.getElementById("planner");

    days.forEach((day, dayIndex) => {
      const dayKey = "planner_day_" + dayIndex;
      const savedData = loadData(dayKey);

      const dayDiv = document.createElement("div");
      dayDiv.classList.add("day");

      const title = document.createElement("h2");
      title.textContent = day;
      dayDiv.appendChild(title);

      // Morning
      const morningHeader = document.createElement("h3");
      morningHeader.textContent = "๐ŸŒ… Morning Practice";
      dayDiv.appendChild(morningHeader);

      const morningUl = document.createElement("ul");
      morningUl.classList.add("checklist");
      morningList.forEach((item, i) => {
        const li = document.createElement("li");
        const checkbox = document.createElement("input");
        checkbox.type = "checkbox";
        const key = "morning_" + i;

        if (savedData[key]) {
          checkbox.checked = true;
          li.classList.add("checked");
        }
        checkbox.addEventListener("change", () => {
          li.classList.toggle("checked", checkbox.checked);
          savedData[key] = checkbox.checked;
          saveData(dayKey, savedData);
        });

        li.appendChild(checkbox);
        li.appendChild(document.createTextNode(item));
        morningUl.appendChild(li);
      });
      dayDiv.appendChild(morningUl);

      // Evening
      const eveningHeader = document.createElement("h3");
      eveningHeader.textContent = "๐ŸŒ™ Evening Practice";
      dayDiv.appendChild(eveningHeader);

      const eveningUl = document.createElement("ul");
      eveningUl.classList.add("checklist");
      eveningList.forEach((item, i) => {
        const li = document.createElement("li");
        const checkbox = document.createElement("input");
        checkbox.type = "checkbox";
        const key = "evening_" + i;

        if (savedData[key]) {
          checkbox.checked = true;
          li.classList.add("checked");
        }
        checkbox.addEventListener("change", () => {
          li.classList.toggle("checked", checkbox.checked);
          savedData[key] = checkbox.checked;
          saveData(dayKey, savedData);
        });

        li.appendChild(checkbox);
        li.appendChild(document.createTextNode(item));
        eveningUl.appendChild(li);
      });
      dayDiv.appendChild(eveningUl);

      // Notes
      const notesHeader = document.createElement("h3");
      notesHeader.textContent = "๐Ÿ“ Personal Notes & Reflections";
      dayDiv.appendChild(notesHeader);

      const notesArea = document.createElement("textarea");
      notesArea.placeholder = "Write your thoughts, gratitudes, or insights here...";
      notesArea.value = savedData["notes"] || "";

      notesArea.addEventListener("input", () => {
        savedData["notes"] = notesArea.value;
        saveData(dayKey, savedData);
      });

      dayDiv.appendChild(notesArea);

      plannerContainer.appendChild(dayDiv);
    });
  </script>

</body>
</html>