/* ── LESSON PACK: CONDITIONALS + CONNECTORS ──
   Loads after learn-lessons.jsx — pushes into window.LESSONS_DATA
   Also defines window.LESSON_GROUPS and assigns groups to older lessons */

window.LESSON_GROUPS = [
  { id:'tenses',       emoji:'⏱️', en:'English Tenses',              ar:'الأزمنة في الإنجليزية',      tr:'İngilizce Zamanlar' },
  { id:'conditionals', emoji:'🔀', en:'Conditionals — If Sentences', ar:'الجمل الشرطية — If',          tr:'Koşul Cümleleri — If' },
  { id:'connectors',   emoji:'🔗', en:'Connectors & Linking Words',  ar:'أدوات الربط',                 tr:'Bağlaçlar' },
  { id:'prepositions', emoji:'📍', en:'Prepositions',                ar:'حروف الجر',                   tr:'Edatlar' },
  { id:'basics',       emoji:'⚖️', en:'Grammar Essentials',          ar:'أساسيات القواعد',             tr:'Dil Bilgisi Temelleri' },
];

/* assign groups to the original lessons */
(function assignGroups(){
  const map = {
    'comparisons':'basics',
    'daily-routine':'tenses', 'present-continuous':'tenses', 'past-simple':'tenses', 'future':'tenses',
    'prep-place':'prepositions', 'prep-time':'prepositions',
  };
  (window.LESSONS_DATA||[]).forEach(l => { if (!l.group) l.group = map[l.id] || 'basics'; });
})();

window.LESSONS_DATA.push(

  /* ─── ZERO CONDITIONAL ─── */
  {
    id:'zero-conditional', level:'A2', icon:'0️⃣', group:'conditionals',
    title:{ en:'Zero Conditional — Always True', ar:'الشرط الصفري — صحيح دائماً', tr:'Zero Conditional — Her Zaman Doğru' },
    summary:{
      en:'Facts and rules: if X happens, Y always happens. If you heat water, it boils.',
      ar:'حقائق وقواعد: إذا حدث X، يحدث Y دائماً. إذا سخّنت الماء، يغلي.',
      tr:'Gerçekler ve kurallar: X olursa Y her zaman olur.',
    },
    sections:[
      { type:'concept', title:{ en:'How it works', ar:'كيف يعمل' }, body:{
        en:'**Form:** If + present simple, present simple.\n**Use for:** scientific facts, rules, things that are always true.\nYou can replace *if* with *when* and the meaning stays the same — that\u2019s the test for zero conditional.',
        ar:'**التركيب:** If + مضارع بسيط، مضارع بسيط.\n**الاستخدام:** حقائق علمية، قواعد، أشياء صحيحة دائماً.\nيمكن استبدال *if* بـ *when* دون تغيير المعنى — وهذا اختبار الشرط الصفري.',
      }},
      { type:'examples', title:{ en:'Examples', ar:'أمثلة' }, items:[
        { en:'If you heat water to 100°C, it boils.',              ar:'إذا سخّنت الماء إلى 100 درجة، يغلي.',        ctx:'Science' },
        { en:'If the input is invalid, the system rejects it.',    ar:'إذا كان الإدخال غير صالح، يرفضه النظام.',    ctx:'Software' },
        { en:'If you press this button, the machine stops.',       ar:'إذا ضغطت هذا الزر، تتوقف الآلة.',            ctx:'Safety' },
        { en:'If I drink coffee at night, I don\u2019t sleep.',     ar:'إذا شربت القهوة ليلاً، لا أنام.',            ctx:'Habit' },
        { en:'When the temperature drops, the material contracts.',ar:'عندما تنخفض الحرارة، ينكمش المعدن.',         ctx:'Engineering' },
      ]},
    ],
    practice:[
      { type:'mcq', q:'If you ___ ice, it melts.',
        options:['will heat','heat','heated','are heating'], a:1,
        explainEn:'Fact → present simple in both parts.', explainAr:'حقيقة → مضارع بسيط في الجزأين.' },
      { type:'mcq', q:'If the pressure rises too high, the valve ___.',
        options:['opens','will opened','would open','opened'], a:0,
        explainEn:'Always true → present simple.', explainAr:'صحيح دائماً → مضارع بسيط.' },
      { type:'fill', q:'If you ___ (mix) red and blue, you get purple.', a:'mix',
        explainEn:'Zero conditional: if + present, present.', explainAr:'شرط صفري: if + مضارع، مضارع.' },
      { type:'fill', q:'The app ___ (crash) if you open too many tabs.', a:'crashes',
        explainEn:'Rule → present simple with -es.', explainAr:'قاعدة → مضارع بسيط مع -es.' },
    ],
  },

  /* ─── FIRST CONDITIONAL ─── */
  {
    id:'first-conditional', level:'B1', icon:'1️⃣', group:'conditionals',
    title:{ en:'First Conditional — Real Future', ar:'الشرط الأول — مستقبل حقيقي', tr:'First Conditional — Gerçek Gelecek' },
    summary:{
      en:'Real possibilities in the future: if X happens, Y will happen. If it rains, we will cancel.',
      ar:'احتمالات حقيقية في المستقبل: إذا حدث X، سيحدث Y. إذا أمطرت، سنلغي.',
      tr:'Gelecekteki gerçek olasılıklar: X olursa Y olacak.',
    },
    sections:[
      { type:'concept', title:{ en:'How it works', ar:'كيف يعمل' }, body:{
        en:'**Form:** If + present simple, **will** + base verb.\n**Use for:** real, possible future situations — plans, warnings, promises, negotiations.\n⚠️ Never put *will* in the if-part: ❌ *If it will rain…* → ✅ *If it rains…*',
        ar:'**التركيب:** If + مضارع بسيط، **will** + الفعل الأساسي.\n**الاستخدام:** مواقف مستقبلية حقيقية وممكنة — خطط، تحذيرات، وعود، مفاوضات.\n⚠️ لا نضع *will* أبداً في جملة الشرط: ❌ *If it will rain…* → ✅ *If it rains…*',
      }},
      { type:'examples', title:{ en:'Examples', ar:'أمثلة' }, items:[
        { en:'If we finish early, we will deploy today.',              ar:'إذا انتهينا مبكراً، سننشر اليوم.',                ctx:'Planning' },
        { en:'If you don\u2019t back up your data, you will lose it.',  ar:'إذا لم تنسخ بياناتك احتياطياً، ستفقدها.',        ctx:'Warning' },
        { en:'If the client agrees, we\u2019ll sign the contract Monday.', ar:'إذا وافق العميل، سنوقع العقد الاثنين.',       ctx:'Business' },
        { en:'I\u2019ll call you if anything changes.',                  ar:'سأتصل بك إذا تغيّر أي شيء.',                     ctx:'Promise' },
        { en:'If the test fails, we won\u2019t release the update.',     ar:'إذا فشل الاختبار، لن نصدر التحديث.',             ctx:'QA rule' },
        { en:'Unless we hurry, we will miss the deadline.',              ar:'ما لم نُسرع، سنفوّت الموعد النهائي.',            ctx:'unless = if not' },
      ]},
      { type:'note', title:{ en:'Variations', ar:'صيغ أخرى' }, body:{
        en:'Instead of *will* you can use: **can, may, might, should**, or an imperative.\n• *If you see the error again, **restart** the router.*\n• *If we win this client, we **might** hire two more engineers.*',
        ar:'بدلاً من *will* يمكن استخدام: **can, may, might, should** أو صيغة الأمر.\n• *If you see the error again, **restart** the router.*',
      }},
    ],
    practice:[
      { type:'mcq', q:'If it ___ tomorrow, we will move the demo online.',
        options:['will rain','rains','rained','is rain'], a:1,
        explainEn:'No "will" in the if-part.', explainAr:'لا نضع will في جملة الشرط.' },
      { type:'mcq', q:'If you study every day, you ___ fluent.',
        options:['become','became','will become','would become'], a:2,
        explainEn:'Result part → will + base verb.', explainAr:'جملة النتيجة → will + الفعل.' },
      { type:'mcq', q:'___ we get funding, we won\u2019t start the project.',
        options:['If','Unless','When','Because'], a:1,
        explainEn:'Unless = if … not.', explainAr:'Unless = إذا لم.' },
      { type:'fill', q:'If the boss ___ (approve) it, we will start Monday.', a:'approves',
        explainEn:'If-part → present simple.', explainAr:'جملة الشرط → مضارع بسيط.' },
      { type:'fill', q:'You ___ (not / pass) the exam if you don\u2019t practice.', a:'will not pass',
        explainEn:'Result → will not (won\u2019t).', explainAr:'النتيجة → will not.' },
    ],
  },

  /* ─── SECOND CONDITIONAL ─── */
  {
    id:'second-conditional', level:'B1', icon:'2️⃣', group:'conditionals',
    title:{ en:'Second Conditional — Imaginary Present', ar:'الشرط الثاني — حاضر خيالي', tr:'Second Conditional — Hayali Şimdi' },
    summary:{
      en:'Unreal or unlikely situations now: if I had more time, I would learn German.',
      ar:'مواقف غير حقيقية أو مستبعدة الآن: لو كان لدي وقت أكثر، لتعلمت الألمانية.',
      tr:'Şu an gerçek dışı durumlar: daha çok vaktim olsaydı Almanca öğrenirdim.',
    },
    sections:[
      { type:'concept', title:{ en:'How it works', ar:'كيف يعمل' }, body:{
        en:'**Form:** If + past simple, **would** + base verb.\n**Use for:** imaginary, unreal, or very unlikely situations NOW or in the future.\n• *If I won the lottery, I would quit my job.* (I probably won\u2019t win)\n• *If I were you, I would take the offer.* (advice — I\u2019m not you)\n📌 With *be*, use **were** for all persons: *If I were, if she were…*',
        ar:'**التركيب:** If + ماضٍ بسيط، **would** + الفعل الأساسي.\n**الاستخدام:** مواقف خيالية أو غير حقيقية أو مستبعدة الآن أو مستقبلاً.\n• *If I won the lottery, I would quit my job.* (على الأرجح لن أفوز)\n• *If I were you, I would take the offer.* (نصيحة)\n📌 مع فعل *be* نستخدم **were** مع الجميع: *If I were, if she were…*',
      }},
      { type:'examples', title:{ en:'Examples', ar:'أمثلة' }, items:[
        { en:'If I had more budget, I would hire another engineer.',   ar:'لو كانت لدي ميزانية أكبر، لوظفت مهندساً آخر.',   ctx:'Wish' },
        { en:'If the office were closer, I would walk to work.',       ar:'لو كان المكتب أقرب، لذهبت مشياً.',               ctx:'Unreal now' },
        { en:'What would you do if the server went down at 3 a.m.?',   ar:'ماذا ستفعل لو تعطل الخادم في الثالثة فجراً؟',    ctx:'Interview' },
        { en:'If I were the manager, I would change this process.',    ar:'لو كنت المدير، لغيّرت هذه العملية.',              ctx:'Opinion' },
        { en:'I wouldn\u2019t worry if I were you.',                    ar:'لما قلقت لو كنت مكانك.',                          ctx:'Advice' },
      ]},
      { type:'note', title:{ en:'First vs Second', ar:'الأول مقابل الثاني' }, body:{
        en:'• *If I **have** time, I **will** help you.* → real possibility (first)\n• *If I **had** time, I **would** help you.* → but I don\u2019t have time (second)\nThe past tense here does NOT mean past time — it means "not real".',
        ar:'• *If I **have** time, I **will** help you.* → احتمال حقيقي (الأول)\n• *If I **had** time, I **would** help you.* → لكن لا وقت لدي (الثاني)\nصيغة الماضي هنا لا تعني زمناً ماضياً — بل تعني "غير حقيقي".',
      }},
    ],
    practice:[
      { type:'mcq', q:'If I ___ you, I would accept the job.',
        options:['am','was','were','be'], a:2,
        explainEn:'Second conditional with be → were.', explainAr:'الشرط الثاني مع be → were.' },
      { type:'mcq', q:'If we had a bigger team, we ___ faster.',
        options:['will ship','would ship','ship','shipped'], a:1,
        explainEn:'Unreal → would + base verb.', explainAr:'غير حقيقي → would + الفعل.' },
      { type:'mcq', q:'What ___ you do if you lost all your code?',
        options:['will','do','would','did'], a:2,
        explainEn:'Imaginary question → would.', explainAr:'سؤال خيالي → would.' },
      { type:'fill', q:'If I ___ (speak) perfect English, I would apply to Google.', a:'spoke',
        explainEn:'If-part → past simple.', explainAr:'جملة الشرط → ماضٍ بسيط.' },
      { type:'fill', q:'She ___ (travel) more if she had time.', a:'would travel',
        explainEn:'Result → would + base.', explainAr:'النتيجة → would + الفعل.' },
    ],
  },

  /* ─── THIRD CONDITIONAL ─── */
  {
    id:'third-conditional', level:'B2', icon:'3️⃣', group:'conditionals',
    title:{ en:'Third Conditional — Imaginary Past', ar:'الشرط الثالث — ماضٍ خيالي', tr:'Third Conditional — Hayali Geçmiş' },
    summary:{
      en:'Regrets and past what-ifs: if we had tested it, it would not have crashed.',
      ar:'الندم وافتراضات الماضي: لو كنا اختبرناه، لما تعطل.',
      tr:'Pişmanlıklar ve geçmiş varsayımlar: test etseydik çökmezdi.',
    },
    sections:[
      { type:'concept', title:{ en:'How it works', ar:'كيف يعمل' }, body:{
        en:'**Form:** If + past perfect (had + participle), **would have** + participle.\n**Use for:** imagining a different PAST — the situation is finished and cannot change. Perfect for regrets and post-mortems.\n• *If we had tested more, the bug would not have reached production.*',
        ar:'**التركيب:** If + ماضٍ تام (had + التصريف الثالث)، **would have** + التصريف الثالث.\n**الاستخدام:** تخيّل ماضٍ مختلف — الموقف انتهى ولا يمكن تغييره. مثالي للندم وتحليل ما بعد الحوادث.\n• *If we had tested more, the bug would not have reached production.*',
      }},
      { type:'examples', title:{ en:'Examples', ar:'أمثلة' }, items:[
        { en:'If I had studied English earlier, I would have gotten that job.', ar:'لو درست الإنجليزية مبكراً، لحصلت على تلك الوظيفة.', ctx:'Regret' },
        { en:'If we had backed up the data, we wouldn\u2019t have lost it.',    ar:'لو نسخنا البيانات احتياطياً، لما فقدناها.',          ctx:'Post-mortem' },
        { en:'She would have joined the call if you had invited her.',          ar:'لكانت انضمت للمكالمة لو دعوتها.',                    ctx:'Missed event' },
        { en:'If the sensor had been calibrated, the reading would have been correct.', ar:'لو كان المستشعر معايراً، لكانت القراءة صحيحة.', ctx:'Engineering' },
        { en:'We wouldn\u2019t have missed the deadline if we had started earlier.', ar:'لما فوّتنا الموعد لو بدأنا مبكراً.',              ctx:'Lesson learned' },
      ]},
      { type:'note', title:{ en:'Quick recognition', ar:'تمييز سريع' }, body:{
        en:'Hear **"had + done… would have + done"** → talking about an unchangeable past.\nShort forms in speech: *If I\u2019d known, I would\u2019ve told you.*',
        ar:'إذا سمعت **"had + done… would have + done"** → حديث عن ماضٍ لا يمكن تغييره.\nمختصرات في الكلام: *If I\u2019d known, I would\u2019ve told you.*',
      }},
    ],
    practice:[
      { type:'mcq', q:'If you ___ me, I would have helped you.',
        options:['asked','had asked','have asked','ask'], a:1,
        explainEn:'If-part → past perfect.', explainAr:'جملة الشرط → ماضٍ تام.' },
      { type:'mcq', q:'We ___ the contract if the price had been lower.',
        options:['would sign','would have signed','signed','will sign'], a:1,
        explainEn:'Result → would have + participle.', explainAr:'النتيجة → would have + التصريف الثالث.' },
      { type:'fill', q:'If I ___ (know) about the meeting, I would have come.', a:'had known',
        explainEn:'If + past perfect.', explainAr:'If + ماضٍ تام.' },
      { type:'fill', q:'The demo ___ (not / fail) if we had rehearsed it.', a:'would not have failed',
        explainEn:'would not have + participle.', explainAr:'would not have + التصريف الثالث.' },
    ],
  },

  /* ─── CONDITIONALS COMPARED ─── */
  {
    id:'conditionals-compare', level:'B2', icon:'🧭', group:'conditionals',
    title:{ en:'All Conditionals — Side by Side', ar:'كل الجمل الشرطية — جنباً إلى جنب', tr:'Tüm Koşullar — Yan Yana' },
    summary:{
      en:'Zero, first, second, third — one map to choose the right one every time.',
      ar:'الصفري والأول والثاني والثالث — خريطة واحدة لاختيار الصحيح كل مرة.',
      tr:'Zero, first, second, third — her seferinde doğrusunu seçmek için tek harita.',
    },
    sections:[
      { type:'table', title:{ en:'The map', ar:'الخريطة' }, headers:['Type','If-part','Result','Meaning'], rows:[
        ['Zero','present simple','present simple','always true (fact/rule)'],
        ['First','present simple','will + verb','real future possibility'],
        ['Second','past simple','would + verb','unreal now / unlikely'],
        ['Third','had + participle','would have + participle','unreal past / regret'],
      ]},
      { type:'examples', title:{ en:'One situation, four meanings', ar:'موقف واحد، أربعة معانٍ' }, items:[
        { en:'If you test the code, you catch bugs. → general truth.',                       ar:'إذا اختبرت الكود، تكتشف الأخطاء. → حقيقة عامة.',            ctx:'Zero' },
        { en:'If you test the code, you will catch this bug. → likely, do it!',              ar:'إذا اختبرت الكود، ستكتشف هذا الخطأ. → محتمل، افعلها!',       ctx:'First' },
        { en:'If you tested the code, you would catch the bug. → but you don\u2019t test.',   ar:'لو كنت تختبر الكود، لاكتشفت الخطأ. → لكنك لا تختبر.',        ctx:'Second' },
        { en:'If you had tested the code, you would have caught the bug. → too late now.',   ar:'لو كنت اختبرت الكود، لاكتشفت الخطأ. → فات الأوان.',          ctx:'Third' },
      ]},
      { type:'note', title:{ en:'How to choose in 2 seconds', ar:'كيف تختار في ثانيتين' }, body:{
        en:'Ask: **Is it real?** and **When?**\n• Real + always → Zero\n• Real + future → First\n• Not real + now → Second\n• Not real + past → Third',
        ar:'اسأل: **هل هو حقيقي؟** و **متى؟**\n• حقيقي + دائماً → صفري\n• حقيقي + مستقبل → أول\n• غير حقيقي + الآن → ثانٍ\n• غير حقيقي + ماضٍ → ثالث',
      }},
    ],
    practice:[
      { type:'mcq', q:'If metal gets hot, it ___. (fact)',
        options:['expands','will expand','would expand','expanded'], a:0,
        explainEn:'Fact → zero conditional.', explainAr:'حقيقة → شرط صفري.' },
      { type:'mcq', q:'If we win the tender next month, we ___ the team. (real plan)',
        options:['expand','would expand','will expand','had expanded'], a:2,
        explainEn:'Real future → first conditional.', explainAr:'مستقبل حقيقي → الشرط الأول.' },
      { type:'mcq', q:'If I ___ a robot, I would never sleep. (imaginary)',
        options:['am','were','had been','will be'], a:1,
        explainEn:'Unreal now → second conditional (were).', explainAr:'غير حقيقي الآن → الشرط الثاني.' },
      { type:'mcq', q:'If they had told us earlier, we ___ the flight.',
        options:['would catch','will catch','would have caught','caught'], a:2,
        explainEn:'Unreal past → third conditional.', explainAr:'ماضٍ غير حقيقي → الشرط الثالث.' },
      { type:'fill', q:'If I ___ (be) you, I would say yes. (advice)', a:'were',
        explainEn:'Second conditional advice → were.', explainAr:'نصيحة بالشرط الثاني → were.' },
    ],
  },

  /* ─── CONNECTORS: BASICS ─── */
  {
    id:'connectors-basic', level:'A2', icon:'🔗', group:'connectors',
    title:{ en:'Basic Connectors — and, but, or, so, because', ar:'أدوات الربط الأساسية — and, but, or, so, because', tr:'Temel Bağlaçlar — and, but, or, so, because' },
    summary:{
      en:'The five little words that join 90% of your sentences.',
      ar:'الكلمات الخمس الصغيرة التي تربط 90% من جملك.',
      tr:'Cümlelerinizin %90\u2019ını birleştiren beş küçük kelime.',
    },
    sections:[
      { type:'table', title:{ en:'The big five', ar:'الخمسة الكبار' }, headers:['Word','Job','Example'], rows:[
        ['and','adds information','The design is simple and cheap.'],
        ['but','shows contrast','It works, but it is slow.'],
        ['or','gives a choice','We can refactor or rewrite it.'],
        ['so','shows a result','The test failed, so we stopped the release.'],
        ['because','gives a reason','We stopped because the test failed.'],
      ]},
      { type:'examples', title:{ en:'Examples', ar:'أمثلة' }, items:[
        { en:'I checked the logs and found the problem.',              ar:'فحصت السجلات ووجدت المشكلة.',                 ctx:'and' },
        { en:'The idea is good, but we don\u2019t have the budget.',    ar:'الفكرة جيدة، لكن لا نملك الميزانية.',         ctx:'but' },
        { en:'Should we meet online or in the office?',                 ar:'هل نجتمع عبر الإنترنت أم في المكتب؟',         ctx:'or' },
        { en:'The client was happy, so we celebrated.',                 ar:'كان العميل سعيداً، لذلك احتفلنا.',            ctx:'so' },
        { en:'I was late because the traffic was terrible.',            ar:'تأخرت لأن الازدحام كان فظيعاً.',              ctx:'because' },
      ]},
      { type:'note', title:{ en:'so vs because', ar:'الفرق بين so و because' }, body:{
        en:'They describe the same relationship from opposite sides:\n• *It rained, **so** we stayed home.* (reason → result)\n• *We stayed home **because** it rained.* (result → reason)',
        ar:'يصفان العلاقة نفسها من جهتين متقابلتين:\n• *It rained, **so** we stayed home.* (سبب → نتيجة)\n• *We stayed home **because** it rained.* (نتيجة → سبب)',
      }},
    ],
    practice:[
      { type:'mcq', q:'The code compiles, ___ it still has warnings.',
        options:['and','but','or','because'], a:1,
        explainEn:'Contrast → but.', explainAr:'تناقض → but.' },
      { type:'mcq', q:'I missed the bus, ___ I took a taxi.',
        options:['because','or','so','but'], a:2,
        explainEn:'Result → so.', explainAr:'نتيجة → so.' },
      { type:'mcq', q:'We postponed the launch ___ the tests failed.',
        options:['so','because','but','and'], a:1,
        explainEn:'Reason → because.', explainAr:'سبب → because.' },
      { type:'fill', q:'You can email me ___ call me — both are fine.', a:'or',
        explainEn:'Choice → or.', explainAr:'اختيار → or.' },
      { type:'fill', q:'The design is light ___ strong.', a:'and',
        explainEn:'Adding → and.', explainAr:'إضافة → and.' },
    ],
  },

  /* ─── CONNECTORS: CONTRAST ─── */
  {
    id:'connectors-contrast', level:'B1', icon:'⚡', group:'connectors',
    title:{ en:'Contrast Connectors — however, although, despite', ar:'أدوات التناقض — however, although, despite', tr:'Zıtlık Bağlaçları — however, although, despite' },
    summary:{
      en:'Sound professional when two facts point in opposite directions.',
      ar:'تحدث باحترافية عندما تشير حقيقتان إلى اتجاهين متعاكسين.',
      tr:'İki gerçek zıt yönleri gösterdiğinde profesyonel konuşun.',
    },
    sections:[
      { type:'concept', title:{ en:'Three patterns', ar:'ثلاثة أنماط' }, body:{
        en:'**however** — starts a NEW sentence, followed by a comma:\n  *The results were good. However, we need more data.*\n**although / even though** — joins two clauses in one sentence:\n  *Although the results were good, we need more data.*\n**despite / in spite of** — followed by a NOUN or -ing (not a clause!):\n  *Despite the good results, we need more data.*',
        ar:'**however** — تبدأ جملة جديدة وتليها فاصلة:\n  *The results were good. However, we need more data.*\n**although / even though** — تربط جملتين في جملة واحدة:\n  *Although the results were good, we need more data.*\n**despite / in spite of** — يليها اسم أو -ing (وليس جملة!):\n  *Despite the good results, we need more data.*',
      }},
      { type:'examples', title:{ en:'Examples', ar:'أمثلة' }, items:[
        { en:'The prototype works. However, it is too expensive to produce.',   ar:'النموذج يعمل. لكنه مكلف جداً للإنتاج.',            ctx:'Report' },
        { en:'Although he is junior, his code quality is excellent.',            ar:'رغم أنه مبتدئ، جودة كوده ممتازة.',                  ctx:'Review' },
        { en:'Despite the delay, the client renewed the contract.',              ar:'رغم التأخير، جدّد العميل العقد.',                    ctx:'Business' },
        { en:'Even though we tested twice, one bug escaped.',                    ar:'مع أننا اختبرنا مرتين، تسلل خطأ واحد.',              ctx:'Post-mortem' },
        { en:'In spite of working all weekend, we missed the deadline.',         ar:'رغم العمل طوال عطلة الأسبوع، فوّتنا الموعد.',        ctx:'despite + -ing' },
        { en:'Whereas Team A uses Python, Team B prefers Go.',                   ar:'بينما يستخدم الفريق A بايثون، يفضل الفريق B لغة Go.', ctx:'whereas' },
      ]},
      { type:'note', title:{ en:'The classic mistake', ar:'الخطأ الكلاسيكي' }, body:{
        en:'❌ *Despite it was raining…* → despite + clause is wrong.\n✅ *Despite the rain…* / ✅ *Although it was raining…*',
        ar:'❌ *Despite it was raining…* → despite لا تتبعها جملة.\n✅ *Despite the rain…* / ✅ *Although it was raining…*',
      }},
    ],
    practice:[
      { type:'mcq', q:'___ the high cost, we chose the premium sensor.',
        options:['Although','However','Despite','But'], a:2,
        explainEn:'Followed by a noun → despite.', explainAr:'يليها اسم → despite.' },
      { type:'mcq', q:'___ the app is free, it has premium features.',
        options:['Despite','Although','However','In spite of'], a:1,
        explainEn:'Followed by a clause → although.', explainAr:'تليها جملة → although.' },
      { type:'mcq', q:'Sales grew fast. ___, profit stayed flat.',
        options:['Although','Despite','However','Because'], a:2,
        explainEn:'New sentence + comma → However.', explainAr:'جملة جديدة + فاصلة → However.' },
      { type:'fill', q:'___ working hard, he failed the certification. (in spite of / despite)', a:'despite',
        explainEn:'despite + -ing.', explainAr:'despite + -ing.' },
      { type:'fill', q:'Even ___ the demo crashed, the client was impressed.', a:'though',
        explainEn:'even though + clause.', explainAr:'even though + جملة.' },
    ],
  },

  /* ─── CONNECTORS: CAUSE & RESULT ─── */
  {
    id:'connectors-cause', level:'B1', icon:'🎯', group:'connectors',
    title:{ en:'Cause & Result — because, since, therefore', ar:'السبب والنتيجة — because, since, therefore', tr:'Sebep ve Sonuç — because, since, therefore' },
    summary:{
      en:'Explain WHY things happen and WHAT follows — essential for reports and meetings.',
      ar:'اشرح لماذا تحدث الأشياء وما الذي يترتب عليها — أساسي للتقارير والاجتماعات.',
      tr:'Şeylerin NEDEN olduğunu ve NE sonuç doğurduğunu açıklayın.',
    },
    sections:[
      { type:'table', title:{ en:'Cause vs result words', ar:'كلمات السبب مقابل النتيجة' }, headers:['Word','Type','Example'], rows:[
        ['because + clause','reason','We stopped because the pump failed.'],
        ['since / as + clause','reason (known)','Since everyone is here, let\u2019s start.'],
        ['because of / due to + noun','reason','The delay was due to bad weather.'],
        ['so','result (informal)','It failed, so we rolled back.'],
        ['therefore','result (formal)','Costs rose; therefore, we revised the budget.'],
        ['as a result','result (formal)','As a result, the project was delayed.'],
      ]},
      { type:'examples', title:{ en:'Examples', ar:'أمثلة' }, items:[
        { en:'Since we already agreed on the design, let\u2019s move to timeline.', ar:'بما أننا اتفقنا على التصميم، لننتقل إلى الجدول الزمني.', ctx:'Meeting' },
        { en:'The launch was postponed due to a security issue.',                   ar:'أُجّل الإطلاق بسبب مشكلة أمنية.',                     ctx:'Announcement' },
        { en:'The material is cheap; therefore, it is popular in mass production.', ar:'المادة رخيصة؛ لذلك فهي شائعة في الإنتاج الكمّي.',    ctx:'Report' },
        { en:'The API changed. As a result, three services broke.',                  ar:'تغيّرت الواجهة البرمجية. ونتيجة لذلك تعطلت ثلاث خدمات.', ctx:'Incident' },
        { en:'Because of the traffic, I joined the call from my phone.',             ar:'بسبب الازدحام، انضممت للمكالمة من هاتفي.',            ctx:'Excuse' },
      ]},
      { type:'note', title:{ en:'clause or noun?', ar:'جملة أم اسم؟' }, body:{
        en:'**because** + subject + verb: *because the pump failed*\n**because of / due to** + noun: *because of the failure*\nSame meaning — different grammar after the connector.',
        ar:'**because** + فاعل + فعل: *because the pump failed*\n**because of / due to** + اسم: *because of the failure*\nالمعنى واحد — القواعد بعد الأداة مختلفة.',
      }},
    ],
    practice:[
      { type:'mcq', q:'The flight was cancelled ___ the storm.',
        options:['because','due to','since','therefore'], a:1,
        explainEn:'Followed by a noun → due to.', explainAr:'يليها اسم → due to.' },
      { type:'mcq', q:'We lost the logs ___ the disk was full.',
        options:['because','because of','due to','as a result'], a:0,
        explainEn:'Followed by a clause → because.', explainAr:'تليها جملة → because.' },
      { type:'mcq', q:'Demand doubled; ___, we increased production.',
        options:['because','although','therefore','despite'], a:2,
        explainEn:'Formal result → therefore.', explainAr:'نتيجة رسمية → therefore.' },
      { type:'fill', q:'___ you already know the system, you can train the others. (since/as)', a:'since',
        explainEn:'Known reason → since.', explainAr:'سبب معروف → since.' },
      { type:'fill', q:'The server overheated. As a ___, it shut down.', a:'result',
        explainEn:'as a result = introduces the consequence.', explainAr:'as a result = نتيجة لذلك.' },
    ],
  },

  /* ─── CONNECTORS: ADDING & SEQUENCING ─── */
  {
    id:'connectors-sequence', level:'B1', icon:'➕', group:'connectors',
    title:{ en:'Adding & Ordering — moreover, first, finally', ar:'الإضافة والترتيب — moreover, first, finally', tr:'Ekleme ve Sıralama — moreover, first, finally' },
    summary:{
      en:'Add points like a pro and walk people through steps in a clear order.',
      ar:'أضف النقاط باحترافية وقُد الآخرين عبر الخطوات بترتيب واضح.',
      tr:'Profesyonelce madde ekleyin ve adımları net bir sırayla anlatın.',
    },
    sections:[
      { type:'table', title:{ en:'Adding information', ar:'إضافة معلومات' }, headers:['Word','Register','Example'], rows:[
        ['also','neutral','The tool is fast. It is also free.'],
        ['in addition','formal','In addition, it supports Arabic.'],
        ['moreover / furthermore','very formal','Moreover, the license is open source.'],
        ['as well as + noun','neutral','We need testers as well as developers.'],
        ['besides','informal','Besides, we already paid for it.'],
      ]},
      { type:'table', title:{ en:'Ordering steps', ar:'ترتيب الخطوات' }, headers:['Stage','Words'], rows:[
        ['Start','first, first of all, to begin with'],
        ['Middle','then, next, after that, secondly'],
        ['Extra','meanwhile, at the same time'],
        ['End','finally, lastly, in the end'],
        ['Summary','in conclusion, to sum up, overall'],
      ]},
      { type:'examples', title:{ en:'A process, connected', ar:'عملية مترابطة' }, items:[
        { en:'First, we collect the requirements.',                    ar:'أولاً، نجمع المتطلبات.',                       ctx:'Step 1' },
        { en:'Then we build a small prototype.',                       ar:'ثم نبني نموذجاً أولياً صغيراً.',               ctx:'Step 2' },
        { en:'Next, we test it with real users.',                      ar:'بعدها نختبره مع مستخدمين حقيقيين.',            ctx:'Step 3' },
        { en:'Meanwhile, the design team prepares the final UI.',      ar:'في هذه الأثناء، يجهز فريق التصميم الواجهة النهائية.', ctx:'Parallel' },
        { en:'Finally, we launch and monitor the metrics.',            ar:'أخيراً، نُطلق ونراقب المؤشرات.',               ctx:'Step 4' },
        { en:'To sum up, small steps reduce risk.',                    ar:'خلاصة القول، الخطوات الصغيرة تقلل المخاطر.',   ctx:'Summary' },
      ]},
      { type:'note', title:{ en:'Presentation gold', ar:'ذهب العروض التقديمية' }, body:{
        en:'These words are the skeleton of every good presentation and email. Learn ONE from each row and use it every day:\n*First… In addition… However… Therefore… Finally…*',
        ar:'هذه الكلمات هي هيكل كل عرض تقديمي وبريد جيد. احفظ واحدة من كل صف واستخدمها يومياً:\n*First… In addition… However… Therefore… Finally…*',
      }},
    ],
    practice:[
      { type:'mcq', q:'The phone is cheap. ___, the camera is excellent.',
        options:['Moreover','But','Because','Despite'], a:0,
        explainEn:'Adding a positive point → moreover.', explainAr:'إضافة نقطة → moreover.' },
      { type:'mcq', q:'___, mix the solution. Then heat it to 60°C.',
        options:['Finally','First','Meanwhile','Therefore'], a:1,
        explainEn:'Step 1 → First.', explainAr:'الخطوة الأولى → First.' },
      { type:'mcq', q:'We need designers ___ engineers for this project.',
        options:['as well','also','as well as','in addition'], a:2,
        explainEn:'as well as + noun.', explainAr:'as well as + اسم.' },
      { type:'fill', q:'___ , after six months of work, we launched the product. (at the end)', a:'finally',
        explainEn:'Last step → finally.', explainAr:'الخطوة الأخيرة → finally.' },
      { type:'fill', q:'To sum ___, the second option is cheaper and safer.', a:'up',
        explainEn:'to sum up = introduces a short summary.', explainAr:'to sum up = للتلخيص.' },
    ],
  },

);
