/* Lesson detail pages for 02–08.
   Shared shell + per-lesson content. Each lesson ≈ 45–60 min of Delaney's time.
   Cites real creators / current AI landscape. Updateable. */

const { useEffect: useEffectLD, useState: useStateLD } = React;

/* ---------- Shared shell ---------- */
function LessonShell({ id, eyebrow, title, lead, sections, ctaLabel, ctaAction, payout, refreshed }) {
  function markComplete() {
    localStorage.setItem(`delaney.lesson.${id}.complete`, new Date().toISOString());
    alert(`Lesson ${id} complete. $${payout} added to your cash-out.\nHit Cash Out on the dashboard when you're ready.`);
    window.location.hash = "#/dashboard";
  }
  return (
    <main className="page-enter" data-screen-label={`Lesson ${id}`}>
      <section className="lesson-detail">
        <div className="shell">
          <button className="link-underline" onClick={() => window.location.hash = "#/lessons"} style={{ marginBottom: 28 }}>
            <span aria-hidden="true">←</span> All lessons
          </button>

          <div className="eyebrow">{eyebrow}</div>
          <h1 className="welcome-h1 serif" style={{ fontSize: "clamp(40px, 6vw, 72px)", marginTop: 14 }}>
            {title}
          </h1>
          <p className="welcome-lead" style={{ maxWidth: 720, marginTop: 18 }}>
            {lead}
          </p>

          {refreshed && (
            <div className="refresh-badge">🔄 Refreshed {refreshed} · expect this to change as the AI world shifts</div>
          )}

          {sections.map((S, i) => (
            <section key={i} className="lesson-section">
              <div className="eyebrow">{S.eyebrow}</div>
              <h2 className="serif lesson-h2">{S.title}</h2>
              {S.body && S.body.map((para, j) => (
                <p key={j} className="welcome-lead" style={{ maxWidth: 720 }} dangerouslySetInnerHTML={{ __html: para }} />
              ))}
              {S.list && (
                <ol className="lesson-howto-list">
                  {S.list.map((item, j) => (
                    <li key={j} dangerouslySetInnerHTML={{ __html: item }} />
                  ))}
                </ol>
              )}
              {S.bullets && (
                <ul className="lesson-bullets">
                  {S.bullets.map((item, j) => (
                    <li key={j} dangerouslySetInnerHTML={{ __html: item }} />
                  ))}
                </ul>
              )}
              {S.callout && (
                <div className="lesson-callout">
                  <div className="eyebrow">{S.callout.label}</div>
                  <p dangerouslySetInnerHTML={{ __html: S.callout.text }} />
                </div>
              )}
              {S.creators && (
                <div className="creator-grid">
                  {S.creators.map((c, j) => (
                    <div key={j} className="creator-card">
                      <div className="creator-handle">{c.handle}</div>
                      <div className="creator-platform">{c.platform}</div>
                      <p className="creator-why">{c.why}</p>
                    </div>
                  ))}
                </div>
              )}
              {S.prompts && (
                <div className="prompt-stack">
                  <div className="eyebrow" style={{ marginBottom: 8 }}>Copy these into your chat</div>
                  {S.prompts.map((p, j) => (
                    <pre key={j} className="prompt-card">{p}</pre>
                  ))}
                </div>
              )}
            </section>
          ))}

          <div className="lesson-cta-row">
            {ctaLabel && (
              <button className="btn btn--terracotta" onClick={ctaAction} style={{ fontSize: 17, padding: "18px 32px" }}>
                {ctaLabel} →
              </button>
            )}
            <button className="link-underline" onClick={markComplete}>
              I'm done — mark complete <span aria-hidden="true">✓</span>
            </button>
          </div>
        </div>
      </section>

      <style>{`
        .lesson-detail { padding: clamp(48px, 8vw, 96px) 0; }
        .lesson-section {
          margin-top: 56px;
          padding-top: 40px;
          border-top: 1px solid var(--line);
        }
        .lesson-h2 {
          font-size: clamp(28px, 3.4vw, 40px);
          margin: 14px 0 18px;
          font-weight: 500;
          line-height: 1.15;
        }
        .lesson-howto-list { margin: 20px 0 0 20px; padding: 0; max-width: 720px; }
        .lesson-howto-list li {
          font-family: var(--serif);
          font-size: 18px;
          line-height: 1.6;
          color: var(--ink-1);
          margin-bottom: 14px;
          padding-left: 8px;
        }
        .lesson-bullets { margin: 16px 0 0 20px; padding: 0; max-width: 720px; }
        .lesson-bullets li {
          font-family: var(--serif);
          font-size: 17px;
          line-height: 1.55;
          color: var(--ink-1);
          margin-bottom: 10px;
        }
        .lesson-callout {
          margin-top: 24px;
          padding: 24px 28px;
          background: linear-gradient(135deg, var(--paper, #fff) 0%, var(--cream-deep, #f3ece2) 100%);
          border-left: 4px solid var(--terracotta);
          border-radius: 10px;
          max-width: 720px;
        }
        .lesson-callout p {
          font-family: var(--serif);
          font-size: 16px;
          line-height: 1.55;
          color: var(--ink-1);
          margin: 8px 0 0;
        }
        .lesson-cta-row {
          display: flex;
          gap: 28px;
          align-items: center;
          margin-top: 64px;
          flex-wrap: wrap;
        }
        .refresh-badge {
          display: inline-block;
          margin-top: 20px;
          padding: 6px 12px;
          font-family: var(--mono, monospace);
          font-size: 11px;
          letter-spacing: 0.08em;
          text-transform: uppercase;
          color: var(--ink-3);
          background: var(--cream-deep, #f3ece2);
          border-radius: 999px;
        }
        .creator-grid {
          display: grid;
          grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
          gap: 14px;
          margin-top: 20px;
          max-width: 820px;
        }
        .creator-card {
          padding: 18px 20px;
          background: var(--paper, #fff);
          border: 1px solid var(--line);
          border-radius: 10px;
        }
        .creator-handle {
          font-family: var(--display);
          font-weight: 700;
          font-size: 16px;
          color: var(--charcoal);
        }
        .creator-platform {
          font-family: var(--mono, monospace);
          font-size: 11px;
          letter-spacing: 0.08em;
          text-transform: uppercase;
          color: var(--terracotta-deep);
          margin-top: 2px;
        }
        .creator-why {
          font-family: var(--serif);
          font-size: 14px;
          line-height: 1.5;
          color: var(--ink-2);
          margin: 10px 0 0;
        }
        .prompt-stack { margin-top: 20px; max-width: 720px; }
        .prompt-card {
          background: var(--charcoal);
          color: var(--cream);
          padding: 16px 18px;
          border-radius: 8px;
          font-family: var(--mono, monospace);
          font-size: 13px;
          line-height: 1.55;
          white-space: pre-wrap;
          margin-bottom: 10px;
        }
      `}</style>
    </main>
  );
}

/* ---------- Helper: open chat with a prefilled prompt ---------- */
function openChatWith(prefill) {
  try { localStorage.setItem("delaney.chat.prefill", prefill); } catch {}
  window.location.hash = "#/chat";
}

/* ============================================================
   LESSON 02 — Redesign bydelaney.com
   ============================================================ */
function Lesson02Page() {
  return <LessonShell
    id="02"
    payout={15}
    eyebrow="Lesson 02 · $15 · ~1 hour"
    title={<>Redesign bydelaney.com.<br />Find your vibe.</>}
    lead={`This site (the one you're on) was a starting point. Your name is on it, but the design isn't really "you" yet. In this lesson you're going to push it somewhere that feels actually like Delaney — and you're going to do it by TALKING to your AI, not by learning Figma.`}
    refreshed="this week"
    sections={[
      {
        eyebrow: "Section 1 · 10 min",
        title: "Steal first, then make it yours.",
        body: [
          `Every designer worth anything starts by collecting references. Not stealing the work — stealing the <em>vibe</em>. The font choices, the spacing, the color story, the way the photos are cropped.`,
          `Spend the first 10 minutes scrolling. Pull screenshots of anything that makes you stop. Save them to a folder on your desktop called <code>delaney-vibes</code>.`,
        ],
        bullets: [
          `<strong>Pinterest:</strong> search "editorial portfolio," "minimal studio site," "anti-design."`,
          `<strong>siteinspire.com</strong> — curated gallery of design-forward sites.`,
          `<strong>godly.website</strong> — what designers on Twitter are obsessed with this week.`,
          `<strong>Instagram saved folder:</strong> any creator whose feed makes you jealous — open their link in bio, screenshot the site.`,
        ],
        callout: {
          label: "Real talk",
          text: `If your reference folder is full of stuff that looks like the current bydelaney.com, you haven't pushed hard enough. Find at least 3 that scare you a little.`
        }
      },
      {
        eyebrow: "Section 2 · 15 min",
        title: "Pick a vibe in plain English.",
        body: [
          `Now describe what you want to your AI. Not "make it pretty" — actually describe it. The more you can name what you see in the references, the better the result.`,
          `Open your chat and paste one of these. Then push back on whatever it suggests. Don't accept the first thing.`,
        ],
        prompts: [
          `Look at bydelaney.com. I want it to feel like [reference site/brand]. Specifically I love how they use [thing 1] and [thing 2]. What 3 changes would have the biggest impact on my site without me having to rebuild it from scratch?`,
          `My audience is small business owners who are intimidated by AI. Right now my site feels like [adjective]. I want it to feel like [adjective] instead — confident, warm, like a friend who knows what they're doing. What needs to change?`,
          `Give me 3 totally different design directions for bydelaney.com. For each one, describe the typography, the color palette, the photo style, and the overall energy in one paragraph. I'll pick one.`,
        ],
      },
      {
        eyebrow: "Section 3 · 10 min",
        title: "Who's doing this well right now.",
        body: [
          `These accounts are who working creatives are watching in 2026. Not the gurus — the people actually shipping. Follow 2 or 3. Their feeds will train your eye more than any class.`,
        ],
        creators: [
          { handle: "@brettfromdetsigner", platform: "Instagram", why: "Detail-obsessed Web design eye candy. Weekly site teardowns." },
          { handle: "Riley Brown", platform: "YouTube / X", why: "Builds with Cursor + Claude on stream. Watch how he prompts." },
          { handle: "@ridd_design", platform: "X (Twitter)", why: "Design system threads. Teaches by example, not theory." },
          { handle: "Alix Earle", platform: "TikTok / IG", why: "Not a designer — but her aesthetic is so dialed it's worth studying as a brand exercise." },
          { handle: "Greg Isenberg", platform: "YouTube", why: "Where indie startup design trends start. Steal his thumbnails for ideas." },
          { handle: "@studio.ahead", platform: "Instagram", why: "Bookmark-worthy moodboards. Free vibe research." },
        ],
      },
      {
        eyebrow: "Section 4 · 20 min",
        title: "Ship one real change.",
        body: [
          `Pick the smallest change you can make that moves the site noticeably. Not a redesign — a <em>shift</em>. Examples:`,
        ],
        bullets: [
          `Swap the headline font for something with more personality (Fraunces → Editorial New, or PP Editorial Old, or something hand-drawn).`,
          `Change the accent color from the current rose to something that feels more like you (sage? warm rust? deep navy?).`,
          `Replace the hero copy with something that sounds like how you'd actually introduce yourself at a party.`,
          `Add one personal photo that wasn't generated by AI.`,
        ],
        callout: {
          label: "The 80/20",
          text: `One real change beats five half-changes. Better to land one font swap and one color change than to half-redesign the whole site and leave it worse than before.`
        }
      },
      {
        eyebrow: "Section 5 · 5 min",
        title: "Write down what you'd do next.",
        body: [
          `Open the chat and tell your AI: "Here's what I changed today. Here's what I want to do next time I sit down with this. Save this so we can pick up where I left off."`,
          `That's how working with an AI gets compound interest. The next session doesn't start from zero.`,
        ],
      },
    ]}
    ctaLabel="Open Chat — Start with vibes"
    ctaAction={() => openChatWith("Help me redesign bydelaney.com. I want to start by collecting references. Ask me what 3 sites or accounts have the vibe I'm going for, then suggest the 3 highest-impact changes I could make in the next hour.")}
  />;
}

/* ============================================================
   LESSON 03 — Drop something weird on Dragon Drop
   ============================================================ */
function Lesson03Page() {
  return <LessonShell
    id="03"
    payout={15}
    eyebrow="Lesson 03 · $15 · ~45 min"
    title={<>Drop something weird<br />on Dragon Drop.</>}
    lead={`Dragon Drop is one of dad's products — you drop ANY document (contract, syllabus, recipe, lease, medical bill, a 60-page PDF you've been avoiding) and the AI tells you what it means, what to watch out for, and what to do next. Your job: try to break it. Find the weirdest thing you can and see what happens.`}
    refreshed="this week"
    sections={[
      {
        eyebrow: "Section 1 · 5 min",
        title: "Why this matters.",
        body: [
          `Most AI tools are trained to be impressive on clean inputs. The real test is messy real-world stuff — the wrinkled lease, the medical bill in 6pt font, the cookbook PDF your grandma scanned upside-down.`,
          `In 2026 the bar isn't "can the AI read a clean Word doc." Everyone can do that. The bar is: can it handle the actual chaos of someone's Dropbox?`,
        ],
      },
      {
        eyebrow: "Section 2 · 25 min",
        title: "Try these 4 weird things.",
        list: [
          `<strong>Something boring you've been avoiding.</strong> A lease, a medical bill, an insurance EOB, a tax form. See if it actually explains it in human English.`,
          `<strong>Something old or messy.</strong> A scanned PDF, a handwritten recipe, screenshots of a contract someone texted you. See if OCR holds up.`,
          `<strong>Something in another language.</strong> Spanish menu, French Wikipedia page, anything. Test the translation + comprehension.`,
          `<strong>Something it shouldn't be able to do.</strong> A music sheet. A chess board screenshot. Lyrics. A meme. The point is to find where it breaks.`,
        ],
        callout: {
          label: "Bonus",
          text: `If you can break it in a way that's funny or surprising, screenshot it and send to dad. That's a $25 bonus on top of this lesson — dad wants real failure cases more than he wants polish.`
        }
      },
      {
        eyebrow: "Section 3 · 10 min",
        title: "Tell your AI what you found.",
        body: [
          `Now go to your chat and walk through what worked and what didn't. Your AI is going to use this — it's how dad's products get better.`,
        ],
        prompts: [
          `I just tried Dragon Drop with 4 different documents. Here's what worked: [list]. Here's what broke: [list]. Here's what surprised me: [list]. What should I tell dad to fix first?`,
          `Compare Dragon Drop to ChatGPT's file upload and Claude's "Attach files." Where's Dragon Drop actually better? Where's it worse? Be honest.`,
        ],
      },
      {
        eyebrow: "Section 4 · 5 min",
        title: "Who else is doing doc-AI well.",
        body: [
          `So you know the competitive landscape — these are the players to know if anyone asks what makes Dragon Drop different:`,
        ],
        creators: [
          { handle: "Matt Wolfe", platform: "YouTube · Future Tools", why: "Weekly AI news. Search his channel for 'document AI' to see what just shipped." },
          { handle: "Wes Roth", platform: "YouTube", why: "Tries every new AI tool. Good baseline for what's table stakes." },
          { handle: "AI Explained", platform: "YouTube", why: "Deeper, less hype-y. Better for understanding why a tool works." },
          { handle: "Theo (t3.gg)", platform: "YouTube", why: "Developer perspective. Watch when you want to understand what's actually happening under the hood." },
        ],
      },
    ]}
    ctaLabel="Open Dragon Drop"
    ctaAction={() => window.open("https://mydragondrop.com", "_blank")}
  />;
}

/* ============================================================
   LESSON 04 — Mystery #1 — Vibe Chico (the "this was supposed to be you" reveal)
   ============================================================ */
function Lesson04Page() {
  return <LessonShell
    id="04"
    payout={40}
    eyebrow="Lesson 04 · 🔓 Mystery #1 · $40"
    title={<>Plot twist:<br />you were the persona.</>}
    lead={`Dad built a site called vibechico.com — an AI city guide for Chico, CA. Camera-on, voice-on, "I'm here, what should I do" energy. He named the AI guide DELANEY. Yes, after you. Then he renamed it Gabe because you didn't even know it existed. Your mission this lesson: go be the customer he originally built it for, then tell him what he got wrong.`}
    refreshed="this week"
    sections={[
      {
        eyebrow: "Section 1 · 5 min",
        title: "The backstory.",
        body: [
          `Dad spec'd Vibe Chico in early May. Wrote a whole persona doc — "Delaney, junior at Chico State, three years in Chico, knows the difference between tourist Chico and student Chico." Built the v1 around it. <strong>The AI's voice was literally modeled on you.</strong>`,
          `Then he asked himself "wait, would Delaney actually use this?" and never got an answer. So the persona got renamed to a generic Gabe. The site went live anyway.`,
          `You're going to be the answer he never got. Plus you get the rare experience of meeting the AI version of yourself.`,
        ],
        callout: {
          label: "Why this is the mystery",
          text: `Real product testing by the actual target user is the most valuable kind. Dad has paid consultants $5K+ for less.`
        }
      },
      {
        eyebrow: "Section 2 · 10 min",
        title: "Open it and try it as a real person.",
        body: [
          `Go to <strong>vibechico.com</strong> on your phone (not your laptop — it's mobile-first by design). Pretend you're a freshman visiting your boyfriend at Chico State for the weekend. You don't know the town. You want to know what's actually fun.`,
          `Hit the camera, hit the mic, talk to Gabe. Ask the questions you'd ACTUALLY ask: "where do people go on a Saturday night," "is the Bear worth the line," "what's a coffee shop where I can study for 4 hours," "is Bidwell Park safe at night."`,
        ],
        bullets: [
          `Notice if voice input actually works.`,
          `Notice if the camera shows live preview while you're talking.`,
          `Notice if his recommendations match real Chico-student knowledge or feel like Yelp scraped them.`,
          `Notice when he sounds like a robot vs. when he sounds like a friend.`,
        ],
      },
      {
        eyebrow: "Section 3 · 15 min",
        title: "Now flip the script — be the local.",
        body: [
          `You've lived 3 years in Chico. You know things tourists don't. Ask Gabe questions ONLY a local would know the right answer to, and see if he passes:`,
        ],
        bullets: [
          `"Is the Bear actually fun or just famous?"`,
          `"Where do CSU football guys hang out vs. theater kids?"`,
          `"Best happy hour that isn't on a marketing list?"`,
          `"Where do I park downtown without getting ticketed?"`,
          `"What's the move at Lower Park in summer?"`,
          `"Sierra Nevada tap room — actually worth it or tourist trap?"`,
        ],
        callout: {
          label: "What you're really testing",
          text: `Does Gabe know Chico like a Chico person knows Chico — or does he know Chico like Google Maps knows Chico. Huge difference. That gap is the product's value.`
        }
      },
      {
        eyebrow: "Section 4 · 20 min",
        title: "Brainstorm 5 features a 21-year-old would actually use.",
        body: [
          `Open your chat and tell your AI you just tested Vibe Chico. Ask her to help you brainstorm what features would make it sticky for someone your age (not someone Dad's age). Push her — she should disagree with your bad ideas, not nod along.`,
        ],
        prompts: [
          `I just tested vibechico.com. My honest take: [your take]. What 5 features would make it something I'd actually open every weekend instead of just trying once? Be opinionated. Tell me which of those 5 is the most expensive to build and which is the cheapest.`,
          `If Vibe Chico had a "friends mode" where 4 of us could be live together in the same room with Gabe — like the Houseparty energy — would that work? Or is that just adding cost without value?`,
          `Compare Vibe Chico to: Snapchat Snap Map, Instagram's Add Yours stickers, Tiendeo, Eventbrite, just-walking-around-with-your-friends. Where does it actually win?`,
        ],
        creators: [
          { handle: "Greg Isenberg", platform: "YouTube · Late Checkout", why: "Local discovery is one of his recurring obsessions — watch any of his 'community-first product' videos for context on why this category is hot." },
          { handle: "Justine Moore (a16z)", platform: "X (Twitter)", why: "Tracks every new consumer AI app — knows what's working in mobile-first AI products right now." },
          { handle: "Riley Brown", platform: "YouTube / X", why: "Has done teardowns of similar 'AI-as-companion' mobile products. Useful reference." },
          { handle: "Sahil Lavingia", platform: "X / Gumroad blog", why: "Indie-product creator economy lens. Good for thinking about who pays for what." },
          { handle: "@chico_state_memes", platform: "Instagram", why: "Real-time pulse on what Chico students are actually talking about — proof of life on what your target user cares about." },
        ],
      },
      {
        eyebrow: "Section 5 · 10 min",
        title: "Write the memo to Dad.",
        body: [
          `Open the chat one more time. Have your AI help you draft a short memo (5 bullets MAX) titled <strong>"Vibe Chico — notes from the original persona."</strong> Send it to Dad. Format:`,
        ],
        list: [
          `<strong>What works</strong> — 1 sentence.`,
          `<strong>What's missing</strong> — 1–2 sentences. Be specific.`,
          `<strong>The one feature I'd add</strong> — pitch ONE that matters most.`,
          `<strong>Should you keep the Gabe persona or bring back Delaney?</strong> — your call, give the honest answer.`,
          `<strong>Would I personally use this?</strong> — yes/no/conditional. Don't soften it.`,
        ],
        callout: {
          label: "Why this matters more than the $40",
          text: `If your memo changes one product decision Dad makes on Vibe Chico, the value of your time on this lesson is 10× the payout. That's the whole game — being useful to the work, not just doing exercises.`
        }
      },
    ]}
    ctaLabel="Open Vibe Chico"
    ctaAction={() => window.open("https://vibechico.com", "_blank")}
  />;
}

/* ============================================================
   LESSON 05 — Try Schedule My Haircut as a customer
   ============================================================ */
function Lesson05Page() {
  return <LessonShell
    id="05"
    payout={15}
    eyebrow="Lesson 05 · $15 · ~45 min"
    title={<>Be the customer.<br />Then write the truth.</>}
    lead={`Schedule My Haircut is one of dad's live products — it's the booking experience for hair salons that aren't on Square or Vagaro yet. Your job in this lesson: PRETEND TO BE A REAL CUSTOMER. Book a fake appointment all the way through. Find what's clunky. Most product feedback is polite — yours should not be.`}
    refreshed="this week"
    sections={[
      {
        eyebrow: "Section 1 · 5 min",
        title: "How to actually do this.",
        body: [
          `Don't read the marketing site. Don't watch a demo. Open it the way a real customer would and book yourself a haircut. Pretend you found it on Instagram.`,
          `Use a real time, a real day, real-ish info. Go all the way to confirmation. Take screenshots of every step.`,
        ],
      },
      {
        eyebrow: "Section 2 · 30 min",
        title: "What to write down (be brutal).",
        body: [
          `Open a Notes doc. As you go, log every single moment that:`,
        ],
        bullets: [
          `Made you pause for more than 2 seconds.`,
          `Made you have to scroll back to figure out what's going on.`,
          `Used a word that a real person wouldn't use ("availability slot" instead of "time").`,
          `Asked for info that felt unnecessary at that step.`,
          `Looked like a default — like nobody actually designed it.`,
          `Made you think "ugh."`,
        ],
        callout: {
          label: "The standard to hold it to",
          text: `Compare it to booking an OpenTable reservation. Or an Uber. Those are the experiences that have trained your expectations as a 21-year-old. If Schedule My Haircut feels worse than those, that's the gap dad needs to know about.`
        }
      },
      {
        eyebrow: "Section 3 · 5 min",
        title: "Frame the feedback for dad.",
        body: [
          `Don't send him a list of 47 complaints. Open your chat and ask your AI to help you rank what you found:`,
        ],
        prompts: [
          `Here's everything that bothered me in Schedule My Haircut: [paste list]. Help me rank these into: (1) MUST FIX — it's losing customers right now, (2) SHOULD FIX — fast win once #1 is done, (3) NICE — I'd do this when bored. Then write a 3-paragraph summary I can paste to dad.`,
        ],
      },
      {
        eyebrow: "Section 4 · 5 min",
        title: "Who's setting the bar for this kind of UX.",
        body: [
          `These are the SaaS / booking products everyone benchmarks against in 2026. Spend 60 seconds in each one to refresh your standards before you write feedback:`,
        ],
        creators: [
          { handle: "Cal.com", platform: "Booking SaaS", why: "Open-source, devs love it. The clean baseline." },
          { handle: "Calendly", platform: "Booking SaaS", why: "Boring but unkillable. Studied for a reason." },
          { handle: "Resy / OpenTable", platform: "Reservations", why: "The mobile flow that most 20-somethings have memorized." },
          { handle: "Linear", platform: "SaaS UX inspiration", why: "Not booking, but everyone steals their patterns. Worth seeing once." },
        ],
      },
    ]}
    ctaLabel="Open Schedule My Haircut"
    ctaAction={() => window.open("https://schedulemyhaircut.com", "_blank")}
  />;
}

/* ============================================================
   LESSON 06 — Pitch one of dad's products in your own words
   ============================================================ */
function Lesson06Page() {
  return <LessonShell
    id="06"
    payout={20}
    eyebrow="Lesson 06 · $20 · ~1 hour"
    title={<>Pitch one of dad's products<br />like you're texting a friend.</>}
    lead={`Pick ONE of dad's products. Then write the homepage like you're describing it to your roommate at 11pm. No marketing-speak. No "leverage" or "empower" or "solutions." Just: what is this thing, who's it for, why should I care, how do I start.`}
    refreshed="this week"
    sections={[
      {
        eyebrow: "Section 1 · 5 min",
        title: "Pick your product.",
        bullets: [
          `<strong>Schedule My Haircut</strong> — booking for indie salons.`,
          `<strong>Dragon Drop</strong> — drop any doc, AI explains it.`,
          `<strong>AI Practice Broker</strong> — dental practice sales, AI-assisted.`,
          `<strong>The Dental Practice Market</strong> — marketplace for dental practices.`,
          `<strong>by Delaney</strong> — your own studio. (Yes, this counts. Especially this.)`,
        ],
        callout: {
          label: "Tip",
          text: `Pick the one you can actually explain after one minute of looking. If you have to read 6 paragraphs to understand it, that's already telling you the homepage isn't doing its job.`
        }
      },
      {
        eyebrow: "Section 2 · 15 min",
        title: "Read it like you've never seen it.",
        body: [
          `Open the live site. Read it out loud. Where do you trip? Where do you skim? Where do you stop reading because it sounded like every other website you've ever seen?`,
          `Make a list of the moments your eye glazed over. Those are the words that have to die.`,
        ],
      },
      {
        eyebrow: "Section 3 · 30 min",
        title: "Write the new version.",
        body: [
          `Structure your homepage like you're answering 5 questions in order — the questions a real person would ask out loud:`,
        ],
        list: [
          `<strong>What is this?</strong> One sentence. Plain English. A 14-year-old should understand it.`,
          `<strong>Who is this for?</strong> Be specific. "Small businesses" is not specific. "The guy who owns one barbershop and runs the books in a notebook" is specific.`,
          `<strong>Why should I care right now?</strong> What changes for me if I use it. What happens if I don't.`,
          `<strong>How do I try it?</strong> One button. One action. No 4-step funnel.`,
          `<strong>Who else uses it?</strong> Even if you have to make it aspirational. People believe other people, not claims.`,
        ],
        prompts: [
          `Here's the current homepage copy for [PRODUCT]: [paste]. Here's what I want it to feel like: [a friend texting you about something cool, not a SaaS company]. Rewrite the homepage in 5 sections (What is it / Who is it for / Why now / How do I try it / Who else uses it). Each section: max 3 sentences. Cut anything that sounds like marketing.`,
          `Now make 3 different versions of the headline alone. Don't make them all the same energy — one should be funny, one should be a question, one should be a flat-out promise.`,
        ],
      },
      {
        eyebrow: "Section 4 · 5 min",
        title: "Who's killing it at this in 2026.",
        body: [
          `Study how these people write. They all share the same trick: they write like a human, not a brand.`,
        ],
        creators: [
          { handle: "Sam Parr", platform: "X / The Hustle", why: "Built The Hustle on writing copy that sounds like a human emailing their friends." },
          { handle: "Dave Gerhardt", platform: "LinkedIn / Exit Five", why: "B2B copywriting that doesn't sound like B2B." },
          { handle: "Harry Dry", platform: "marketingexamples.com", why: "Library of homepage / ad copy teardowns. Steal his frameworks." },
          { handle: "Demand Curve", platform: "YouTube / blog", why: "Growth marketing tactics, copy-heavy. Modern, not 2015." },
          { handle: "Jason Cohen (WP Engine)", platform: "Long-form blog", why: "If you want to understand why most homepages fail." },
        ],
      },
    ]}
    ctaLabel="Open Chat — Start rewriting"
    ctaAction={() => openChatWith("Help me rewrite the homepage for one of dad's products. Ask me: (1) which product, (2) who I think the real customer is, (3) what I want the homepage to FEEL like. Then we'll write it together.")}
  />;
}

/* ============================================================
   LESSON 07 — Design a logo for bydelaney
   ============================================================ */
function Lesson07Page() {
  return <LessonShell
    id="07"
    payout={15}
    eyebrow="Lesson 07 · $15 · ~1 hour"
    title={<>Design your logo.<br />Workshop it. Buy it. Ship it.</>}
    lead={`Your wordmark is currently the default — "by DELANEY" in a system font with a little ¹. That's a placeholder. In this lesson you're going to actually design your real logo by working with the AI like an art director, not a clicker. By the end, it's live on your site.`}
    refreshed="this week"
    sections={[
      {
        eyebrow: "Section 1 · 10 min",
        title: "Decide what you want to feel.",
        body: [
          `A logo is not a picture. It's a feeling someone gets in 0.4 seconds. Before you generate anything, decide what feeling you want.`,
          `Examples of feelings, not styles: <em>quietly confident · warm and a little weird · serious without being stiff · expensive but not fussy · feminine without flowers</em>.`,
        ],
        prompts: [
          `I'm designing my own brand logo. My name is Delaney, brand is "by Delaney." My audience is small business owners who feel behind on AI. What 5 different "feelings" could the brand have, and what would each one look like as a logo direction? Give me a one-sentence description for each (typography, color, treatment).`,
        ],
      },
      {
        eyebrow: "Section 2 · 20 min",
        title: "Generate the first 6 options.",
        body: [
          `Pick the feeling that hits hardest. Then ask your AI to mock 6 different logo directions for that feeling — not 6 variations of the same thing, 6 actually different swings.`,
        ],
        prompts: [
          `I picked "[feeling]." Generate 6 distinct logo directions for "by Delaney." For each one: describe the typeface (or recommend a real one from Google Fonts), the layout, the icon or symbol if any, the color, and the personality in one sentence. Make them genuinely different — not 6 versions of the same idea.`,
          `Now turn the top 2 into actual visual references I can look at. Use [Midjourney / DALL-E / your image tool] and write the exact prompt I should use. Include style words ("editorial," "swiss design," "anti-design," whatever fits).`,
        ],
        callout: {
          label: "Tools that work",
          text: `Midjourney is the gold standard for visual mocks. Looka and Brandmark are fine for instant logos but tend to look generic. Best workflow in 2026: use AI to generate concepts, then redraw the winner in Figma or hand it to a real designer on Fiverr/Dribbble for $50–200 to finalize.`
        }
      },
      {
        eyebrow: "Section 3 · 20 min",
        title: "Pick. Refine. Buy.",
        list: [
          `Show your AI the option that's closest. Tell it what you want to change. Iterate 3–5 times.`,
          `Once you're 90% there — STOP iterating with AI and finalize in a real tool (Figma is free) or hand to a designer.`,
          `Save the final as: <code>delaney-logo-v1.svg</code>, <code>delaney-logo-v1-black.svg</code>, <code>delaney-logo-v1-white.svg</code>. SVG matters — it stays sharp at any size.`,
        ],
        callout: {
          label: "Don't overthink this",
          text: `Your first logo is not your forever logo. Airbnb's first logo was hideous. Just ship one you don't hate. You'll redesign it in 18 months when the brand has grown into something. That's normal.`
        }
      },
      {
        eyebrow: "Section 4 · 10 min",
        title: "Get it on the site.",
        body: [
          `Send the final SVG to dad (or drop it in your project folder) and tell your AI to swap it into the wordmark slot in <code>nav.jsx</code>. By the end of this hour, refresh the site — your new logo should be in the top-left corner.`,
        ],
        prompts: [
          `I have a new logo as an SVG file. Walk me through replacing the placeholder "by DELANEY" wordmark in nav.jsx with my real logo. Keep it accessible (still has aria-label="Go home"). Show me what to change line by line.`,
        ],
      },
      {
        eyebrow: "Section 5 · 5 min",
        title: "Who to study for brand identity in 2026.",
        creators: [
          { handle: "@dia.studio", platform: "Instagram", why: "Modern brand identity that's not boring. Steal their thinking, not their work." },
          { handle: "@cfye (Creative Fuel)", platform: "Instagram", why: "Brand teardowns of who's doing it right this month." },
          { handle: "Aaron Draplin", platform: "YouTube / DDC", why: "Logo-design godfather. Watch one of his livestreams." },
          { handle: "Linus Boman", platform: "YouTube", why: "Type-design nerd. Best explainer of why fonts matter." },
          { handle: "@futurebrand_design", platform: "Instagram", why: "Pure inspiration for editorial-leaning brand systems." },
        ],
      },
    ]}
    ctaLabel="Open Chat — Start designing"
    ctaAction={() => openChatWith("Help me design my real logo for 'by Delaney.' Start by asking what FEELING I want the brand to have — then we'll pick a direction and generate 6 options.")}
  />;
}

/* ============================================================
   LESSON 08 — Mystery #2 — Ship a real feature to a live product
   ============================================================ */
function Lesson08Page() {
  return <LessonShell
    id="08"
    payout={50}
    eyebrow="Lesson 08 · 🔓 Mystery #2 · $50"
    title={<>Ship a real feature.<br />Live customers see it.</>}
    lead={`This is the one where you stop doing exercises and ship something that's actually live. Pick one of Dad's running products. Pick one small feature it doesn't have yet. Build it WITH your AI. Push it to production. Real users see it the same day. $50 because the output is real.`}
    refreshed="this week"
    sections={[
      {
        eyebrow: "Section 1 · 10 min",
        title: "Pick the right product to ship to.",
        body: [
          `Don't pick the biggest product (too risky to break). Don't pick the smallest (no one will see it). Pick something in the middle — a live site with some traffic, where one good feature improvement is noticeable.`,
        ],
        bullets: [
          `<strong>laneymae.com</strong> — your own site. Lowest risk, fastest ship. Great starter.`,
          `<strong>vibechico.com</strong> — Dad's, mid-traffic. Perfect if you did Lesson 04.`,
          `<strong>schedulemyhaircut.com</strong> — Dad's, live customers. Higher stakes but real impact.`,
          `<strong>thedentalpracticemarket.com</strong> — Dad's marketplace. Big audience, but content-heavy — feature ideas there are different.`,
          `<strong>aipracticebroker.com</strong> — Dad's main AI tool. High visibility but also touchy — pick a small CTA tweak, not a core flow change.`,
        ],
        callout: {
          label: "If you pick laneymae.com",
          text: `Totally valid. It's your own thing, you're the customer + the owner, no one yells if you break it. Best place to feel what shipping is actually like.`
        }
      },
      {
        eyebrow: "Section 2 · 15 min",
        title: "Pick the feature.",
        body: [
          `The right feature has 3 properties: small enough to ship in 60 min, big enough that someone using the site would actually notice, and reversible if it sucks.`,
          `Open your chat and brainstorm with your AI. Ask her to be ruthless — most "feature ideas" people pitch are too big or too small.`,
        ],
        prompts: [
          `I'm shipping ONE real feature to [PRODUCT] in the next hour. Brainstorm 10 candidate features. For each: rate it on (1) noticeability to a real user, (2) build time in minutes, (3) reversibility if it sucks. Then recommend the one I should ship and explain why.`,
          `Now stress-test the winner. What's the worst thing that could happen if I ship this and it goes wrong? Is the worst case bad enough that I should pick a different feature, or is it fine?`,
        ],
        bullets: [
          `<strong>Examples that work:</strong> a new section on the homepage, a CTA button that links to something useful, a testimonial block, a "popular this week" rail, a sticky-footer signup form, a thank-you page that asks for a referral, an FAQ accordion.`,
          `<strong>Examples that DON'T work as a first ship:</strong> changing the checkout flow, modifying database schemas, anything involving auth, anything involving payments.`,
        ],
      },
      {
        eyebrow: "Section 3 · 30 min",
        title: "Build it WITH your AI.",
        body: [
          `Open Claude Code on Dad's laptop (or whatever environment he set up for you). Tell your AI what you're building. Have her write it WITH you — you describe, she codes, you review.`,
        ],
        list: [
          `<strong>Start with the smallest version.</strong> If it's a CTA button, start with the button working but unstyled.`,
          `<strong>Test it locally first.</strong> Make sure it doesn't break anything. Click around the site.`,
          `<strong>Make it look good.</strong> Match the existing style — font, color, spacing. Don't invent a new aesthetic.`,
          `<strong>Then push to production.</strong> If it's a Vercel project, that's just a git push or Vercel CLI command.`,
          `<strong>Open the live site on your phone</strong> after the deploy finishes. See it for real.`,
        ],
        callout: {
          label: "If something breaks",
          text: `Don't panic. Vercel keeps every deploy. You can roll back to the previous version in 2 clicks. Dad has done this 100 times — breaking and rolling back is part of shipping, not a failure.`
        }
      },
      {
        eyebrow: "Section 4 · 10 min",
        title: "Watch it work.",
        body: [
          `Hit the site on a couple of devices. Send the URL to a friend and ask "does this look right?" Take a screenshot of the new feature.`,
          `Pull up the analytics on the site (Vercel Analytics is the simplest). See if anyone hits the new feature within the first hour. That's not vanity — that's real product feedback in real time, the kind that used to take a $10K user test.`,
        ],
      },
      {
        eyebrow: "Section 5 · 10 min",
        title: "Write the changelog entry.",
        body: [
          `Every real engineer writes a one-paragraph note about what shipped, why, and what to watch for. Write yours. Send it to Dad. Format:`,
        ],
        list: [
          `<strong>Shipped:</strong> [the feature, in one sentence].`,
          `<strong>To:</strong> [which product, which URL].`,
          `<strong>Why:</strong> [the reason you picked this one — what problem it solves].`,
          `<strong>How to roll back if it breaks:</strong> [one sentence — usually "Vercel previous deploy"].`,
          `<strong>What I'd ship next:</strong> [your next idea, set up the follow-up].`,
        ],
        creators: [
          { handle: "Theo (t3.gg)", platform: "YouTube", why: "Watch any of his 'I built X in an hour' videos for the energy of shipping fast." },
          { handle: "Cassidy Williams", platform: "X / blog", why: "Best at explaining 'ship now, polish later' as a real practice not just a slogan." },
          { handle: "Levelsio (Pieter Levels)", platform: "X (Twitter)", why: "Ships indie products solo and writes about each launch — useful mental model." },
          { handle: "Hassan El Mghari (Nutlope)", platform: "X / GitHub", why: "Builds + ships AI-powered tools fast. Watch his repos for what 'shippable' looks like." },
          { handle: "Vercel changelog", platform: "vercel.com/changelog", why: "Read 3 of their entries — that's the format you're writing in, miniature version." },
        ],
      },
    ]}
    ctaLabel="Open Chat — Pick the product"
    ctaAction={() => openChatWith("I'm doing Mystery Lesson 08 — I have to ship ONE real feature to a live product in the next hour. Help me decide WHICH product to ship to. Options: laneymae.com, vibechico.com, schedulemyhaircut.com, thedentalpracticemarket.com, aipracticebroker.com. Ask me 2 questions to figure out which is the right call for today.")}
  />;
}

/* ============================================================
   LESSON 10 — Land your first 3 conversations
   ============================================================ */
function Lesson10Page() {
  return <LessonShell
    id="10"
    payout={30}
    eyebrow="Lesson 10 · $30 · ~1 hour"
    title={<>Land your first 3<br />real conversations.</>}
    lead={`You've built a site, tested products, written copy, designed a logo, shipped a feature, and made content. The only thing left is talking to real humans who could become real clients. This lesson is just that: pick 3 small businesses you'd want to work with, reach out, get a yes-or-no on a 15-minute call. Not a sale. Just a conversation.`}
    refreshed="this week"
    sections={[
      {
        eyebrow: "Section 1 · 10 min",
        title: "Pick 3 small businesses you actually like.",
        body: [
          `Not the biggest. Not the easiest. Pick 3 you genuinely want to work with. The ones where you'd be excited to tell a friend "I'm helping them with their marketing."`,
        ],
        bullets: [
          `A local Chico business: a coffee shop, restaurant, boutique, salon. The kind of place you already go.`,
          `A small business owned by someone you know IRL — a family friend, a neighbor, a parent of a high school friend.`,
          `A business you discovered on TikTok or Instagram in the last month that's small enough you could realistically email the owner.`,
        ],
        callout: {
          label: "Why this matters",
          text: `Cold outreach to strangers is the hardest version of this. Outreach to people you ACTUALLY want to help, that you have SOME connection to, is the easiest. Start where it's easiest — get reps in.`
        }
      },
      {
        eyebrow: "Section 2 · 20 min",
        title: "Write the message — keep it human.",
        body: [
          `The biggest mistake college students make on cold outreach is sounding like a fake corporate templater. Don't. Write like you're texting them.`,
        ],
        prompts: [
          `Help me write a 4-line outreach message to [Business]. Goal: a 15-minute call about their marketing. I don't want it to sound like every other cold pitch. Mention 1 specific thing I noticed about their Instagram/website/store. End with a low-bar ask ("would you be down for 15 min next week to hear what I noticed?"). No "I help businesses scale," no "leverage," no "synergy."`,
          `Now rewrite it 3 different ways: one that's warm, one that's direct, one that's funny. Pick the one that sounds most like me.`,
        ],
        callout: {
          label: "Template that actually works in 2026",
          text: `"Hey [first name] — I'm a marketing student at Chico State and I follow [their thing] on IG. I noticed [specific real observation]. I'm working with my dad on his AI marketing studio this summer and we have some ideas that might be a fit. Open to a 15-minute call next week? Totally fine if not — wanted to ask. — Delaney"`
        }
      },
      {
        eyebrow: "Section 3 · 15 min",
        title: "Send them.",
        body: [
          `Don't overthink. Send all 3 in one sitting. The longer you wait between drafting and sending, the more likely you are to delete it.`,
        ],
        bullets: [
          `Send each via the channel they actually use: IG DM for the IG-first business, email for the website-first one, walk in for the local one (if you're in town).`,
          `Track what you sent in a tiny Google doc: <strong>business · channel · sent date · response (Y/N) · result</strong>.`,
          `Set a follow-up reminder for 5 days. If no response, send ONE follow-up: "Hey, no pressure, just bumping this in case it got buried."`,
        ],
        callout: {
          label: "What to do with replies",
          text: `If they say yes — schedule the 15 min, then come back and do Milestone Mission #4 (validate idea with 10 real humans) or #5 (first paid client). If they say no — that's also a win. You got real reps.`
        }
      },
      {
        eyebrow: "Section 4 · 10 min",
        title: "Study who's killing it at this in 2026.",
        body: [
          `These are creators / operators teaching small-business outreach in a way that doesn't suck. Follow 2 or 3 — their feeds will teach you more than any class.`,
        ],
        creators: [
          { handle: "Codie Sanchez", platform: "YouTube / Contrarian Thinking", why: "Bought boring businesses, talks honestly about working with small biz owners. Best teacher for understanding what small business owners actually care about." },
          { handle: "Sam Parr", platform: "X / My First Million podcast", why: "Talks about how to start a service business with zero clients. Practical, not motivational." },
          { handle: "Justin Welsh", platform: "LinkedIn / X", why: "Solopreneur outreach playbook for service work. His templates are the modern gold standard." },
          { handle: "Greg Isenberg", platform: "YouTube", why: "Where small business marketing trends start. Watch his 'I'd start this business if I were 22' videos for ideas." },
          { handle: "Alex Hormozi", platform: "YouTube / IG", why: "Polarizing but the offer-construction frameworks are real. Take what works, skip the bro energy." },
        ],
      },
      {
        eyebrow: "Section 5 · 5 min",
        title: "Report back to Dad.",
        body: [
          `Drop him one sentence in chat: "Sent 3 outreach DMs to [biz 1, biz 2, biz 3]." That's it. The point is just to mark the moment. You went from doing exercises to doing the work.`,
          `Bonus: if any of them say yes, tell Dad and CC him on the next email. He's done this 1,000 times — he can coach you through your first real client call.`,
        ],
      },
    ]}
    ctaLabel="Open Chat — Help me pick 3 businesses"
    ctaAction={() => openChatWith("Lesson 10 — I need to pick 3 small businesses to reach out to for a 15-min marketing conversation. Ask me: (1) name 2 local Chico spots I love, (2) name 1 small biz owner I know personally, (3) name 1 small biz I follow on IG. Then help me prioritize which 3 to message first.")}
  />;
}

/* ============================================================
   LESSON 00 — Teach the AI who you are (build your .md file)
   The foundational one. Do it before everything else.
   ============================================================ */
function LessonMdFilePage() {
  return <LessonShell
    id="00"
    payout={15}
    eyebrow="Lesson 00 · The foundation · $15 · ~45 min"
    title={<>Teach the AI who you are.<br />Build your .md file.</>}
    lead={`Before you do anything else with AI, do this. Right now your AI talks to you the same way it talks to a 50-year-old accountant in Ohio — because it doesn't know you yet. This lesson fixes that. You're going to write one short file that tells the AI exactly who Delaney is, and from then on it works like it's on YOUR team. It takes 45 minutes and it changes every single thing you do after it.`}
    refreshed="this week"
    sections={[
      {
        eyebrow: "Section 1 · 8 min",
        title: "First — what AI actually is.",
        body: [
          `Forget the sci-fi version. AI is not a wizard, not a boss, not a thing coming for your job. It's a <strong>tool</strong>. A really good one. The right word is <em>super-tool</em>.`,
          `Think about the tools you already use without thinking:`,
        ],
        bullets: [
          `<strong>Google Sheets</strong> — you open it because it crunches <em>numbers</em> faster than you ever could by hand.`,
          `<strong>Google</strong> — you open it because it finds the <em>page</em> you need out of a billion of them in half a second.`,
          `<strong>YouTube</strong> — you open it because it can show you <em>how to do almost anything</em> on demand.`,
        ],
        callout: {
          label: "Here's the whole idea",
          text: `AI is the same kind of thing — except instead of crunching numbers or finding pages, it crunches <strong>ideas and information</strong>. Big messy piles of it, fast. You don't worship a calculator. You don't fear Google. You just pick it up and use it when you need it. AI is a tool you utilize. A super one. That's the entire mindset — get that and you're ahead of most adults.`
        }
      },
      {
        eyebrow: "Section 2 · 7 min",
        title: "Why the AI needs a file about you.",
        body: [
          `Out of the box, the AI is generic. It doesn't know your name, your style, what you stand for, or what you're building. So it gives you generic, middle-of-the-road answers — the kind that sound like a robot wrote them.`,
          `The fix is stupidly simple: you give it a <strong>file about you.</strong> People call this your <code>.md</code> file. "MD" just means Markdown — which is a fancy word for <em>a plain text file</em>, nothing scary. It's the AI's cheat sheet on Delaney.`,
          `Once the AI has read your file, it stops guessing. It talks like it knows you, it protects the things you care about, and it sounds like it's on your side — because now it actually is. You're basically building <strong>a little version of you</strong> that lives in the AI and stands in for you when you're not typing every word yourself.`,
        ],
        callout: {
          label: "Why this is the most important lesson",
          text: `Everyone else is typing one-off questions into a blank AI like it's a search bar. You're going to give yours a memory of who you are. Same tool, completely different result. This is the difference between using AI and AI working for <em>you</em>.`
        }
      },
      {
        eyebrow: "Section 3 · 20 min",
        title: "Build it — just talk it out.",
        body: [
          `You're not going to <em>write</em> this file from a blank page. You're going to <strong>talk</strong> and let the AI write it for you. Open your chat, put in your AirPods, and let it interview you. Answer out loud like you're telling a friend about yourself.`,
          `Paste this in to start:`,
        ],
        prompts: [
          `I'm building my personal ".md file" — a file about who I am so you can work like you're on my team. Interview me. Ask me one question at a time about who I am, what I believe, how I talk, and what I'm trying to build. After about 10 questions, write the whole thing up as a clean Markdown file I can save and reuse.`,
          `Now read it back to me. Where does it sound generic or fake? Push me to make it more specifically ME — the stuff only I would say.`,
          `Give me the final version as one clean block I can copy. Title it "delaney.md".`,
        ],
        callout: {
          label: "Be honest, not impressive",
          text: `The file works the more real it is. "I'm on the debate team and I argue for a living" beats "I am a passionate communicator." Say the true thing, not the résumé thing. The AI can't have your back if you only give it the polished version.`
        }
      },
      {
        eyebrow: "Section 4 · 5 min",
        title: "What goes in it.",
        body: [
          `Aim for short — half a page is plenty to start. Cover these:`,
        ],
        list: [
          `<strong>Who you are:</strong> name, age, Chico State, debate team, the basics. Where you're from, what your days look like.`,
          `<strong>What you stand for:</strong> your principles. The 2–3 things you actually care about and won't budge on.`,
          `<strong>How you talk:</strong> your voice. Casual? Direct? Funny? You text in lowercase and hate corporate-speak — put that in. It'll write like you.`,
          `<strong>What you do / want to do:</strong> the marketing studio, helping small businesses, the stuff you're building with Dad. Where you're trying to go.`,
          `<strong>Your lines:</strong> things you'd never say or do. Tone you hate. This is how it avoids sounding fake on your behalf.`,
          `<strong>How to treat you:</strong> "challenge me, don't just agree," or "explain things simply, I'm new." Tell it how to be your coworker.`,
        ],
      },
      {
        eyebrow: "Section 5 · 5 min",
        title: "Save it. Reuse it. Grow it.",
        body: [
          `Save the file somewhere you'll find it — a note on your phone, a doc on your desktop called <code>delaney.md</code>. That's it. You now own it.`,
          `From now on, when you start a fresh AI chat anywhere and it feels generic, just <strong>paste your file in first.</strong> Watch it snap into focus — suddenly it's answering like it's known you for years. That pasted file is the "little version of you" feeding into the AI. The silo that's like you.`,
          `And it's <em>alive</em>. Every few weeks, as you change and learn and build new stuff, tell the AI "update my .md file with this" and keep it current. The you-from-six-months-from-now will have a much smarter file than today's. That's compounding — the work you do today keeps paying off later.`,
        ],
        callout: {
          label: "The one-sentence version",
          text: `AI is a super-tool. A tool works way better when it knows who's holding it. Spend 45 minutes teaching it who you are, and every hour you spend with it after this is worth double.`
        }
      },
    ]}
    ctaLabel="Open Chat — Build my .md file"
    ctaAction={() => openChatWith(`I'm building my personal ".md file" — a file about who I am so you can work like you're on my team. Interview me. Ask me one question at a time about who I am, what I believe, how I talk, and what I'm trying to build. After about 10 questions, write the whole thing up as a clean Markdown file called "delaney.md" that I can save and reuse.`)}
  />;
}

/* ---------- Export to window ---------- */
Object.assign(window, {
  LessonMdFilePage,
  Lesson02Page, Lesson03Page, Lesson04Page, Lesson05Page,
  Lesson06Page, Lesson07Page, Lesson08Page, Lesson10Page,
});
