.kd-app{--kd-max:880px;--page-max:var(--kd-max);background:var(--c-bg);min-block-size:100dvh;color:var(--c-text);font-family:var(--font-ui)}.kd-main a:not(.ui-btn){color:var(--c-accent);text-underline-offset:.2em;text-decoration:underline}.kd-main{gap:var(--space-5);max-inline-size:var(--kd-max);padding-block:var(--space-5) var(--space-12);padding-inline:var(--gutter);margin-inline:auto;display:grid}.kd-head{gap:var(--space-2);display:grid}.kd-lead p,.kd-section p,.kd-detail p{margin:0}.kd-h2{align-items:center;gap:var(--space-2);font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:var(--lh-snug);margin:0;display:flex}.kd-h3{font-size:var(--fs-md);font-weight:var(--fw-semibold);margin:0}.kd-muted{color:var(--c-text-soft)}.kd-small{font-size:var(--fs-sm)}.kd-strong{font-weight:var(--fw-semibold)}.kd-name{font-size:var(--fs-lg);overflow-wrap:anywhere}.kd-stack,.kd-stack-tight,.kd-stack-lg{gap:var(--space-3);display:grid}.kd-stack-tight{gap:var(--space-1-5)}.kd-stack-lg{gap:var(--space-6)}.kd-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.kd-row-between{justify-content:space-between}.kd-row-end{align-items:flex-end}.kd-grow{flex:12rem}.kd-section{gap:var(--space-3);display:grid}.kd-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.kd-list-tight{gap:var(--space-1-5)}.kd-card,.kd-panel{gap:var(--space-3);padding:var(--card-pad);border:1px solid var(--c-border);border-radius:var(--card-radius);background:var(--c-surface);display:grid}.kd-panel{justify-items:start}.kd-note{padding:var(--space-3);border-inline-start:4px solid var(--c-accent);border-radius:var(--radius-sm);background:var(--c-accent-soft);color:var(--c-accent-soft-text);margin:0}.kd-done{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--c-success-soft);color:var(--c-text);margin:0}.kd-quran-label{font-family:var(--font-text)}.kd-detail{border-block-start:1px solid var(--c-border);padding-block-start:var(--space-3)}.kd-today{gap:var(--space-1);padding:var(--space-3);border-radius:var(--radius-md);background:var(--c-surface-2);display:grid}.kd-fieldset{gap:var(--space-2);border:0;min-inline-size:0;margin:0;padding:0;display:grid}.kd-surahs{gap:var(--space-1);max-block-size:18rem;padding:var(--space-2);border:1px solid var(--c-border);border-radius:var(--radius-md);grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));display:grid;overflow:auto}.kd-surah{align-items:center;gap:var(--space-2);min-block-size:var(--tap-compact);font-size:var(--fs-sm);display:flex}.kd-surah input{block-size:1.125rem;inline-size:1.125rem;accent-color:var(--c-accent)}.kd-app[data-tone=play]{--page-title-size:var(--fs-2xl)}.kd-app[data-tone=play] .ui-btn[data-size=lg]{min-block-size:3.5rem;padding-inline:var(--space-6);border-radius:var(--radius-full);font-size:var(--fs-lg)}.kd-step{gap:var(--space-4);padding:var(--space-5);border:2px solid var(--c-border);border-radius:var(--radius-xl);background:var(--c-surface);box-shadow:var(--shadow-1);display:grid}.kd-step[data-kind=repeatChunk],.kd-step[data-kind=joinChunks],.kd-step[data-kind=linkPrevious]{border-color:var(--c-accent)}.kd-step-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.kd-step-title{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:var(--fw-bold);margin:0}.kd-step-times{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--c-accent-soft);color:var(--c-accent-soft-text);font-weight:var(--fw-semibold)}.kd-words{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--c-page-paper);color:var(--c-page-ink);text-align:center;display:grid}.kd-ayah{font-family:var(--font-quran);overflow-wrap:anywhere;margin:0;font-size:clamp(1.75rem,7vw,2.75rem);line-height:2}.kd-step-actions{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.kd-turn{justify-self:center}.kd-cheer{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--c-success-soft);color:var(--c-text);font-size:var(--fs-lg);font-weight:var(--fw-semibold);text-align:center;margin:0;display:flex}.kd-banner{padding:var(--space-3);border-radius:var(--radius-md);background:var(--c-warning-soft);color:var(--c-text);font-weight:var(--fw-semibold);text-align:center;margin:0}.kd-portion{text-align:center;justify-items:center}.kd-portion-name{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:var(--fw-semibold);margin:0}.kd-finish,.kd-timeup{text-align:center;justify-items:center}.kd-meter{border-radius:var(--radius-full);background:var(--c-surface-3);block-size:.625rem;overflow:hidden}.kd-meter-fill{border-radius:inherit;background:var(--c-accent);block-size:100%;transition:inline-size var(--dur-base) var(--ease-standard);display:block}.kd-stickers{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));margin:0;padding:0;list-style:none;display:grid}.kd-sticker{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--c-border);border-radius:var(--radius-lg);background:var(--c-surface);display:grid}.kd-sticker[data-complete]{border-color:var(--c-memorized);background:var(--c-memorized-soft)}.kd-dots{gap:var(--space-1);flex-wrap:wrap;display:flex}.kd-dot{border:2px solid var(--c-border-strong);border-radius:var(--radius-full);block-size:.875rem;inline-size:.875rem}.kd-dot[data-on]{border-color:var(--c-memorized);background:var(--c-memorized)}@media (min-width:640px){.kd-main{padding-block-start:var(--space-8)}}@media (prefers-reduced-motion:reduce){.kd-meter-fill{transition:none}}
