.focus-mode-toggle[data-astro-cid-gyjn43f7]{position:fixed;top:1rem;right:1rem;z-index:100;width:2.6rem;height:2.6rem;border-radius:50%;border:1px solid oklch(85% .03 60);background:#fef7f2;color:#5c412c;display:grid;place-items:center;cursor:pointer;font-size:1.3rem;line-height:1;box-shadow:0 2px 8px #0000000a;transition:background .15s,color .15s,border-color .15s}.focus-mode-toggle[data-astro-cid-gyjn43f7]:hover{background:#fff;border-color:#bb9679}.focus-mode-icon--exit[data-astro-cid-gyjn43f7],body.focus-mode .focus-mode-icon--enter[data-astro-cid-gyjn43f7]{display:none}body.focus-mode .focus-mode-icon--exit[data-astro-cid-gyjn43f7]{display:inline}body.focus-mode .focus-mode-toggle[data-astro-cid-gyjn43f7]{background:oklch(95% .06 60);color:oklch(35% .1 60)}body.focus-mode .step-shell-header[data-astro-cid-gyjn43f7],body.focus-mode .step-shell-footer[data-astro-cid-gyjn43f7],body.focus-mode header[data-astro-cid-gyjn43f7].site-nav,body.focus-mode nav[data-astro-cid-gyjn43f7].site-nav,body.focus-mode footer[data-astro-cid-gyjn43f7].site-footer{display:none!important}body.focus-mode main[data-astro-cid-gyjn43f7]{padding-top:2.5rem!important}.stepper[data-astro-cid-gyjn43f7]{overflow-x:auto;scrollbar-width:thin;margin-left:-.25rem;margin-right:-.25rem;padding:.25rem}.stepper-track[data-astro-cid-gyjn43f7]{display:flex;align-items:stretch;gap:.35rem;list-style:none;margin:0;padding:0;min-width:max-content}.stepper-pill[data-astro-cid-gyjn43f7]{display:flex;align-items:center;gap:.4rem;padding:.35rem .7rem .35rem .4rem;border-radius:999px;border:1px solid var(--color-divider, #e2e8f0);background:var(--color-surface, white);color:var(--color-text-muted, #64748b);text-decoration:none;font-size:.78rem;font-weight:500;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.stepper-pill[data-astro-cid-gyjn43f7]:hover{border-color:oklch(from var(--color-primary) l c h / .4)}.stepper-num[data-astro-cid-gyjn43f7]{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;background:oklch(from var(--color-text-muted) .9 .02 h);color:var(--color-text-muted);font-size:.72rem;font-weight:700;flex-shrink:0}.stepper-pill--done[data-astro-cid-gyjn43f7]{background:oklch(from var(--color-primary) .95 .04 h);border-color:oklch(from var(--color-primary) l c h / .3);color:oklch(from var(--color-primary) .35 .1 h)}.stepper-pill--done[data-astro-cid-gyjn43f7] .stepper-num[data-astro-cid-gyjn43f7]{background:var(--color-primary, #047857);color:#fff}.stepper-pill--current[data-astro-cid-gyjn43f7]{background:var(--color-primary, #047857);border-color:var(--color-primary, #047857);color:#fff;box-shadow:0 0 0 3px oklch(from var(--color-primary) l c h / .18)}.stepper-pill--current[data-astro-cid-gyjn43f7] .stepper-num[data-astro-cid-gyjn43f7]{background:#fff;color:var(--color-primary, #047857)}@media(max-width:640px){.stepper-pill[data-astro-cid-gyjn43f7]{padding:.3rem .4rem}.stepper-label[data-astro-cid-gyjn43f7]{display:none}}#xp-flash[data-astro-cid-gyjn43f7]{position:fixed;bottom:5rem;left:50%;transform:translate(-50%) translateY(12px);background:oklch(from var(--color-primary) .28 .1 h);color:oklch(from var(--color-primary) .9 .1 h);border:1px solid oklch(from var(--color-primary) l c h / .4);padding:.45rem 1.2rem;border-radius:999px;font-weight:700;font-size:1rem;pointer-events:none;opacity:0;transition:opacity .2s ease,transform .3s ease;z-index:9000;backdrop-filter:blur(6px);white-space:nowrap}#xp-flash[data-astro-cid-gyjn43f7].xp-flash--visible{opacity:1;transform:translate(-50%) translateY(-4px)}.tikrar-btn[data-astro-cid-gyjn43f7]{font-size:.85rem;padding:.4rem .9rem;border-radius:999px;background:var(--color-surah-tint, var(--color-surface-offset));border:1px solid oklch(from var(--color-surah-accent, var(--color-gold)) l c h / .35);color:var(--color-text-muted);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.tikrar-btn[data-astro-cid-gyjn43f7]:hover{color:var(--color-surah-accent, var(--color-gold));border-color:var(--color-surah-accent, var(--color-gold))}.tikrar-count[data-astro-cid-gyjn43f7]{font-size:.7rem}.vocab-summary[data-astro-cid-5r2b54qp]:hover{background:var(--color-gold-highlight)}.ayah-dua-badge[data-astro-cid-5r2b54qp]{display:inline-flex;align-items:center;gap:.25rem;padding:.18rem .55rem;border-radius:999px;font-size:.65rem;font-weight:600;background:oklch(from var(--color-surah-accent, var(--color-gold)) l c h / .12);color:var(--color-surah-accent, var(--color-gold));border:1px solid oklch(from var(--color-surah-accent, var(--color-gold)) l c h / .4);cursor:help;line-height:1}.bacaan-related[data-astro-cid-5r2b54qp]{margin-top:2rem;padding:1rem 1.1rem;background:linear-gradient(135deg,oklch(from var(--color-primary) l c h / .04),oklch(from var(--color-gold) l c h / .04));border:1px solid oklch(from var(--color-primary) l c h / .2);border-radius:14px}.bacaan-related__title[data-astro-cid-5r2b54qp]{margin:0 0 .3rem;font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--color-text)}.bacaan-related__hint[data-astro-cid-5r2b54qp]{margin:0 0 .85rem;font-size:.74rem;color:var(--color-text-muted);line-height:1.5}.bacaan-related__list[data-astro-cid-5r2b54qp]{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:.5rem}@media(min-width:640px){.bacaan-related__list[data-astro-cid-5r2b54qp]{grid-template-columns:repeat(3,1fr)}}.bacaan-related__link[data-astro-cid-5r2b54qp]{display:block;padding:.7rem .85rem;background:var(--color-surface);border:1px solid var(--color-divider);border-radius:10px;text-decoration:none;color:var(--color-text);transition:transform .12s,border-color .12s,box-shadow .12s}.bacaan-related__link[data-astro-cid-5r2b54qp]:hover{transform:translateY(-1px);border-color:oklch(from var(--color-primary) l c h / .4);box-shadow:0 3px 10px #0000000d}.bacaan-related__head[data-astro-cid-5r2b54qp]{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.35rem}.bacaan-related__ref[data-astro-cid-5r2b54qp]{font-size:.82rem;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bacaan-related__kinship[data-astro-cid-5r2b54qp]{font-size:.68rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-primary);background:oklch(from var(--color-primary) l c h / .1);border:1px solid oklch(from var(--color-primary) l c h / .28);padding:.12rem .45rem;border-radius:999px;flex-shrink:0}.bacaan-related__trans[data-astro-cid-5r2b54qp]{margin:0;font-size:.75rem;line-height:1.45;color:var(--color-text-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.prose-toc[data-astro-cid-7qybbw7g]{background:var(--color-surface-offset);border:1px solid var(--color-gold-muted);border-radius:var(--radius-md);padding:1rem 1.25rem .85rem;margin-bottom:1.5rem}.prose-toc-head[data-astro-cid-7qybbw7g]{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.prose-toc-title[data-astro-cid-7qybbw7g]{font-family:var(--font-display);font-size:.78rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;margin:0}.prose-toc-readtime[data-astro-cid-7qybbw7g]{font-size:.72rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.prose-toc-list[data-astro-cid-7qybbw7g]{list-style:none;padding-left:0;margin:0;counter-reset:tocnum}.prose-toc-item[data-astro-cid-7qybbw7g]{margin-block:.25rem}.prose-toc-item[data-astro-cid-7qybbw7g] a[data-astro-cid-7qybbw7g]{color:var(--color-text);text-decoration:none;font-size:.9rem;border-bottom:1px dotted transparent;text-align:left}.prose-toc-item[data-astro-cid-7qybbw7g] a[data-astro-cid-7qybbw7g]:hover{color:var(--color-gold);border-bottom-color:var(--color-gold)}.prose-toc-l3[data-astro-cid-7qybbw7g]{padding-left:1.2rem;font-size:.85rem}.prose-toc-l3[data-astro-cid-7qybbw7g] a[data-astro-cid-7qybbw7g]{color:var(--color-text-muted)}.prose-back-to-top[data-astro-cid-7qybbw7g]{position:fixed;right:1rem;bottom:calc(env(safe-area-inset-bottom,0px) + 4.5rem);z-index:30;width:2.6rem;height:2.6rem;border-radius:999px;background:var(--color-gold);color:#fff;border:none;font-size:1.2rem;line-height:1;cursor:pointer;box-shadow:0 4px 12px #0003;transition:opacity .2s,transform .2s}.prose-back-to-top[data-astro-cid-7qybbw7g]:hover{transform:translateY(-2px)}.prose-back-to-top[data-astro-cid-7qybbw7g][hidden]{display:none}.je-root.svelte-1ghu9xe{width:100%}.je-card.svelte-1ghu9xe{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:.85rem}.je-h.svelte-1ghu9xe{margin:0;font-size:1.1rem;font-weight:600;color:#111827}.je-h-row.svelte-1ghu9xe{display:flex;align-items:center;gap:.6rem}.je-lock.svelte-1ghu9xe{font-size:.7rem;background:#d1fae5;color:#065f46;padding:2px 8px;border-radius:999px;font-weight:500}.je-p.svelte-1ghu9xe{margin:0;color:#4b5563;font-size:.88rem;line-height:1.55}.je-l.svelte-1ghu9xe{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:#374151}.je-input.svelte-1ghu9xe,.je-textarea.svelte-1ghu9xe{width:100%;border:1px solid #d1d5db;border-radius:8px;padding:.55rem .7rem;font-size:.95rem;font-family:inherit;box-sizing:border-box;background:#fafafa}.je-input.svelte-1ghu9xe:focus,.je-textarea.svelte-1ghu9xe:focus{outline:none;border-color:#047857;background:#fff;box-shadow:0 0 0 3px #0478571f}.je-textarea.svelte-1ghu9xe{resize:vertical;min-height:140px;line-height:1.55}.je-meter.svelte-1ghu9xe{height:4px;width:100%;background:#f3f4f6;border-radius:999px;margin-top:.3rem;overflow:hidden}.je-meter-bar.svelte-1ghu9xe{height:100%;transition:width .18s ease,background .18s ease}.je-meter-label.svelte-1ghu9xe{font-size:.72rem;font-weight:600}.je-check.svelte-1ghu9xe{display:flex;gap:.55rem;align-items:flex-start;font-size:.83rem;color:#4b5563;line-height:1.5}.je-check.svelte-1ghu9xe input[type=checkbox]:where(.svelte-1ghu9xe){margin-top:.18rem;flex-shrink:0}.je-row.svelte-1ghu9xe{display:flex;justify-content:flex-end;gap:.5rem}.je-row-top.svelte-1ghu9xe{justify-content:space-between;align-items:center}.je-row-bottom.svelte-1ghu9xe{justify-content:space-between;align-items:center;margin-top:.3rem}.je-btn.svelte-1ghu9xe{background:#047857;color:#fff;border:0;padding:.55rem 1.1rem;border-radius:8px;font-weight:600;cursor:pointer;font-size:.88rem}.je-btn.svelte-1ghu9xe:hover{background:#065f46}.je-btn.svelte-1ghu9xe:disabled{opacity:.55;cursor:not-allowed}.je-btn-ghost.svelte-1ghu9xe{background:transparent;color:#6b7280;border:1px solid #e5e7eb;padding:.35rem .8rem;border-radius:8px;font-size:.78rem;cursor:pointer}.je-btn-ghost.svelte-1ghu9xe:hover{color:#111827;border-color:#9ca3af}.je-err.svelte-1ghu9xe{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:.6rem .8rem;border-radius:8px;font-size:.83rem}.je-tip.svelte-1ghu9xe{font-size:.76rem;color:#6b7280;margin:0}.je-saved.svelte-1ghu9xe{color:#047857;font-weight:600;font-size:.85rem}.je-meta-text.svelte-1ghu9xe{color:#6b7280;font-size:.78rem}.je-state.svelte-1ghu9xe{padding:1rem;text-align:center;color:#6b7280}.je-muted.svelte-1ghu9xe{color:#6b7280}.je-prompts.svelte-1ghu9xe{list-style:disc;padding-left:1.2rem;margin:0 0 .3rem;color:#374151;font-size:.88rem;line-height:1.55}.je-prompts.svelte-1ghu9xe li:where(.svelte-1ghu9xe){margin-bottom:.2rem}.hafalan-stack{display:flex;flex-direction:column;gap:1.25rem;margin-top:.75rem}.hafalan-card{position:relative;background:var(--color-surface);border:1px solid var(--color-divider);border-radius:16px;padding:1.5rem;box-shadow:0 1px 3px #0000000a;transition:opacity .3s,box-shadow .2s}.hafalan-card.is-done{box-shadow:0 1px 3px #10b9811f;border-color:#10b98159}.hafalan-card__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.hafalan-card__ref{display:inline-block;background:var(--color-surface-2, #f3eee3);color:var(--color-text-muted, #6b6357);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .75rem;border-radius:999px}.hafalan-card__status{font-size:.78rem;color:var(--color-text-muted, #6b6357);font-weight:500;text-align:right}.hafalan-card__status[data-state=due]{color:var(--color-gold, #b88f3e);font-weight:600}.hafalan-card__status[data-state=overdue]{color:#dc2626;font-weight:600}.hafalan-card__status[data-state=reviewed]{color:#047857;font-weight:600}.hafalan-card__arabic-wrap{direction:rtl;text-align:center;padding:.5rem 0;line-height:2.4}.hafalan-card__arabic{font-family:var(--font-arabic, "Amiri Quran", serif);font-size:calc(clamp(1.6rem,3.5vw,2.2rem) * var(--arabic-scale, 1));line-height:2.2;color:var(--color-text-arabic, #2a241c);word-spacing:.1em;display:inline}.hafalan-card__verse{font-family:var(--font-arabic, serif);color:var(--color-text-muted, #9c8f7d);font-size:.85em;margin-inline-start:.4em;vertical-align:middle}.hafalan-card__translation{margin-top:1rem;border-top:1px dashed var(--color-divider);padding-top:.85rem}.hafalan-card__translation summary{cursor:pointer;font-size:.82rem;color:var(--color-text-muted, #6b6357);font-weight:500;list-style:none;user-select:none;display:inline-flex;align-items:center;gap:.4rem}.hafalan-card__translation summary::-webkit-details-marker{display:none}.hafalan-card__translation summary:before{content:"▸";display:inline-block;transition:transform .15s}.hafalan-card__translation[open] summary:before{transform:rotate(90deg)}.hafalan-card__translation .hafalan-card__translation-hide,.hafalan-card__translation[open] .hafalan-card__translation-show{display:none}.hafalan-card__translation[open] .hafalan-card__translation-hide{display:inline}.hafalan-card__translation p{margin-top:.75rem;font-size:.92rem;color:var(--color-text, #2a241c);line-height:1.65}.hafalan-card__divider{height:1px;background:var(--color-divider);margin:1.25rem 0 1rem}.hafalan-card__toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem;flex-wrap:wrap}.hafalan-card__prompt{font-size:.86rem;color:var(--color-text, #2a241c);font-weight:500}.hafalan-mask-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:8px;border:1px solid var(--color-divider);background:transparent;color:var(--color-text-muted, #6b6357);font-size:.78rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.hafalan-mask-btn:hover{background:var(--color-surface-2);color:var(--color-text)}.hafalan-card__grades{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem}@media(max-width:520px){.hafalan-card__grades{grid-template-columns:repeat(2,1fr)}}.hafalan-grade{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.7rem .5rem;border-radius:12px;border:0;color:#fff;cursor:pointer;transition:transform .1s,box-shadow .15s,opacity .2s,filter .2s;line-height:1.25;min-height:64px}.hafalan-grade:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00000024;filter:brightness(1.05)}.hafalan-grade:active:not(:disabled){transform:translateY(0)}.hafalan-grade:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.4)}.hafalan-grade--g1{background:linear-gradient(135deg,#dc2626,#b91c1c)}.hafalan-grade--g2{background:linear-gradient(135deg,#f97316,#ea580c)}.hafalan-grade--g3{background:linear-gradient(135deg,#10b981,#059669)}.hafalan-grade--g4{background:linear-gradient(135deg,#0ea5e9,#0284c7)}.hafalan-grade__label{font-size:.95rem;font-weight:700;letter-spacing:.01em}.hafalan-grade__hint{font-size:.66rem;opacity:.92;font-weight:400;text-align:center}.hafalan-card__done{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-radius:12px;background:linear-gradient(135deg,#10b9811a,#10b9810d);border:1px solid rgba(16,185,129,.3)}.hafalan-card__done-pill{font-size:.92rem;font-weight:600;color:#047857}.hafalan-regrade-btn{background:transparent;border:1px solid rgba(16,185,129,.4);color:#047857;padding:.35rem .85rem;border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s}.hafalan-regrade-btn:hover{background:#10b98114}.mask-token{display:inline-block;background:var(--color-divider);color:transparent;border-radius:4px;padding:0 6px;margin:0 1px;cursor:pointer;user-select:none;transition:background .15s,color .15s}.mask-token.revealed,.mask-token:hover{color:var(--color-text);background:var(--color-surface-2)}
