/* ===== جُمَل • مولّد الجمل ===== */
:root{
  --primary:#4F46E5; --primary-d:#4338CA; --primary-l:#818CF8;
  --accent:#16A34A; --accent-d:#15803D;
  --bg:#EEF2FF; --bg2:#E4E9FB;
  --ink:#312E81; --ink-soft:#5A5791;
  --card:#FFFFFF; --line:#C7D2FE;
  --c-person:#E11D48; --c-verb:#4F46E5; --c-place:#0E9F6E;
  --c-loc:#7C3AED; --c-time:#D97706; --c-adj:#DB2777; --c-prep:#64748B;
  --shadow:0 10px 30px -12px rgba(79,70,229,.35);
  --shadow-sm:0 4px 14px -6px rgba(79,70,229,.28);
  --r:20px;
  --fh:'Baloo Bhaijaan 2',system-ui,sans-serif;
  --fb:'Tajawal',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--fb);background:
  radial-gradient(900px 420px at 90% -5%, #E0E7FF 0%, transparent 60%),
  radial-gradient(700px 380px at -5% 10%, #FCE7F3 0%, transparent 55%),
  var(--bg); color:var(--ink); line-height:1.7; font-size:17px}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
h1,h2,h3,.brand-name{font-family:var(--fh)}
h1{font-size:clamp(1.8rem,4.4vw,3rem);line-height:1.35;font-weight:800}
h1 em{color:var(--primary);font-style:normal}
h2{font-size:clamp(1.3rem,2.6vw,1.75rem);display:flex;align-items:center;gap:10px}
h2 svg{color:var(--primary)}
a{text-decoration:none;color:inherit}
button{font-family:var(--fb);cursor:pointer}

/* ===== Top bar ===== */
.topbar{position:sticky;top:0;z-index:50;background:rgba(238,242,255,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.topbar-in{display:flex;align-items:center;justify-content:space-between;padding:10px 20px}
.brand{display:flex;align-items:center;gap:12px}
.brand-ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-l));box-shadow:var(--shadow-sm)}
.brand-name{font-weight:800;font-size:1.2rem}
.brand-name .dot{color:var(--accent)}
.brand-sub{font-size:.8rem;color:var(--ink-soft)}
.topnav{display:flex;gap:6px}
.topnav a{padding:8px 14px;border-radius:12px;font-weight:700;font-size:.95rem;color:var(--ink-soft);transition:.2s}
.topnav a:hover{background:#fff;color:var(--primary);box-shadow:var(--shadow-sm)}

/* ===== Hero ===== */
.hero{padding:56px 0 40px}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.pill{display:inline-flex;align-items:center;gap:8px;background:#fff;border:2px solid var(--line);border-radius:999px;padding:6px 16px;font-weight:700;font-size:.9rem;color:var(--primary);margin-bottom:18px;box-shadow:var(--shadow-sm)}
.pill svg{width:16px;height:16px}
.hero-txt p{color:var(--ink-soft);max-width:56ch;margin:16px 0 24px;font-size:1.08rem}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:9px;border:0;border-radius:14px;padding:12px 22px;font-weight:800;font-size:1rem;transition:transform .18s ease, box-shadow .18s ease;font-family:var(--fb)}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--primary);color:#fff;box-shadow:var(--shadow)}
.btn-primary:hover{background:var(--primary-d)}
.btn-secondary{background:#fff;color:var(--primary);border:2px solid var(--line);box-shadow:var(--shadow-sm)}
.btn-secondary:hover{border-color:var(--primary-l)}
.btn-ghost{background:transparent;color:var(--ink);border:2px solid var(--line)}
.btn-ghost:hover{background:#fff}

/* ===== Demo card (hero) ===== */
.hero-demo{display:flex;justify-content:center}
.demo-card{background:#fff;border-radius:26px;padding:26px 24px;box-shadow:var(--shadow);border:3px solid var(--line);width:100%;max-width:470px}
.demo-line{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border-radius:16px;background:#F5F7FF;margin-bottom:10px}
.demo-line2{background:#FDF4FF}
.demo-swap,.demo-note{display:flex;align-items:center;gap:8px;font-size:.92rem;color:var(--ink-soft);margin:4px 2px 12px;font-weight:500}
.demo-swap svg,.demo-note svg{width:17px;height:17px;color:var(--accent)}
.demo-note{color:var(--accent-d);font-weight:700;margin:6px 2px 0}
.tok{font-family:var(--fh);font-weight:700;color:#fff;border-radius:10px;padding:5px 14px;font-size:1.02rem;display:inline-flex;align-items:center;box-shadow:var(--shadow-sm);border:2px solid rgba(255,255,255,.35)}
.t-person{background:var(--c-person)} .t-verb{background:var(--c-verb)}
.t-place{background:var(--c-place)} .t-loc{background:var(--c-loc)}
.t-time{background:var(--c-time)} .t-adj{background:var(--c-adj)} .t-prep{background:var(--c-prep)}

/* ===== Stats ===== */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:44px}
.stat{background:#fff;border:2px solid var(--line);border-radius:18px;padding:16px 18px;text-align:center;box-shadow:var(--shadow-sm)}
.stat b{font-family:var(--fh);font-size:1.65rem;color:var(--primary);display:block;line-height:1.2}
.stat span{color:var(--ink-soft);font-size:.92rem;font-weight:500}

/* ===== Cards / sections ===== */
.card{background:var(--card);border:3px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:34px;margin:40px 0;scroll-margin-top:90px}
.sec-head{margin-bottom:22px}
.sec-sub{color:var(--ink-soft);margin-top:4px;max-width:72ch}

/* ===== Tabs ===== */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.tab{padding:10px 20px;border-radius:999px;border:2px solid var(--line);background:#F5F7FF;font-weight:800;color:var(--ink-soft);font-size:.98rem;transition:.18s}
.tab:hover{border-color:var(--primary-l);color:var(--primary)}
.tab.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}

/* ===== Builder layout ===== */
.builder-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:start}
.slotcard{background:#F8FAFF;border:2px solid var(--line);border-radius:18px;padding:16px 18px;margin-bottom:14px}
.slotcard h4{font-family:var(--fh);display:flex;align-items:center;gap:8px;font-size:1.05rem;margin-bottom:4px}
.slotcard h4 svg{width:19px;height:19px}
.slotcard .hint{font-size:.84rem;color:var(--ink-soft);margin-bottom:10px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:2px solid var(--line);background:#fff;border-radius:999px;padding:7px 15px;font-size:.95rem;font-weight:700;color:var(--ink);transition:.15s}
.chip:hover{border-color:var(--primary-l);transform:translateY(-1px)}
.chip.sel{color:#fff;border-color:transparent;box-shadow:var(--shadow-sm)}
.chip.sel.c-person{background:var(--c-person)} .chip.sel.c-verb{background:var(--c-verb)}
.chip.sel.c-place{background:var(--c-place)} .chip.sel.c-loc{background:var(--c-loc)}
.chip.sel.c-time{background:var(--c-time)} .chip.sel.c-adj{background:var(--c-adj)}
.chip.sel.c-noun{background:#0E7490}
.c-noun-dot{color:#0E7490;font-weight:800}

.slot-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:4px}
.combo-count{font-size:.95rem;font-weight:800;color:var(--accent-d);background:#F0FDF4;border:2px solid #BBF7D0;border-radius:999px;padding:8px 16px}
.legend-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}
.legend-row span{display:inline-flex;align-items:center;gap:6px;font-size:.83rem;font-weight:700;color:var(--ink-soft)}
.lg{width:13px;height:13px;border-radius:4px;display:inline-block}

/* ===== Output column ===== */
.out-col{background:#F8FAFF;border:2px solid var(--line);border-radius:20px;padding:18px;position:sticky;top:92px}
.out-head{display:flex;justify-content:space-between;align-items:center;font-weight:800;font-family:var(--fh);margin-bottom:12px}
.out-actions{display:flex;gap:6px}
.icon-btn{border:2px solid var(--line);background:#fff;border-radius:11px;width:38px;height:38px;display:grid;place-items:center;color:var(--ink-soft);transition:.15s}
.icon-btn:hover{color:var(--c-person);border-color:#FDA4AF}
.icon-btn.on{color:#fff;background:var(--c-person);border-color:var(--c-person)}
.icon-btn svg{width:17px;height:17px}
.sentence-out{min-height:86px;background:#fff;border:2px dashed var(--primary-l);border-radius:16px;padding:16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:1.25rem;margin-bottom:8px}
.sentence-out .tok{font-size:1.22rem}
.sentence-out .empty{color:#A5A3C9;font-weight:700;font-size:1rem;width:100%;text-align:center}
.transform-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 16px}
.mini-btn{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:5px 13px;font-size:.84rem;font-weight:700;color:var(--ink-soft);transition:.15s}
.mini-btn:hover{color:var(--primary);border-color:var(--primary-l)}
.mini-btn.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.faves-head{font-weight:800;font-size:.95rem;display:flex;align-items:center;gap:8px;color:var(--ink-soft);border-top:2px dashed var(--line);padding-top:12px}
.mini-badge{background:var(--primary);color:#fff;border-radius:999px;font-size:.75rem;padding:1px 9px}
.faves-list{margin-top:8px;display:flex;flex-direction:column;gap:8px;max-height:190px;overflow:auto}
.faves-list .empty{color:#A5A3C9;font-size:.88rem;padding:8px 2px}
.fave{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:8px 12px;font-size:.95rem}
.fave .fx{display:flex;gap:3px;flex-wrap:wrap}
.fave .rm{border:0;background:none;color:#CBD1EC;font-size:1rem;line-height:1}
.fave .rm:hover{color:var(--c-person)}

/* ===== Bank ===== */
.bank-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px}
.bcat{background:#F8FAFF;border:2px solid var(--line);border-radius:18px;overflow:hidden;transition:.18s}
.bcat:hover{border-color:var(--primary-l)}
.bcat-head{display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;user-select:none;font-family:var(--fh);font-weight:700;font-size:1.05rem}
.bcat-head .cnt{margin-inline-start:auto;background:var(--primary);color:#fff;border-radius:999px;font-size:.78rem;padding:2px 11px;font-family:var(--fb)}
.bcat-head svg.chev{transition:transform .2s;color:var(--ink-soft);width:17px;height:17px}
.bcat.open .chev{transform:rotate(180deg)}
.bcat-body{display:none;padding:4px 16px 16px}
.bcat.open .bcat-body{display:block}
.words{display:flex;flex-wrap:wrap;gap:6px}
.word{background:#fff;border:1.5px solid var(--line);border-radius:8px;padding:3px 10px;font-size:.9rem;font-weight:700}
.word.person{color:var(--c-person);border-color:#FDA4AF}
.word.verb{color:var(--c-verb);border-color:#C7D2FE}
.word.place{color:var(--c-place);border-color:#A7F3D0}
.word.loc{color:var(--c-loc);border-color:#DDD6FE}
.word.time{color:var(--c-time);border-color:#FDE68A}
.word.adj{color:var(--c-adj);border-color:#FBCFE8}
.bcat-note{font-size:.82rem;color:var(--ink-soft);margin-bottom:10px;line-height:1.6}

/* ===== Methodology ===== */
.method-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.mstep{background:#F8FAFF;border:2px solid var(--line);border-radius:18px;padding:20px;position:relative}
.mstep-num{position:absolute;top:-14px;right:18px;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#4ADE80);color:#fff;font-family:var(--fh);font-weight:800;display:grid;place-items:center;font-size:1.05rem;box-shadow:var(--shadow-sm)}
.mstep h3{font-size:1.12rem;margin:6px 0 8px;color:var(--primary-d)}
.mstep p{font-size:.95rem;color:var(--ink-soft)}
.callout{display:flex;gap:14px;background:#FFF7ED;border:2px solid #FED7AA;border-radius:18px;padding:18px 20px;margin-top:22px}
.callout svg{flex-shrink:0;color:#EA580C;margin-top:4px}
.callout strong{color:#9A3412}

/* ===== Footer ===== */
.footer{margin-top:60px;border-top:1px solid var(--line);padding:26px 0;background:rgba(255,255,255,.5)}
.footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;color:var(--ink-soft);font-size:.92rem}
.legend-mini{display:flex;gap:12px;flex-wrap:wrap}
.legend-mini span{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700}
.toast{position:fixed;bottom:22px;right:50%;transform:translateX(50%);background:var(--ink);color:#fff;padding:10px 22px;border-radius:999px;font-weight:700;font-size:.92rem;box-shadow:var(--shadow);z-index:99;opacity:0;transition:.25s;pointer-events:none}
.toast.show{opacity:1;transform:translateX(50%) translateY(-4px)}

/* ===== Responsive ===== */
@media(max-width:920px){
  .hero-grid{grid-template-columns:1fr}
  .builder-grid{grid-template-columns:1fr}
  .out-col{position:static}
  .stats-row{grid-template-columns:repeat(2,1fr)}
  .topnav{display:none}
}
@media(max-width:520px){
  .stats-row{grid-template-columns:1fr 1fr}
  .card{padding:22px}
  body{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
.pop{animation:pop .28s ease both}

/* ملحقات: الاسم الموصوف في جملة الوصف + بنك الكلمات */
.t-noun{background:#0E7490}
.chip.sel.c-noun{background:#0E7490;border-color:#0E7490}
.word.noun{color:#0E7490;border-color:#99F6E4}
.bcat-head svg{flex-shrink:0}
h4 .mini-badge{background:var(--ink-soft)}

/* ===== المسارات اللغوية الثلاثة + مفاتيح اللغة ===== */
#sentenceOut{flex-direction:column;gap:2px}
.lane{display:flex;flex-direction:column;gap:4px;width:100%;padding:6px 2px;border-bottom:1px dashed var(--line)}
.lane:last-child{border-bottom:0}
.lane-toks{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}
.lname{font-size:.66rem;font-weight:800;letter-spacing:.3px;align-self:flex-start;border-radius:7px;padding:1px 9px;background:#E0E7FF;color:#4338CA}
.lan-en .lname{background:#DBEAFE;color:#1D4ED8}
.lan-it .lname{background:#DCFCE7;color:#15803D}
.lan-en .tok,.lan-it .tok{font-family:'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;font-size:.98rem;font-weight:600;letter-spacing:.1px}
.lan-ar .tok{font-size:1.18rem}
.lane-toggles{display:flex;gap:4px}
.lbtn{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:2px 10px;font-size:.72rem;font-weight:800;color:var(--ink-soft);opacity:.5;transition:.15s;font-family:var(--fb)}
.lbtn.on{opacity:1;background:var(--ink);color:#fff;border-color:var(--ink)}
.lbtn[data-lang="en"].on{background:#2563EB;border-color:#2563EB}
.lbtn[data-lang="it"].on{background:#16A34A;border-color:#16A34A}
.lbtn:hover{opacity:.85}
.out-head{justify-content:space-between}
.fx{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.fxr{font-size:.88rem;line-height:1.5}
.fxr.lan-ar{font-weight:700;font-size:.95rem}
.fave .rm{flex:none}
@media(max-width:560px){.out-head{flex-wrap:wrap;gap:6px}.lane-toggles{order:3;width:100%}}
