/* egx v3 — Dabour Hub EG design (owner design pack 2026-10-18): light lavender, indigo-violet, white cards. Works RTL (/eg/) and LTR (/eg-en/). */
:root{--bg:#f6f5ff;--bg2:#efedff;--panel:#fff;--panel2:#f8f7ff;--panel3:#f1efff;--card:#fff;--cyan:#4f3fe0;--cyan2:#3524b8;--btn:linear-gradient(135deg,#5b4bf0,#3a28c9);--stroke:#e7e5f7;--stroke2:#d9d5f5;--muted:#6b6a8a;--text:#1e1b4b;--text2:#3b3a5c;--pri:#4f3fe0;--pri2:#3524b8;--soft:#eeebff;--font:"Cairo","IBM Plex Sans Arabic",Tahoma,sans-serif}
html[lang^=en]{--font:"Inter","Cairo",system-ui,sans-serif}
body{background:var(--bg)!important;color:var(--text)!important;font-family:var(--font)!important}
a{color:inherit}
/* top bar */
.tb{background:#fff!important;border-bottom:1px solid var(--stroke)!important;box-shadow:0 2px 14px rgba(40,30,120,.05);backdrop-filter:none!important}
.tb-logo{font-size:0!important;width:42px!important;height:42px!important;border-radius:10px!important;box-shadow:none!important;background:var(--soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f3fe0' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M2 5c3-1.5 6.5-1.5 10 1 3.5-2.5 7-2.5 10-1v14c-3-1.5-6.5-1.5-10 1-3.5-2.5-7-2.5-10-1z' fill='%23d9d3ff'/%3E%3Cpath d='M12 6v14'/%3E%3C/svg%3E") center/26px no-repeat!important}
.tb-name b{color:var(--pri)!important;font-weight:800}
.tb-name small{color:var(--muted)!important}
.tb-nav a{color:var(--text2)!important;border-radius:10px!important;font-weight:600}
.tb-nav a:hover{background:var(--soft)!important;color:var(--pri)!important}
.tb-nav a.active,.tb-nav a.on{color:var(--pri)!important;background:none!important;box-shadow:inset 0 -3px 0 var(--pri)}
.tb-search{background:var(--bg)!important;border-color:var(--stroke)!important}
.tb-ico{background:#fff!important;color:var(--text2)!important;border-color:var(--stroke)!important}
/* sidebar */
.side{background:#fff!important;border-color:var(--stroke)!important}
.side-lbl{color:#9a98b8!important}
.side a.si{color:var(--text2)!important;border-radius:12px!important;font-weight:600}
.side a.si svg{color:#8b88b0}
.side a.si:hover{background:var(--bg)!important;color:var(--pri)!important}
.side a.si.active,.side a.si.on{background:var(--soft)!important;color:var(--pri)!important;box-shadow:none!important}
.side a.si.active svg,.side a.si.on svg{color:var(--pri)}
.side-promo{background:var(--soft)!important;border-color:var(--stroke2)!important;color:var(--text2)!important}
.side-promo b{color:var(--text)!important}
/* buttons */
.btn-primary{background:var(--btn)!important;color:#fff!important;border:0!important;border-radius:12px!important;box-shadow:0 6px 16px rgba(79,63,224,.25)}
.btn-ghost{background:#fff!important;color:var(--pri)!important;border:1px solid var(--stroke2)!important;border-radius:12px!important}
.btn-primary *{color:#fff!important}
/* page head + cards */
.page-head h1,.main h1,.main h2,.main h3{color:var(--text)}
.ph-kick{color:var(--pri)!important}
.crumb,.crumb a{color:var(--muted)!important}.crumb b{color:var(--text2)!important}
.card,.course-card,.sa-card{background:#fff!important;border:1px solid var(--stroke)!important;border-radius:18px!important;box-shadow:0 4px 18px rgba(40,30,120,.06)!important;color:var(--text2)}
.course-card{overflow:hidden;transition:transform .18s,box-shadow .18s}
.course-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(79,63,224,.14)!important}
.course-card h2{color:var(--text)!important}
.egx-cov{display:block;width:calc(100% + 48px);max-width:none;aspect-ratio:2.28/1;object-fit:cover;margin:-24px -24px 14px;border-radius:0!important}
.egx-hcov{display:block;width:100%;height:auto;border-radius:20px;margin:0 0 18px;box-shadow:0 8px 24px rgba(40,30,120,.10)}
.egx-enhero{display:flex;align-items:stretch;min-height:190px;border-radius:20px;overflow:hidden;margin:0 0 18px;background:linear-gradient(120deg,#eeebff,#fff 60%);border:1px solid var(--stroke);box-shadow:0 8px 24px rgba(40,30,120,.10)}
.egx-enhero img{width:46%;object-fit:cover;flex-shrink:0}
.egx-enhero div{padding:24px 28px;display:flex;flex-direction:column;justify-content:center}
.egx-enhero b{font-size:clamp(26px,3.4vw,40px);font-weight:800;color:var(--pri);line-height:1.15}
.egx-enhero span{color:var(--text2);margin-top:8px;font-size:15px}
/* home */
.egx-home{position:relative;border-radius:22px;overflow:hidden;margin:18px 0 26px;box-shadow:0 10px 30px rgba(40,30,120,.12);background:#fff}
.egx-home img{display:block;width:100%;height:auto}
.egx-home .egx-cta{position:absolute;inset-inline-end:7%;bottom:13%;background:var(--btn);color:#fff;font-weight:800;padding:12px 26px;border-radius:999px;box-shadow:0 8px 20px rgba(79,63,224,.35)}
html[dir=rtl] .egx-home .egx-cta{inset-inline-end:auto;inset-inline-start:7%}
.egx-home.en{display:flex;align-items:center;min-height:260px;background:linear-gradient(110deg,#fff 30%,#eeebff)}
.egx-home.en img{width:52%;align-self:stretch;object-fit:cover}
.egx-home.en div{padding:28px 34px}
.egx-home.en h2{font-size:clamp(28px,4vw,48px);line-height:1.1;margin:0 0 6px;color:var(--text)}
.egx-home.en h2 em{font-style:normal;color:var(--pri)}
.egx-home.en p{color:var(--muted);margin:0 0 18px}
.egx-home.en .egx-cta{position:static;display:inline-block}
.egx-subj{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin:0 0 28px}
.egx-subj a{background:#fff;border:1px solid var(--stroke);border-radius:18px;overflow:hidden;text-align:center;font-weight:700;color:var(--text);box-shadow:0 4px 14px rgba(40,30,120,.06);transition:transform .18s}
.egx-subj a:hover{transform:translateY(-3px)}
.egx-subj img{display:block;width:100%;aspect-ratio:1.2/1;object-fit:cover}
.egx-subj span{display:block;padding:8px 6px 10px;font-size:14px}
.egx-h2{font-size:20px;font-weight:800;margin:6px 0 14px;color:var(--text)}
/* lesson */
.lesson-sec{background:#fff;border:1px solid var(--stroke);border-radius:18px;padding:20px 24px;margin:16px 0;box-shadow:0 4px 18px rgba(40,30,120,.05)}
.sec-h{color:var(--text)!important;border:0!important}
.sec-badge{background:var(--soft)!important;color:var(--pri)!important;border-radius:10px!important;font-weight:800}
.lesson-article,.lesson-article p,.lesson-article li{color:var(--text2)}
.lesson-article b,.lesson-article strong{color:var(--text)}
.lesson-article table{background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--stroke)}
.lesson-article table th{background:var(--soft)!important;color:var(--pri2)!important}
.lesson-article table td{border-color:var(--stroke)!important;color:var(--text2)!important}
.lesson-intro{background:#fff!important;border:1px solid var(--stroke)!important;border-inline-start:4px solid var(--pri)!important;border-radius:16px}
.sa-board{background:#fffdf5!important;border:1px solid #f4dfa0!important}
.sa-board h3{color:#b45309!important}
.sa-trap{background:#fff5f5!important;border:1px solid #fecaca!important}
.sa-capsule{background:#f0fdf4!important;border:1px solid #bbf7d0!important}
.sa-capsule h3{color:#15803d!important}
.sa-tree{background:#fff!important}
.sa-tree h3{color:var(--pri)!important}
/* lesson tabs (top) + contents column */
.smart-toc{position:sticky;top:calc(var(--top,64px) + 6px);z-index:30;background:#fff!important;border:1px solid var(--stroke)!important;border-radius:16px!important;box-shadow:0 4px 16px rgba(40,30,120,.06)}
.smart-toc .toc-wrap{display:flex;gap:6px;overflow-x:auto;padding:8px;align-items:center;scrollbar-width:thin}
.smart-toc .toc-title{color:var(--text)!important;font-weight:800;flex-shrink:0}
.smart-toc .toc-pill{white-space:nowrap;flex-shrink:0;cursor:pointer;background:transparent!important;border:0!important;border-radius:10px!important;color:var(--text2)!important;padding:8px 12px!important;font-weight:600}
.smart-toc .toc-pill:hover{background:var(--bg)!important}
.smart-toc .toc-pill.egx-act{background:var(--pri)!important;color:#fff!important}
.smart-toc .toc-pill.highlight:not(.egx-act){color:#c2410c!important}
@media(min-width:1100px){
 .egx-lgrid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px;align-items:start}
 .egx-lgrid>.smart-toc{grid-column:1;grid-row:1}
 .egx-lgrid>.egx-lmain{grid-column:2;grid-row:1;min-width:0}
 .egx-lgrid .toc-wrap{flex-direction:column;align-items:stretch;overflow:visible}
 .egx-lgrid .toc-pill{white-space:normal!important;text-align:start;line-height:1.5}
 .egx-lgrid .toc-title{padding:6px 10px 10px;border-bottom:1px solid var(--stroke);margin-bottom:4px;font-size:16px}
 .egx-lgrid .egx-all{margin:8px 0 0!important}
}
body.egx-tabbed:not(.egx-showall) .egx-panel:not(.egx-on){display:none!important}
.egx-panel.egx-on{animation:egxIn .25s ease}
@keyframes egxIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.egx-all{cursor:pointer;font:inherit;font-size:12.5px;padding:7px 12px;border-radius:10px;background:#fff;border:1px dashed var(--stroke2);color:var(--muted);flex-shrink:0}
.egx-all.on{border-style:solid;color:var(--pri)}
.egx-pn{display:flex;justify-content:space-between;gap:10px;margin:20px 0 4px;flex-wrap:wrap}
.egx-pn button{font:inherit;font-size:14px;font-weight:700;cursor:pointer;padding:10px 18px;border-radius:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid var(--stroke2);color:var(--pri)}
.egx-pn .egx-next{margin-inline-start:auto;background:var(--btn);color:#fff;border:0}
body.egx-showall .egx-pn{display:none}
/* smart-art map (design 16: tree of coloured cards) */
.egx-map{padding:8px 0}
.egx-root{display:flex;justify-content:center;position:relative;padding-bottom:22px}
.egx-root span{padding:12px 24px;font-weight:800;font-size:17px;text-align:center;max-width:640px;line-height:1.6;background:#e9f9ee;color:#166534;border:2px solid #86efac;border-radius:14px}
.egx-root:after{content:"";position:absolute;bottom:0;left:50%;width:2px;height:22px;background:#a5b4fc}
.egx-brs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding-top:18px;border-top:2px solid #a5b4fc}
.egx-br{position:relative;--c:hsl(calc(250 + var(--i) * 40) 70% 55%)}
.egx-br:before{content:"";position:absolute;top:-18px;left:50%;width:2px;height:18px;background:#a5b4fc}
.egx-bh{display:flex;align-items:center;gap:10px;padding:11px 14px;font-weight:800;font-size:15px;line-height:1.5;color:var(--c)!important;background:#fff;border:2px solid var(--c);border-radius:14px;text-decoration:none}
.egx-bh:hover{background:var(--soft)}
.egx-bh em{font-style:normal;flex-shrink:0;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:800;background:var(--c);color:#fff}
.egx-br ul{list-style:none;margin:10px 0 0;padding:0;padding-inline-start:14px;margin-inline-start:14px;border-inline-start:2px dashed #d9d5f5}
.egx-br li{position:relative;margin:7px 0;padding:7px 11px;border-radius:10px;font-size:13.5px;line-height:1.55;color:var(--text2);background:var(--bg);border:1px solid var(--stroke)}
.egx-br li:before{content:"";position:absolute;top:50%;inset-inline-start:-16px;width:14px;height:2px;background:#d9d5f5}
/* quiz (design 04) */
.quiz-slide{background:#fff!important;border:1px solid var(--stroke)!important;border-radius:20px!important;box-shadow:0 6px 22px rgba(40,30,120,.07)!important;color:var(--text)}
.slide-q-text{color:var(--text)!important;font-weight:700}
.slide-badge-num{background:var(--soft)!important;color:var(--pri)!important}
.slide-badge-meta{color:var(--muted)!important}
.quiz-opt-card,.review-opt-card{background:#fff!important;border:1.5px solid var(--stroke)!important;border-radius:14px!important;color:var(--text2)!important}
.quiz-opt-card:hover{border-color:var(--pri)!important;background:var(--panel2)!important}
.quiz-opt-card.selected,.quiz-opt-card.active,.quiz-opt-card.picked{border-color:var(--pri)!important;background:var(--soft)!important}
.opt-circle-letter{background:var(--soft)!important;color:var(--pri)!important}
.opt-text-val{color:var(--text)!important}
.btn-q-nav{background:#fff!important;border:1px solid var(--stroke2)!important;color:var(--pri)!important;border-radius:12px!important}
.btn-q-next,.btn-q-finish{background:var(--btn)!important;color:#fff!important;border:0!important}
.pal-btn{background:#fff!important;border:1px solid var(--stroke)!important;color:var(--text2)!important;border-radius:10px!important}
.pal-tab-btn{color:var(--text2)!important}
.dhq-q{background:#fff!important;border:1px solid var(--stroke)!important}
.dhq-o{background:#fff!important;border:1.5px solid var(--stroke)!important;color:var(--text)!important;border-radius:12px!important}
.dhq-o:hover{border-color:var(--pri)!important}
.dhq-o.sel-correct{background:#ecfdf5!important;border-color:#22c55e!important}
.dhq-o.sel-wrong{background:#fef2f2!important;border-color:#ef4444!important}
.dhq-ex{background:#ecfdf5!important;color:#065f46!important;border-color:#a7f3d0!important}
.dh-innov{background:linear-gradient(135deg,#f3f0ff,#fff)!important;border:1px solid var(--stroke)!important}
@media(max-width:900px){.egx-subj{grid-template-columns:repeat(3,1fr)}.egx-home.en{flex-direction:column}.egx-home.en img{width:100%}}
@media(max-width:640px){.egx-subj{grid-template-columns:repeat(2,1fr)}.egx-enhero{flex-direction:column}.egx-enhero img{width:100%;max-height:170px}.egx-brs{grid-template-columns:1fr;border-top:0;padding-top:0}.egx-br:before,.egx-root:after{display:none}.egx-home .egx-cta{padding:8px 16px;font-size:13px}}
.quiz-opt-card.opt-selected{border-color:var(--pri)!important;background:var(--soft)!important}
.quiz-opt-card.opt-selected .opt-circle-letter{background:var(--pri)!important;color:#fff!important}
.pal-btn.pal-active{background:var(--pri)!important;color:#fff!important;border-color:var(--pri)!important}
.pal-btn.pal-answered{background:#dcfce7!important;color:#166534!important;border-color:#86efac!important}
.review-opt-card.rev-opt-correct{background:#ecfdf5!important;border-color:#22c55e!important}
.review-opt-card.rev-opt-wrong{background:#fef2f2!important;border-color:#ef4444!important}
.egx-figs h3{color:var(--pri)!important;margin-top:0}
.egx-fg{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.egx-fg a{display:block;background:#fafaff;border:1px solid var(--stroke);border-radius:14px;overflow:hidden;transition:transform .15s}
.egx-fg a:hover{transform:scale(1.02)}
.egx-fg img{display:block;width:100%;height:190px;object-fit:contain}
#course-figs{margin:0 0 20px}
[data-subj=bio]{--pri:#15803d;--soft:#e9f9ee}[data-subj=chem]{--pri:#0f766e;--soft:#e6f7f5}[data-subj=phys]{--pri:#1d4ed8;--soft:#e8efff}[data-subj=math],[data-subj=math2]{--pri:#5b21b6;--soft:#f1ebff}
[data-subj=integ]{--pri:#0369a1;--soft:#e6f4fb}[data-subj=sci]{--pri:#2563eb;--soft:#eaf1ff}[data-subj=arab]{--pri:#92400e;--soft:#fbf1e4}[data-subj=fr]{--pri:#dc2626;--soft:#fdeeee}
[data-subj=rel]{--pri:#166534;--soft:#eaf5ec}[data-subj=soc]{--pri:#b45309;--soft:#fdf3e3}[data-subj=ict]{--pri:#2563eb;--soft:#eaf1ff}[data-subj=test]{--pri:#ea580c;--soft:#fff1e8}
[data-subj] .egx-root span{background:var(--soft);color:var(--pri);border-color:var(--pri)}
/* course template dc-* (design 02 top) */
.dc-hero{background:#fff!important;border:1px solid var(--stroke)!important;box-shadow:0 6px 22px rgba(40,30,120,.08)!important;color:var(--text)!important}
.dc-hero h1,.dc-hero-txt,.dc-hero-txt *{color:var(--text)!important;-webkit-text-fill-color:currentColor}
.dc-lead{color:var(--text2)!important}
.dc-hero .pill,.dc-chip{background:var(--soft)!important;color:var(--pri)!important;border-color:transparent!important}
.dc-fi{background:var(--bg)!important;color:var(--text2)!important;border-color:var(--stroke)!important}
.dc-media{background:var(--soft)!important;border-color:var(--stroke)!important}
.dc-enrol,.dc-incl{background:#fff!important;border:1px solid var(--stroke)!important;color:var(--text)!important}
.dc-price{color:var(--pri)!important;-webkit-text-fill-color:currentColor;background:none!important}
.units-card,.unit{background:#fff!important;border-color:var(--stroke)!important;color:var(--text)!important}
.unit{border-radius:16px!important;margin-bottom:10px}
.dc-ut,.unit .cnt,.dc-h{color:var(--text)!important}
.lesson-row{color:var(--text2)!important;border-color:var(--stroke)!important;border-radius:12px}
.lesson-row:hover{background:var(--bg)!important;color:var(--pri)!important}
.lesson-row .num,.unit .num{background:var(--soft)!important;color:var(--pri)!important;border-radius:10px!important}
.dc-code,.lesson-row .type{color:var(--muted)!important}
.chev{color:var(--pri)!important}
/* ===== v6 lesson page (designs 16/20/21/23) ===== */
.egx-ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.egx-lesson .page-head{background:#fff;border:1px solid var(--stroke);border-radius:22px;padding:18px 22px!important;box-shadow:0 6px 22px rgba(40,30,120,.07);margin-bottom:18px}
.egx-lesson .page-head h1{font-size:clamp(24px,2.6vw,34px)!important;color:var(--text)!important}
.egx-lesson .ph-kick{display:none}
.egx-lesson .meta-strip span{background:var(--bg);border:1px solid var(--stroke);border-radius:999px;padding:4px 12px;color:var(--text2)!important}
.egx-tabs{display:flex;gap:8px;margin-top:16px;background:var(--bg);border:1px solid var(--stroke);border-radius:18px;padding:6px;overflow-x:auto;scrollbar-width:none}
.egx-tab{flex:1 0 auto;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:96px;padding:10px 14px;border:0;border-radius:14px;background:transparent;color:var(--text2);font:inherit;font-weight:700;font-size:14px;cursor:pointer;text-decoration:none}
.egx-tab .egx-ic svg{width:24px;height:24px}
.egx-tab:hover{background:#fff;color:var(--pri)}
.egx-tab.on{background:var(--btn);color:#fff;box-shadow:0 6px 16px rgba(79,63,224,.3)}
[data-subj] .egx-tab.on{background:var(--pri)}
.egx-tabq{color:#c2410c}
.egx-gp:not(.egx-on){display:none!important}
.egx-gp.egx-on{animation:egxIn .25s ease}
.egx-lay{display:grid;grid-template-columns:270px minmax(0,1fr);gap:20px;align-items:start}
.egx-side{position:sticky;top:calc(var(--top,64px) + 12px);display:flex;flex-direction:column;gap:14px}
.egx-box{background:#fff;border:1px solid var(--stroke);border-radius:20px;padding:16px;box-shadow:0 4px 16px rgba(40,30,120,.06)}
.egx-box h4{margin:0 0 12px;font-size:16px;font-weight:800;color:var(--text)}
.egx-cont ol{list-style:none;margin:0;padding:0;position:relative}
.egx-cont ol:before{content:"";position:absolute;inset-inline-start:11px;top:10px;bottom:10px;width:2px;background:var(--stroke)}
.egx-cont li{position:relative;padding-inline-start:32px;margin:4px 0}
.egx-cont li:before{content:"";position:absolute;inset-inline-start:4px;top:11px;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid #cfcbea;box-sizing:border-box}
.egx-cont li.done:before{background:#22c55e;border-color:#22c55e;box-shadow:inset 0 0 0 3px #fff}
.egx-cont li.cur:before{border-color:var(--pri);box-shadow:0 0 0 4px var(--soft)}
.egx-cont a{display:block;padding:7px 10px;border-radius:10px;color:var(--text2);font-weight:600;font-size:14px;line-height:1.5;text-decoration:none}
.egx-cont a:hover,.egx-cont li.cur a{background:var(--soft);color:var(--pri)}
.egx-pn2{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.egx-pn2 button{font:inherit;font-weight:700;padding:10px;border-radius:12px;cursor:pointer;border:1px solid var(--stroke2);background:#fff;color:var(--text2)}
.egx-pn2 .egx-nx{background:var(--btn);color:#fff;border:0}
[data-subj] .egx-pn2 .egx-nx{background:var(--pri)}
.egx-pn2 button:disabled{opacity:.4;cursor:default}
.egx-tg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.egx-tg button{font:inherit;font-size:13px;font-weight:600;padding:10px 6px;border-radius:12px;border:1px solid var(--stroke);background:var(--bg);color:var(--text2);cursor:pointer}
.egx-tg button:hover,.egx-tg button.on{border-color:var(--pri);color:var(--pri);background:var(--soft)}
.egx-notes{width:100%;min-height:110px;margin-top:10px;border:1px solid var(--stroke2);border-radius:12px;padding:10px;font:inherit;font-size:14px;resize:vertical;box-sizing:border-box}
.egx-lvl{text-align:center}
.egx-ring{position:relative;width:120px;height:120px;margin:0 auto}
.egx-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.egx-ring circle{fill:none;stroke-width:3.2}
.egx-ring .bg{stroke:var(--soft)}.egx-ring .fg{stroke:var(--pri);stroke-linecap:round;transition:stroke-dasharray .5s}
.egx-ring b{position:absolute;inset:0;display:grid;place-items:center;font-size:24px;color:var(--pri)}
.egx-lesson .lesson-sec{border-radius:22px;padding:22px 26px}
.egx-lesson .sec-h{font-size:22px!important;display:flex;align-items:center;gap:10px}
.egx-defs{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:16px 0}
.egx-def{background:var(--bg);border:1px solid var(--stroke);border-radius:18px;padding:18px 16px;text-align:center}
.egx-def i{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 10px;border-radius:50%;background:#fff;font-style:normal;font-size:26px;box-shadow:0 4px 12px rgba(40,30,120,.1)}
.egx-def>b{display:block;font-size:17px;color:var(--pri)!important;margin-bottom:6px}
.egx-def>div{font-size:14.5px;line-height:1.8;color:var(--text2)}
.egx-def:nth-child(3n+1){background:#eef6ff}.egx-def:nth-child(3n+2){background:#eefbf1}.egx-def:nth-child(3n){background:#fff7ea}
.egx-root{flex-direction:column;align-items:center}
.egx-root span{background:#e9f9ee!important;color:#166534!important;border:2px solid #86efac!important;font-size:20px!important;padding:14px 28px!important}
.egx-root small{display:block;max-width:560px;margin-top:8px;background:#fff;border:1px solid var(--stroke);border-radius:12px;padding:8px 14px;color:var(--text2);text-align:center;font-size:13.5px}
.egx-br{--c:hsl(calc(140 + var(--i) * 70) 60% 42%)}
.egx-bh{border-radius:16px!important;justify-content:center;font-size:16px!important}
.egx-bh em{background:transparent!important;font-size:22px;width:auto!important}
.egx-br li{background:#fff!important;box-shadow:0 3px 10px rgba(40,30,120,.06);text-align:center;border-radius:14px!important}
.egx-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding-top:8px}
.egx-card{position:relative;background:#fff;border-radius:18px;padding:18px 16px 16px;box-shadow:0 4px 14px rgba(0,0,0,.08);text-align:center}
.egx-card em{position:absolute;top:-12px;inset-inline-start:14px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:800;font-size:14px}
.egx-card b{display:block;font-size:16px;margin:4px 0 6px}
.egx-card p{margin:0;font-size:14px;line-height:1.75;color:var(--text2)}
.egx-ideas{background:#13234a!important;border:2px solid #f2c14e!important;border-radius:22px!important}
.egx-ideas h3{color:#f2c14e!important;text-align:center;font-size:24px!important;justify-content:center}
.egx-ideas>div:first-child{border:0!important}
.egx-ideas .egx-card{border:2px solid #f2c14e}
.egx-ideas .egx-card em{background:#f2c14e;color:#13234a}
.egx-ideas .egx-card b{color:#13234a}
.egx-ideas span[style]{display:none}
.egx-traps{background:#fff5f5!important;border:2px solid #fca5a5!important;border-radius:22px!important}
.egx-traps h3{color:#dc2626!important;text-align:center;font-size:22px!important;justify-content:center}
.egx-traps .egx-card{border:2px solid #fecaca}
.egx-traps .egx-card em{background:#ef4444;color:#fff}
.egx-traps .egx-card b{color:#b91c1c}
.egx-caps{background:#fffbeb!important;border:2px solid #fcd34d!important;border-radius:22px!important}
.egx-caps h3{color:#b45309!important;text-align:center;font-size:22px!important;justify-content:center}
.egx-caps .egx-card{border:2px solid #fde68a}
.egx-caps .egx-card em{background:#f59e0b;color:#fff}
.egx-review{background:#fff;border:1px solid var(--stroke);border-radius:22px;padding:18px 20px;margin:16px 0;box-shadow:0 4px 18px rgba(40,30,120,.05)}
.egx-rvh b{font-size:18px;color:var(--text)}.egx-rvh small{display:block;color:var(--muted);margin-top:2px}
.egx-rvw{display:flex;align-items:center;gap:10px;margin-top:12px}
.egx-rva{flex-shrink:0;width:38px;height:38px;border-radius:50%;border:1px solid var(--stroke2);background:#fff;color:var(--pri);font-size:22px;cursor:pointer;line-height:1}
.egx-rvt{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;padding:4px}
.egx-rvc{flex:0 0 220px;scroll-snap-align:start;background:var(--bg);border:1px solid var(--stroke);border-radius:18px;padding:14px;text-align:center}
.egx-rvc i{display:block;font-style:normal;font-size:30px;margin-bottom:6px}
.egx-rvc b{display:block;color:var(--pri);font-size:15px}
.egx-rvc span{display:block;font-size:13px;color:var(--text2);line-height:1.7;margin-top:4px}
.egx-lesson .dh-innov{border-radius:22px!important}
@media(min-width:900px){.egx-lesson .dhq-os{grid-template-columns:repeat(2,1fr)!important}}
.egx-lnav{display:flex;justify-content:space-between;gap:12px;margin:22px 0}
.egx-lnav a{display:flex;flex-direction:column;gap:2px;max-width:48%;padding:12px 18px;border-radius:16px;background:#fff;border:1px solid var(--stroke2);text-decoration:none;color:var(--text);font-weight:800}
.egx-lnav a small{color:var(--muted);font-weight:600;font-size:12.5px}
.egx-lnav a.nx{margin-inline-start:auto;background:var(--btn);color:#fff;border:0;text-align:end}
.egx-lnav a.nx small{color:#e0dcff}
[data-subj] .egx-lnav a.nx{background:var(--pri)}
@media(max-width:1000px){.egx-lay{grid-template-columns:1fr}.egx-side{position:static;order:2}.egx-lvl{display:none}}
@media print{.tb,.side,.egx-side,.egx-tabs,.egx-lnav,.egx-rva,#challenge{display:none!important}.egx-gp{display:block!important}.egx-lay{display:block}body{background:#fff!important}}
.egx-lesson .egx-hcov{display:none}
.egx-sfig{float:inline-end;width:min(40%,360px);margin:0 0 14px;margin-inline-start:18px;background:var(--bg);border:1px solid var(--stroke);border-radius:18px;padding:10px}
.egx-sfig img{display:block;width:100%;height:auto;border-radius:12px}
.egx-lesson .sec-content:after{content:"";display:block;clear:both}
@media(max-width:700px){.egx-sfig{float:none;width:100%;margin-inline-start:0}}
.egx-lesson .dh-tw table{border-radius:16px;overflow:hidden;border:1px solid var(--stroke)}
.egx-lesson .dh-tw th{background:var(--soft)!important;color:var(--pri)!important;font-weight:800}
.egx-lesson .dh-tw tr:nth-child(even) td{background:#fbfaff}
/* ===== DH SmartArt v2 — 6 styles, full width, font scales with A+/A- ===== */
html.dh-fsx .l2-body,html.dh-fsx .lesson-article,html.dh-fsx .egx-lmain2{font-size:calc(16px * var(--dh-fs,1))}
html.dh-fsx .l2-body .l2-dv,html.dh-fsx .l2-body li,html.dh-fsx .l2-body p,html.dh-fsx .lesson-article p,html.dh-fsx .lesson-article li,html.dh-fsx .lesson-article td,html.dh-fsx .lesson-article th{font-size:inherit!important}
.dh-fsc{position:fixed;bottom:18px;inset-inline-end:18px;z-index:9999;display:flex;align-items:center;gap:4px;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:5px;box-shadow:0 8px 24px rgba(15,23,42,.18)}
.dh-fsc button{width:40px;height:40px;border-radius:50%;border:0;background:#0f766e;color:#fff;font-weight:800;font-size:15px;line-height:1;cursor:pointer;font-family:inherit}
.dh-fsc span{min-width:46px;text-align:center;font-weight:700;font-size:13px;color:#334155}
.dh-sart{clear:both;width:100%;margin:18px 0 26px;font-size:1.06em;line-height:1.7;color:#1e293b}
.dh-sart .sa2-t{min-width:0}.dh-sart .sa2-t ul{margin:4px 0 0;padding-inline-start:1.2em}.dh-sart .sa2-t li{margin:2px 0}
.sa2-chev{display:flex;flex-direction:column;gap:14px}
.sa2-chev .sa2-r{display:grid;grid-template-columns:minmax(190px,28%) 1fr;align-items:stretch}
.sa2-chev .sa2-h{background:var(--k);color:#fff;font-weight:800;padding:.8em 2.1em .8em 1em;clip-path:polygon(0 0,calc(100% - 1.4em) 0,100% 50%,calc(100% - 1.4em) 100%,0 100%);display:flex;align-items:center;gap:.6em}
[dir=rtl] .sa2-chev .sa2-h{padding:.8em 1em .8em 2.1em;clip-path:polygon(1.4em 0,100% 0,100% 100%,1.4em 100%,0 50%)}
.sa2-chev .sa2-h i{font-style:normal;background:#fff;color:var(--k);width:1.8em;height:1.8em;border-radius:50%;display:grid;place-items:center;flex-shrink:0}
.sa2-chev .sa2-t{background:color-mix(in srgb,var(--k) 8%,#fff);border-radius:0 14px 14px 0;padding:.7em 1.2em;margin-inline-start:-10px}
[dir=rtl] .sa2-chev .sa2-t{border-radius:14px 0 0 14px}
.sa2-tl{position:relative;padding-inline-start:4.2em}
.sa2-tl:before{content:"";position:absolute;inset-inline-start:1.55em;top:.6em;bottom:.6em;width:4px;border-radius:4px;background:linear-gradient(#0f766e,#7c3aed,#ea580c)}
.sa2-tl .sa2-r{position:relative;margin:0 0 1.3em}
.sa2-tl .sa2-r>i{position:absolute;inset-inline-start:-3.7em;top:0;width:2.5em;height:2.5em;border-radius:50%;background:var(--k);color:#fff;font-style:normal;font-weight:800;display:grid;place-items:center;box-shadow:0 0 0 5px #fff,0 0 0 7px var(--k)}
.sa2-tl .sa2-h{font-weight:800;color:var(--k);font-size:1.12em}
.sa2-tl .sa2-t{border-inline-start:3px solid color-mix(in srgb,var(--k) 30%,#fff);padding-inline-start:.9em}
.sa2-mm{display:grid;grid-template-columns:auto 1fr;align-items:center}
.sa2-mm .sa2-hub{background:#0f766e;color:#fff;font-weight:800;border-radius:24px;padding:1.2em 1.4em;max-width:13em;text-align:center;font-size:1.08em;margin-inline-end:2.6em;position:relative}
.sa2-mm .sa2-hub:after{content:"";position:absolute;inset-inline-end:-2.6em;top:50%;width:2.6em;height:3px;background:#94a3b8}
.sa2-mm .sa2-r{position:relative;padding:.45em 0;padding-inline-start:1.8em;border-inline-start:3px solid #94a3b8}
.sa2-mm .sa2-r:first-child{border-image:linear-gradient(transparent 50%,#94a3b8 50%) 1}
.sa2-mm .sa2-r:last-child{border-image:linear-gradient(#94a3b8 50%,transparent 50%) 1}
.sa2-mm .sa2-r:before{content:"";position:absolute;inset-inline-start:0;top:50%;width:1.7em;height:3px;background:#94a3b8}
.sa2-mm .sa2-b{border:3px solid var(--k);border-radius:18px;padding:.6em 1.1em;background:#fff}
.sa2-mm .sa2-h{font-weight:800;color:var(--k)}
.sa2-st{display:flex;flex-direction:column;gap:10px}
.sa2-st .sa2-r{margin-inline-start:calc(var(--n) * 5%);background:#fff;border:2px solid var(--k);border-radius:16px;overflow:hidden;display:grid;grid-template-columns:auto 1fr}
.sa2-st .sa2-h{background:var(--k);color:#fff;font-weight:800;padding:.7em 1.1em;display:flex;align-items:center;max-width:14em}
.sa2-st .sa2-t{padding:.7em 1.1em}
.sa2-hx{display:flex;flex-direction:column;gap:1em}
.sa2-hx .sa2-r{display:flex;gap:1.1em;align-items:center}
.sa2-hx .sa2-g{flex:0 0 7.2em;height:6.3em;background:var(--k);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);color:#fff;font-weight:800;display:grid;place-items:center;text-align:center;padding:0 1em;font-size:.9em;line-height:1.25}
.sa2-hx .sa2-t{flex:1;background:color-mix(in srgb,var(--k) 7%,#fff);border-radius:16px;padding:.7em 1.1em;border:1px solid color-mix(in srgb,var(--k) 25%,#fff)}
.sa2-py{display:flex;flex-direction:column;align-items:center;gap:.35em}
.sa2-py .sa2-r{display:contents}
.sa2-py .sa2-h{background:var(--k);color:#fff;font-weight:800;text-align:center;padding:.7em 1.1em;width:calc(40% + var(--n) * 12%);max-width:100%;clip-path:polygon(4% 0,96% 0,100% 100%,0 100%);box-sizing:border-box}
.sa2-py .sa2-t{width:calc(40% + var(--n) * 12%);max-width:100%;text-align:center;font-size:.94em;color:#334155;margin-bottom:.5em}
@media(max-width:700px){
 .sa2-chev .sa2-r,.sa2-st .sa2-r{grid-template-columns:1fr}
 .sa2-chev .sa2-h,[dir=rtl] .sa2-chev .sa2-h{clip-path:none;border-radius:14px 14px 0 0;padding:.7em 1em}
 .sa2-chev .sa2-t,[dir=rtl] .sa2-chev .sa2-t{border-radius:0 0 14px 14px;margin:0}
 .sa2-mm{grid-template-columns:1fr}.sa2-mm .sa2-hub{margin:0 0 .8em;max-width:none}.sa2-mm .sa2-hub:after{display:none}
 .sa2-st .sa2-r{margin:0}.sa2-st .sa2-h{max-width:none}
 .sa2-hx .sa2-g{flex-basis:5.5em;height:4.8em;font-size:.8em}
 .sa2-py .sa2-h,.sa2-py .sa2-t{width:100%}
 .dh-fsc{bottom:76px}
}
@media print{.dh-fsc{display:none}}

html.dh-fsx body .dh-sart{font-size:calc(17px * var(--dh-fs,1))!important}
html.dh-fsx body .dh-sart .sa2-t,html.dh-fsx body .dh-sart .sa2-t *{font-size:calc(16px * var(--dh-fs,1))!important}
html.dh-fsx body .dh-sart .sa2-h,html.dh-fsx body .dh-sart .sa2-hub{font-size:calc(17px * var(--dh-fs,1))!important}
html.dh-fsx body .dh-sart .sa2-g{font-size:calc(15px * var(--dh-fs,1))!important}
html.dh-fsx body :is(.l2-body,.lesson-article) :is(p,li,td,th,.l2-dv,.l2-dk,.egx-def>div,.l2-lead):not(.dh-sart *){font-size:calc(16px * var(--dh-fs,1))!important}
html.dh-fsx body :is(.l2-body,.lesson-article) :is(h2,h3,.sec-h,.l2-ph):not(.dh-sart *){font-size:calc(21px * var(--dh-fs,1))!important}
