:root{--bg:#EDF1F0;--surface:#FFFFFF;--ink:#13282F;--muted:#56696F;--line:#D2DCDA;--accent:#1D5C88;--accent-ink:#FFFFFF;--accent-soft:#DCE8F1;--gold:#B97F14;--good:#2C7A4C;--good-soft:#DDEFE4;--bad:#AE3F2C;--bad-soft:#F6E1DC;--f-ar:"Amiri","Noto Naskh Arabic","Geeza Pro","Arial",serif;--f-display:"Bricolage Grotesque","Figtree",system-ui,sans-serif;--f-body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0E191D;--surface:#16242A;--ink:#E4EDED;--muted:#91A5A9;--line:#29393F;--accent:#72B3E2;--accent-ink:#0E191D;--accent-soft:#1C3546;--gold:#E3AE4B;--good:#5FC38A;--good-soft:#173527;--bad:#E57E68;--bad-soft:#3A1F19;color-scheme:dark}}:root[data-theme=dark]{--bg:#0E191D;--surface:#16242A;--ink:#E4EDED;--muted:#91A5A9;--line:#29393F;--accent:#72B3E2;--accent-ink:#0E191D;--accent-soft:#1C3546;--gold:#E3AE4B;--good:#5FC38A;--good-soft:#173527;--bad:#E57E68;--bad-soft:#3A1F19;color-scheme:dark}*{box-sizing:border-box}body{margin:0}:root{--fs:1.125}html{font-size:calc(100% * var(--fs))}[hidden]{display:none!important}body{background:var(--bg);color:var(--ink);font:.9375rem/1.55 var(--f-body)}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}.wrap{max-width:860px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.ar{font-family:var(--f-ar);direction:rtl;unicode-bidi:isolate;line-height:1.7}header.top{padding-block:28px 12px}.brand{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}h1{font:700 clamp(1.625rem,calc(5vw * var(--fs)),2.125rem)/1.1 var(--f-display);margin:0;letter-spacing:-.01em;text-wrap:balance}.brand .ar{font-size:1.875rem;color:var(--accent)}.sub{color:var(--muted);margin:6px 0 0}.subrow{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.fontctl{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;margin-top:6px}.fontctl button{font:600 .875rem var(--f-body);border:none;background:var(--surface);color:var(--ink);padding:6px 12px;cursor:pointer;min-width:44px}.fontctl button+button{border-left:1px solid var(--line)}.fontctl button:disabled{color:var(--muted);opacity:.5;cursor:default}.fontctl #fsReset{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:500}nav.tabs{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);border-bottom:1px solid var(--line)}nav.tabs .wrap{display:flex;gap:4px;overflow-x:auto;padding-block:8px}nav.tabs a{font:600 .875rem var(--f-body);color:var(--muted);text-decoration:none;padding:8px 14px;border-radius:999px;white-space:nowrap}nav.tabs a[aria-current=page]{background:var(--ink);color:var(--bg)}nav.tabs a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-block:16px 4px}.toggle{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--muted);cursor:pointer}main{padding-block:12px 64px}section[hidden]{display:none}h2{font:700 1.375rem/1.2 var(--f-display);margin:20px 0 10px}h3{font:600 .8125rem var(--f-body);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:26px 0 8px}.stats{display:flex;gap:20px;flex-wrap:wrap;color:var(--muted);font-size:.8125rem;font-variant-numeric:tabular-nums}.stats b{color:var(--ink);font-size:.9375rem}input[type=search],input[type=text],select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 12px;width:100%}input[lang=ar]{font-family:var(--f-ar);font-size:1.375rem;padding-block:3px}.list{display:grid;border-top:1px solid var(--line)}.row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;gap:4px 14px;align-items:center;padding:12px 6px;border-bottom:1px solid var(--line);cursor:pointer;border-radius:8px}.row:hover{background:var(--surface)}.row .ar{font-size:2.25rem;text-align:right;grid-column:3;grid-row:1/3}.row .en{font:600 1.1875rem/1.3 var(--f-body);grid-column:1;min-width:0;text-align:left;color:var(--ink);background:none;border:none;padding:0;cursor:pointer}.row .tr{color:var(--muted);grid-column:1;min-width:0;font-size:1rem}.row .meta{grid-column:2;grid-row:1/3;display:flex;gap:6px;flex-wrap:wrap;align-items:center;min-width:0}.note{font-size:.75rem;color:var(--gold)}.knowbtn{border:1px solid var(--line);background:none;color:var(--muted);border-radius:999px;font:500 .8125rem var(--f-body);padding:4px 11px;cursor:pointer}.knowbtn[aria-pressed=true]{background:var(--good-soft);border-color:var(--good);color:var(--good)}.say{border:none;background:none;color:var(--accent);cursor:pointer;font:600 .8125rem var(--f-body);padding:2px 4px}.hide-tr .tr,.hide-tr .trx{display:none}details.add{margin:8px 0 18px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 16px}details.add summary{cursor:pointer;font-weight:600}.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:12px}.form label{display:grid;gap:4px;font-size:.75rem;color:var(--muted)}.btn{font:600 .875rem var(--f-body);border:none;background:var(--accent);color:var(--accent-ink);padding:10px 18px;border-radius:999px;cursor:pointer}.btn.ghost{background:none;border:1px solid var(--line);color:var(--ink)}.btn.good{background:var(--good);color:var(--accent-ink)}.btn.bad{background:var(--bad);color:var(--accent-ink)}.small{font-size:.75rem;color:var(--muted)}.genpreview{margin-top:12px;padding:12px 14px;border-radius:12px;background:var(--accent-soft);display:grid;gap:2px}.genpreview .ar{font-size:2.125rem}.editbtn{border:none;background:none;color:var(--muted);cursor:pointer;font:600 .8125rem var(--f-body);padding:2px 4px}.delbtn{border:none;background:none;color:var(--bad);cursor:pointer;font:600 .8125rem var(--f-body);padding:2px 4px}.delbtn.confirm{background:var(--bad);color:var(--accent-ink);border-radius:999px;padding:2px 10px}.form.editrow{margin:0;padding:12px 4px;border-bottom:1px solid var(--line)}.editrow .actions{grid-column:1/-1;justify-content:flex-start;margin-top:4px;align-items:center}.deckbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-block:10px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.seg button{font:500 .8125rem var(--f-body);border:none;background:var(--surface);color:var(--muted);padding:7px 12px;cursor:pointer}.seg button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;min-height:280px;display:grid;place-items:center;text-align:center;padding:28px 20px;cursor:pointer;box-shadow:0 10px 30px -18px #0a1e2859;-webkit-user-select:none;user-select:none}.card .big{font-size:clamp(2.75rem,calc(11vw * var(--fs)),4.5rem);line-height:1.4}.card .enbig{font:700 clamp(1.625rem,calc(6vw * var(--fs)),2.25rem)/1.2 var(--f-display)}.card .hint{font-size:.75rem;color:var(--muted);margin-top:14px;text-transform:uppercase;letter-spacing:.08em}.card .back{display:grid;gap:6px}.card .back .ar{font-size:2.5rem}.progressbar{height:6px;background:var(--line);border-radius:999px;overflow:hidden;margin-top:14px}.progressbar i{display:block;height:100%;background:var(--accent);transition:width .3s}.actions{display:flex;gap:10px;justify-content:center;margin-top:16px;flex-wrap:wrap}.qcard{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px 20px}.qkind{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);font-weight:600}.qprompt{font:600 1.25rem/1.35 var(--f-display);margin:8px 0 6px;text-wrap:balance}.qprompt .ar{font-family:var(--f-ar);font-size:2.25rem;font-weight:400;display:block}.opts{display:grid;gap:10px;margin-top:16px}.opt{text-align:left;font:500 1rem var(--f-body);background:var(--bg);color:var(--ink);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px}.opt .ar{font-size:1.625rem}.opt:hover:not(:disabled){border-color:var(--accent)}.opt.right{border-color:var(--good);background:var(--good-soft)}.opt.wrong{border-color:var(--bad);background:var(--bad-soft)}.opt:disabled{cursor:default}.explain{margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--accent-soft);font-size:.875rem}.explain .ar{font-size:1.375rem}.scorebig{font:700 3.5rem/1 var(--f-display);font-variant-numeric:tabular-nums}.rule{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px 20px;margin-bottom:14px}.rule h2{margin:0 0 4px;font-size:1.1875rem}.rule p{margin:8px 0;max-width:65ch}.ex{display:grid;gap:2px;padding:10px 0;border-top:1px dashed var(--line)}.ex .ar{font-size:1.625rem}.ex .trx{color:var(--muted);font-size:.875rem}.letters{display:flex;flex-wrap:wrap;gap:6px;direction:rtl;margin:6px 0}.letters span{font-family:var(--f-ar);font-size:1.5rem;width:1.85em;height:1.85em;display:grid;place-items:center;border-radius:10px;background:var(--bg);border:1px solid var(--line)}.letters.sun span{border-color:var(--gold)}.tbl{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.875rem}td,th{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}td.ar{font-size:1.5rem;text-align:right}.sarfintro{color:var(--muted);margin:4px 0 14px;max-width:65ch}.conjform{margin:8px 0 6px}.conjform{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}.conjform label{font-size:.8125rem;min-width:0}.conjform select{min-width:0;text-overflow:ellipsis}.conjform select{font:500 1.25rem/1.9 Figtree,Amiri,Noto Naskh Arabic,Geeza Pro,sans-serif;padding:8px 12px;min-height:50px}.conjform option,.conjform optgroup{font-size:1.25rem}#cjInfo{font-size:.875rem;color:var(--ink)}#cjInfo .ar{font-size:1.5rem;cursor:pointer}#cjInfo .trx{color:var(--muted)}[data-say]:is(td,span){cursor:pointer}td[data-say]:hover,#cjInfo [data-say]:hover{color:var(--accent)}td.trx{color:var(--muted);white-space:nowrap}details.lesson{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:10px}details.lesson>summary{cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 16px;list-style:none}details.lesson>summary::-webkit-details-marker{display:none}details.lesson .ln{font:700 .875rem var(--f-display);color:var(--accent);background:var(--accent-soft);border-radius:999px;min-width:2.15em;height:2.15em;display:grid;place-items:center;font-variant-numeric:tabular-nums}details.lesson .lt{font-weight:600}details.lesson>summary .ar{font-size:1.375rem;color:var(--muted)}.lbody{padding:0 18px 16px;border-top:1px solid var(--line)}.lbody ul{padding-left:20px;margin:12px 0}.lbody li{margin:5px 0;max-width:70ch}.lbody li .ar,.lbody td .ar,.lbody h4 .ar,.exer .ar{font-size:1.35em;line-height:1.4}.lbody h4{font:600 .8125rem var(--f-body);text-transform:uppercase;letter-spacing:.06em;color:var(--gold);margin:18px 0 6px}.exer{padding-left:22px}.exer details{margin:4px 0 8px;font-size:.875rem}.exer summary{cursor:pointer;color:var(--accent);font-weight:600;font-size:.8125rem}.hit{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;text-align:left;font:inherit;color:var(--ink);background:none;border:none;border-bottom:1px solid var(--line);padding:12px 6px;cursor:pointer}.hit:hover{background:var(--surface)}.hit .ln{font:700 .875rem var(--f-display);color:var(--accent);background:var(--accent-soft);border-radius:999px;min-width:2.15em;height:2.15em;display:grid;place-items:center}.hit .snip{display:block;color:var(--muted);font-size:.875rem;margin-top:2px}.hit mark{background:var(--accent-soft);color:var(--ink);border-radius:3px;padding:0 2px}.toast{position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom,0px));transform:translate(-50%);width:min(520px,calc(100% - 32px));background:var(--ink);color:var(--bg);padding:12px 16px;border-radius:12px;font-size:.875rem;z-index:20;box-shadow:0 10px 30px -12px #0006}.empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px}dialog.modal{border:none;padding:0;background:var(--surface);color:var(--ink);border-radius:22px;width:min(480px,calc(100% - 32px));max-height:calc(100% - 48px);box-shadow:0 24px 60px -20px #00000073}dialog.modal::backdrop{background:#08141a8c}.modal .inner{padding:28px 24px 22px;display:grid;gap:8px;text-align:center;position:relative}.modal .close{position:absolute;top:10px;right:12px;border:none;background:none;color:var(--muted);font-size:1.625rem;line-height:1;cursor:pointer;padding:6px}.modal .cat{justify-self:center;margin-bottom:6px;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);font-weight:600}.modal .bigar{font-size:clamp(3rem,calc(13vw * var(--fs)),4.25rem);line-height:1.8}.modal .mtr{font-size:1.25rem;color:var(--muted)}.modal .men{font:700 1.625rem/1.25 var(--f-display)}.modal .note{font-size:.9375rem}.modal .actions{margin-top:10px}@media(max-width:560px){.row{grid-template-columns:minmax(0,1fr) auto}.row .meta{grid-column:1;grid-row:auto}.row .ar{grid-column:2;grid-row:1/4}.toggle{margin-left:0}details.lesson>summary{grid-template-columns:auto minmax(0,1fr)}details.lesson>summary .ar{grid-column:2}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
