<!DOCTYPE html>
<html>
<head>
<title>מבחן רמה באנגלית – דו"ח רמה והמלצת מסלול | eazy English</title>
<link rel="icon" href="assets/logo-mark-orange.png" type="image/png">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="./support.js"></script>
</head>
<body>
<x-dc>
<helmet>
<link rel="stylesheet" href="_ds/eazy-design-system-019e085a-0638-7c53-ad03-c4d5f4423a34/colors_and_type.css">
<link rel="stylesheet" href="_ds/eazy-design-system-019e085a-0638-7c53-ad03-c4d5f4423a34/styles.css">
<script src="_ds/eazy-design-system-019e085a-0638-7c53-ad03-c4d5f4423a34/_ds_bundle.js"></script>
<link rel="stylesheet" href="assets/responsive.css">
<script src="https://unpkg.com/@phosphor-icons/web"></script>
<style>
html{background:#fff}
body{margin:0;background:#fff}
a{color:var(--ez-link)}a:hover{color:var(--ez-link-hover)}
</style>
</helmet>
<template id="__bundler_thumbnail"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><rect width="100" height="100" fill="#F37327"></rect><text x="50" y="66" text-anchor="middle" font-family="Arial, sans-serif" font-weight="bold" font-size="44" fill="#ffffff">?</text></svg></template>
<div style="background:#fff;min-height:100vh;font-family:var(--font-body);color:var(--ez-ink)">

<x-import component-from-global-scope="ez-mobile-chrome" from="assets/mobile-chrome.js" hint-size="1px,1px"></x-import>
<header data-screen-label="Header" style="display:flex;align-items:center;justify-content:space-between;padding:18px 64px;border-bottom:1px solid var(--ez-line);position:sticky;top:0;background:#fff;z-index:50">
  <a href="index.html" style="display:flex;align-items:center;gap:12px;border-bottom:none">
    <img src="assets/logo-mark-orange.png" alt="eazy" style="width:54px;height:54px">
    <span style="width:1px;height:30px;background:var(--ez-line)"></span>
    <span style="font-family:var(--font-display);font-weight:700;font-size:24px;color:var(--ez-lavender-deep);line-height:1">English</span>
  </a>
  <nav style="display:flex;gap:22px;font-family:var(--font-body);font-size:16.5px;white-space:nowrap">
    <a href="amirnet.html" style="color:var(--ez-ink)">אמירנט</a>
    <a href="compare.html" style="color:var(--ez-ink)">הקורסים</a>
    <a href="free.html" style="color:var(--ez-orange);font-weight:700">מתחילים בחינם</a>
    <a href="learn.html" style="color:var(--ez-ink)">ללמוד אנגלית</a>
    <a href="technion.html" style="color:var(--ez-ink)">מחשבון פטור מאנגלית</a>
    <a href="about.html" style="color:var(--ez-ink)">עלינו</a>
  </nav>
  <div style="display:flex;align-items:baseline;gap:18px">
    <span dir="ltr" style="font-family:var(--font-mono);font-size:14.5px;color:var(--ez-fg-2)">1-700-70-70-07</span>
    <a href="contact.html" style="font-family:var(--font-display);font-weight:700;font-size:15.5px;color:var(--ez-orange);border-bottom:none">שיחת ייעוץ ←</a>
  </div>
</header>

<section data-screen-label="פתיח" style="max-width:900px;margin:0 auto;padding:44px 64px 0">
  <div style="display:flex;gap:8px;font-size:15.5px;color:var(--ez-fg-3);margin-bottom:24px">
    <a href="index.html" style="color:var(--ez-fg-3);border-bottom:none">דף הבית</a><span>/</span>
    <a href="free.html" style="color:var(--ez-fg-3);border-bottom:none">מתחילים בחינם</a><span>/</span>
    <span style="color:var(--ez-ink)">מבחן רמה</span>
  </div>
  <h1 style="font-family:var(--font-display);font-weight:700;font-size:48px;line-height:1.05;color:var(--ez-ink);margin:0 0 10px">מבחן רמה. <span style="font-family:var(--font-shadow);color:var(--ez-lavender-deep)">בלי לחץ, בלי נכשל.</span></h1>
  <p style="font-size:19px;line-height:1.55;color:var(--ez-fg-2);margin:0 0 10px;max-width:640px">12 שאלות אמירנט להערכת הרמה שלך. בסוף יחכה לך דו"ח הערכת רמה והמלצת מסלול.</p>
  <div style="display:flex;gap:18px;align-items:center;font-family:var(--font-mono);font-size:15.5px;color:var(--ez-fg-3);flex-wrap:wrap">
    <span style="display:flex;align-items:center;gap:6px"><i class="ph ph-clock" style="font-size:17.5px;color:var(--ez-orange)"></i>לא מוגבל בזמן, מוערך בכ-10 דקות</span>
    <span>·</span><span>12 שאלות · 3 תחומים</span>
    <span>·</span><span>בסוף: דו"ח רמה + המלצת מסלול</span>
  </div>
</section>

<section data-screen-label="המבחן" style="max-width:900px;margin:0 auto;padding:28px 64px 40px">
  <div style="border:1px solid var(--ez-line);border-radius:14px;overflow:hidden">
    <sc-if value="{{ isIntro }}" hint-placeholder-val="{{ true }}">
      <div style="padding:52px 40px;display:grid;gap:16px;justify-items:center;text-align:center;background:var(--ez-paper-cool)">
        <i class="ph ph-exam" style="font-size:56px;color:var(--ez-lavender-deep)"></i>
        <div style="font-family:var(--font-display);font-weight:700;font-size:24px;color:var(--ez-ink)">מוכנים? אין ציון נכשל.</div>
        <p style="font-size:17.5px;line-height:1.6;color:var(--ez-fg-2);margin:0;max-width:520px">חלק מהשאלות קשות בכוונה – זה בסדר גמור לנחש. אם ניחשתם, סמנו "אני מנחש/ת" לפני התשובה: הניחוש לא יגרע מהציון, הוא רק עוזר לנו לתת הערכה והמלצה מדויקות יותר.</p>
        <button onClick="{{ startQuiz }}" style="background:var(--ez-orange);color:#fff;border:0;border-radius:999px;padding:15px 40px;font-family:var(--font-display);font-weight:700;font-size:18.5px;cursor:pointer">מתחילים</button>
      </div>
    </sc-if>
    <sc-if value="{{ isQuiz }}" hint-placeholder-val="{{ false }}">
      <div style="padding:32px 40px;display:grid;gap:20px">
        <div style="display:grid;gap:8px">
          <div style="display:flex;justify-content:space-between;align-items:baseline">
            <span style="font-family:var(--font-display);font-weight:700;font-size:16.5px;color:var(--ez-orange)">שאלה {{ qNum }} מתוך 12</span>
            <span style="font-family:var(--font-display);font-weight:700;font-size:15.5px;color:var(--ez-lavender-deep)">{{ qDomain }}</span>
          </div>
          <div style="height:6px;border-radius:999px;background:var(--ez-paper-cool);overflow:hidden"><div style="height:100%;background:var(--ez-orange);border-radius:999px;width:{{ progressPct }}"></div></div>
        </div>
        <sc-if value="{{ qPassage }}" hint-placeholder-val="{{ false }}">
          <div dir="ltr" style="text-align:left;background:var(--ez-paper-cool);border-radius:10px;padding:18px 22px;font-size:17.5px;line-height:1.75;color:var(--ez-ink);font-family:Georgia, 'Times New Roman', serif">{{ qPassage }}</div>
        </sc-if>
        <p dir="ltr" style="text-align:left;font-size:21px;line-height:1.6;color:var(--ez-ink);margin:0;font-family:Georgia, 'Times New Roman', serif">{{ qText }}</p>
        <div style="display:grid;gap:10px">
          <sc-for list="{{ qOptions }}" as="opt" hint-placeholder-count="4">
            <button onClick="{{ opt.pick }}" dir="ltr" style="text-align:left;border:1px solid var(--ez-line);border-radius:10px;background:#fff;padding:14px 18px;font-size:17.5px;color:var(--ez-ink);cursor:pointer;font-family:Georgia, 'Times New Roman', serif" style-hover="border-color:var(--ez-orange);background:var(--ez-paper)">{{ opt.text }}</button>
          </sc-for>
        </div>
        <div onClick="{{ toggleGuess }}" style="display:flex;gap:10px;align-items:center;cursor:pointer;justify-self:start;border:1px solid var(--ez-line);border-radius:999px;padding:8px 18px;background:{{ guessBg }}">
          <span style="width:18px;height:18px;border-radius:5px;border:1.5px solid var(--ez-orange);background:{{ guessBoxBg }};display:flex;align-items:center;justify-content:center"><sc-if value="{{ isGuessing }}" hint-placeholder-val="{{ false }}"><i class="ph-bold ph-check" style="font-size:14.5px;color:#fff"></i></sc-if></span>
          <span style="font-family:var(--font-display);font-weight:700;font-size:16.5px;color:var(--ez-ink)">אני מנחש/ת את התשובה הבאה</span>
        </div>
        <span style="font-size:15.5px;color:var(--ez-fg-3)">ניחוש לא גורע מהציון – הוא רק עוזר לנו לדייק את ההערכה וההמלצה.</span>
      </div>
    </sc-if>
    <sc-if value="{{ isInterim }}" hint-placeholder-val="{{ false }}">
      <div style="padding:48px 40px;display:grid;gap:16px;justify-items:center;text-align:center;background:var(--ez-paper-cool)">
        <i class="ph ph-flask" style="font-size:52px;color:var(--ez-lavender-deep)"></i>
        <div style="font-family:var(--font-display);font-weight:700;font-size:24px;color:var(--ez-ink)">סיימתם! רגע לפני הדו"ח –</div>
        <p style="font-size:17.5px;line-height:1.65;color:var(--ez-fg-2);margin:0;max-width:560px">מה עוד יש במבחן האמיתי שלא היה כאן? <b style="color:var(--ez-ink)">פיילוטים</b> – פרקים ניסיוניים של מאל"ו: הבנת הנשמע, דקדוק וכתיבה. אלה נושאים מורכבים ואנחנו מלמדים אותם בקורס, אבל בגלל שבמהלך 2026 הם כמעט לא משפיעים על הציון – אנחנו לא משקללים אותם בבוחן הרמה.</p>
        <p style="font-size:17px;line-height:1.6;color:var(--ez-fg-2);margin:0;max-width:560px">אפשר לפגוש אותם ב<a href="free.html">סימולציה המלאה החינמית שלנו</a> – היחידה בארץ.</p>
        <button onClick="{{ showReport }}" style="background:var(--ez-orange);color:#fff;border:0;border-radius:999px;padding:15px 36px;font-family:var(--font-display);font-weight:700;font-size:18px;cursor:pointer">ללחוץ כאן למעבר לדו"ח ניתוח בוחן רמה ←</button>
      </div>
    </sc-if>
    <sc-if value="{{ isResult }}" hint-placeholder-val="{{ false }}">
      <div style="display:grid">
        <div style="background:var(--ez-ink);padding:34px 40px;display:grid;gap:8px;justify-items:center;text-align:center">
          <span style="font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--ez-lavender)">הרמה המשוערת שלך</span>
          <span style="font-family:var(--font-display);font-weight:700;font-size:38px;color:#fff">{{ resultLevel }}</span>
          <span style="font-family:var(--font-mono);font-size:17px;color:var(--ez-lavender)">ציון אמירנט משוער: {{ resultRange }}</span>
        </div>
        <div style="padding:28px 40px;display:grid;gap:22px">
          <div style="display:grid;grid-template-columns:1fr 1fr;gap:28px">
            <div style="display:grid;gap:10px;align-content:start">
              <span style="font-family:var(--font-display);font-weight:700;font-size:17.5px;color:var(--ez-ink)">הצלחה לפי תוכן</span>
              <sc-for list="{{ domainStats }}" as="d" hint-placeholder-count="3">
                <div style="display:grid;gap:4px">
                  <div style="display:flex;justify-content:space-between;align-items:baseline"><span style="font-size:16.5px;color:var(--ez-fg-2)">{{ d.label }}</span><span style="font-family:var(--font-mono);font-size:15.5px;color:var(--ez-ink)">{{ d.pct }}</span></div>
                  <div style="height:8px;border-radius:999px;background:var(--ez-paper-cool);overflow:hidden"><div style="height:100%;background:var(--ez-lavender);border-radius:999px;width:{{ d.pct }}"></div></div>
                </div>
              </sc-for>
            </div>
            <div style="display:grid;gap:10px;align-content:start">
              <span style="font-family:var(--font-display);font-weight:700;font-size:17.5px;color:var(--ez-ink)">הצלחה לפי רמת קושי</span>
              <sc-for list="{{ levelStats }}" as="d" hint-placeholder-count="3">
                <div style="display:grid;gap:4px">
                  <div style="display:flex;justify-content:space-between;align-items:baseline"><span style="font-size:16.5px;color:var(--ez-fg-2)">{{ d.label }}</span><span style="font-family:var(--font-mono);font-size:15.5px;color:var(--ez-ink)">{{ d.pct }}</span></div>
                  <div style="height:8px;border-radius:999px;background:var(--ez-paper-cool);overflow:hidden"><div style="height:100%;background:var(--ez-orange);border-radius:999px;width:{{ d.pct }}"></div></div>
                </div>
              </sc-for>
              <span style="font-size:15px;color:var(--ez-fg-3)">הציון משוקלל: הצלחה בשאלות קשות תורמת יותר מהצלחה בשאלות קלות.</span>
            </div>
          </div>
          <sc-if value="{{ hasGuesses }}" hint-placeholder-val="{{ false }}">
            <div style="border:1px solid var(--ez-line);border-radius:10px;padding:14px 18px;display:flex;gap:12px;align-items:flex-start;background:var(--ez-paper)">
              <i class="ph ph-lightbulb" style="font-size:21px;color:var(--ez-orange);flex:none;margin-top:2px"></i>
              <span style="font-size:16.5px;line-height:1.55;color:var(--ez-fg-2)">{{ guessNote }}</span>
            </div>
          </sc-if>
          <p style="font-size:18px;line-height:1.6;color:var(--ez-fg-2);margin:0">{{ resultAdvice }}</p>
          <div style="display:flex;gap:12px;flex-wrap:wrap">
            <a href="user.html" style="background:var(--ez-ink);color:#fff;border-radius:999px;padding:12px 24px;font-family:var(--font-display);font-weight:700;font-size:16.5px;border-bottom:none">ללמוד עצמאית מ-250 ₪</a>
            <a href="course.html" style="background:var(--ez-orange);color:#fff;border-radius:999px;padding:12px 24px;font-family:var(--font-display);font-weight:700;font-size:16.5px;border-bottom:none">ללמוד ביחד מ-1,500 ₪</a>
            <a href="compare.html" style="background:transparent;color:var(--ez-ink);border:1.5px solid var(--ez-ink);border-radius:999px;padding:11px 20px;font-family:var(--font-display);font-weight:700;font-size:16px;border-bottom:none">להשוואה בין המסלולים</a>
            <a href="contact.html" style="background:transparent;color:var(--ez-orange);border:1.5px solid var(--ez-orange);border-radius:999px;padding:11px 20px;font-family:var(--font-display);font-weight:700;font-size:16px;border-bottom:none">שיחת ייעוץ חינמית</a>
            <button onClick="{{ restart }}" style="background:transparent;border:0;color:var(--ez-fg-3);font-family:var(--font-display);font-weight:700;font-size:16px;cursor:pointer">לנסות שוב ↺</button>
          </div>
        </div>
      </div>
    </sc-if>
  </div>
</section>

<section data-screen-label="איך זה עובד" style="background:var(--ez-paper-cool);padding:44px 64px">
  <div style="max-width:900px;margin:0 auto;display:grid;gap:20px">
    <h2 style="font-family:var(--font-display);font-weight:700;font-size:24px;color:var(--ez-ink);margin:0">איך זה עובד</h2>
    <div style="display:grid;grid-template-columns:repeat(3,1fr);gap:20px">
      <div style="display:grid;gap:6px;align-content:start">
        <span style="font-family:var(--font-mono);font-size:19.5px;color:var(--ez-lavender-deep)">01</span>
        <span style="font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--ez-ink)">עונים על 12 שאלות</span>
        <span style="font-size:16.5px;color:var(--ez-fg-2)">השלמת משפטים, ניסוח מחדש והבנת הנקרא – בסגנון אמירנט אמיתי. מנחשים? מסמנים.</span>
      </div>
      <div style="display:grid;gap:6px;align-content:start">
        <span style="font-family:var(--font-mono);font-size:19.5px;color:var(--ez-lavender-deep)">02</span>
        <span style="font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--ez-ink)">מקבלים דו"ח רמה</span>
        <span style="font-size:16.5px;color:var(--ez-fg-2)">ציון משוקלל לפי רמת קושי, ופירוט הצלחה לפי תוכן.</span>
      </div>
      <div style="display:grid;gap:6px;align-content:start">
        <span style="font-family:var(--font-mono);font-size:19.5px;color:var(--ez-orange)">03</span>
        <span style="font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--ez-ink)">בוחרים מסלול</span>
        <span style="font-size:16.5px;color:var(--ez-fg-2)">עצמאית עם היוזר, או ביחד עם מדריך – לפי הפער שלכם.</span>
      </div>
    </div>
    <p style="font-size:15.5px;color:var(--ez-fg-3);margin:0">שימו לב: זו הערכה ראשונית בלבד. לרמה מדויקת – מבחן האמירנט המלא החינמי, 49 דקות.</p>
  </div>
</section>

<footer data-screen-label="Footer" style="padding:28px 64px;border-top:1px solid var(--ez-line)">
  <div style="max-width:1152px;margin:0 auto">
    <div style="height:1px;background:var(--ez-orange);margin:0 0 16px"></div>
    <div style="display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--ez-fg-2)">
      <a href="index.html" style="display:flex;align-items:center;gap:10px;border-bottom:none">
        <img src="assets/logo-mark-orange.png" alt="eazy" style="width:44px;height:44px">
        <span style="font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--ez-orange)">פשוט תצליחו.</span>
      </a>
      <span style="display:flex;align-items:center;gap:8px"><i class="ph ph-whatsapp-logo" style="font-size:18px;color:#25D366"></i>דברו איתנו<span style="color:var(--ez-line)">|</span><span dir="ltr" style="font-family:var(--font-mono)">1-700-70-70-07</span></span>
    </div>
  </div>
</footer>
</div>
</x-dc>
<script type="text/x-dc" data-dc-script>
class Component extends DCLogic {
  state = { screen: "intro", qi: 0, answers: [], guess: false, sent: false };
  renderVals() {
    const PASSAGE = "For decades, scientists believed that adult brains could not produce new neurons. Recent studies, however, suggest that the hippocampus \u2013 a region associated with memory \u2013 continues to generate neurons throughout life. This process, known as neurogenesis, appears to slow with age, yet it can be stimulated by physical exercise and learning. Some researchers therefore argue that lifestyle choices may play a greater role in cognitive aging than previously assumed.";
    // per domain: first question is medium, then easy, then two hard
    const QUESTIONS = [
      { domain: "השלמת משפטים", diff: "m", text: "Dana ___ in Haifa since 2019.", options: ["live", "living", "has lived", "is live"], answer: 2 },
      { domain: "השלמת משפטים", diff: "e", text: "The movie was so ___ that we left in the middle.", options: ["boring", "delicious", "expensive", "early"], answer: 0 },
      { domain: "השלמת משפטים", diff: "h", text: "The committee insisted that the final report ___ before the end of the month.", options: ["is submitted", "be submitted", "was submitting", "to submit"], answer: 1 },
      { domain: "השלמת משפטים", diff: "h", text: "The study's findings were ___ with earlier research, lending further support to the theory.", options: ["conspicuous", "consistent", "contentious", "convertible"], answer: 1 },
      { domain: "ניסוח מחדש", diff: "m", text: "\"Hardly anyone attended the lecture.\" Which sentence is closest in meaning?", options: ["The lecture was very hard.", "Almost everyone attended the lecture.", "Very few people came to the lecture.", "Nobody was allowed to attend."], answer: 2 },
      { domain: "ניסוח מחדש", diff: "e", text: "\"Tom is taller than Dan.\" Which sentence is closest in meaning?", options: ["Dan is shorter than Tom.", "Tom is shorter than Dan.", "Dan and Tom are the same height.", "Tom is older than Dan."], answer: 0 },
      { domain: "ניסוח מחדש", diff: "h", text: "\"Had the researchers known about the flaw, they would have redesigned the experiment.\" Which sentence is closest in meaning?", options: ["The researchers redesigned the experiment because of the flaw.", "The researchers did not know about the flaw, so they did not redesign the experiment.", "The researchers knew about the flaw but ignored it.", "The experiment was flawed because it was redesigned."], answer: 1 },
      { domain: "ניסוח מחדש", diff: "h", text: "\"Not until the results were published did the significance of the discovery become apparent.\" Which sentence is closest in meaning?", options: ["The discovery was significant because it was published.", "The results were published long after the discovery was made.", "The significance of the discovery became clear only after the results were published.", "The discovery seemed significant until the results were published."], answer: 2 },
      { domain: "הבנת הנקרא", diff: "m", passage: true, text: "According to the passage, neurogenesis is \u2013", options: ["memory loss in old age", "the creation of new neurons", "a region of the brain", "a type of physical exercise"], answer: 1 },
      { domain: "הבנת הנקרא", diff: "e", passage: true, text: "According to the passage, the hippocampus is associated with \u2013", options: ["exercise", "aging", "memory", "lifestyle"], answer: 2 },
      { domain: "הבנת הנקרא", diff: "h", passage: true, text: "It can be inferred that before the recent studies, scientists thought that \u2013", options: ["the hippocampus shrinks with age", "adult brains do not create new neurons", "exercise damages the brain", "neurogenesis speeds up over time"], answer: 1 },
      { domain: "הבנת הנקרא", diff: "h", passage: true, text: "The word \"stimulated\" (line 4) is closest in meaning to \u2013", options: ["measured", "prevented", "replaced", "encouraged"], answer: 3 },
    ];
    const WEIGHTS = { e: 1, m: 2, h: 3 };
    const q = QUESTIONS[this.state.qi] || QUESTIONS[0];
    const ans = this.state.answers;
    const pct = arr => arr.length ? Math.round(arr.filter(a => a.correct).length / arr.length * 100) : 0;
    const totalW = QUESTIONS.reduce((s, x) => s + WEIGHTS[x.diff], 0);
    const gotW = ans.reduce((s, a) => s + (a.correct ? WEIGHTS[a.diff] : 0), 0);
    const est = Math.round(55 + 95 * (gotW / totalW));
    const LEVELS = [
      { max: 84, level: "טרום בסיסי", advice: "יש בסיס לבנות עליו – אבל לבד זה יהיה מסע ארוך. עם מדריך שמתאים את הקצב, רוב התלמידים ברמה הזאת מגיעים לפטור תוך 4-8 חודשים. ההמלצה שלנו: קורס עם ליווי צמוד." },
      { max: 99, level: "בסיסי", advice: "אתם מבינים יותר ממה שנדמה לכם. חסר בעיקר אוצר מילים וביטחון בסוגי השאלות. ההמלצה שלנו: קורס עם מדריך, או יוזר עם תוכנית עבודה מסודרת אם אתם מתמידים." },
      { max: 119, level: "מתקדמים א'", advice: "אתם קרובים יותר משנדמה – רמה אחת מפטור ברוב המוסדות. תרגול ממוקד באוצר מילים ואסטרטגיות פתרון יסגור את הפער. ההמלצה שלנו: יוזר אמירנט בקצב שלכם." },
      { max: 133, level: "מתקדמים ב'", advice: "מצוין! אתם על סף פטור מלא. סימולציות מלאות וכמה שיעורים ממוקדים – וזה שלכם. ההמלצה שלנו: יוזר אמירנט, ולוודא מוכנות עם המבחן המלא החינמי." },
      { max: 999, level: "רמת פטור", advice: "כל הכבוד – ייתכן שאתם כבר ברמת פטור מלא. שווה לוודא עם מבחן האמירנט המלא החינמי (49 דקות) לפני שנרשמים למועד אמיתי." },
    ];
    const lvl = LEVELS.find(l => est <= l.max);
    const guessedCorrect = ans.filter(a => a.correct && a.guessed).length;
    const guessedTotal = ans.filter(a => a.guessed).length;
    return {
      isIntro: this.state.screen === "intro",
      isQuiz: this.state.screen === "quiz",
      isInterim: this.state.screen === "interim",
      isResult: this.state.screen === "result",
      showReport: () => this.setState({ screen: "result" }),
      startQuiz: () => this.setState({ screen: "quiz", qi: 0, answers: [], guess: false, sent: false }),
      restart: () => this.setState({ screen: "intro", qi: 0, answers: [], guess: false, sent: false }),
      qNum: this.state.qi + 1,
      qDomain: q.domain,
      qText: q.text,
      qPassage: q.passage ? PASSAGE : false,
      progressPct: (this.state.qi / 12 * 100) + "%",
      isGuessing: this.state.guess,
      guessBg: this.state.guess ? "var(--ez-orange-soft, #FBD9C2)" : "#fff",
      guessBoxBg: this.state.guess ? "var(--ez-orange)" : "#fff",
      toggleGuess: () => this.setState(s => ({ guess: !s.guess })),
      qOptions: q.options.map((text, i) => ({
        text,
        pick: () => this.setState(s => {
          const cur = QUESTIONS[s.qi];
          const answers = [...s.answers, { correct: i === cur.answer, guessed: s.guess, diff: cur.diff, domain: cur.domain }];
          return s.qi === 11 ? { screen: "interim", answers, guess: false } : { qi: s.qi + 1, answers, guess: false };
        }),
      })),
      resultLevel: lvl.level,
      resultRange: (est - 7) + "–" + (est + 7),
      resultAdvice: lvl.advice,
      domainStats: ["השלמת משפטים", "ניסוח מחדש", "הבנת הנקרא"].map(d => ({ label: d, pct: pct(ans.filter(a => a.domain === d)) + "%" })),
      levelStats: [["קל", "e"], ["בינוני", "m"], ["קשה", "h"]].map(([label, k]) => ({ label, pct: pct(ans.filter(a => a.diff === k)) + "%" })),
      hasGuesses: guessedTotal > 0,
      guessNote: guessedCorrect + " מתוך " + guessedTotal + " השאלות שסימנתם כניחוש נענו נכון. הניחושים לא גרעו מהציון – אבל ההמלצה שלנו מביאה אותם בחשבון, כדי שנדע מה באמת יושב חזק ומה עוד לא.",
      leadButtonText: this.state.sent ? "קיבלנו! נחזור אליכם היום" : "דברו איתי",
      submitLead: () => this.setState({ sent: true }),
    };
  }
}
</script>
</body>
</html>
