:root{--navy:#1f2a44;--blue:#2f5fd0;--pink:#c9577a;--lblue:#e3edfb;--lpink:#fbe3ec;--bg:#fbfaf6;--green:#2e9e5b;--red:#e5484d}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font-family:'Cairo',system-ui,sans-serif;background:var(--bg);color:var(--navy);line-height:1.7;font-size:18px}
a{color:inherit;text-decoration:none}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
header{background:#fff;border-bottom:4px solid var(--pink);position:sticky;top:0;z-index:5}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;padding-bottom:10px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px}
.brand img{width:46px;height:46px}
nav{display:flex;gap:6px;flex-wrap:wrap}
nav a{padding:6px 14px;border-radius:99px;font-weight:700;font-size:16px}
nav a:hover,nav a.on{background:var(--lblue);color:var(--blue)}
.hero{padding:56px 0 36px;text-align:center}
.hero h1{font-size:clamp(34px,6vw,58px);line-height:1.25;font-weight:900}
.hero h1 span{color:var(--pink)}
.hero p{font-size:clamp(18px,3vw,22px);margin:14px auto 0;max-width:620px}
.btn{display:inline-block;background:var(--pink);color:#fff;font-weight:800;padding:14px 30px;border-radius:99px;margin-top:24px;border:3px solid var(--navy);box-shadow:4px 4px 0 var(--navy);transition:.15s}
.btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--navy)}
.btn.blue{background:var(--blue)}
.stairs{display:flex;align-items:flex-end;justify-content:center;gap:8px;margin:34px auto 0;max-width:640px;direction:ltr}
.stairs div{flex:1;border-radius:10px 10px 0 0;color:#fff;font-weight:900;text-align:center;padding-top:8px;border:3px solid var(--navy);border-bottom:0}
.stairs .s1{height:70px;background:var(--pink)}.stairs .s2{height:95px;background:#7d95d6}.stairs .s3{height:120px;background:#7d95d6}
.stairs .s4{height:145px;background:#7d95d6}.stairs .s5{height:170px;background:#7d95d6}.stairs .s6{height:195px;background:#7d95d6}
.stairs-note{text-align:center;font-weight:700;color:var(--pink);margin-top:8px}
h2.sec{font-size:30px;font-weight:900;margin:44px 0 18px}
.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:18px}
.card{border-radius:22px;border:3px solid var(--navy);padding:26px 22px;background:var(--lblue);box-shadow:5px 5px 0 var(--navy);display:flex;flex-direction:column;gap:6px;transition:.15s}
.card:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--navy)}
.card.p{background:var(--lpink)}
.card .ic{font-size:44px;line-height:1}
.card h3{font-size:24px;font-weight:900}
.card p{font-size:16px;opacity:.85}
.card .go{margin-top:8px;font-weight:800;color:var(--blue)}
.card.p .go{color:var(--pink)}
.lessons{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:16px}
.lesson{background:#fff;border:3px solid var(--navy);border-radius:20px;padding:18px;display:flex;gap:14px;align-items:center;box-shadow:4px 4px 0 var(--navy)}
.lesson .n{flex:none;width:52px;height:52px;border-radius:50%;background:var(--blue);color:#fff;font-weight:900;font-size:24px;display:grid;place-items:center;border:3px solid var(--navy)}
.lesson h3{font-size:19px;line-height:1.35}
.lesson small{display:block;color:var(--blue);font-weight:700;direction:ltr;text-align:right}
.lesson.ready{background:var(--lpink)}.lesson.ready .n{background:var(--pink)}
.lesson.soon{opacity:.6;box-shadow:none;border-style:dashed}
.tag{display:inline-block;font-size:13px;font-weight:800;background:var(--navy);color:#fff;padding:1px 10px;border-radius:99px;margin-top:4px}
.rule{background:#fff;border:3px solid var(--navy);border-radius:22px;padding:22px 24px;margin:18px 0;box-shadow:5px 5px 0 var(--navy)}
.rule h3{font-size:24px;font-weight:900}.rule h3 b{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--pink);color:#fff;margin-left:10px;font-size:20px}
.ex{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;direction:ltr}
.ex span{background:var(--lblue);border:2px solid var(--navy);border-radius:14px;padding:6px 16px;font-weight:800;font-size:22px}
.ex em{font-style:normal;color:var(--pink)}
.bad{color:var(--red)}.good{color:var(--green)}
.note{background:var(--lpink);border-radius:16px;padding:12px 16px;margin-top:12px;font-weight:700}
.crumbs{padding:20px 0 0;font-weight:700;color:var(--blue)}
.soon-page{text-align:center;padding:90px 0}
footer{margin-top:70px;background:var(--navy);color:#fff;padding:34px 0;text-align:center}
footer a{color:#fff;text-decoration:underline;margin:0 8px;font-weight:700}
@media(max-width:600px){nav{display:none}}
.lesson.sug .n{background:var(--pink)}.lesson.sug{background:var(--lpink)}
.map{margin-top:50px}.mapsub{font-weight:700;margin:-6px 0 14px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:14px;margin:14px 0 22px}
.stats div{background:var(--lblue);border:3px solid var(--navy);border-radius:22px;padding:14px;text-align:center;font-weight:800;font-size:18px;box-shadow:4px 4px 0 var(--navy)}
.stats div.d{background:var(--navy);color:#fff}.stats b{display:block;font-size:46px;line-height:1.1}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 18px}
.tab{font-family:inherit;font-weight:800;font-size:18px;padding:8px 20px;border-radius:99px;border:3px solid var(--navy);background:#fff;color:var(--navy);cursor:pointer}
.tab.on{background:var(--pink);color:#fff}
.panel{display:none}.panel.on{display:block}.panel h3{font-size:26px;font-weight:900;margin-bottom:8px}
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));gap:12px}
.mcard{display:flex;gap:10px;align-items:flex-start;background:var(--lblue);border:3px solid var(--navy);border-radius:18px;padding:12px}
.mcard.p{background:var(--lpink)}
.mn{flex:none;width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;font-weight:900;display:grid;place-items:center}
.mcard.p .mn{background:var(--pink)}
.mcard b{display:block;font-size:17px;line-height:1.3}.mcard small{display:block;color:#5b6784;font-weight:700;font-size:14px}
.mcard em{display:block;font-style:normal;font-weight:800;color:var(--blue);direction:ltr;text-align:right;font-size:16px}
.legend{margin-top:12px;font-weight:700;color:#5b6784}
.total{margin-top:16px;background:var(--pink);color:#fff;border-radius:22px;padding:12px 18px;font-weight:900;font-size:22px;text-align:center}
.kgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:14px}
.kcard{display:flex;gap:14px;background:#fff;border:3px solid var(--navy);border-radius:22px;padding:18px;box-shadow:4px 4px 0 var(--navy)}
.ki{font-size:48px}.kcard b{font-size:26px;color:var(--pink)}.kcard p{font-weight:700}.kcard span{display:inline-block;margin-top:6px;background:var(--lblue);color:var(--blue);border-radius:12px;padding:3px 12px;font-weight:800;font-size:15px}

.gitem{display:flex;flex-direction:column;gap:8px}
.gitem .mcard{height:118px;overflow:hidden}
.gitem>a{display:block}
.socs{display:flex;gap:10px;justify-content:center;min-height:38px}
.soc{width:38px;height:38px;border-radius:50%;background:#fff;border:2px solid var(--navy);display:grid;place-items:center;transition:transform .15s}
.soc:hover{transform:translateY(-2px)}

.rulebox{background:var(--navy);color:#fff;border-radius:22px;padding:22px 26px;margin:18px 0;text-align:center;box-shadow:5px 5px 0 var(--pink)}
.rulebox .lbl{display:inline-block;background:var(--pink);border-radius:99px;padding:2px 16px;font-weight:900;margin-bottom:10px}
.rulebox .rt{font-size:26px;font-weight:800;line-height:1.7}
ul.plain{margin:12px 0 0;padding:0 22px 0 0;line-height:1.9;font-weight:600;font-size:18px}
.exlist{display:grid;gap:8px;margin-top:12px}
.exrow{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;background:var(--lblue);border:2px solid var(--navy);border-radius:14px;padding:8px 16px}
.exrow .en{font-weight:800;font-size:20px;color:var(--navy);direction:ltr}.exrow .ar{font-weight:700;color:#5b6784}
.mk{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;font-weight:800;font-size:18px}.mk span{direction:ltr}
.relrow,.navrow{display:flex;gap:10px;flex-wrap:wrap}.navrow{justify-content:space-between;margin:14px 0}
.btn.small{padding:8px 18px;margin-top:8px;font-size:16px}.btn.soonbtn{background:#e5e7ee;color:#6b7280;box-shadow:none}

.entitle{font-family:'Fredoka','Cairo',sans-serif;font-weight:700;font-size:clamp(30px,6vw,50px);color:var(--blue);direction:ltr;line-height:1.15;margin:6px 0 4px;letter-spacing:.5px}

bdi[dir=ltr],.exrow .en,.ex span,.mcard em,.mk span{font-family:'Nunito','Cairo',sans-serif;font-weight:800}
.hero h1 bdi,.rule h3 bdi,.sec bdi{font-family:'Fredoka','Cairo',sans-serif;font-weight:600}

.enl{direction:ltr;unicode-bidi:isolate;font-family:'Nunito','Cairo',sans-serif;font-weight:900;font-size:30px;margin:6px 0;color:#fff}
.enx{direction:ltr;unicode-bidi:isolate;display:inline-block}
.exrow .en,.mk span,.ex span{direction:ltr;unicode-bidi:isolate-override;text-align:left}

.steps{display:grid;gap:14px;margin-top:12px}
.step p{font-weight:700;font-size:18px;margin-bottom:6px}
.enl2{direction:ltr;unicode-bidi:isolate;text-align:left;font-family:'Nunito','Cairo',sans-serif;font-weight:900;font-size:26px;background:var(--lblue);border:2px solid var(--navy);border-radius:14px;padding:6px 18px;margin:6px 0}

.wgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:10px;margin:18px 0}
.wcard{display:flex;flex-direction:column;gap:2px;background:#fff;border:3px solid var(--navy);border-radius:16px;padding:10px 14px;box-shadow:3px 3px 0 var(--navy)}
.wcard:nth-child(even){background:var(--lblue)}
.wcard .we{direction:ltr;text-align:left;font-family:'Nunito','Cairo',sans-serif;font-weight:900;font-size:24px;color:var(--navy)}
.wcard .wa{font-weight:700;color:var(--pink);font-size:17px}

.mcard small.mean{color:var(--pink);font-size:16px;margin-top:2px}

button.wcard{font:inherit;text-align:right;cursor:pointer;position:relative;width:100%}
.wcard .spk{position:absolute;left:12px;top:10px;font-size:18px;opacity:.55}
.wcard.on{background:var(--pink)!important}.wcard.on .we,.wcard.on .wa{color:#fff}
.wcard:hover{transform:translate(-1px,-1px)}

.wcard .wrow{display:flex;justify-content:space-between;align-items:baseline;gap:10px;width:100%}
.wcard .spk{position:static;align-self:flex-start;margin-top:4px;font-size:22px;opacity:.8;direction:ltr}
button.wcard{flex-direction:column;align-items:stretch}
.wgrid{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr))}
.wcard .we{font-size:22px}
.wcard .spk{align-self:flex-end!important}

.spk2{background:none;border:0;font-size:22px;cursor:pointer;direction:ltr;order:-1}
.spk2.on{filter:hue-rotate(300deg)}
.enl2.say{cursor:pointer;position:relative}.enl2.say::after{content:"🔊";position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:20px;opacity:.7}
.enl2.on{background:var(--pink);color:#fff}

.enl2.say{padding-left:56px}
.enl2.say{padding-left:18px;padding-right:56px}
.enl2.say::after{left:auto;right:14px}

.maptitle{text-align:center;font-size:clamp(40px,9vw,72px);font-weight:900;color:var(--navy);line-height:1.2;margin:26px 0 6px}
.maptitle span{color:var(--pink);font-family:'Fredoka','Cairo',sans-serif}
.maptag{text-align:center;font-weight:800;font-size:clamp(18px,3.5vw,24px);color:var(--blue);margin-bottom:22px}

.dlg{display:grid;gap:10px;margin-top:14px}
.bub{display:flex;align-items:center;gap:12px;border:3px solid var(--navy);border-radius:18px;padding:10px 14px;font:inherit;cursor:pointer;text-align:right;width:88%;background:var(--lblue)}
.bub.b{background:var(--lpink);margin-right:auto}
.bub .who{flex:none;width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;font-weight:900;display:grid;place-items:center}
.bub.b .who{background:var(--pink)}
.bub .bt{flex:1;display:flex;flex-direction:column;gap:2px}
.bub .be{direction:ltr;text-align:left;font-family:'Nunito','Cairo',sans-serif;font-weight:900;font-size:22px;color:var(--navy)}
.bub .ba{font-weight:700;color:#5b6784;font-size:16px}
.bub.on{outline:4px solid var(--pink)}
@media(max-width:600px){.bub{width:100%}}
