/* ==========================================================================
   Islamic World Pro — reading & worship tools
   Qur'an reader, Mushaf, Hadith, Azkar, Duas, 99 Names, Prayer Times
   © 2026 Aurevia Solution. All rights reserved.
   ========================================================================== */

[hidden]{display:none!important;}

@font-face{
  font-family:'UthmanicHafs';
  src:url('/assets/fonts/UthmanicHafs.woff2') format('woff2');
  font-display:swap;
}

:root{
  --hdr-h:84px;
  --paper:#fbf6e8;
  --paper-2:#f4ead0;
  --paper-line:rgba(120,92,30,.16);
  --ink:#16261d;
  --ink-soft:#5b5443;
  --quran:'UthmanicHafs','Amiri Quran','Amiri',serif;
  --urdu:'Noto Nastaliq Urdu','Jameel Noori Nastaleeq','Urdu Typesetting',serif;
  --wide:1440px;
  --ar-size:34px;
  --tr-size:17px;
  --tool-radius:14px;
}
html[data-rtheme="white"]{--paper:#ffffff;--paper-2:#f5f2ea;--paper-line:rgba(22,38,29,.1);}
html[data-rtheme="night"]{--paper:#0c241a;--paper-2:#113123;--paper-line:rgba(212,175,55,.18);--ink:#efe6cc;--ink-soft:#b9b096;}

/* overflow-x:hidden on html/body turns them into scroll containers and silently
   disables position:sticky. clip hides overflow without that side effect. */
@supports (overflow:clip){html,body{overflow-x:clip;}}

.wide{max-width:var(--wide);margin:0 auto;padding:0 28px;}
.narrow{max-width:820px;}
@media (max-width:620px){.wide{padding:0 16px;}}

.skip-link{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--gold-300);color:var(--green-950);padding:10px 16px;border-radius:10px;font-weight:700;}
.skip-link:focus{left:12px;}

.crumbs{font-size:.82rem;color:rgba(var(--c-on-dk-rgb),.7);display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:18px;}
.crumbs a{color:var(--gold-300);}
.crumbs a:hover{text-decoration:underline;}
.crumbs .sep{opacity:.45;}

.footer-grid.footer-grid-5{grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;}
@media (max-width:980px){.footer-grid.footer-grid-5{grid-template-columns:1fr 1fr 1fr;}}
@media (max-width:620px){.footer-grid.footer-grid-5{grid-template-columns:1fr 1fr;}}

/* ----- generic controls ----- */
.seg{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:rgba(22,38,29,.07);flex:0 0 auto;}
.seg button{border:0;background:none;padding:7px 13px;border-radius:999px;font-size:.82rem;font-weight:600;color:var(--ink-soft);white-space:nowrap;}
.seg button[aria-pressed="true"],.seg button[aria-selected="true"]{background:var(--green-900);color:var(--cream-100);}
.seg button[lang="ur"]{font-family:var(--urdu);font-size:.8rem;line-height:1.2;}
.icon-btn{width:36px;height:36px;border-radius:50%;border:1px solid transparent;background:none;color:inherit;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:1.2rem;}
.icon-btn:hover{background:rgba(212,175,55,.14);}
.icon-btn svg{width:18px;height:18px;}
.icon-btn[aria-pressed="true"]{background:var(--green-900);color:var(--gold-300);}
.tb-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--paper-line);background:transparent;color:var(--ink);padding:7px 12px;border-radius:999px;font-size:.84rem;font-weight:600;flex:0 0 auto;}
.tb-btn svg{width:16px;height:16px;}
.tb-btn:hover{border-color:var(--gold-500);}
.tb-btn.tb-play{background:var(--green-900);color:var(--cream-100);border-color:var(--green-900);}
.tb-btn.tb-play.on{background:var(--gold-500);color:var(--green-950);border-color:var(--gold-500);}
.tb-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--paper-line);background:transparent;color:var(--ink);padding:7px 13px;border-radius:999px;font-size:.82rem;font-weight:600;flex:0 0 auto;}
.tb-chip[aria-pressed="true"]{background:rgba(212,175,55,.2);border-color:var(--gold-500);}
.tj-dots{display:inline-flex;gap:2px;}
.tj-dots i{width:6px;height:6px;border-radius:50%;background:#d12f2f;}
.tj-dots i:nth-child(2){background:#1a8f4a;}
.tj-dots i:nth-child(3){background:#2d6fd6;}
.tb-spacer{flex:1 1 auto;}
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:var(--green-950);color:var(--cream-100);padding:11px 18px;border-radius:999px;font-size:.88rem;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:300;border:1px solid rgba(212,175,55,.35);}
.toast.show{opacity:1;transform:translate(-50%,0);}
.badge{position:absolute;top:12px;right:12px;font-size:.66rem;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--gold-300);color:var(--green-950);}
.empty{color:var(--sand-600);padding:26px 0;}
.state-msg a{color:var(--green-700);text-decoration:underline;}
:where(.qr,.qh,.ms,.hd,.az,.nm,.pt) :focus-visible{outline:2px solid var(--gold-500);outline-offset:2px;}

/* ==========================================================================
   Qur'an — surah reader
   ========================================================================== */
.qr{background:var(--paper);color:var(--ink);}
.qr-hero{padding:34px 0 30px;color:var(--cream-100);}
.qr-hero-grid{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:end;}
.qr-hero h1{color:var(--cream-100);font-size:clamp(2rem,4vw,3rem);margin:0;}
.qr-meaning{font-family:var(--font-script);font-size:1.35rem;color:var(--gold-300);margin:2px 0 14px;display:flex;gap:16px;flex-wrap:wrap;align-items:baseline;}
.qr-meaning [lang="ur"]{font-family:var(--urdu);font-size:1.02rem;color:rgba(var(--c-on-dk-rgb),.75);}
.facts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;}
.facts li{border:1px solid rgba(212,175,55,.3);border-radius:999px;padding:5px 12px;font-size:.82rem;color:var(--cream-200);}
.facts b{color:var(--gold-200);font-weight:700;}
.qr-hero-actions{display:flex;gap:10px;flex-wrap:wrap;}
.qr-hero-actions svg{width:14px;height:14px;}
.qr-hero-name{font-family:var(--quran);font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.3;color:var(--gold-300);display:flex;align-items:center;gap:22px;text-shadow:0 4px 30px rgba(212,175,55,.25);}
.medallion{position:relative;font-family:var(--quran);font-size:1.4rem;width:64px;height:64px;display:inline-flex;align-items:center;justify-content:center;line-height:1;}
.medallion::before{content:"";position:absolute;inset:6px;border:1.5px solid var(--gold-500);transform:rotate(45deg);border-radius:10px;}
@media (max-width:760px){.qr-hero-grid{grid-template-columns:1fr;}.qr-hero-name{order:-1;justify-content:flex-end;font-size:2.6rem;}.medallion{width:46px;height:46px;font-size:1rem;}}

.qr-toolbar{position:sticky;top:var(--hdr-h);z-index:60;background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--paper-line);}
.qr-toolbar-in{max-width:var(--wide);margin:0 auto;padding:9px 28px;display:flex;align-items:center;gap:10px;overflow-x:auto;scrollbar-width:none;}
.qr-toolbar-in::-webkit-scrollbar{display:none;}
html[data-rtheme="night"] .seg{background:rgba(var(--c-on-dk-rgb),.08);}
html[data-rtheme="night"] .seg button{color:var(--ink-soft);}
html[data-rtheme="night"] .seg button[aria-pressed="true"]{background:var(--gold-500);color:var(--green-950);}
@media (max-width:620px){.qr-toolbar-in{padding:8px 12px;}.tb-btn span{display:none;}.tb-rail span{display:inline;}}

.qr-shell{display:grid;grid-template-columns:300px minmax(0,1fr);gap:40px;padding-top:26px;padding-bottom:40px;align-items:start;}
.qr-shell.with-drawer{grid-template-columns:300px minmax(0,1fr) 400px;}
@media (min-width:1700px){:root{--wide:1640px;}}
@media (max-width:1180px){.qr-shell,.qr-shell.with-drawer{grid-template-columns:minmax(0,1fr);}}

.qr-rail{position:sticky;top:calc(var(--hdr-h) + 64px);max-height:calc(100vh - var(--hdr-h) - 84px);display:flex;flex-direction:column;border:1px solid var(--paper-line);border-radius:18px;background:var(--paper-2);overflow:hidden;}
.rail-head{display:flex;gap:6px;align-items:center;padding:10px;border-bottom:1px solid var(--paper-line);}
.rail-search{flex:1;display:flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--paper-line);border-radius:999px;padding:7px 12px;}
.rail-search svg{width:15px;height:15px;opacity:.6;flex:0 0 auto;}
.rail-search input{border:0;outline:0;background:none;color:var(--ink);width:100%;font-size:.88rem;}
.rail-close{display:none;}
.rail-list{overflow-y:auto;padding:6px;overscroll-behavior:contain;}
.rail-list a{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;color:var(--ink);}
.rail-list a:hover{background:rgba(212,175,55,.12);}
.rail-list a.on{background:var(--green-900);color:var(--cream-100);}
.rail-list a.on small{color:rgba(var(--c-on-dk-rgb),.65);}
.rail-list a.on .rn{color:var(--gold-300);}
.rail-list a.on .rn::before{border-color:var(--gold-300);}
.rn{position:relative;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;color:var(--gold-600);font-variant-numeric:tabular-nums;}
.rn::before,.sc-n::before{content:"";position:absolute;inset:4px;border:1px solid rgba(199,155,59,.55);border-radius:6px;transform:rotate(45deg);}
.rail-list,.sc-grid,.chapter-list,.saved-list,.book-grid,.cat-grid,.nm-grid,.city-grid,.qh-results ol{list-style:none;margin:0;padding:0;}
.rail-list{padding:6px;}
.rt{font-size:.88rem;font-weight:600;line-height:1.25;}
.rt small{display:block;font-weight:400;font-size:.74rem;color:var(--ink-soft);}
.ra{font-family:var(--font-arabic);font-size:1.05rem;}
@media (max-width:1180px){
  .qr-rail{position:fixed;inset:0 auto 0 0;top:0;width:min(360px,88vw);max-height:none;height:100%;z-index:150;border-radius:0 18px 18px 0;transform:translateX(-105%);transition:transform .25s ease;box-shadow:0 20px 60px rgba(0,0,0,.35);}
  .qr-rail.open{transform:none;}
  .rail-close{display:inline-flex;}
}
@media (min-width:1181px){.tb-rail{display:none;}}
.rail-scrim{position:fixed;inset:0;background:rgba(var(--t-dk-rgb),.45);z-index:140;}

.qr-main{min-width:0;max-width:900px;margin:0 auto;width:100%;}
.qr-bismillah{font-family:var(--quran);font-size:calc(var(--ar-size) * 1.05);text-align:center;color:var(--ink);padding:10px 0 26px;border-bottom:1px solid var(--paper-line);margin-bottom:8px;}

.ayah{position:relative;padding:22px 4px 20px;border-bottom:1px solid var(--paper-line);scroll-margin-top:calc(var(--hdr-h) + 80px);}
.ayah-key{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.02em;color:var(--gold-600);border:1px solid rgba(199,155,59,.35);border-radius:999px;padding:2px 10px;}
.ayah-tools{position:absolute;top:18px;right:0;display:flex;gap:2px;opacity:.55;transition:opacity .15s;}
.ayah:hover .ayah-tools,.ayah:focus-within .ayah-tools,.ayah.playing .ayah-tools{opacity:1;}
@media (hover:none){.ayah-tools{opacity:1;}}
.ayah-tools button{width:34px;height:34px;border:0;background:none;color:var(--ink-soft);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;}
.ayah-tools button:hover{background:rgba(212,175,55,.15);color:var(--ink);}
.ayah-tools button.on{color:var(--gold-600);}
.ayah-tools button.on svg{fill:currentColor;}
.ayah-tools svg{width:17px;height:17px;}
.ayah-ar{font-family:var(--quran);font-size:var(--ar-size);line-height:2.05;text-align:right;margin:12px 0 10px;color:var(--ink);word-spacing:.04em;}
.ayah-end{font-family:var(--quran);color:var(--gold-600);margin-inline-start:.1em;white-space:nowrap;}
html[data-rtheme="night"] .ayah-end{color:var(--gold-300);}
.ayah-en{font-size:var(--tr-size);line-height:1.7;color:var(--ink-soft);margin:0 0 8px;max-width:72ch;}
.ayah-ur{font-family:var(--urdu);font-size:calc(var(--tr-size) * 1.05);line-height:2.3;color:var(--ink-soft);text-align:right;margin:0;display:none;}
.qr-main[data-lang="ur"] .ayah-en{display:none;}
.qr-main[data-lang="ur"] .ayah-ur,.qr-main[data-lang="both"] .ayah-ur{display:block;}
.ayah.playing{background:linear-gradient(90deg,transparent,rgba(212,175,55,.12) 12%,rgba(212,175,55,.12) 88%,transparent);}
.ayah.target{animation:ayahFlash 2.2s ease;}
@keyframes ayahFlash{0%,40%{background:rgba(212,175,55,.22);}100%{background:transparent;}}
.ayah.sajda .ayah-key::after{content:" · sajdah";color:var(--green-700);}

/* reading (Uthmani) mode — the same DOM re-flowed as continuous Mushaf text */
.qr-main[data-mode="reading"] .qr-ayahs{direction:rtl;text-align:justify;text-align-last:center;font-family:var(--quran);font-size:var(--ar-size);line-height:2.25;padding:18px 6px;}
.qr-main[data-mode="reading"] .ayah{display:inline;padding:0;border:0;}
.qr-main[data-mode="reading"] .ayah-key,.qr-main[data-mode="reading"] .ayah-en,.qr-main[data-mode="reading"] .ayah-ur,.qr-main[data-mode="reading"] .ayah-tools,.qr-main[data-mode="reading"] .ayah-wbw{display:none;}
.qr-main[data-mode="reading"] .ayah-ar{display:inline;margin:0;font-size:inherit;line-height:inherit;cursor:pointer;border-radius:6px;}
.qr-main[data-mode="reading"] .ayah-ar:hover{background:rgba(212,175,55,.1);}
.qr-main[data-mode="reading"] .ayah.playing .ayah-ar{background:rgba(212,175,55,.22);}
.qr-main[data-mode="reading"] .ayah.playing{background:none;}
.qr-main[data-mode="reading"] .page-mark{display:block;}
.page-mark{display:none;text-align:center;font-family:var(--font-body);font-size:.72rem;color:var(--ink-soft);direction:ltr;margin:10px 0;letter-spacing:.06em;}
.page-mark::before,.page-mark::after{content:"";display:inline-block;width:60px;height:1px;background:var(--paper-line);vertical-align:middle;margin:0 12px;}

/* word by word */
.ayah-wbw{display:none;direction:rtl;flex-wrap:wrap;gap:10px 8px;margin:14px 0 12px;}
.qr-main[data-mode="wbw"] .ayah-wbw{display:flex;}
.qr-main[data-mode="wbw"] .ayah-wbw + .ayah-ar,.qr-main[data-mode="wbw"] .ayah.has-wbw .ayah-ar{display:none;}
.w{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 9px 7px;border-radius:10px;border:1px solid var(--paper-line);background:var(--paper-2);min-width:54px;cursor:pointer;text-align:center;}
.w:hover,.w.on{border-color:var(--gold-500);background:rgba(212,175,55,.14);}
.w-ar{font-family:var(--quran);font-size:calc(var(--ar-size) * .82);line-height:1.8;color:var(--ink);}
.w-tr{font-size:.74rem;line-height:1.3;color:var(--ink-soft);direction:ltr;max-width:120px;}
.w-tr[lang="ur"]{font-family:var(--urdu);direction:rtl;font-size:.78rem;line-height:1.9;}
.w-lit{font-size:.68rem;color:var(--gold-600);direction:ltr;font-style:italic;display:none;}
.show-translit .w-lit{display:block;}
.w.end{border:0;background:none;min-width:0;}
.w.end .w-ar{color:var(--gold-600);}
.wbw-note{font-size:.8rem;color:var(--ink-soft);margin:10px 0 0;}

/* tajweed colours (Tanzil / alquran.cloud rule letters) */
.tj-h{color:#aaaaaa;} .tj-s{color:#aaaaaa;} .tj-l{color:#aaaaaa;}
.tj-n{color:#537fff;} .tj-p{color:#4050ff;} .tj-m{color:#000ebc;}
.tj-q{color:#dd0008;} .tj-o{color:#2144c1;}
.tj-c{color:#d500b7;} .tj-f{color:#9400a8;} .tj-w{color:#58b800;}
.tj-i{color:#26bfbd;} .tj-a{color:#169777;} .tj-u{color:#169200;}
.tj-d{color:#a1a1a1;} .tj-b{color:#26bfbd;} .tj-g{color:#ff7e1e;}
html[data-rtheme="night"] .tj-m{color:#6f8bff;} html[data-rtheme="night"] .tj-p{color:#8a93ff;}
.tj-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.76rem;color:var(--ink-soft);padding:10px 0 16px;border-bottom:1px solid var(--paper-line);}
.tj-legend span{display:inline-flex;align-items:center;gap:6px;}
.tj-legend i{width:10px;height:10px;border-radius:50%;background:currentColor;display:inline-block;}

.qr-pn{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:34px;}
.pn{display:block;border:1px solid var(--paper-line);border-radius:16px;padding:16px 18px;background:var(--paper-2);color:var(--ink);}
.pn:hover{border-color:var(--gold-500);}
.pn small{display:block;color:var(--ink-soft);font-size:.76rem;}
.pn strong{font-family:var(--font-display);font-size:1.05rem;}
.pn.next{text-align:right;}

/* tafseer drawer */
.qr-drawer{position:sticky;top:calc(var(--hdr-h) + 64px);max-height:calc(100vh - var(--hdr-h) - 84px);display:flex;flex-direction:column;background:var(--paper-2);border:1px solid var(--paper-line);border-radius:18px;overflow:hidden;}
.qr-drawer[hidden]{display:none;}
.dr-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 10px;}
.dr-kicker{display:block;font-size:.72rem;color:var(--gold-600);font-weight:700;}
.dr-head strong{font-family:var(--font-display);font-size:1.02rem;}
.dr-controls{display:flex;gap:8px;padding:0 16px 12px;border-bottom:1px solid var(--paper-line);}
.dr-controls select,.qr-pop select,.ms-field select,.ms-field input{flex:1;border:1px solid var(--paper-line);background:var(--paper);color:var(--ink);border-radius:10px;padding:8px 10px;font:inherit;font-size:.86rem;min-width:0;}
.dr-nav{display:flex;gap:2px;}
.dr-ayah{padding:14px 16px 0;font-family:var(--quran);font-size:1.5rem;line-height:2;text-align:right;direction:rtl;color:var(--ink);}
.dr-body{padding:6px 16px 16px;overflow-y:auto;font-size:.95rem;line-height:1.75;color:var(--ink);overscroll-behavior:contain;}
.dr-body p{margin:0 0 .9em;}
.dr-body[lang="ur"]{font-family:var(--urdu);direction:rtl;text-align:right;line-height:2.3;font-size:1rem;}
.dr-body[lang="ar"]{font-family:var(--font-arabic);direction:rtl;text-align:right;font-size:1.15rem;line-height:2;}
.dr-src{font-size:.72rem;color:var(--ink-soft);padding:8px 16px 12px;margin:0;border-top:1px solid var(--paper-line);}
.dr-src a{text-decoration:underline;}
@media (max-width:1180px){
  .qr-drawer{position:fixed;left:0;right:0;bottom:0;top:auto;max-height:78vh;z-index:160;border-radius:22px 22px 0 0;box-shadow:0 -20px 60px rgba(0,0,0,.3);}
}

/* settings popover */
.qr-pop{position:fixed;z-index:170;top:calc(var(--hdr-h) + 64px);right:max(20px,calc((100vw - var(--wide))/2 + 28px));width:330px;max-width:calc(100vw - 24px);background:var(--paper);color:var(--ink);border:1px solid var(--paper-line);border-radius:18px;padding:14px 16px 16px;box-shadow:0 30px 60px -20px rgba(0,0,0,.35);}
.qr-pop[hidden]{display:none;}
.pop-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
.qr-pop .field{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:600;color:var(--ink-soft);margin:12px 0;}
.qr-pop .field input[type=range]{accent-color:var(--gold-600);}
.qr-pop output{font-weight:400;font-size:.76rem;}
.qr-pop .check{display:flex;gap:9px;align-items:center;font-size:.86rem;margin:10px 0;}
.swatches{display:flex;gap:10px;}
.swatches button{width:34px;height:34px;border-radius:50%;border:2px solid var(--paper-line);}
.swatches [data-theme="paper"]{background:#fbf6e8;}
.swatches [data-theme="white"]{background:var(--s-card);}
.swatches [data-theme="night"]{background:#0c241a;}
.swatches button[aria-pressed="true"]{border-color:var(--gold-500);box-shadow:0 0 0 3px rgba(212,175,55,.25);}
.keys summary{cursor:pointer;font-size:.84rem;font-weight:600;margin-top:6px;}
.keys dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:.8rem;margin:10px 0 0;}
.keys dt{font-weight:700;}
.keys dd{margin:0;color:var(--ink-soft);}

/* audio bar */
.qr-audio{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:120;width:min(640px,calc(100vw - 24px));background:var(--green-950);color:var(--cream-100);border:1px solid rgba(212,175,55,.35);border-radius:20px;padding:10px 14px 12px;display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;box-shadow:0 24px 50px -18px rgba(0,0,0,.6);}
.qr-audio[hidden]{display:none;}
.au-info{display:flex;flex-direction:column;min-width:0;gap:3px;}
.au-now{font-weight:700;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.au-info select{background:transparent;color:var(--gold-300);border:0;font:inherit;font-size:.78rem;padding:0;max-width:100%;}
.au-info select option{color:#111;}
.au-ctrl{display:flex;align-items:center;gap:2px;}
.au-main{width:46px;height:46px;border-radius:50%;border:0;background:linear-gradient(135deg,var(--gold-300),var(--gold-600));color:var(--green-950);display:inline-flex;align-items:center;justify-content:center;}
.au-main svg{width:20px;height:20px;}
.au-speed{border:1px solid rgba(212,175,55,.35);background:none;color:var(--cream-100);border-radius:999px;font-size:.74rem;padding:4px 8px;}
.au-progress{grid-column:1/-1;height:3px;background:rgba(var(--c-on-dk-rgb),.15);border-radius:3px;overflow:hidden;}
.au-progress i{display:block;height:100%;width:0;background:var(--gold-300);}
body.has-audio .whatsapp-float{bottom:110px;}
@media (max-width:520px){.au-speed{display:none;}}

/* ayah popover (reading & mushaf modes) */
.ayah-pop{position:fixed;z-index:175;width:min(420px,calc(100vw - 24px));background:var(--paper);color:var(--ink);border:1px solid var(--paper-line);border-radius:16px;padding:14px 16px;box-shadow:0 30px 60px -18px rgba(0,0,0,.4);}
.ayah-pop[hidden]{display:none;}
.ayah-pop .ap-key{font-size:.76rem;font-weight:700;color:var(--gold-600);}
.ayah-pop .ap-en{margin:8px 0;font-size:.95rem;line-height:1.6;}
.ayah-pop .ap-ur{font-family:var(--urdu);direction:rtl;text-align:right;line-height:2.2;margin:6px 0;}
.ayah-pop .ap-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;}
.ayah-pop .ap-actions button,.ayah-pop .ap-actions a{border:1px solid var(--paper-line);background:none;color:var(--ink);border-radius:999px;padding:6px 11px;font-size:.8rem;font-weight:600;}

/* fullscreen */
.qr:fullscreen,.ms:fullscreen{overflow-y:auto;}
.qr:fullscreen .qr-hero,.qr:fullscreen .about-surah,.qr:fullscreen .qr-rail{display:none;}
.qr:fullscreen .qr-toolbar{top:0;}
.qr:fullscreen .qr-shell{grid-template-columns:minmax(0,1fr);}
.qr:fullscreen .qr-shell.with-drawer{grid-template-columns:minmax(0,1fr) 420px;}

.about-surah{background:var(--paper-2);}
.qr .about-surah h2{font-size:1.5rem;}
.about-virtue{border-left:3px solid var(--gold-500);padding:6px 0 6px 16px;font-family:var(--font-script);font-size:1.2rem;}
.about-virtue cite{display:block;font-family:var(--font-body);font-size:.8rem;font-style:normal;color:var(--sand-600);}
.attrib{font-size:.8rem;color:var(--sand-600);}
.attrib a{text-decoration:underline;}
html[data-rtheme="night"] .about-surah{color:var(--ink);}
html[data-rtheme="night"] .about-surah h2{color:var(--gold-300);}

/* ==========================================================================
   Qur'an — hub
   ========================================================================== */
.qh-hero{padding:40px 0 46px;color:var(--cream-100);}
.qh-hero h1{color:var(--cream-100);font-size:clamp(2.2rem,4.6vw,3.4rem);margin:0 0 8px;}
.qh-hero .lead{color:var(--cream-200);max-width:640px;}
.qh-search{display:flex;align-items:center;gap:10px;max-width:720px;margin-top:22px;background:rgba(var(--c-on-dk2-rgb),.08);border:1px solid rgba(212,175,55,.4);border-radius:999px;padding:6px 6px 6px 18px;}
.qh-search svg{width:18px;height:18px;color:var(--gold-300);flex:0 0 auto;}
.qh-search input{flex:1;background:none;border:0;outline:0;color:var(--cream-100);font-size:1rem;padding:8px 0;min-width:0;}
.qh-search input::placeholder{color:rgba(var(--c-on-dk-rgb),.55);}
.qh-popular{margin:14px 0 0;font-size:.86rem;color:rgba(var(--c-on-dk-rgb),.7);display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.qh-popular a{color:var(--gold-200);border-bottom:1px solid rgba(233,200,115,.35);}
.qh-body{padding:44px 0 70px;}
.qh-h2{font-family:var(--font-display);font-size:1.5rem;margin:0 0 18px;}
.mode-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-bottom:56px;}
.mode-card{position:relative;display:flex;flex-direction:column;gap:6px;background:var(--s-card);border:1px solid rgba(var(--t-md-rgb),.1);border-radius:20px;padding:22px 20px 20px;min-height:190px;transition:border-color .2s,transform .2s;}
.mode-card:hover{border-color:var(--gold-500);transform:translateY(-2px);}
.mode-card strong{font-family:var(--font-display);font-size:1.08rem;color:var(--green-900);margin-top:auto;}
.mode-card span:not(.badge):not(.mc-glyph):not(.mc-page):not(.mc-wave){font-size:.86rem;color:var(--sand-600);line-height:1.5;}
.mode-card.app-only{background:var(--cream-200);}
.mc-glyph{font-family:var(--quran);font-size:2.1rem;color:var(--green-900);text-align:center;line-height:1.6;margin-bottom:6px;}
.mc-glyph.tj{background:linear-gradient(90deg,#1a8f4a,#d12f2f 45%,#2d6fd6);-webkit-background-clip:text;background-clip:text;color:transparent;}
.mc-page{display:flex;justify-content:center;gap:3px;margin-bottom:10px;}
.mc-page i{width:44px;height:58px;background:var(--cream-100);border:1px solid rgba(199,155,59,.45);border-radius:3px;background-image:repeating-linear-gradient(transparent 0 7px,rgba(199,155,59,.3) 7px 8px);background-size:70% 100%;background-repeat:no-repeat;background-position:center 8px;}
.mc-wave{display:flex;justify-content:center;align-items:center;gap:4px;height:58px;margin-bottom:10px;}
.mc-wave i{width:4px;height:calc(var(--h) * 3px);border-radius:3px;background:var(--gold-500);}
.qh-index-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px;}
.qh-index-head .qh-h2{margin:0 auto 0 0;}
.seg.light{background:rgba(var(--t-md-rgb),.07);}
.sc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;}
.sc a{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;background:var(--s-card);border:1px solid rgba(var(--t-md-rgb),.09);border-radius:14px;padding:12px 16px;height:100%;}
.jz a{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;background:var(--s-card);border:1px solid rgba(var(--t-md-rgb),.09);border-radius:14px;padding:12px 16px;}
.sc a:hover,.jz a:hover{border-color:var(--gold-500);}
.sc-n{position:relative;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:var(--green-800);}
.sc-n::before{inset:6px;border-width:1.5px;}
.sc-t strong{display:block;color:var(--green-900);font-size:.95rem;}
.sc-t small{color:var(--sand-600);font-size:.78rem;}
.sc-a{font-family:var(--font-arabic);font-size:1.3rem;color:var(--green-900);}
.sc[hidden]{display:none;}
.qh-continue{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:var(--green-950);color:var(--cream-100);border-radius:20px;padding:20px 24px;margin-bottom:40px;}
.qh-continue strong{font-family:var(--font-display);font-size:1.15rem;color:var(--gold-200);}
.qh-continue small{display:block;color:rgba(var(--c-on-dk-rgb),.7);}
.qh-continue .btn{margin-left:auto;}
.qh-results{background:var(--s-card);border:1px solid rgba(var(--t-md-rgb),.1);border-radius:20px;padding:20px 22px;margin-bottom:40px;}
.qh-results h3{font-family:var(--font-body);font-size:1rem;margin:0 0 12px;}
.qh-results ol{display:flex;flex-direction:column;gap:12px;}
.qh-results li a{display:block;padding:12px 14px;border-radius:12px;border:1px solid rgba(var(--t-md-rgb),.08);}
.qh-results li a:hover{border-color:var(--gold-500);}
.qh-results .rk{font-size:.76rem;font-weight:700;color:var(--gold-600);}
.qh-results mark{background:rgba(212,175,55,.3);color:inherit;padding:0 2px;border-radius:3px;}
.saved-list{display:flex;flex-direction:column;gap:10px;}
.saved-list a{display:block;background:var(--s-card);border:1px solid rgba(var(--t-md-rgb),.09);border-radius:14px;padding:14px 16px;}
.saved-list .sv-ar{font-family:var(--quran);font-size:1.4rem;direction:rtl;text-align:right;line-height:2;color:var(--green-950);}

/* ==========================================================================
   Mushaf
   ========================================================================== */
.ms{background:#e9dfc4;min-height:80vh;}
html[data-rtheme="night"] .ms{background:#071a12;}
.ms-top{background:var(--green-950);padding:18px 0 14px;color:var(--cream-100);}
.ms-top h1{color:var(--cream-100);font-size:1.6rem;margin:0;}
.ms-top h1 span{font-family:var(--font-script);color:var(--gold-300);font-weight:500;}
.ms-top .crumbs{margin-bottom:6px;}
.ms-bar{position:sticky;top:var(--hdr-h);z-index:60;background:rgba(251,246,232,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(120,92,30,.2);}
html[data-rtheme="night"] .ms-bar{background:rgba(var(--t-dk-rgb),.92);}
.ms-bar-in{display:flex;align-items:center;gap:10px;padding-top:9px;padding-bottom:9px;overflow-x:auto;scrollbar-width:none;color:var(--ink);}
.ms-field{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--ink-soft);flex:0 0 auto;}
.ms-total{color:var(--sand-600);font-weight:500;}
.ms-field select{max-width:170px;}
.ms-field input{width:76px;}
.ms-stage{display:flex;align-items:center;justify-content:center;gap:10px;padding:26px 12px 60px;}
.ms-turn{width:48px;height:88px;border-radius:14px;border:1px solid rgba(120,92,30,.25);background:rgba(251,246,232,.6);font-size:2rem;color:var(--green-900);flex:0 0 auto;}
.ms-turn:hover{background:#fbf6e8;}
html[data-rtheme="night"] .ms-turn{background:rgba(var(--t-dk-rgb),.8);color:var(--gold-300);}
.ms-book{display:flex;flex-direction:row-reverse;gap:0;filter:drop-shadow(0 30px 40px rgba(60,40,10,.25));}
.ms-page{position:relative;width:min(560px,calc(100vw - 150px));height:min(820px,calc(100vh - var(--hdr-h) - 150px));background:var(--paper);color:var(--ink);padding:26px 30px 44px;display:flex;flex-direction:column;overflow:hidden;}
.ms-page .ms-text{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;}
.ms-page::before{content:"";position:absolute;inset:12px;border:1.5px solid rgba(199,155,59,.55);outline:1px solid rgba(199,155,59,.3);outline-offset:4px;pointer-events:none;border-radius:4px;}
.ms-page.right{border-radius:4px 14px 14px 4px;}
.ms-page.left{border-radius:14px 4px 4px 14px;}
.ms-book.single .ms-page{border-radius:14px;}
.ms-book:not(.single) .ms-page.right{box-shadow:inset 18px 0 24px -18px rgba(90,60,10,.35);}
.ms-book:not(.single) .ms-page.left{box-shadow:inset -18px 0 24px -18px rgba(90,60,10,.35);}
.ms-head{display:flex;justify-content:space-between;font-size:.74rem;color:var(--ink-soft);padding:6px 10px 10px;position:relative;}
.ms-head .ms-sname{font-family:var(--font-arabic);font-size:1rem;}
.ms-text{flex:1;direction:rtl;text-align:justify;text-align-last:center;font-family:var(--quran);font-size:var(--ar-size);line-height:2.15;padding:0 8px;position:relative;}
.ms-text .v{cursor:pointer;border-radius:6px;}
.ms-text .v:hover{background:rgba(212,175,55,.12);}
.ms-text .v.playing{background:rgba(212,175,55,.26);}
.ms-sura{display:block;text-align:center;margin:10px 0 4px;padding:6px 0;border:1.5px solid rgba(199,155,59,.6);border-radius:10px;background:linear-gradient(90deg,transparent,rgba(212,175,55,.14),transparent);font-family:var(--font-arabic);font-size:calc(var(--ar-size) * .7);line-height:1.8;}
.ms-bism{display:block;text-align:center;font-size:calc(var(--ar-size) * .9);line-height:2;}
.ms-foot{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-family:var(--quran);font-size:1.1rem;color:var(--gold-600);}
@media (max-width:1100px){.ms-page.left{display:none;}.ms-book .ms-page{border-radius:14px;}}
@media (max-width:620px){.ms-turn{display:none;}.ms-page{width:calc(100vw - 20px);padding:20px 16px 40px;}.ms-stage{padding:14px 10px 40px;}}

/* ==========================================================================
   Shared hub hero for hadith / azkar / duas / names / prayer
   ========================================================================== */
.hub-hero{padding:40px 0 44px;color:var(--cream-100);}
.hub-hero h1{color:var(--cream-100);font-size:clamp(2.1rem,4.4vw,3.2rem);margin:0 0 10px;}
.hub-hero .lead{color:var(--cream-200);max-width:680px;margin:0;}
.hub-hero .hero-ar{font-family:var(--font-arabic);color:var(--gold-300);font-size:1.4rem;margin:0 0 6px;}
.hub-hero .hero-ar[lang="ur"]{font-family:var(--urdu);font-size:1.15rem;line-height:1.9;}
.hub-src{margin:12px 0 0;}
.hub-src a,.qh-src-sep{font-size:.82rem;color:var(--gold-200,var(--gold-300));}
.hub-src a{border-bottom:1px solid rgba(233,200,115,.4);}
.qh-src-sep{opacity:.5;margin:0 2px;}
.hub-body{padding:44px 0 70px;}
.h2x{font-family:var(--font-display);font-size:1.45rem;margin:0 0 16px;color:var(--green-900);}
.row-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 16px;}
.row-head .h2x{margin:0 auto 0 0;}

/* ==========================================================================
   Hadith
   ========================================================================== */
.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-bottom:46px;}
.book{display:flex;flex-direction:column;background:var(--green-950);color:var(--cream-100);border-radius:20px;padding:22px 20px 18px;min-height:190px;border:1px solid rgba(212,175,55,.2);position:relative;overflow:hidden;transition:transform .2s,border-color .2s;}
.book:hover{transform:translateY(-2px);border-color:var(--gold-500);}
.book::after{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;border-radius:50%;border:1px solid rgba(212,175,55,.18);box-shadow:0 0 0 18px rgba(212,175,55,.05);}
.book .b-ar{font-family:var(--font-arabic);font-size:1.7rem;color:var(--gold-300);text-align:right;line-height:1.6;}
.book strong{font-family:var(--font-display);font-size:1.08rem;margin-top:auto;}
.book small{color:rgba(var(--c-on-dk-rgb),.66);font-size:.8rem;}
.book.light{background:var(--s-card);color:var(--ink);border-color:rgba(var(--t-md-rgb),.1);}
.book.light .b-ar{color:var(--green-900);}
.book.light small{color:var(--sand-600);}
.lookup{background:var(--s-card);border:1px solid rgba(var(--t-md-rgb),.1);border-radius:20px;padding:20px 22px;margin-bottom:46px;}
.lookup-form{display:flex;gap:10px;flex-wrap:wrap;align-items:end;}
.lookup-form label{display:flex;flex-direction:column;gap:5px;font-size:.78rem;font-weight:600;color:var(--sand-600);}
.lookup-form select,.lookup-form input{border:1px solid rgba(var(--t-md-rgb),.18);border-radius:10px;padding:9px 12px;font:inherit;font-size:.92rem;background:var(--cream-100);min-width:0;}
.lookup-form input{width:120px;}
.lookup-out{margin-top:16px;}
.chapter-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px;}
.chapter-list a{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center;background:var(--s-card);border:1px solid rgba(var(--t-md-rgb),.09);border-radius:14px;padding:12px 16px;height:100%;}
.chapter-list a:hover{border-color:var(--gold-500);}
.chapter-list .cn{font-weight:700;color:var(--gold-600);font-size:.9rem;text-align:center;}
.chapter-list strong{display:block;color:var(--green-900);font-size:.93rem;line-height:1.35;}
.chapter-list .c-ar{display:block;font-family:var(--font-arabic);font-size:1.02rem;color:var(--sand-600);direction:rtl;text-align:right;}
.chapter-list small{color:var(--sand-600);font-size:.76rem;}

.hd-shell{display:grid;grid-template-columns:300px minmax(0,1fr);gap:40px;padding-top:26px;padding-bottom:50px;align-items:start;}
@media (max-width:1100px){.hd-shell{grid-template-columns:minmax(0,1fr);}}
.hd-rail{position:sticky;top:calc(var(--hdr-h) + 64px);max-height:calc(100vh - var(--hdr-h) - 84px);overflow-y:auto;border:1px solid rgba(var(--t-md-rgb),.1);border-radius:18px;background:var(--s-card);padding:8px;}
.hd-rail a{display:grid;grid-template-columns:34px 1fr;gap:8px;padding:8px 10px;border-radius:10px;font-size:.86rem;color:var(--ink);}
.hd-rail a span:first-child{color:var(--gold-600);font-weight:700;text-align:center;}
.hd-rail a:hover{background:rgba(212,175,55,.12);}
.hd-rail a.on{background:var(--green-900);color:var(--cream-100);}
.hd-rail a.on span:first-child{color:var(--gold-300);}
@media (max-width:1100px){.hd-rail{position:static;max-height:320px;display:none;}.hd-rail.open{display:block;}}
.hd-toolbar{position:sticky;top:var(--hdr-h);z-index:50;background:rgba(var(--c-on-dk2-rgb),.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(var(--t-md-rgb),.1);}
.hd-toolbar .wide{display:flex;gap:10px;align-items:center;padding-top:9px;padding-bottom:9px;overflow-x:auto;scrollbar-width:none;}
.hd-main{min-width:0;max-width:880px;}
.hcard{background:var(--s-card);border:1px solid rgba(var(--t-md-rgb),.09);border-radius:18px;padding:22px 24px;margin-bottom:14px;scroll-margin-top:calc(var(--hdr-h) + 70px);}
.hcard-top{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.hnum{font-size:.76rem;font-weight:700;color:var(--gold-600);border:1px solid rgba(199,155,59,.4);border-radius:999px;padding:2px 11px;}
.hcard-top .tools{margin-left:auto;display:flex;gap:2px;}
.hcard-top .tools button{width:34px;height:34px;border-radius:50%;border:0;background:none;color:var(--sand-600);display:inline-flex;align-items:center;justify-content:center;}
.hcard-top .tools button:hover{background:rgba(212,175,55,.14);color:var(--ink);}
.hcard-top .tools button.on{color:#c0392b;}
.hcard-top .tools button.on svg{fill:currentColor;}
.hcard-top .tools svg{width:17px;height:17px;}
.h-ar{font-family:var(--font-arabic);direction:rtl;text-align:right;font-size:1.35rem;line-height:2.1;color:var(--green-950);margin:0 0 12px;}
.h-narr{font-weight:600;color:var(--green-800);margin:0 0 4px;font-size:.95rem;}
.h-en{color:#3f3a2e;line-height:1.75;margin:0;font-size:1rem;}
.h-ur{font-family:var(--urdu);direction:rtl;text-align:right;line-height:2.3;color:#3f3a2e;margin:10px 0 0;}
.h-grade{font-size:.8rem;color:var(--sand-600);margin:10px 0 0;}
.hd-main[data-show="en"] .h-ar{display:none;}
.hd-main[data-show="ar"] .h-narr,.hd-main[data-show="ar"] .h-en{display:none;}
.load-more{display:flex;justify-content:center;margin:24px 0;}
.hd-pn{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px;}
.hd-pn .pn{background:var(--s-card);border-color:rgba(var(--t-md-rgb),.1);}

/* ==========================================================================
   Azkar & duas
   ========================================================================== */
.feature-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px;}
@media (max-width:760px){.feature-pair{grid-template-columns:1fr;}}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-bottom:46px;}
.cat{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:170px;border-radius:20px;overflow:hidden;padding:16px 18px;color:#fff;isolation:isolate;background-color:var(--green-800);background-size:cover;background-position:center;transition:transform .2s;}
.cat:hover{transform:translateY(-2px);}
.cat::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(var(--t-dk-rgb),0) 30%,rgba(var(--t-dk-rgb),.82));}
.cat.big{min-height:240px;}
.cat strong{font-family:var(--font-display);font-size:1.12rem;text-shadow:0 2px 12px rgba(0,0,0,.4);}
.cat.big strong{font-size:1.5rem;}
.cat small{color:rgba(255,255,255,.82);font-size:.8rem;}
.cat .count{position:absolute;top:12px;left:12px;font-size:.7rem;font-weight:700;background:rgba(var(--t-dk-rgb),.55);padding:3px 9px;border-radius:999px;}
.cat .cat-ar{position:absolute;top:12px;right:16px;max-width:calc(100% - 110px);text-align:right;line-height:1.4;font-family:var(--font-arabic);font-size:1.5rem;color:var(--gold-200);}
.cat .cat-ar[lang="ur"]{font-family:var(--urdu);font-size:1.05rem;line-height:1.7;}
.az-view{display:inline-flex;}
.dhikr{background:var(--s-card);border:1px solid rgba(var(--t-md-rgb),.09);border-radius:20px;padding:24px 26px;margin-bottom:14px;scroll-margin-top:calc(var(--hdr-h) + 70px);}
.dhikr-top{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap;}
.dhikr h3{font-family:var(--font-body);font-size:1rem;font-weight:700;margin:0;color:var(--green-900);}
.reps{font-size:.74rem;font-weight:700;border-radius:999px;padding:2px 10px;background:rgba(212,175,55,.16);color:var(--gold-600);}
.dhikr-top .tools{margin-left:auto;display:flex;gap:2px;}
.dhikr-top .tools button{width:34px;height:34px;border-radius:50%;border:0;background:none;color:var(--sand-600);display:inline-flex;align-items:center;justify-content:center;}
.dhikr-top .tools button:hover{background:rgba(212,175,55,.14);}
.dhikr-top .tools button.on{color:#c0392b;}
.dhikr-top .tools button.on svg{fill:currentColor;}
.dhikr-top .tools svg{width:17px;height:17px;}
.d-ar{font-family:var(--font-arabic);direction:rtl;text-align:right;font-size:1.65rem;line-height:2.1;color:var(--green-950);margin:6px 0 12px;}
.d-ar.q{font-family:var(--quran);font-size:1.75rem;}
.d-lit{font-style:italic;color:var(--green-700);margin:0 0 8px;font-size:.95rem;}
.d-en{color:#3f3a2e;margin:0 0 6px;line-height:1.7;}
.d-ur{font-family:var(--urdu);direction:rtl;text-align:right;line-height:2.3;color:#3f3a2e;margin:6px 0;}
.d-note{font-size:.88rem;color:var(--sand-600);margin:8px 0 0;border-left:2px solid rgba(212,175,55,.5);padding-left:12px;}
.d-src{font-size:.78rem;color:var(--sand-400);margin:10px 0 0;}
.hide-lit .d-lit{display:none;}

/* card (tap-to-count) view */
.deck{display:none;}
.az[data-view="cards"] .deck{display:block;}
.az[data-view="cards"] .az-list{display:none;}
.deck-card{max-width:760px;margin:0 auto;background:var(--s-card);border:1px solid rgba(var(--t-md-rgb),.1);border-radius:26px;padding:30px 34px 26px;min-height:440px;display:flex;flex-direction:column;cursor:pointer;user-select:none;-webkit-user-select:none;position:relative;box-shadow:var(--shadow-soft);}
.deck-card .d-ar{font-size:clamp(1.6rem,3vw,2.2rem);text-align:center;margin:auto 0 14px;}
.deck-card .d-lit,.deck-card .d-en,.deck-card .d-ur{text-align:center;}
.deck-card .d-ur{text-align:center;}
.deck-top{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--sand-600);}
.ring{--p:0;width:92px;height:92px;border-radius:50%;margin:18px auto 4px;display:grid;place-items:center;background:conic-gradient(var(--gold-500) calc(var(--p)*1%),rgba(var(--t-md-rgb),.08) 0);position:relative;transition:background .2s;}
.ring::before{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--s-card);}
.ring b{position:relative;font-size:1.5rem;color:var(--green-900);font-variant-numeric:tabular-nums;}
.ring small{position:relative;display:block;font-size:.66rem;color:var(--sand-600);text-align:center;margin-top:-4px;}
.ring.done{background:conic-gradient(var(--green-600) 100%,transparent 0);}
.deck-hint{text-align:center;font-size:.76rem;color:var(--sand-400);margin:4px 0 0;}
.deck-nav{display:flex;justify-content:center;align-items:center;gap:14px;margin:18px 0 0;}
.deck-nav .prog{font-size:.86rem;color:var(--sand-600);min-width:70px;text-align:center;}
.deck-bar{height:4px;border-radius:4px;background:rgba(var(--t-md-rgb),.08);max-width:760px;margin:0 auto 16px;overflow:hidden;}
.deck-bar i{display:block;height:100%;background:var(--gold-500);width:0;transition:width .3s;}
.tasbih{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;background:var(--green-950);color:var(--cream-100);border-radius:24px;padding:28px;margin-bottom:46px;}
.tasbih .t-btn{width:170px;height:170px;border-radius:50%;border:0;background:radial-gradient(circle at 35% 30%,var(--gold-200),var(--gold-600));color:var(--green-950);font-size:2.6rem;font-weight:800;font-variant-numeric:tabular-nums;box-shadow:0 20px 40px -16px rgba(212,175,55,.6),inset 0 -6px 14px rgba(90,60,10,.3);}
.tasbih .t-btn:active{transform:scale(.97);}
.tasbih h2{color:var(--cream-100);font-size:1.4rem;margin:0 0 6px;}
.tasbih .t-ar{font-family:var(--font-arabic);font-size:1.7rem;color:var(--gold-300);margin:0;}
.tasbih .t-meta{color:rgba(var(--c-on-dk-rgb),.7);font-size:.88rem;margin:4px 0 14px;}
.t-presets{display:flex;flex-wrap:wrap;gap:6px;}
.t-presets button{border:1px solid rgba(212,175,55,.35);background:none;color:var(--cream-100);border-radius:999px;padding:6px 12px;font-size:.8rem;}
.t-presets button[aria-pressed="true"]{background:var(--gold-500);color:var(--green-950);border-color:var(--gold-500);}
@media (max-width:620px){.tasbih{grid-template-columns:1fr;text-align:center;}.tasbih .t-btn{margin:0 auto;}.t-presets{justify-content:center;}}
.guide-steps{display:flex;flex-direction:column;gap:14px;max-width:820px;}

.filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;}
.filter-chips button{border:1px solid rgba(var(--t-md-rgb),.18);background:var(--s-card);border-radius:999px;padding:7px 14px;font-size:.84rem;font-weight:600;color:var(--green-800);}
.filter-chips button[aria-pressed="true"]{background:var(--green-900);color:var(--cream-100);border-color:var(--green-900);}
.page-search{display:flex;align-items:center;gap:8px;background:var(--s-card);border:1px solid rgba(var(--t-md-rgb),.15);border-radius:999px;padding:8px 14px;min-width:240px;}
.page-search svg{width:16px;height:16px;opacity:.55;}
.page-search input{border:0;outline:0;background:none;width:100%;font:inherit;font-size:.9rem;}

/* ==========================================================================
   99 Names
   ========================================================================== */
.nm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;}
.nm-card{position:relative;background:var(--s-card);border:1px solid rgba(var(--t-md-rgb),.09);border-radius:18px;padding:18px 16px 16px;text-align:center;cursor:pointer;transition:border-color .2s,transform .2s;display:flex;flex-direction:column;gap:4px;}
.nm-card:hover,.nm-card:focus-visible{border-color:var(--gold-500);transform:translateY(-2px);}
.nm-card .nm-n{position:absolute;top:10px;left:12px;font-size:.72rem;font-weight:700;color:var(--gold-600);}
.nm-card .nm-ar{font-family:var(--font-arabic);font-size:2rem;line-height:1.7;color:var(--green-900);}
.nm-card strong{font-size:.95rem;color:var(--green-900);}
.nm-card .nm-en{font-size:.82rem;color:var(--sand-600);line-height:1.4;}
.nm-card .nm-ur{font-family:var(--urdu);font-size:.86rem;color:var(--sand-600);line-height:2;direction:rtl;}
.nm-card .nm-src{font-size:.7rem;color:var(--sand-400);}
.nm-dialog{border:0;border-radius:26px;padding:0;width:min(520px,calc(100vw - 24px));background:var(--green-950);color:var(--cream-100);}
.nm-dialog::backdrop{background:rgba(var(--t-dk-rgb),.6);}
.nm-dialog .nd{padding:34px 30px 26px;text-align:center;position:relative;}
.nm-dialog .nd-ar{font-family:var(--font-arabic);font-size:4rem;line-height:1.6;color:var(--gold-300);}
.nm-dialog h3{color:var(--cream-100);font-size:1.5rem;margin:6px 0 2px;}
.nm-dialog .nd-en{color:var(--cream-200);margin:0;}
.nm-dialog .nd-ur{font-family:var(--urdu);color:var(--cream-200);direction:rtl;line-height:2.2;margin:6px 0 0;}
.nm-dialog .nd-nav{display:flex;justify-content:space-between;align-items:center;margin-top:22px;}
.nm-dialog .nd-nav button{border:1px solid rgba(212,175,55,.35);background:none;color:var(--cream-100);border-radius:999px;padding:8px 16px;}
.nm-dialog .nd-close{position:absolute;top:12px;right:12px;color:var(--cream-100);}
.nm-medal{width:min(320px,70vw);aspect-ratio:1;border-radius:50%;margin:0 auto;display:grid;place-items:center;background:radial-gradient(circle,var(--green-900) 55%,transparent 56%),conic-gradient(from 0deg,var(--gold-600),var(--gold-200),var(--gold-600),var(--gold-200),var(--gold-600));padding:8px;box-shadow:0 30px 60px -20px rgba(0,0,0,.5);}
.nm-medal span{font-family:var(--font-arabic);font-size:clamp(3rem,9vw,5rem);color:var(--gold-300);}
.nm-hero-grid{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;}
@media (max-width:760px){.nm-hero-grid{grid-template-columns:1fr;}.nm-medal{width:200px;}}
.quiz-box{background:var(--s-card);border:1px solid rgba(var(--t-md-rgb),.1);border-radius:20px;padding:22px;margin:0 0 40px;}
.quiz-q{font-family:var(--font-arabic);font-size:2.4rem;text-align:center;color:var(--green-900);margin:0;}
.quiz-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;}
.quiz-opts button{border:1px solid rgba(var(--t-md-rgb),.15);background:var(--cream-100);border-radius:12px;padding:12px;font:inherit;font-size:.92rem;}
.quiz-opts button.right{background:#dff3e6;border-color:var(--green-600);}
.quiz-opts button.wrong{background:#fbe3e1;border-color:#c0392b;}
@media (max-width:520px){.quiz-opts{grid-template-columns:1fr;}}

/* ==========================================================================
   Prayer times
   ========================================================================== */
.pt-hero{padding:34px 0 40px;color:var(--cream-100);}
.pt-hero h1{color:var(--cream-100);font-size:clamp(2rem,4vw,3rem);margin:0 0 6px;}
.pt-loc{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--cream-200);font-size:1rem;}
.pt-loc strong{color:var(--gold-200);font-size:1.15rem;}
.pt-dates{margin:6px 0 0;color:rgba(var(--c-on-dk-rgb),.75);font-size:.92rem;}
.pt-dates [lang="ar"]{font-family:var(--font-arabic);}
.pt-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:22px;align-items:start;min-width:0;}
@media (max-width:980px){.pt-grid{grid-template-columns:minmax(0,1fr);}}
.pt-card{background:var(--s-card);border:1px solid rgba(var(--t-md-rgb),.1);border-radius:24px;padding:24px;min-width:0;}
.pt-next{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;background:var(--green-950);color:var(--cream-100);border-radius:24px;padding:24px 26px;margin-bottom:16px;}
.pt-ring{--p:0;width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--gold-300) calc(var(--p)*1%),rgba(var(--c-on-dk-rgb),.1) 0);position:relative;}
.pt-ring::before{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--green-950);}
.pt-ring div{position:relative;text-align:center;}
.pt-ring b{display:block;font-size:1.55rem;font-variant-numeric:tabular-nums;letter-spacing:.02em;}
.pt-ring small{color:rgba(var(--c-on-dk-rgb),.7);font-size:.72rem;}
.pt-next .nx-label{color:var(--gold-300);font-size:.86rem;margin:0;}
.pt-next h2{color:var(--cream-100);font-size:2rem;margin:2px 0;}
.pt-next .nx-time{font-size:1.1rem;margin:0;color:var(--cream-200);}
@media (max-width:520px){.pt-next{grid-template-columns:1fr;text-align:center;}.pt-ring{margin:0 auto;}}
.pt-list{display:flex;flex-direction:column;gap:6px;}
.pt-row{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:13px 16px;border-radius:14px;border:1px solid transparent;}
.pt-row .ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(212,175,55,.12);color:var(--gold-600);}
.pt-row .ic svg{width:18px;height:18px;}
.pt-row strong{font-size:1rem;color:var(--green-900);}
.pt-row [lang="ar"]{font-family:var(--font-arabic);color:var(--sand-600);font-size:.95rem;margin-left:8px;}
.pt-row time{font-size:1.2rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--green-950);}
.pt-row.now{background:rgba(212,175,55,.14);border-color:rgba(212,175,55,.45);}
.pt-row.sun{opacity:.75;}
.pt-row.passed time{color:var(--sand-400);}
.pt-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;}
.pt-settings label{display:flex;flex-direction:column;gap:5px;font-size:.78rem;font-weight:600;color:var(--sand-600);}
.pt-settings label.check{flex-direction:row;align-items:center;font-size:.86rem;color:var(--ink);}
.pt-settings label.check input{width:auto;}
.pt-settings select,.pt-settings input{border:1px solid rgba(var(--t-md-rgb),.18);border-radius:10px;padding:9px 10px;font:inherit;font-size:.9rem;background:var(--cream-100);min-width:0;width:100%;box-sizing:border-box;}
.pt-settings .full{grid-column:1/-1;}
.adj{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;}
.adj label{align-items:center;text-align:center;}
.adj input{width:100%;text-align:center;padding:7px 4px;}
.pt-search{position:relative;}
.pt-search input{width:100%;border:1px solid rgba(212,175,55,.45);background:rgba(var(--c-on-dk2-rgb),.08);color:var(--cream-100);border-radius:999px;padding:10px 16px;font:inherit;}
.pt-search input::placeholder{color:rgba(var(--c-on-dk-rgb),.55);}
.pt-sugg{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--s-card);color:var(--ink);border-radius:14px;box-shadow:0 20px 40px -12px rgba(0,0,0,.4);overflow:hidden;z-index:30;}
.pt-sugg button{display:block;width:100%;text-align:left;border:0;background:none;padding:11px 16px;font:inherit;font-size:.92rem;}
.pt-sugg button:hover,.pt-sugg button:focus{background:var(--cream-200);}
.pt-sugg small{color:var(--sand-600);}
.pt-locbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;max-width:640px;margin-top:18px;}
.qibla{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;}
@media (max-width:520px){.qibla{grid-template-columns:1fr;text-align:center;}}
.dial{width:190px;height:190px;border-radius:50%;position:relative;margin:0 auto;background:radial-gradient(circle,var(--s-card) 60%,var(--cream-200) 61%);border:2px solid rgba(199,155,59,.5);transition:transform .3s ease;}
.dial span{position:absolute;font-size:.72rem;font-weight:700;color:var(--sand-600);}
.dial .dN{top:6px;left:50%;transform:translateX(-50%);color:#c0392b;}
.dial .dS{bottom:6px;left:50%;transform:translateX(-50%);}
.dial .dE{right:8px;top:50%;transform:translateY(-50%);}
.dial .dW{left:8px;top:50%;transform:translateY(-50%);}
.needle{position:absolute;left:50%;top:50%;width:6px;height:78px;margin-left:-3px;margin-top:-78px;transform-origin:50% 100%;background:linear-gradient(var(--gold-500),var(--green-900));border-radius:6px 6px 2px 2px;transition:transform .4s ease;}
.needle::before{content:"🕋";position:absolute;top:-26px;left:50%;transform:translateX(-50%);font-size:1.3rem;}
.dial::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px;border-radius:50%;background:var(--green-900);border:3px solid var(--gold-300);}
.q-deg{font-size:2.2rem;font-weight:800;color:var(--green-900);margin:0;}
.q-dist{color:var(--sand-600);margin:0 0 10px;}
.tt-wrap{overflow-x:auto;border:1px solid rgba(var(--t-md-rgb),.1);border-radius:18px;background:var(--s-card);}
.tt{width:100%;border-collapse:collapse;font-size:.88rem;font-variant-numeric:tabular-nums;min-width:640px;}
.tt th,.tt td{padding:9px 12px;text-align:center;border-bottom:1px solid rgba(var(--t-md-rgb),.07);}
.tt th{position:sticky;top:0;background:var(--green-950);color:var(--cream-100);font-weight:600;}
.tt td:first-child,.tt th:first-child{text-align:left;}
.tt tr.today td{background:rgba(212,175,55,.16);font-weight:700;}
.tt .h{color:var(--sand-600);font-size:.78rem;display:block;}
.city-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;}
.city-grid a{background:var(--s-card);border:1px solid rgba(var(--t-md-rgb),.09);border-radius:12px;padding:10px 14px;font-size:.9rem;color:var(--green-900);}
.city-grid a:hover{border-color:var(--gold-500);}
.city-grid small{display:block;color:var(--sand-600);font-size:.74rem;}
.night-win{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:14px;}
.night-win div{background:var(--cream-100);border-radius:14px;padding:12px 14px;}
.night-win small{display:block;color:var(--sand-600);font-size:.76rem;}
.night-win b{font-size:1.15rem;font-variant-numeric:tabular-nums;color:var(--green-900);}
.pt-note{font-size:.8rem;color:var(--sand-600);margin:12px 0 0;}
.install-card{display:flex;gap:16px;align-items:center;flex-wrap:wrap;background:var(--cream-200);border-radius:18px;padding:16px 20px;margin-top:24px;}
.install-card p{margin:0;flex:1;min-width:220px;font-size:.92rem;}

/* credits */
.prose{max-width:820px;}
.prose h2{font-size:1.4rem;margin-top:1.8em;}
.prose table{width:100%;border-collapse:collapse;font-size:.9rem;margin:10px 0 20px;}
.prose th,.prose td{border-bottom:1px solid rgba(var(--t-md-rgb),.1);padding:10px 8px;text-align:left;vertical-align:top;}
.prose a{color:var(--green-700);text-decoration:underline;}

@media print{
  .site-header,.site-footer,.whatsapp-float,.qr-toolbar,.hd-toolbar,.ms-bar,#download,#faq,.pt-hero form,.pt-locbar,.no-print{display:none!important;}
  body{background:var(--s-card);}
  .tt th{background:#eee;color:#000;}
}
@media (prefers-reduced-motion:reduce){.ayah.target{animation:none;}.qr-rail{transition:none;}}
