"use strict";
/* ===================================================================
   THE READ — email digest variations.
   The adult-facing report, framed as the email Uncle Pablo receives
   when Hector taps "share." Warm family voice. Two formats to compare:
     NoteEmail     — a personal letter, prose-first.
     BriefingEmail — warm but scannable, sectioned.
   Both render from one `data` object computed off the real scoring
   engine. Light/branded email aesthetic (contrast to the dark app).
   Exposed on window for the canvas script (separate babel scope).
   =================================================================== */
(function () {
  const h = React.createElement;
  const { useState } = React;
  const RIASEC_COLORS = {
    R: "#3358ff", I: "#22d3ee", A: "#f472b6",
    S: "#34d399", E: "#fbbf24", C: "#a78bfa",
  };
  const ORDER = ["R", "I", "A", "S", "E", "C"];

  // The fixed share list. When Hector taps “share,” the read goes to
  // exactly these two — named at the share moment so there’s no surprise.
  const RECIPIENTS = [
    { name: "Pablo S\u00e1nchez", email: "pablo.snchz@gmail.com" },
    { name: "Melissa Morrobel", email: "melissa.morrobel@gmail.com" },
  ];

  // Darken the cyan/amber so they read on white.
  const INK_COLORS = {
    R: "#3358ff", I: "#0e9bbd", A: "#d6589b",
    S: "#1f9d6b", E: "#c08a12", C: "#7c5bd6",
  };

  const STYLE = `
  .eml { --ink:#1b1b22; --soft:#54545f; --mute:#8a8a95; --line:#e9e7e2;
    --paper:#ffffff; --band:#0e0e14; --el:#3358ff; --el-soft:#eef1ff;
    --serif:"Newsreader",Georgia,serif; --sans:"Inter",system-ui,sans-serif;
    --mono:"Geist Mono",ui-monospace,monospace;
    width:100%; height:100%; background:#f4f3f0; font-family:var(--sans);
    color:var(--ink); display:flex; flex-direction:column; overflow:hidden; }

  /* mail-client chrome */
  .eml-chrome { background:#faf9f7; border-bottom:1px solid var(--line); padding:18px 26px 16px; }
  .eml-from { display:flex; align-items:center; gap:12px; }
  .eml-ava { width:40px; height:40px; border-radius:11px; background:linear-gradient(150deg,#3358ff,#1e3a8a);
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
    box-shadow:0 2px 8px rgba(51,88,255,.3); }
  .eml-ava span { font-family:var(--serif); font-weight:700; font-size:17px; color:#fff; letter-spacing:-0.02em; }
  .eml-fromtxt { display:flex; flex-direction:column; gap:1px; min-width:0; flex:1; }
  .eml-sender { font-size:14px; font-weight:600; color:var(--ink); }
  .eml-addr { font-size:12px; color:var(--mute); }
  .eml-date { font-family:var(--mono); font-size:11px; color:var(--mute); flex-shrink:0; }
  .eml-subj { font-family:var(--serif); font-weight:600; font-size:19px; letter-spacing:-0.02em;
    margin-top:14px; color:var(--ink); line-height:1.2; text-wrap:balance; }
  .eml-to { font-size:12px; color:var(--mute); margin-top:6px; }
  .eml-to b { color:var(--soft); font-weight:600; }
  .eml-to .eml-sep { color:var(--mute); }

  /* message body */
  .eml-body { background:var(--paper); flex:1; overflow:hidden; }
  .eml-band { background:var(--band); padding:13px 26px; display:flex; align-items:center; justify-content:space-between; }
  .eml-wordmark { font-family:var(--mono); font-size:11px; font-weight:600; letter-spacing:0.2em; color:#fff; text-transform:uppercase; }
  .eml-bandtag { font-family:var(--mono); font-size:9.5px; letter-spacing:0.14em; color:#8a8ca8; text-transform:uppercase; }
  .eml-content { padding:30px 34px 34px; }

  .eml-hi { font-family:var(--serif); font-size:21px; font-weight:600; letter-spacing:-0.01em; color:var(--ink); }
  .eml-p { font-size:15px; line-height:1.62; color:var(--soft); margin-top:14px; text-wrap:pretty; }
  .eml-p b { color:var(--ink); font-weight:600; }
  .eml-p .nm { font-weight:600; }

  /* compact riasec strip */
  .eb-caption { font-family:var(--mono); font-size:10px; text-transform:uppercase; letter-spacing:0.14em; color:var(--mute); margin-bottom:13px; }
  .eb-bars { display:grid; grid-template-columns:1fr 1fr; gap:12px 24px; }
  .eb-row { display:flex; flex-direction:column; gap:5px; }
  .eb-top { display:flex; align-items:baseline; gap:7px; }
  .eb-key { font-family:var(--serif); font-weight:700; font-size:14px; flex-shrink:0; }
  .eb-name { font-size:12.5px; font-weight:600; color:var(--ink); }
  .eb-track { position:relative; height:7px; border-radius:999px; background:#edece9; overflow:hidden; }
  .eb-fill { display:block; height:100%; border-radius:999px; }
  .eb-band { position:absolute; top:-2px; bottom:-2px; border-radius:3px;
    background:repeating-linear-gradient(45deg,rgba(0,0,0,.13),rgba(0,0,0,.13) 3px,transparent 3px,transparent 6px);
    border-left:1px solid rgba(0,0,0,.28); border-right:1px solid rgba(0,0,0,.28); }

  /* labels / sections (briefing) */
  .eml-sec { margin-top:26px; }
  .eml-lbl { font-family:var(--mono); font-size:10.5px; font-weight:600; text-transform:uppercase; letter-spacing:0.15em; color:var(--ink); padding-bottom:10px; margin-bottom:14px; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; align-items:baseline; }
  .eml-lbl .lbl-note { font-size:11px; font-weight:400; color:var(--mute); font-style:italic; letter-spacing:0; font-family:var(--sans); text-transform:none; }

  .eml-field { font-family:var(--serif); font-weight:700; font-size:22px; letter-spacing:-0.02em; color:var(--ink); }
  .eml-why { font-size:14px; line-height:1.5; color:var(--soft); margin-top:7px; text-wrap:pretty; }
  .eml-chips { display:flex; flex-wrap:wrap; gap:7px; margin-top:13px; }
  .eml-chip { font-size:12.5px; color:var(--ink); padding:6px 12px; border-radius:999px; border:1px solid #d9dcf2; background:var(--el-soft); }
  .eml-chip.sub { color:var(--soft); border-color:var(--line); background:#f7f6f3; }

  .eml-adj { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:14px; }
  .eml-adjcard { border:1px solid var(--line); border-radius:12px; padding:14px 15px; background:#fcfbf9; }
  .eml-adjname { font-size:13.5px; font-weight:600; color:var(--ink); }
  .eml-adjmaj { display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }

  .eml-quotes { display:flex; flex-direction:column; gap:9px; }
  .eml-quote { display:flex; gap:12px; align-items:flex-start; padding:12px 15px; border-radius:11px; border:1px solid #d9dcf2; background:var(--el-soft); }
  .eml-qtag { font-family:var(--mono); font-size:9px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:#fff; background:var(--el); padding:4px 8px; border-radius:999px; flex-shrink:0; margin-top:2px; white-space:nowrap; }
  .eml-qtext { font-family:var(--serif); font-size:15.5px; line-height:1.38; color:var(--ink); }
  .eml-qlist { margin:0; padding-left:0; list-style:none; display:flex; flex-direction:column; gap:8px; }
  .eml-qlist li { font-family:var(--serif); font-style:italic; font-size:16px; line-height:1.4; color:var(--ink); padding-left:16px; border-left:2px solid #c9cdf0; }

  .eml-talk { display:flex; flex-direction:column; gap:13px; }
  .eml-talk-item { display:flex; gap:13px; align-items:flex-start; }
  .eml-talk-n { font-family:var(--mono); font-size:12px; font-weight:600; color:var(--el); padding-top:2px; flex-shrink:0; }
  .eml-talk-item p { font-size:14.5px; line-height:1.55; color:var(--soft); text-wrap:pretty; }

  .eml-steps { display:flex; flex-direction:column; gap:11px; }
  .eml-step { display:flex; gap:12px; align-items:flex-start; }
  .eml-step-ic { width:19px; height:19px; border-radius:6px; border:1.5px solid var(--el); flex-shrink:0; margin-top:1px;
    display:flex; align-items:center; justify-content:center; color:var(--el); font-size:11px; font-weight:700; }
  .eml-step p { font-size:14.5px; line-height:1.5; color:var(--soft); }
  .eml-step b { color:var(--ink); font-weight:600; }

  .eml-not { display:grid; grid-template-columns:1fr 1fr; gap:13px 22px; }
  .eml-not-h { font-size:13.5px; font-weight:600; color:var(--ink); }
  .eml-not-p { font-size:12.5px; line-height:1.48; color:var(--soft); margin-top:3px; text-wrap:pretty; }

  .eml-cta { display:inline-flex; align-items:center; gap:9px; margin-top:24px; padding:13px 22px; border-radius:999px;
    background:var(--el); color:#fff; font-size:14px; font-weight:600; text-decoration:none;
    box-shadow:0 4px 14px -3px rgba(51,88,255,.5); }
  .eml-cta .arr { font-family:var(--mono); }

  .eml-sign { margin-top:26px; padding-top:18px; border-top:1px solid var(--line); }
  .eml-sign-name { font-family:var(--serif); font-size:15px; font-weight:600; color:var(--ink); }
  .eml-sign-sub { font-size:12px; color:var(--mute); margin-top:4px; line-height:1.5; }
  .eml-serial { font-family:var(--mono); font-size:10.5px; color:var(--mute); letter-spacing:0.06em; margin-top:10px; }

  .eml-caveat { margin-top:22px; padding:15px 17px; border-radius:12px; background:#faf9f6; border:1px solid var(--line); }
  .eml-caveat p { font-size:13px; line-height:1.55; color:var(--soft); text-wrap:pretty; }
  .eml-caveat b { color:var(--ink); font-weight:600; }

  /* in-app: let the email flow & scroll inside the takeover, not clip */
  .eml.inapp { height:auto; min-height:100%; }
  .eml.inapp .eml-body { overflow:visible; }

  /* in-app send gate (light, matches the email) */
  .eml-share { margin-top:24px; padding:19px 21px; border-radius:16px; background:var(--el-soft); border:1px solid #d6daf4; }
  .eml-share.sent { background:#eef8f1; border-color:#bfe6cc; }
  .eml-share-head { font-family:var(--serif); font-size:17px; font-weight:600; letter-spacing:-0.01em; color:var(--ink); }
  .eml-share-sub { font-size:13px; line-height:1.5; color:var(--soft); margin-top:5px; text-wrap:pretty; }
  .eml-share-list { display:flex; flex-direction:column; gap:8px; margin-top:15px; }
  .eml-share-row { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:11px 14px; border-radius:11px; background:#fff; border:1px solid #e2e4f3; }
  .eml-share-row.done { background:rgba(255,255,255,.6); border-color:#cdedd6; }
  .eml-share-name { font-size:13.5px; font-weight:600; color:var(--ink); }
  .eml-share-em { font-family:var(--mono); font-size:11px; color:var(--mute); }
  .eml-share-chk { font-family:var(--mono); font-size:11px; font-weight:600; color:#1f9d6b; letter-spacing:0.04em; white-space:nowrap; }
  .eml-share-btn { margin-top:17px; width:100%; display:inline-flex; align-items:center; justify-content:center; gap:9px;
    padding:14px 22px; border:none; border-radius:999px; background:var(--el); color:#fff; font-family:var(--sans);
    font-size:14.5px; font-weight:600; cursor:pointer; box-shadow:0 4px 14px -3px rgba(51,88,255,.5); transition:transform .12s, box-shadow .12s; }
  .eml-share-btn:hover { box-shadow:0 6px 18px -3px rgba(51,88,255,.55); }
  .eml-share-btn:active { transform:translateY(1px); }
  .eml-share-btn .arr { font-family:var(--mono); }
  `;

  function StyleOnce() {
    return h("style", { dangerouslySetInnerHTML: { __html: STYLE } });
  }

  /* Build the email’s data object from a live score + ratings, so the
     in-app preview and the standalone canvas render from one source. */
  function buildReadData(score, ratings, name) {
    const codeL = (score.code || "").split("");
    const fields = score.fieldRanked.filter((f) => f.raw > 0);
    const lead = fields[0];
    const runners = fields.slice(1, 3);
    const leadStarters = (lead && window.CONVERSATION_STARTERS[lead.id]) || [];
    return {
      answered: Object.keys(ratings).length,
      code: score.code,
      codeL: codeL,
      w0: window.ARCHETYPE_WORDS[codeL[0]] || { word: "", best: "" },
      w1: codeL[1] ? window.ARCHETYPE_WORDS[codeL[1]] : null,
      leadLabel: lead ? window.FIELD_META[lead.id].label : "\u2014",
      leadWhy: lead ? window.FIELD_REASON[lead.id] : "",
      leadMajors: lead ? (window.MAJORS_BY_FIELD[lead.id] || []) : [],
      runners: runners.map((r) => ({
        id: r.id,
        label: window.FIELD_META[r.id].label,
        majors: (window.MAJORS_BY_FIELD[r.id] || []).slice(0, 3),
      })),
      love: window.ratedItems(ratings, 3, 3),
      starters: [leadStarters[0], leadStarters[1]].filter(Boolean),
      guardrails: window.WHAT_THIS_IS_NOT,
      riasecNorm: score.riasecNorm,
      marginPct: score.confidence.marginPct,
      confLabel: score.confidence.label,
      serial: window.blueprintSerial(score.code, name || "Hector"),
      meta: window.RIASEC_META,
    };
  }

  /* The send affordance shown at the foot of the in-app preview. The email
     names exactly who it goes to (consent transparency), then sends once. */
  function ReadShare() {
    const [sent, setSent] = useState(false);
    return h("div", { className: "eml-share" + (sent ? " sent" : "") },
      h("p", { className: "eml-share-head" }, sent ? "Sent \u2014 it\u2019s on its way." : "Ready to send?"),
      h("p", { className: "eml-share-sub" }, sent
        ? "Both of them will get this exact read by email. Nobody else sees it."
        : "Hector chose to share his read with these two \u2014 and only these two:"),
      h("div", { className: "eml-share-list" },
        RECIPIENTS.map((r) =>
          h("div", { key: r.email, className: "eml-share-row" + (sent ? " done" : "") },
            h("span", { className: "eml-share-name" }, r.name),
            sent
              ? h("span", { className: "eml-share-chk" }, "Sent \u2713")
              : h("span", { className: "eml-share-em" }, r.email)))),
      sent
        ? null
        : h("button", { className: "eml-share-btn", onClick: () => setSent(true) },
            "Send it to both ", h("span", { className: "arr" }, "\u2192")));
  }
  window.ReadShare = ReadShare;

  function RiasecStrip({ data, caption }) {
    const m = data.marginPct / 100;
    return h("div", null,
      caption ? h("p", { className: "eb-caption" }, caption) : null,
      h("div", { className: "eb-bars" },
        ORDER.map((k) => {
          const v = data.riasecNorm[k] || 0;
          const left = Math.max(0, v - m) * 100, right = Math.min(1, v + m) * 100;
          return h("div", { key: k, className: "eb-row" },
            h("div", { className: "eb-top" },
              h("span", { className: "eb-key", style: { color: INK_COLORS[k] } }, k),
              h("span", { className: "eb-name" }, data.meta[k].name)),
            h("div", { className: "eb-track" },
              h("span", { className: "eb-fill", style: { width: (v * 100) + "%", background: INK_COLORS[k] } }),
              v > 0 ? h("span", { className: "eb-band", style: { left: left + "%", width: (right - left) + "%" } }) : null));
        })));
  }

  function MailFrame({ subject, inApp, children }) {
    return h("div", { className: "eml" + (inApp ? " inapp" : "") },
      h(StyleOnce, null),
      h("div", { className: "eml-chrome" },
        h("div", { className: "eml-from" },
          h("div", { className: "eml-ava" }, h("span", null, "HJ")),
          h("div", { className: "eml-fromtxt" },
            h("span", { className: "eml-sender" }, "Hector\u2019s Blueprint"),
            h("span", { className: "eml-addr" }, "blueprint@hjcompass.app")),
          h("span", { className: "eml-date" }, "JUN 2026")),
        h("p", { className: "eml-subj" }, subject),
        h("p", { className: "eml-to" }, "to ",
          RECIPIENTS.map((r, i) =>
            h(React.Fragment, { key: r.email },
              i ? h("span", { className: "eml-sep" }, " \u00b7 ") : "",
              h("b", null, r.name))))),
      h("div", { className: "eml-body" },
        h("div", { className: "eml-band" },
          h("span", { className: "eml-wordmark" }, "Hector\u2019s Blueprint"),
          h("span", { className: "eml-bandtag" }, "The read")),
        children));
  }

  /* ---------- A · THE NOTE — a warm letter that carries the full report ---------- */
  function NoteEmail({ data, inApp }) {
    const d = data;
    return h(MailFrame, {
      subject: "Hector finished his Blueprint \u2014 here\u2019s the honest read",
      inApp: inApp,
    },
      h("div", { className: "eml-content" },
        h("p", { className: "eml-hi" }, "Hi both \u2014"),
        h("p", { className: "eml-p" },
          "Hector just finished his Blueprint, and he chose to share it with the two of you. Here\u2019s the full read \u2014 ",
          h("b", null, "less a result, more a place to start a conversation"), "."),
        h("p", { className: "eml-p" },
          "Across his ", d.answered, " gut reactions, he comes through strongest as a ",
          h("b", { className: "nm", style: { color: INK_COLORS[d.codeL[0]] } }, d.w0.word),
          d.w1 ? " and a " : "",
          d.w1 ? h("b", { className: "nm", style: { color: INK_COLORS[d.codeL[1]] } }, d.w1.word) : "",
          " \u2014 happiest ", d.w0.best, "."),

        h("div", { className: "eml-sec" },
          h("p", { className: "eml-lbl" }, "The full shape of it",
            h("span", { className: "lbl-note" }, "shaded = likely range, \u00b1" + d.marginPct + "%")),
          h(RiasecStrip, { data: d })),

        h("div", { className: "eml-sec" },
          h("p", { className: "eml-lbl" }, "Where it points"),
          h("p", { className: "eml-field" }, d.leadLabel),
          h("p", { className: "eml-why" }, "\u2014 " + d.leadWhy + "."),
          h("p", { className: "eml-p", style: { marginTop: "13px", marginBottom: "0" } },
            "If you\u2019re curious what that looks like as a major:"),
          h("div", { className: "eml-chips" },
            d.leadMajors.map((mj) => h("span", { key: mj, className: "eml-chip" }, mj)))),

        d.runners.length ? h("div", { className: "eml-sec" },
          h("p", { className: "eml-lbl" }, "A couple of nearby directions"),
          h("p", { className: "eml-p", style: { marginTop: "-4px", marginBottom: "0" } },
            "Close behind, and worth keeping on the table:"),
          h("div", { className: "eml-adj", style: { marginTop: "14px" } },
            d.runners.map((r) =>
              h("div", { key: r.id, className: "eml-adjcard" },
                h("p", { className: "eml-adjname" }, r.label),
                h("div", { className: "eml-adjmaj" },
                  r.majors.map((mj) => h("span", { key: mj, className: "eml-chip sub" }, mj))))))) : null,

        h("div", { className: "eml-sec" },
          h("p", { className: "eml-lbl" }, "What actually lit him up",
            h("span", { className: "lbl-note" }, "his words, unprompted")),
          h("ul", { className: "eml-qlist" },
            d.love.slice(0, 4).map((q) => h("li", { key: q.id }, "\u201c" + q.text + "\u201d")))),

        h("div", { className: "eml-sec" },
          h("p", { className: "eml-lbl" }, "If you want to talk to him about it"),
          h("div", { className: "eml-talk" },
            d.starters.map((s, i) =>
              h("div", { key: i, className: "eml-talk-item" },
                h("span", { className: "eml-talk-n" }, "0" + (i + 1)),
                h("p", null, s))))),

        h("div", { className: "eml-sec" },
          h("p", { className: "eml-lbl" }, "A couple of low-stakes next steps"),
          h("div", { className: "eml-steps" },
            h("div", { className: "eml-step" },
              h("span", { className: "eml-step-ic" }, "\u2192"),
              h("p", null, h("b", null, "Try the real thing. "), "A free intro project, or an afternoon shadowing someone who does the real work, tells you all more than any quiz could.")),
            h("div", { className: "eml-step" },
              h("span", { className: "eml-step-ic" }, "\u2192"),
              h("p", null, h("b", null, "Re-run it in a year. "), "Interests move at this age \u2014 a fresh read shows what\u2019s actually sticking.")))),

        h("div", { className: "eml-sec" },
          h("p", { className: "eml-lbl" }, "The fine print, because it matters"),
          h("p", { className: "eml-p", style: { marginTop: "-4px", marginBottom: "14px" } },
            "Please read this as a direction, not a verdict:"),
          h("div", { className: "eml-not" },
            d.guardrails.map((g, i) =>
              h("div", { key: i, className: "eml-not-item" },
                h("p", { className: "eml-not-h" }, g.h),
                h("p", { className: "eml-not-p" }, g.p))))),

        inApp
          ? h(ReadShare, null)
          : h("a", { className: "eml-cta", href: "#" },
              "Open his interactive blueprint ", h("span", { className: "arr" }, "\u2192")),
        h("div", { className: "eml-sign" },
          h("p", { className: "eml-sign-name" }, "\u2014 Hector\u2019s Blueprint"),
          h("p", { className: "eml-sign-sub" },
            "He never saw a single field name while taking this. All of it emerged from honest reactions to concrete activities \u2014 which is exactly why it\u2019s worth trusting as a starting point."),
          h("p", { className: "eml-serial" }, "\u2116 " + d.serial + "  \u00b7  CODE " + d.code + "  \u00b7  " + d.confLabel + " signal, \u00b1" + d.marginPct + "%"))));
  }

  /* ---------- B · THE BRIEFING — scannable ---------- */
  function BriefingEmail({ data, inApp }) {
    const d = data;
    return h(MailFrame, {
      subject: "Hector\u2019s Blueprint: the read (built to skim)",
      inApp: inApp,
    },
      h("div", { className: "eml-content" },
        h("p", { className: "eml-hi" }, "Hi both \u2014"),
        h("p", { className: "eml-p" },
          "Hector finished his Blueprint and shared it with you both. Here\u2019s the read, built to skim. ",
          h("b", null, "Treat it as a starting point, not a verdict.")),

        h("div", { className: "eml-sec" },
          h("p", { className: "eml-lbl" }, "The shape of it",
            h("span", { className: "lbl-note" }, "shaded = likely range, \u00b1" + d.marginPct + "%")),
          h(RiasecStrip, { data: d }),
          h("p", { className: "eml-p", style: { marginTop: "16px" } },
            "Reads strongest as a ",
            h("b", { style: { color: INK_COLORS[d.codeL[0]] } }, d.w0.word),
            d.w1 ? " and a " : "", d.w1 ? h("b", { style: { color: INK_COLORS[d.codeL[1]] } }, d.w1.word) : "",
            " \u2014 sharpest ", d.w0.best, ".")),

        h("div", { className: "eml-sec" },
          h("p", { className: "eml-lbl" }, "Strongest pull"),
          h("p", { className: "eml-field" }, d.leadLabel),
          h("p", { className: "eml-why" }, "\u2014 " + d.leadWhy + "."),
          h("div", { className: "eml-chips" },
            d.leadMajors.map((mj) => h("span", { key: mj, className: "eml-chip" }, mj)))),

        d.runners.length ? h("div", { className: "eml-sec" },
          h("p", { className: "eml-lbl" }, "Also worth a look"),
          h("div", { className: "eml-adj" },
            d.runners.map((r) =>
              h("div", { key: r.id, className: "eml-adjcard" },
                h("p", { className: "eml-adjname" }, r.label),
                h("div", { className: "eml-adjmaj" },
                  r.majors.map((mj) => h("span", { key: mj, className: "eml-chip sub" }, mj))))))) : null,

        h("div", { className: "eml-sec" },
          h("p", { className: "eml-lbl" }, "What lit him up",
            h("span", { className: "lbl-note" }, "his words, unprompted")),
          h("div", { className: "eml-quotes" },
            d.love.slice(0, 3).map((q) =>
              h("div", { key: q.id, className: "eml-quote" },
                h("span", { className: "eml-qtag" }, "Loved it"),
                h("span", { className: "eml-qtext" }, "\u201c" + q.text + "\u201d"))))),

        h("div", { className: "eml-sec" },
          h("p", { className: "eml-lbl" }, "How to talk to him about it"),
          h("div", { className: "eml-talk" },
            d.starters.map((s, i) =>
              h("div", { key: i, className: "eml-talk-item" },
                h("span", { className: "eml-talk-n" }, "0" + (i + 1)),
                h("p", null, s))))),

        h("div", { className: "eml-sec" },
          h("p", { className: "eml-lbl" }, "Next steps"),
          h("div", { className: "eml-steps" },
            h("div", { className: "eml-step" },
              h("span", { className: "eml-step-ic" }, "\u2192"),
              h("p", null, h("b", null, "Try the real thing, low-stakes. "), "A free intro project or an afternoon shadowing tells you more than any quiz.")),
            h("div", { className: "eml-step" },
              h("span", { className: "eml-step-ic" }, "\u2192"),
              h("p", null, h("b", null, "Re-run it in a year. "), "Interests move at this age \u2014 a fresh read shows what\u2019s sticking.")))),

        h("div", { className: "eml-sec" },
          h("p", { className: "eml-lbl" }, "What this isn\u2019t"),
          h("div", { className: "eml-not" },
            d.guardrails.map((g, i) =>
              h("div", { key: i, className: "eml-not-item" },
                h("p", { className: "eml-not-h" }, g.h),
                h("p", { className: "eml-not-p" }, g.p))))),

        inApp
          ? h(ReadShare, null)
          : h("a", { className: "eml-cta", href: "#" },
              "See his full blueprint ", h("span", { className: "arr" }, "\u2192")),
        h("div", { className: "eml-sign" },
          h("p", { className: "eml-sign-name" }, "\u2014 Hector\u2019s Blueprint"),
          h("p", { className: "eml-serial" }, "\u2116 " + d.serial + "  \u00b7  CODE " + d.code + "  \u00b7  from " + d.answered + " reactions"))));
  }

  window.NoteEmail = NoteEmail;
  window.BriefingEmail = BriefingEmail;
  window.buildReadData = buildReadData;
})();
