.btn{border-radius:var(--radius);background:var(--secondary-bg);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:0 14px;display:inline-flex}.btn--primary{background:var(--button);width:100%;color:var(--button-text);border-color:#0000;font-weight:600}.btn--primary:disabled{opacity:1;background:var(--secondary-bg);color:var(--text-secondary)}.btn--danger{color:var(--highlight)}.btn-row{flex-direction:column;gap:8px;display:flex}.icon-btn{width:44px;height:44px;color:var(--hint);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.link-btn{color:var(--link);cursor:pointer;background:0 0;border:none;margin:-12px 0;padding:12px 8px}.chip{border-radius:var(--radius);background:var(--secondary-bg);cursor:pointer;border:none;min-width:44px;min-height:44px;padding:0 14px}.chip--on{background:var(--button);color:var(--button-text)}.segmented{flex-wrap:wrap;gap:6px;display:flex}.stepper{justify-content:space-between;align-items:center;display:flex}.stepper__controls{align-items:center;gap:6px;display:flex}.stepper__value{text-align:center;min-width:36px;font-size:16px;font-weight:600}.field-label{color:var(--text-secondary);margin:14px 0 6px;font-size:14px}.field{box-sizing:border-box;border-radius:var(--radius);background:var(--secondary-bg);border:none;width:100%;min-height:44px;padding:0 12px;font-size:15px}.field--button{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.field__value{align-items:center;gap:8px;display:inline-flex}.field__chevron{color:var(--hint);display:inline-flex}.hint{color:var(--text-secondary);margin:6px 0;font-size:14px}.section-title{border-top:1px solid var(--separator);margin:20px 0 4px;padding-top:12px;font-weight:600}.toggle-row{justify-content:space-between;align-items:center;gap:12px;min-height:40px;display:flex}.toggle{background:var(--hint);appearance:none;cursor:pointer;border-radius:13px;width:44px;height:26px;margin:0;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:left .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.toggle:checked{background:var(--button)}.toggle:checked:after{left:21px}.sheet-backdrop{z-index:20;background:#0006;align-items:flex-end;animation:.25s ease-out fade-in;display:flex;position:fixed;inset:0}.sheet-backdrop--closing{animation:.18s ease-in forwards fade-out}.sheet{box-sizing:border-box;background:var(--bg);border-radius:16px 16px 0 0;flex-direction:column;width:100%;max-height:92%;padding:8px 0 0;animation:.28s cubic-bezier(.2,.8,.2,1) sheet-up;display:flex;overflow:hidden}.sheet-backdrop--closing .sheet{animation:.18s ease-in forwards sheet-down}.sheet__header{flex-shrink:0;align-items:center;padding:0 8px 0 16px;font-weight:600;display:flex}.sheet__title{flex:1;font-size:18px}.sheet__body{overscroll-behavior:contain;flex:1;min-height:0;padding:0 16px 16px;overflow-y:auto}.sheet__footer{padding:12px 16px calc(12px + var(--safe-bottom));border-top:1px solid var(--separator);background:var(--bg);flex-shrink:0}.screen{z-index:30;background:var(--bg);flex-direction:column;animation:.25s ease-out screen-in;display:flex;position:fixed;inset:0}.screen--closing{animation:.18s ease-in forwards screen-out}.screen__header{border-bottom:1px solid var(--separator);align-items:center;gap:4px;padding:4px 8px;font-weight:600;display:flex}.list{overscroll-behavior:contain;flex:1;padding:0 12px 12px;overflow-y:auto}.screen>.list:last-child{padding-bottom:calc(12px + var(--safe-bottom))}.list__empty{color:var(--hint);text-align:center;padding:24px}.list-row{border:none;border-bottom:1px solid var(--separator);text-align:start;cursor:pointer;background:0 0;align-items:center;gap:12px;width:100%;padding:10px 4px;display:flex}.list-row--on{background:color-mix(in srgb, var(--link) 12%, transparent)}.list-row--on .list-row__main>span:first-child{font-weight:600}.list-row__num{background:var(--secondary-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;display:inline-flex;position:relative}.list-row__num--done{background:var(--ok-text);color:var(--on-ok)}.list-row__num-check{width:15px;height:15px;box-shadow:inset 0 0 0 1.5px var(--ok);background:var(--bg);color:var(--ok);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-3px;right:-3px}.list-row__memorized{color:var(--ok-text);white-space:nowrap;font-weight:600}.memorized-summary{background:var(--secondary-bg);border-radius:12px;margin:0 12px 8px;padding:12px}.memorized-summary__total{font-size:16px;font-weight:600}.memorized-summary__sub{color:var(--text-secondary);margin-top:2px;font-size:13px}.memorized-bar{background:color-mix(in srgb, var(--text) 10%, transparent);border-radius:2px;height:4px;margin-top:8px;display:block;overflow:hidden}.memorized-bar>span{background:var(--ok);min-width:4px;height:100%;display:block}.memorized-bar--row{height:3px;margin-top:4px}.list-row__main{flex-direction:column;flex:1;min-width:0;display:flex}.list-row__sub{color:var(--text-secondary);font-size:13px}.list-row__ar{font-family:qpc-hafs,serif;font-size:22px;line-height:1.2}.list-row__go{color:var(--hint);display:flex}.screen__title{flex:1;min-width:0}.picker-tabs{padding:8px 12px 0}.ayah-step__hint{color:var(--text-secondary);margin:10px 12px 0;font-size:14px}.ayah-step__whole{justify-content:space-between;width:auto;margin:10px 12px}.ayah-step__count{opacity:.9;font-size:14px;font-weight:400}.ayah-step__page{color:var(--text-secondary);margin:10px 0 6px;font-size:13px;font-weight:400}.ayah-grid{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.ayah-cell{border-radius:var(--radius);background:var(--secondary-bg);font-variant-numeric:tabular-nums;cursor:pointer;border:none;min-height:44px}.range-row{grid-template-columns:1fr auto 1fr;align-items:end;gap:8px;display:grid}.range-row__arrow{color:var(--text-secondary);padding-bottom:10px}.about{margin-top:16px}.about summary{cursor:pointer;align-items:center;min-height:44px;list-style:none;display:flex}.about summary::-webkit-details-marker{display:none}.about summary:after{content:"";border-right:2px solid var(--hint);border-bottom:2px solid var(--hint);width:8px;height:8px;margin:0 6px 4px auto;transition:transform .2s;transform:rotate(45deg)}.about[open] summary:after{margin-bottom:-4px;transform:rotate(-135deg)}.icon-btn,.chip,.btn,.field--button,.list-row,.ayah-cell,.ayah-menu__item{transition:background-color .15s,filter .15s}.icon-btn:active:not(:disabled),.btn:not(.btn--primary):active,.field--button:active,.list-row:active,.ayah-cell:active,.ayah-menu__item:active{background-color:color-mix(in srgb, var(--text) 10%, transparent)}.chip:not(.chip--on):active{background-color:color-mix(in srgb, var(--text) 14%, var(--bg))}.btn--primary:active:not(:disabled),.chip--on:active{filter:brightness(.92)}.link-btn:active{opacity:.6}.icon-btn:disabled{opacity:.35;cursor:default}[role=dialog]:focus{outline:none}.dl-controls{flex-direction:column;gap:8px;padding:8px 12px;display:flex}.dl-filter{min-height:44px;color:var(--text-secondary);align-items:center;gap:8px;font-size:14px;display:flex}.dl-filter input{width:20px;height:20px;margin:0}.dl-row,.dl-row__label{align-items:center;gap:12px;display:flex}.dl-row{border-bottom:1px solid var(--separator);padding:10px 4px}.dl-row__label{cursor:pointer;flex:1;min-width:0}.dl-row input[type=checkbox]{flex-shrink:0;width:20px;height:20px}.dl-row__slot{flex-shrink:0;width:44px}.dl-row__done{color:var(--link)}.dl-footer{padding:10px 12px calc(12px + var(--safe-bottom));border-top:1px solid var(--separator)}.dl-progress{margin-bottom:10px}.dl-progress__text{color:var(--text-secondary);justify-content:space-between;margin-bottom:6px;font-size:13px;display:flex}.dl-progress__bar{background:var(--separator);border-radius:2px;height:4px;overflow:hidden}.dl-progress__bar>div{background:var(--button);height:100%;transition:width .3s}.range-done{border:1px solid color-mix(in srgb, var(--ok) 35%, transparent);background:color-mix(in srgb, var(--ok) 14%, var(--bg));border-radius:12px;padding:12px 14px;font-size:15px;line-height:1.4;animation:.2s ease-out fade-in;box-shadow:0 6px 18px #0000002e}.range-done--closing{animation:.18s ease-in forwards fade-out}.range-done__actions{gap:8px;margin-top:8px;display:flex}.range-done__mark,.range-done__later{min-height:44px;font:inherit;cursor:pointer;border:none;border-radius:10px;flex:1;font-weight:600}.range-done__mark{background:var(--ok-text);color:var(--on-ok)}.range-done__later{background:var(--bg);color:var(--text)}.range-done__mark:active,.range-done__later:active{filter:brightness(.92)}.mushaf-page{color:var(--text);isolation:isolate}.mushaf-page--self-check .w--end{z-index:1;position:relative}.mushaf-page--self-check .w--end:after{content:"";position:absolute;inset:0 -5px}:root[data-color-scheme=dark] .mushaf-page{color:color-mix(in srgb, var(--text) 88%, var(--bg))}.mushaf-page--centered{padding-top:15%}.mushaf-line{height:calc(var(--line-height,1.8) * 1em);white-space:nowrap;justify-content:space-between;align-items:center;display:flex}.mushaf-page--centered .mushaf-line{justify-content:center;gap:.15em}.mushaf-line--surah,.mushaf-line--bismillah{justify-content:center;font-family:qpc-hafs,serif}.mushaf-line--bismillah{font-size:.85em;transition:color .4s}.surah-frame{text-align:center;border:1px solid var(--hint);border-radius:.3em;width:100%;font-size:.8em;line-height:1.6;display:block}.mushaf-line--on{color:var(--highlight-text)}.bismillah-text{text-underline-offset:.3em;border-radius:.15em;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:.05em;transition:text-decoration-color .4s,background-color .4s}.mushaf-line--on .bismillah-text{-webkit-text-decoration-color:var(--highlight-text);text-decoration-color:var(--highlight-text);background-color:color-mix(in srgb, var(--highlight) 12%, transparent)}.w{cursor:pointer;text-underline-offset:.3em;border-radius:.15em;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:.05em;transition:color .4s,background-color .4s,text-decoration-color .4s}.w--on{color:var(--highlight-text);-webkit-text-decoration-color:var(--highlight-text);text-decoration-color:var(--highlight-text);background-color:color-mix(in srgb, var(--highlight) 12%, transparent)}.w--hidden{color:#0000;background-color:var(--veil);clip-path:inset(.16em .08em round .25em);-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}.w--hidden.w--on{color:#0000;background-color:color-mix(in srgb, var(--highlight) 12%, transparent);clip-path:inset(.16em .08em -.5em round .25em .25em 0 0)}.w--peeked{outline:1.5px dashed var(--hint);outline-offset:-1px;border-radius:.3em}.mushaf-page--self-check .w--on{text-decoration-thickness:.12em}.w--memorized:not(.w--on){color:var(--ok)}.w--sel{background:color-mix(in srgb, var(--link) 18%, transparent)}.ayah-menu-backdrop{z-index:10;background:#0006;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out fade-in;display:flex;position:fixed;inset:0}.ayah-menu-backdrop--closing{animation:.18s ease-in forwards fade-out}.ayah-menu{border:1px solid color-mix(in srgb, var(--text) 12%, transparent);background:var(--section-bg);border-radius:16px;width:100%;max-width:320px;padding:6px 0;animation:.2s ease-out pop-in;box-shadow:0 8px 24px #0000002e}.ayah-menu-backdrop--closing .ayah-menu{animation:.18s ease-in forwards pop-out}.page-enter--next{--enter-x:-28px}.page-enter--prev{--enter-x:28px}.page-enter--next,.page-enter--prev{animation:.28s ease-out page-in}@keyframes page-in{0%{opacity:0;transform:translateX(var(--enter-x))}}.ayah-menu__title{color:var(--text-secondary);padding:6px 16px;font-size:14px}.ayah-menu__item{border:none;border-top:1px solid var(--separator);text-align:start;cursor:pointer;background:0 0;width:100%;padding:12px 16px;font-size:15px;display:block}.self-check-hint{z-index:5;background:var(--text);max-width:536px;color:var(--bg);border-radius:12px;align-items:center;gap:10px;margin:0 auto;padding:10px 14px;font-size:14px;line-height:1.4;animation:.2s ease-out fade-in;display:flex;position:absolute;top:30px;left:12px;right:12px;box-shadow:0 4px 14px #00000040}.self-check-hint--closing{animation:.18s ease-in forwards fade-out}.self-check-hint{flex-wrap:wrap}.self-check-hint>span{flex:13em}.self-check-hint__action{min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-inline-start:auto;padding:0 4px;font-weight:600;text-decoration:underline}.ayah-menu__item--ok,.ayah-menu__item--unmark{align-items:center;gap:8px;display:flex}.ayah-menu__item--ok{color:var(--ok-text)}.ayah-menu__item--unmark{color:var(--text)}.ayah-menu__item--ok svg,.ayah-menu__item--unmark svg{width:18px;height:18px}.page-view{touch-action:pan-y;flex-direction:column;flex:1;min-height:0;display:flex}.page-view__header{color:var(--text-secondary);grid-template-columns:1fr auto 1fr;padding:6px max(16px,50% - 268px) 2px;font-size:13px;display:grid}.page-view__header>:last-child{text-align:end}.page-view__surah{min-height:44px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:10px;justify-self:start;align-items:center;gap:4px;margin:-14px 0 -12px -8px;padding:0 8px;font-weight:600;display:inline-flex}.page-view__surah svg{color:var(--hint);transform:rotate(90deg)}.page-view__surah:active{background-color:color-mix(in srgb, var(--text) 10%, transparent)}.page-view__scroll{overscroll-behavior:contain;flex:1;padding:4px 6px 28px;overflow-y:auto}.page-fit{max-width:560px;margin:0 auto}.page-fit--stale{opacity:.45;transition:opacity .2s .25s}.page-view__message{color:var(--text-secondary);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:48px 16px;display:flex}.page-view__message .btn{color:var(--text)}.app:has(.range-done:not(.range-done--closing)) .page-fit:after{content:"";height:140px;display:block}.player{padding:6px max(12px, calc((100% - 560px) / 2)) calc(8px + var(--safe-bottom));border-top:1px solid var(--separator);background:var(--bg);flex-shrink:0;position:relative}.player__collapse{border:1px solid var(--separator);background:var(--bg);width:64px;height:22px;color:var(--hint);cursor:pointer;border-bottom:none;border-radius:10px 10px 0 0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%,-100%)}.player__collapse:before{content:"";position:absolute;inset:-22px 0 0}.player__collapse svg{transform:rotate(90deg)}.player__collapse:active{background-color:color-mix(in srgb, var(--text) 10%, var(--bg))}.player--mini{padding-top:4px;padding-bottom:calc(4px + var(--safe-bottom));align-items:center;gap:10px;display:flex}.play-btn--mini{flex-shrink:0;width:44px;height:44px}.player--mini .player__status--mini{text-align:start;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0;overflow:hidden}.player__expand svg{transform:rotate(-90deg)}.player__aside{margin-bottom:8px;max-width:536px;margin-inline:auto;position:absolute;bottom:100%;left:12px;right:12px}.icon-btn--active{background-color:color-mix(in srgb, var(--button) 16%, transparent);color:var(--button)}.player__progress{background:var(--separator);border-radius:2px;height:3px;overflow:hidden}.player__progress>div{background:var(--button);height:100%;transition:width .2s}.player__status{font-variant-numeric:tabular-nums;min-height:20px;color:var(--text);text-align:center;margin:6px 0 2px;font-size:15px}.player__status.link-btn{box-sizing:border-box;width:100%;min-height:0;color:var(--link);margin:-6px 0 -10px;padding:12px 8px;display:block}.player__status--error{color:var(--highlight)}.player__controls{justify-content:space-between;align-items:center;display:flex}.play-btn{background:var(--button);width:56px;height:56px;color:var(--button-text);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative}.repeat-badge{color:var(--hint);justify-content:center;align-items:center;gap:2px;font-size:13px;display:inline-flex}.repeat-badge--on{color:var(--link)}.player__countdown{border-radius:2px;height:3px;margin:2px 24px 0;overflow:hidden}.player__countdown>div{background:var(--link);transform-origin:0;border-radius:2px;height:100%;animation-name:countdown;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.play-btn{transition:transform .15s}.play-btn:active{transform:scale(.94)}.play-btn--loading:after{content:"";border:2px solid #0000;border-top-color:var(--button);opacity:0;border-radius:50%;animation:1.2s linear infinite spin,.2s .4s forwards appear;position:absolute;inset:-4px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes appear{to{opacity:.8}}:root{--bg:var(--tg-theme-bg-color,#fff);--text:var(--tg-theme-text-color,#1b1b1b);--hint:var(--tg-theme-hint-color,#8a8a8a);--link:var(--tg-theme-link-color,#2a7ae2);--button:var(--tg-theme-button-color,#2a7ae2);--button-text:var(--tg-theme-button-text-color,#fff);--secondary-bg:var(--tg-theme-secondary-bg-color,color-mix(in srgb, var(--text) 6%, var(--bg)));--section-bg:var(--tg-theme-section-bg-color,var(--bg));--separator:var(--tg-theme-section-separator-color,color-mix(in srgb, var(--text) 12%, var(--bg)));--highlight:var(--tg-theme-destructive-text-color,#d83b3b);--highlight-text:color-mix(in srgb, var(--highlight) 85%, var(--text));--text-secondary:color-mix(in srgb, var(--text) 65%, var(--bg));--veil:color-mix(in srgb, var(--text) 10%, var(--bg));--ok:#23915a;--on-ok:#fff;--ok-text:color-mix(in srgb, var(--ok) 80%, var(--text));color-scheme:var(--tg-color-scheme,light);accent-color:var(--button);--radius:10px;--safe-bottom:max(env(safe-area-inset-bottom,0px), var(--tg-safe-area-inset-bottom,0px))}:root[data-color-scheme=dark]{--ok:#2f9e68;--on-ok:#0d2a1b}@font-face{font-family:qpc-hafs;src:url(/data/v1/fonts/hafs.woff2)format("woff2");font-display:block}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select{font:inherit;color:inherit}[hidden]{display:none!important}.app{height:100%;height:min(var(--tg-viewport-stable-height,100dvh), 100dvh);flex-direction:column;display:flex;position:fixed;inset:0 0 auto;overflow:hidden}.splash{box-sizing:border-box;height:100%;color:var(--hint);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes screen-in{0%{opacity:0;transform:translateY(16px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.94)}}@keyframes fade-out{to{opacity:0}}@keyframes sheet-down{to{transform:translateY(100%)}}@keyframes screen-out{to{opacity:0;transform:translateY(16px)}}@keyframes pop-out{to{opacity:0;transform:scale(.94)}}@media (prefers-reduced-motion:reduce){:not(.player__countdown>div),:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
