@font-face{font-family:'PX';font-weight:400;font-style:normal;font-display:block;src:url(assets/f/a9cefdcae546.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200E,U+2010-2011,U+204F,U+2E41}
@font-face{font-family:'PX';font-weight:400;font-style:normal;font-display:block;src:url(assets/f/653bfd524aa4.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'PX';font-weight:500;font-style:normal;font-display:block;src:url(assets/f/31cb9792b1f9.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200E,U+2010-2011,U+204F,U+2E41}
@font-face{font-family:'PX';font-weight:500;font-style:normal;font-display:block;src:url(assets/f/c55b4b1b5b5d.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'PX';font-weight:600;font-style:normal;font-display:block;src:url(assets/f/9e5c019d8d6e.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200E,U+2010-2011,U+204F,U+2E41}
@font-face{font-family:'PX';font-weight:600;font-style:normal;font-display:block;src:url(assets/f/ee160f53bfe8.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'PX';font-weight:700;font-style:normal;font-display:block;src:url(assets/f/27765dbaf24f.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200E,U+2010-2011,U+204F,U+2E41}
@font-face{font-family:'PX';font-weight:700;font-style:normal;font-display:block;src:url(assets/f/9e002e656ff8.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'BB';font-weight:400;font-style:normal;font-display:block;src:url(assets/f/119b1c04b254.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200E,U+2010-2011,U+204F,U+2E41}
@font-face{font-family:'BB';font-weight:400;font-style:normal;font-display:block;src:url(assets/f/ff8a541c71f3.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'BB';font-weight:600;font-style:normal;font-display:block;src:url(assets/f/42db99155c9a.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200E,U+2010-2011,U+204F,U+2E41}
@font-face{font-family:'BB';font-weight:600;font-style:normal;font-display:block;src:url(assets/f/2a1957305b0c.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'BB';font-weight:700;font-style:normal;font-display:block;src:url(assets/f/7ee09cfe4fd4.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200E,U+2010-2011,U+204F,U+2E41}
@font-face{font-family:'BB';font-weight:700;font-style:normal;font-display:block;src:url(assets/f/fe9f79da1c24.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'BB';font-weight:800;font-style:normal;font-display:block;src:url(assets/f/474c92b13e23.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200E,U+2010-2011,U+204F,U+2E41}
@font-face{font-family:'BB';font-weight:800;font-style:normal;font-display:block;src:url(assets/f/db9860eed953.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'SH';font-weight:400;font-style:normal;font-display:block;src:url(assets/f/78261fcfa7b5.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200E,U+2010-2011,U+204F,U+2E41}
@font-face{font-family:'SH';font-weight:400;font-style:normal;font-display:block;src:url(assets/f/b236f789cfda.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'SH';font-weight:700;font-style:normal;font-display:block;src:url(assets/f/f5d688e9ff3c.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200E,U+2010-2011,U+204F,U+2E41}
@font-face{font-family:'SH';font-weight:700;font-style:normal;font-display:block;src:url(assets/f/35c3462af426.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'HF';font-weight:100 900;src:url(assets/f/48e8649151f3.woff2) format('woff2')}
@font-face{font-family:'HFL';font-weight:100 900;src:url(assets/f/2380fa250601.woff2) format('woff2')}
@font-face{font-family:'HFM';font-weight:100 900;src:url(assets/f/11d867db43b2.woff2) format('woff2')}
@font-face{font-family:'U_read';font-weight:100 599;src:url(assets/f/ee41dbfa718c.woff2)}
@font-face{font-family:'U_read';font-weight:600 900;src:url(assets/f/993b42dfa5b3.woff2)}
@font-face{font-family:'U_quran';font-weight:100 900;src:url(assets/f/28e6f54ae5f2.woff2)}
@font-face{font-family:'U_readL';font-weight:100 599;src:url(assets/f/bbb078a044ca.ttf)}
@font-face{font-family:'U_readL';font-weight:600 900;src:url(assets/f/4979b9920176.ttf)}
@font-face{font-family:'U_readM';font-weight:100 599;src:url(assets/f/fad488dc832f.ttf)}
@font-face{font-family:'U_readM';font-weight:600 900;src:url(assets/f/3a12d02be7e4.ttf)}
:root{
       
   
  --f-ui:'PX','IBM Plex Sans Arabic',system-ui,-apple-system,'Segoe UI',Tahoma,sans-serif;
  --f-head:'U_head','BB','SH',serif;
  --f-disp:var(--f-head);
  --f-read:'U_read','HF','SH',serif;
  --f-quran:'U_quran','HF','SH',serif;
  --f-iso:'U_read','HF',serif;
  --f-prose:'U_prose','PX','SH',sans-serif;
  color-scheme:light;
}/* ==================== BOOK PAGES (warm / playful / modern) ==================== */
.book,[style*="--c:"]{
  --c-dk:color-mix(in srgb,var(--c) 70%,#0b1530);
  --c-ink:var(--c-dk);
  --c-line:color-mix(in srgb,var(--c) 38%,#fff);
  --c-tint:color-mix(in srgb,var(--c) 8%,#fff);
  --c-tint2:color-mix(in srgb,var(--c) 16%,#fff);
}
.book{--mt:15mm;--mb:16mm;--mx:16mm;--ink:#25282c;--hl:#D2481E;--sun:#F5B82E;--k:1;--d:1;direction:rtl;color:var(--ink);font-family:var(--f-read)}
.page{position:relative;width:210mm;height:297mm;background:#fffefb;overflow:hidden;box-shadow:0 1px 3px rgba(20,30,40,.18),0 8px 28px rgba(20,30,40,.1);flex:none}
.page.odd{--pr:calc(var(--mx) + var(--gut,0mm));--pl:var(--mx)}
.page.even{--pl:calc(var(--mx) + var(--gut,0mm));--pr:var(--mx)}
.pb{position:absolute;top:var(--mt);bottom:var(--mb);left:var(--pl);right:var(--pr);overflow:visible;display:flex;flex-direction:column;gap:3mm}
.pb>*{flex:none}
.pb>:first-child{margin-top:0!important}

/* frame */
.frame{position:absolute;inset:6mm;border:.55mm solid var(--c-line);border-radius:7mm;pointer-events:none}
.frame::before{content:'';position:absolute;inset:1.5mm;border:.3mm dotted var(--c-line);border-radius:5.6mm}
.frame i{position:absolute;width:3.6mm;height:3.6mm;border-radius:50%;background:var(--c)}
.frame i:nth-child(1){top:-2mm;right:14mm;background:var(--sun)}
.frame i:nth-child(2){top:-1.6mm;right:21mm;width:2.6mm;height:2.6mm}
.frame i:nth-child(3){bottom:-2mm;left:14mm;background:var(--sun)}
.frame i:nth-child(4){bottom:-1.6mm;left:21mm;width:2.6mm;height:2.6mm}
.ph{position:absolute;top:2.9mm;left:0;right:0;display:flex;justify-content:center;pointer-events:none}
.ph span{background:#fffefb;color:var(--c-dk);font:600 calc(9pt*var(--F,1))/1.7 var(--f-head);padding:.1mm 5mm;border-radius:99px;border:.4mm solid var(--c-line);max-width:120mm;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pf{position:absolute;bottom:1.4mm;left:0;right:0;display:flex;justify-content:center;pointer-events:none}
.pf .no{width:9.4mm;height:9.4mm;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font:700 calc(11pt*var(--F,1))/1 var(--f-head);box-shadow:0 0 0 1.1mm #fffefb,0 0 0 1.6mm var(--sun)}
.pf .ser{position:absolute;bottom:6mm;transform:translateY(50%);background:#fffefb;padding:.2mm 4mm;border-radius:99px;border:.35mm solid var(--c-line);font:500 calc(7.5pt*var(--F,1))/1.7 var(--f-head);color:#7a8794;white-space:nowrap}
.pf .ser.r{right:26mm}.pf .ser.l{left:32mm}
.page.nohead .ph,.page.nofoot .pf{display:none}

/* lesson header — calm band: number badge + title */
.lh{position:relative;display:flex;align-items:center;gap:4mm;padding:2mm 5mm 2mm 4mm;border-radius:5mm;background:var(--c-tint);border:.45mm solid var(--c-line);border-right:2.2mm solid var(--c);overflow:hidden;margin-top:1mm}
.lh::after{content:'';position:absolute;left:-6mm;top:50%;width:26mm;height:26mm;transform:translateY(-50%);border-radius:50%;border:.5mm solid var(--c-line);box-shadow:0 0 0 3mm var(--c-tint),0 0 0 3.5mm var(--c-line);opacity:.55}
.lh .bd{position:relative;z-index:1;width:11.5mm;height:11.5mm;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font:700 calc(18pt*var(--F,1))/1 var(--f-head);flex:none;padding-top:.6mm}
.lh .bd svg{width:6mm;height:6mm;fill:#fff}
.lh .lt{position:relative;z-index:1;display:flex;flex-direction:column;line-height:1.3}
.lh .lt small{font:500 calc(10.5pt*var(--F,1))/1.5 var(--f-head);color:var(--c);opacity:.9}
.lh .lt b{font:700 calc(22pt*var(--k)*var(--lm,1))/1.45 var(--f-head);color:var(--c-dk)}
.lh.teacher{background:#f3f5f7;border-color:#d3dae1;border-right-color:#7b8997;--c:#5b6b7b}
.lh.teacher .bd{background:#7b8997}
.lh.teacher .lt b{color:#34414f;font-size:calc(15pt*var(--k)*var(--lm,1))}
.lg{display:flex;flex-wrap:wrap;gap:1.6mm 4mm;align-items:center;font:500 calc(9pt*var(--F,1))/1.6 var(--f-head);color:#586675;padding:0 2mm}
.lg span{display:inline-flex;align-items:center;gap:1.4mm}
.lg i{width:2.8mm;height:2.8mm;border-radius:50%;display:inline-block}

/* headings — quiet: title + hairline */
.h2{display:flex;align-items:center;gap:3mm;margin-top:2mm}
.h2 .tx{font:700 calc(16.5pt*var(--k)*var(--hm,1))/1.7 var(--f-head);color:var(--c-dk);display:inline-flex;align-items:center;gap:2.2mm}
.h2 .tx::before{content:'';width:1.8mm;height:6.4mm;border-radius:1mm;background:var(--c)}
.h2::after{content:'';flex:1;border-bottom:.3mm solid var(--c-line)}
.h3{display:flex;align-items:center;gap:2mm;margin-top:1mm}
.h3 .tx{font:600 calc(13.5pt*var(--k)*var(--hm,1))/1.7 var(--f-head);color:var(--c)}
.h3 .tx::before{content:'';display:inline-block;width:1.9mm;height:1.9mm;background:var(--sun);transform:rotate(45deg);border-radius:.4mm;margin-inline-end:2mm}
.se{display:flex;align-items:center;justify-content:center;height:2mm;margin-top:.4mm}
.se::before,.se::after{content:'';flex:1;border-top:.25mm dotted var(--c-line)}
.se i{display:none}
.le{display:flex;align-items:center;gap:3mm;margin-top:1.2mm}
.le::before,.le::after{content:'';flex:1;border-top:.3mm solid var(--c-line)}
.le span{border:.4mm solid var(--c-line);color:var(--c);border-radius:99px;font:600 calc(8.5pt*var(--F,1))/1.7 var(--f-head);padding:0 4mm;background:#fff}
.le.pe span{background:var(--c);border-color:var(--c);color:#fff;font-size:9.5pt}

/* grids */
.row{display:flex;gap:calc(2.6mm*var(--d,1)*var(--gp,1));font-family:var(--f-read);line-height:calc(1.75*var(--ls,1));margin-bottom:calc(var(--rg,0)*1mm)}
.row.q{font-family:var(--f-quran)}
.row.iso{font-family:var(--f-iso)}
.cell{flex:1 1 0;min-width:0;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;background:#fff;color:var(--ink);border:.45mm solid var(--c-line);border-bottom-width:.95mm;border-radius:3.8mm;padding:calc(1.5mm*var(--d,1)*var(--bx,1)) 1.8mm calc(1.1mm*var(--d,1)*var(--bx,1));min-height:calc(1.9em*var(--bx,1));overflow-wrap:anywhere}
.cell .no{position:absolute;top:-.45mm;right:-.45mm;min-width:6.6mm;height:6.2mm;padding:0 1.5mm 0 1.3mm;border-radius:3.8mm 0 3mm 0;background:var(--ck,var(--c));color:#fff;font:700 calc(8.4pt*var(--F,1))/6.2mm var(--f-head);text-align:center;font-style:normal;z-index:2}

.row.list .cell{justify-content:flex-start;text-align:right;gap:2.8mm;padding-inline-start:4mm}
.row.list .cell::before{content:'';width:2.6mm;height:2.6mm;border-radius:50%;background:var(--sun);flex:none;box-shadow:0 0 0 .6mm var(--c)}
.row.notes{font-family:var(--f-prose);font-size:calc(10.5pt*var(--k));line-height:1.9}
.row.notes .cell{display:block;justify-content:flex-start;text-align:right;background:var(--c-tint);border-color:var(--c-line);border-bottom-width:.45mm;padding:2mm 3.4mm;min-height:0}
.row.notes .cell b{font-family:var(--f-head);color:var(--c-dk)}
/* tinted cells: tables and cells alternate between the level's soft tints */
.cell{--ck:var(--c)}.cell.t0{background:var(--p0);border-color:var(--q0)}.cell.t1{background:var(--p1);border-color:var(--q1)}.cell.t2{background:var(--p2);border-color:var(--q2)}.cell.t3{background:var(--p3);border-color:var(--q3)}
/* inline colours (12) — text, highlight, and whole-cell tint with matching border + number badge */
.hc1{color:#C73E3E}.hc2{color:#2F6FB5}.hc3{color:#3B8A4F}.hc4{color:#C9651F}.hc5{color:#6D55B5}.hc6{color:#B8467B}.hc7{color:#1E8C7A}.hc8{color:#B58105}.hc9{color:#8A5A3C}.hc10{color:#5F6C79}.hc11{color:#1F3A68}.hc12{color:#6B8E23}
.hb1{background:#FDECEC;border-radius:1.2mm}.hb2{background:#E7F0FB;border-radius:1.2mm}.hb3{background:#E6F4EA;border-radius:1.2mm}.hb4{background:#FDEFE1;border-radius:1.2mm}.hb5{background:#EEEAFA;border-radius:1.2mm}.hb6{background:#FBE8F1;border-radius:1.2mm}.hb7{background:#E2F5F1;border-radius:1.2mm}.hb8{background:#FFF6D9;border-radius:1.2mm}.hb9{background:#F4EBE4;border-radius:1.2mm}.hb10{background:#EEF1F4;border-radius:1.2mm}.hb11{background:#E5EAF4;border-radius:1.2mm}.hb12{background:#EFF5DF;border-radius:1.2mm}
.cell.bg1{background:#FDECEC;border-color:#F1B4B4;--ck:#C73E3E}.cell.bg2{background:#E7F0FB;border-color:#B2CDEB;--ck:#2F6FB5}.cell.bg3{background:#E6F4EA;border-color:#AFD8BA;--ck:#3B8A4F}.cell.bg4{background:#FDEFE1;border-color:#F2C79F;--ck:#C9651F}.cell.bg5{background:#EEEAFA;border-color:#C9BDEB;--ck:#6D55B5}.cell.bg6{background:#FBE8F1;border-color:#EBB5CE;--ck:#B8467B}.cell.bg7{background:#E2F5F1;border-color:#9ED8CC;--ck:#1E8C7A}.cell.bg8{background:#FFF6D9;border-color:#EBD28A;--ck:#B58105}.cell.bg9{background:#F4EBE4;border-color:#D6BDA9;--ck:#8A5A3C}.cell.bg10{background:#EEF1F4;border-color:#C5CDD5;--ck:#5F6C79}.cell.bg11{background:#E5EAF4;border-color:#A9B8D6;--ck:#1F3A68}.cell.bg12{background:#EFF5DF;border-color:#C3D78F;--ck:#6B8E23}
.v-hl,.hc0{color:var(--hl)}
b{font-weight:700}

/* prose */
.p,.li{font:var(--tp,calc(11.5pt*var(--k)*var(--tm,1)))/calc(1.95*var(--ls,1)) var(--f-prose);color:#2a2c30}
.p b,.li b,.th b{font-family:var(--f-prose);font-weight:700;color:var(--c-dk)}
.li{display:flex;gap:2.6mm}
.li::before{content:'';width:2.3mm;height:2.3mm;border-radius:50%;background:var(--sun);box-shadow:0 0 0 .6mm var(--c);flex:none;margin-top:3.3mm}
.th{font:700 var(--tp,calc(11.5pt*var(--k)*var(--tm,1)))/calc(1.8*var(--ls,1)) var(--f-prose);color:var(--c-dk);margin-top:1.6mm}
.th::before{content:'';display:inline-block;width:2.2mm;height:2.2mm;background:var(--c);border-radius:.5mm;transform:rotate(45deg);margin-inline-end:2.4mm}

/* callouts */
.co{--cc:var(--c);position:relative;border-radius:4mm;padding:3.4mm 4.6mm 3mm;margin-top:1mm;background:color-mix(in srgb,var(--cc) 7%,#fff);border:.45mm solid color-mix(in srgb,var(--cc) 38%,#fff);display:flex;flex-direction:column;gap:.4mm}
.co.has-t{padding-top:5.6mm;margin-top:3mm}
.co .ct{position:absolute;top:-3.2mm;right:5mm;background:var(--cc);color:#fff;font:600 calc(9.5pt*var(--F,1))/1.75 var(--f-head);padding:0 3.6mm 0 4.2mm;border-radius:99px;display:inline-flex;align-items:center;gap:1.8mm}
.co .ct::before{content:'';width:3.6mm;height:3.6mm;background:#fff;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;flex:none}
.co{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 3h11a3 3 0 013 3v15H8a3 3 0 01-3-3V3zm3 3v2h8V6H8zm0 4v2h8v-2H8z'/%3E%3C/svg%3E")}
.co.goal{--cc:#C98A00;--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 100 20 10 10 0 000-20zm0 4a6 6 0 110 12 6 6 0 010-12zm0 3a3 3 0 100 6 3 3 0 000-6z'/%3E%3C/svg%3E")}
.co.tip{--cc:#3B8A4F;--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 00-4 12.7V18h8v-3.3A7 7 0 0012 2zM9 20h6v2H9z'/%3E%3C/svg%3E")}
.co.warn{--cc:#C73E3E;--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2L1 21h22L12 2zm-1 7h2v6h-2V9zm0 8h2v2h-2v-2z'/%3E%3C/svg%3E")}
.co.rule{background:#fff;border-width:.6mm}
.co.teacher{--cc:#5B6B7B;background:#f6f8fa;border-style:dashed;border-width:.4mm;--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3L1 9l11 6 9-4.9V17h2V9L12 3zM5 13.2V17c0 1.7 3.1 3 7 3s7-1.3 7-3v-3.8l-7 3.8-7-3.8z'/%3E%3C/svg%3E")}
.co.teacher .p,.co.teacher .li{font-size:var(--tg,calc(10.5pt*var(--k)*var(--gm,1)));line-height:calc(1.85*var(--ls,1));color:#3b4856}
.co.teacher .th{font-size:var(--tg,calc(10.8pt*var(--k)*var(--gm,1)))}
.co.teacher .li::before{background:#9aa6b2;box-shadow:none;width:1.8mm;height:1.8mm;margin-top:3.1mm}
.co.teacher .row.notes{font-size:calc(10pt*var(--k))}

/* Q&A */
.qa{display:flex;flex-direction:column;gap:2mm}
.qa .q{display:flex;align-items:center;gap:3mm;font:calc(17pt*var(--k))/1.7 var(--f-read);color:var(--c-dk)}
.qa .qm{width:9mm;height:9mm;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font:700 calc(12pt*var(--F,1))/1 var(--f-head);flex:none;box-shadow:0 0 0 1mm #fff,0 0 0 1.5mm var(--sun);padding-top:.5mm}
.qa .a{margin-inline-start:12mm}
.qa .a .cell{background:var(--c-tint)}
.qa .a .row:not(.multi) .cell{justify-content:flex-start;text-align:right;background:#fff}

/* picture words */
.pw{display:grid;grid-template-columns:36mm 1fr;gap:3.6mm;min-height:39mm}
.pw.noimg{height:30mm}
.pw-tile{background:linear-gradient(150deg,var(--c),var(--c-dk));color:#fff;border-radius:5mm;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}
.pw-tile::after{content:'';position:absolute;right:-5mm;top:-5mm;width:11mm;height:11mm;border-radius:50%;background:var(--sun);opacity:.55}
.pw-tile .g{position:relative;z-index:1;font:400 42pt/1.5 var(--f-iso);color:#fff;padding-top:1mm}
.pw-tile .n{position:relative;z-index:1;font:600 10.5pt/1.3 var(--f-head);opacity:.95;margin-top:1mm}
.pw-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:3mm}
.pw-cards.n5{grid-template-columns:repeat(5,1fr)}
.pw-card{border:.45mm solid var(--c-line);border-bottom-width:.95mm;border-radius:4mm;padding:1.6mm 1.4mm;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8mm;text-align:center;min-width:0;background:#fff}
.pw-card img{width:100%;height:20mm;object-fit:contain;display:block;max-width:100%}
.pw-card .w{font:400 calc(21pt*var(--F,1))/1.6 var(--f-read);color:var(--ink)}
.pw-card .w .hl{color:var(--pwh,var(--c))}
.empty-ph{border:.4mm dashed #b9c3cc;border-radius:2.5mm;color:#93a0ad;font:500 10pt var(--f-head);text-align:center;padding:3mm}

/* ---- cover ---- */
.page.cover{background:linear-gradient(165deg,var(--c) 0%,var(--c-dk) 100%);color:#fff}
.cv{position:absolute;inset:0;overflow:hidden}
.cv svg.pat{position:absolute;inset:0;width:100%;height:100%}
.cv-frame{position:absolute;inset:9mm;border:.5mm solid rgba(255,255,255,.35);border-radius:7mm}
.cv-frame::after{content:'';position:absolute;inset:1.6mm;border:.25mm solid rgba(255,255,255,.2);border-radius:5.4mm}
.cv-top{position:absolute;top:30mm;right:0;left:0;display:flex;flex-direction:column;align-items:center;gap:4mm;text-align:center}
.cv-ser{font:600 13pt var(--f-head);background:var(--sun);color:#4a3200;padding:.3mm 7mm;border-radius:99px;box-shadow:0 .9mm 0 rgba(0,0,0,.16)}
.cv h1{margin:0;font:700 72pt/1.15 var(--f-head);text-wrap:balance;text-shadow:0 1.2mm 0 rgba(0,0,0,.16)}
.cv-rule{display:flex;align-items:center;gap:4mm;width:80mm;color:var(--sun)}
.cv-rule i{flex:1;border-top:.5mm solid rgba(255,255,255,.55)}.cv-rule b{font:400 14pt/1 var(--f-head)}
.cv-hero{position:absolute;top:128mm;left:50%;width:0;height:0}
.cv-hero .rg{position:absolute;left:0;top:0;border-radius:50%;transform:translate(-50%,-50%)}
.cv-hero .r3{width:92mm;height:92mm;border:.3mm solid rgba(255,255,255,.22)}
.cv-hero .r2{width:76mm;height:76mm;border:.3mm dashed rgba(255,255,255,.4)}
.cv-hero .r1{width:60mm;height:60mm;background:rgba(255,255,255,.1);border:.6mm solid rgba(255,255,255,.55)}
.cv-lv{position:absolute;left:0;top:0;transform:translate(-50%,-50%);width:50mm;height:50mm;border-radius:50%;background:#fff;color:var(--c-dk);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 2.2mm rgba(245,184,46,.85),0 3mm 0 rgba(0,0,0,.16)}
.cv-lv small{font:600 15pt/1 var(--f-head);opacity:.75;margin-top:2mm}
.cv-lv b{font:700 92pt/.95 var(--f-head);padding-top:3mm}
.cv-lvl{position:absolute;top:184mm;left:0;right:0;text-align:center;font:700 24pt var(--f-head);text-shadow:0 .8mm 0 rgba(0,0,0,.16)}
.cv-ch{position:absolute;right:22mm;left:22mm;bottom:30mm;background:rgba(255,255,255,.96);color:var(--ink);border-radius:5mm;padding:5mm 7mm 5.5mm;box-shadow:0 1.6mm 0 rgba(0,0,0,.18)}
.cv-ch h4{margin:0 0 3.2mm;font:700 12.5pt var(--f-head);color:var(--c-dk);display:flex;align-items:center;gap:3mm}
.cv-ch h4::after{content:'';flex:1;border-top:.3mm dotted var(--c-line)}
.cv-ch ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:2.2mm 6mm}
.cv-ch.two ol{grid-template-columns:1fr 1fr}
.cv-ch li{display:flex;align-items:center;gap:2.6mm;font:600 10.5pt/1.35 var(--f-head);color:var(--ink)}
.cv-ch .n{flex:none;width:6.4mm;height:6.4mm;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font:700 9pt/1 var(--f-head);padding-top:.3mm}
.cv-foot{position:absolute;bottom:14mm;right:26mm;left:50mm;font:500 10.5pt var(--f-head);opacity:.95;min-height:8mm;display:flex;align-items:center}
.cv .qr.big{position:absolute;left:24mm;bottom:11mm;margin:0}

/* ---- part divider ---- */
.page.divider{background:#fffefb}
.dv-top{position:absolute;top:0;left:0;right:0;height:112mm;background:linear-gradient(160deg,var(--c),var(--c-dk));color:#fff;overflow:hidden;border-radius:0 0 14mm 14mm}
.dv-top svg.pat{position:absolute;inset:0;width:100%;height:100%}
.dv-in{position:absolute;right:20mm;left:20mm;bottom:15mm;display:flex;flex-direction:column;gap:3mm;align-items:flex-start}
.dv-lab{font:600 16pt var(--f-head);background:var(--sun);color:#4a3200;padding:.2mm 6mm;border-radius:99px}
.dv-lab:empty{display:none}
.dv-t{font:700 36pt/1.5 var(--f-head);text-wrap:balance}
.dv-body{position:absolute;top:124mm;right:20mm;left:20mm;bottom:16mm;display:flex;flex-direction:column;gap:4mm;overflow:hidden}
.dl{position:relative;display:flex;flex-direction:column;gap:3.4mm}
.dl::before{content:'';position:absolute;right:4.4mm;top:5mm;bottom:5mm;border-right:.6mm dotted var(--c-line)}
.dl.two{display:grid;grid-template-columns:1fr 1fr;column-gap:9mm;row-gap:3mm}.dl.two::before{display:none}
.dl-row{display:flex;align-items:center;gap:3.4mm;position:relative}
.dl-no{width:9mm;height:9mm;border-radius:50%;background:var(--c-tint2);color:var(--c-dk);font:700 11pt/1 var(--f-head);display:grid;place-items:center;flex:none;border:.5mm solid var(--c-line);padding-top:.5mm}
.dl-no.dot{background:#fff;font-size:8pt}
.dl-t{display:flex;flex-direction:column;line-height:1.5}
.dl-t small{font:600 calc(9.5pt*var(--F,1)) var(--f-head);color:var(--c)}
.dl-t span{font:400 16pt var(--f-read);color:var(--ink)}
.dl.two .dl-t span{font-size:13pt}
.dl-dots{flex:1;border-bottom:.4mm dotted var(--c-line);transform:translateY(2mm);min-width:6mm}
.dl-pg{font:700 11pt var(--f-head);color:var(--c-dk);min-width:7mm;text-align:left}

/* ---- front matter ---- */
.ft{font:700 28pt/1.5 var(--f-head);color:var(--c-dk);display:flex;align-items:center;gap:4mm;margin-bottom:2mm}
.ft::before{content:'';width:5mm;height:5mm;border-radius:50%;background:var(--sun);box-shadow:0 0 0 1mm #fff,0 0 0 1.6mm var(--c)}
.ft::after{content:'';flex:1;border-bottom:.8mm dotted var(--c-line);transform:translateY(2mm)}
.tp{display:flex;align-items:baseline;gap:2.4mm;margin-top:3.4mm;font:700 calc(13.5pt*var(--F,1))/1.6 var(--f-head);color:var(--c-dk)}
.tp .lbl{background:var(--c);color:#fff;font:500 calc(9.5pt*var(--F,1)) var(--f-head);padding:0 3mm;border-radius:99px}
.tp .dots,.tl .dots{flex:1;border-bottom:.35mm dotted var(--c-line);transform:translateY(-.8mm);min-width:4mm}
.tl{display:flex;align-items:baseline;gap:2.2mm;padding-inline-start:9mm;font:400 calc(12pt*var(--F,1))/1.5 var(--f-read);color:#2a2c30}
.tl .lbl{font:500 calc(9pt*var(--F,1)) var(--f-head);color:#6c7a88}
.tp .pg,.tl .pg{font:700 calc(11pt*var(--F,1)) var(--f-head);color:var(--c-dk);min-width:7mm;text-align:left}
.goal-item{display:flex;align-items:flex-start;gap:3.2mm;font:calc(13pt*var(--k))/1.9 var(--f-prose);color:#26313c}
.goal-item .n{width:8mm;height:8mm;border-radius:50%;background:var(--c);color:#fff;font:700 calc(11pt*var(--F,1))/1 var(--f-head);display:grid;place-items:center;flex:none;margin-top:1.4mm;padding-top:.5mm}
.goal-card{display:flex;flex-direction:column;gap:3.5mm}
.sel-hl{outline:.8mm solid rgba(14,124,123,.55);outline-offset:.8mm;border-radius:2mm}

/* ---- optional QR ---- */
.qr{display:inline-flex;align-items:center;gap:2.2mm;position:relative;z-index:2;margin-inline-start:auto;flex:none}
.qr svg{width:var(--qs,13mm);height:var(--qs,13mm);border:.3mm solid var(--c-line);border-radius:1.2mm;display:block;background:#fff}
.qr small{font:500 calc(7pt*var(--F,1))/1.45 var(--f-head);color:#5f6c79;max-width:22mm;text-align:right}
.h2 .qr,.h3 .qr{margin-inline-start:0}
.qr.big{flex-direction:column;gap:1.6mm;background:#fff;padding:2.4mm;border-radius:3mm;box-shadow:0 .6mm 2mm rgba(0,0,0,.15)}
.qr.big svg{border:0}
.qr.big small{max-width:none;text-align:center;font-size:calc(8pt*var(--F,1))}
.dv-top .qr.big{position:absolute;left:20mm;bottom:15mm;margin:0}
.cv .qr.big{position:absolute;right:20mm;bottom:34mm;margin:0}

/* mark-only colouring: letters layer + marks layer stacked (fonts derived from Hafs) */
.mkl{position:relative;display:inline-block;max-width:100%}
.mka{font-family:'U_readL','HFL','HF',serif}
.mkb{position:absolute;inset:0;font-family:'U_readM','HFM','HF',serif;text-align:inherit;user-select:none;pointer-events:none}

.ph.two{gap:0}
.ph.two i{display:none}
.ph.two span{border-radius:0 99px 99px 0;border-left-width:0}
.ph.two span.les{border-radius:99px 0 0 99px;background:var(--c-tint);font-weight:700;border-left-width:.4mm;border-right-width:0}
.ph span.les{background:var(--c-tint);font-weight:700}
.ph.two span{max-width:78mm}
.wm{position:absolute;left:50%;transform:translate(-50%,-50%);height:auto;max-height:90%;object-fit:contain;pointer-events:none;z-index:0}
.pb{z-index:1}

.lh .lt small{display:flex;align-items:center;gap:2.4mm}
.lh .lt small u{width:.35mm;height:3mm;background:var(--c-line);display:inline-block}
.lh .lgi{display:inline-flex;align-items:center;gap:1.4mm;color:#586675;font-size:.92em}
.lh .lgi i{width:2.6mm;height:2.6mm;border-radius:50%;background:var(--hl);display:inline-block}
.lh .sg{position:relative;z-index:1;margin-inline-start:auto;min-width:12mm;height:12mm;padding:0 2.5mm;border-radius:3mm;background:#fff;border:.45mm solid var(--c-line);border-bottom-width:.95mm;color:var(--sgc,var(--hl));display:grid;place-items:center;font:400 calc(26pt*var(--F,1)*var(--sgs,1))/1 var(--sgf,var(--f-iso));white-space:nowrap}
.lh .sg .sgi{position:relative;top:calc(var(--sgy,0)*-1mm);display:block;line-height:1.5;padding:0}
.lh .sg.m{font-size:calc(17pt*var(--F,1)*var(--sgs,1))}

.le.sx::before,.le.sx::after{border-top-style:dashed;border-color:var(--ec,var(--c-line))}
.le.sx span{color:var(--ec,var(--c));border-color:var(--ec,var(--c-line));border-style:dashed}

body{height:auto;-webkit-tap-highlight-color:transparent}#stage{overflow:visible;height:auto}
#rdbar{position:sticky;top:0;z-index:50;display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;padding:8px 12px;background:#fff;border-bottom:1px solid #d9d9d9;font:14px/1.4 system-ui,'IBM Plex Sans Arabic',sans-serif;direction:rtl;box-shadow:0 2px 10px rgba(0,0,0,.06)}
#rdbar b{font-size:15px;margin-inline-end:auto}
#rdbar button,#rdbar select,#rdbar input{font:inherit;font-size:13px;border:1px solid #cfcfcf;background:#fff;border-radius:8px;padding:5px 10px;color:#222}
#rdbar button{cursor:pointer}#rdbar button.pri{background:#1c4fa0;border-color:#1c4fa0;color:#fff}#rdbar button.arm{background:#b3261e;color:#fff;border-color:#b3261e}
#rdbar .sum{display:flex;gap:8px;font-weight:700}.sum .o{color:#2e9d57}.sum .x{color:#c73e3e}.sum .r{color:#777}
#pages .cell,#pages .lh,#pages .h2{cursor:pointer}
.cell.rd-ok{background:#dff3e5!important;border-color:#2e9d57!important}
.cell.rd-no{background:#fbe1e1!important;border-color:#c73e3e!important}
.cell.rd-ok::after,.cell.rd-no::after{position:absolute;bottom:.4mm;left:1.2mm;font:700 5.2mm/1 system-ui,sans-serif;color:#2e9d57;pointer-events:none}
.cell.rd-ok::after{content:'\2713'}.cell.rd-no::after{content:'\2717';color:#c73e3e}
.cell.rd-say{outline:.9mm solid #1c4fa0;outline-offset:.2mm;z-index:2}
.rd-bd{position:fixed;inset:0;z-index:90}
.rd-menu{position:fixed;z-index:100;width:0;height:0}
.rd-c{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#1c4fa0;opacity:.55}
.rd-b{position:absolute;left:0;top:0;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;border:0;background:#fff;color:#222;box-shadow:0 3px 12px rgba(0,0,0,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;font:600 9.5px/1.1 system-ui,'IBM Plex Sans Arabic',sans-serif;cursor:pointer;animation:rdpop .09s ease-out both;transform:translate(var(--dx),var(--dy))}
.rd-b.big{width:62px;height:62px;margin:-31px 0 0 -31px}
.rd-b i{font-style:normal;font-size:22px;line-height:1}.rd-b svg{width:22px;height:22px}
.rd-b.ok{background:#2e9d57;color:#fff}.rd-b.no{background:#c73e3e;color:#fff}.rd-b.say{background:#1c4fa0;color:#fff}
.rd-b:active{filter:brightness(.9)}
.cell.rd-pop{animation:rdcell .42s ease-out}
@keyframes rdcell{0%{transform:scale(1)}35%{transform:scale(1.09);box-shadow:0 0 0 1.6mm rgba(46,157,87,.35)}100%{transform:scale(1)}}
.rd-fx{position:fixed;z-index:95;pointer-events:none;width:0;height:0}
.rd-fx i{position:absolute;left:0;top:0;font-style:normal;line-height:1;opacity:1;transition:transform .75s cubic-bezier(.15,.7,.3,1),opacity .75s ease-in;will-change:transform}
@keyframes rdpop{from{transform:translate(0,0) scale(.3);opacity:0}to{transform:translate(var(--dx),var(--dy)) scale(1);opacity:1}}
.rd-toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#222;color:#fff;padding:8px 16px;border-radius:99px;font:13px system-ui,sans-serif;z-index:120;max-width:90vw;text-align:center}
.rd-modal{position:fixed;inset:0;z-index:110;background:rgba(0,0,0,.4);display:grid;place-items:center;padding:16px}
.rd-modal div{background:#fff;border-radius:14px;padding:14px;width:min(560px,100%);display:flex;flex-direction:column;gap:8px;direction:rtl;font:14px system-ui,sans-serif}
.rd-modal textarea{height:46vh;font:13px/1.7 system-ui,'IBM Plex Sans Arabic',sans-serif;direction:rtl;border:1px solid #ccc;border-radius:8px;padding:8px}
#rdbar .more{display:none}@media(max-width:620px){#rdbar{padding:6px 8px}#rdbar .more{display:inline-block}#rdbar .sec{display:none}#rdbar.open .sec{display:inline-block}#rdbar b{font-size:13px}}
@media print{#rdbar,.rd-menu,.rd-bd,.rd-toast,.rd-modal{display:none!important}}
