:root{--bg:#f3f1e8;--surface:#fffdf7;--ink:#11332d;--muted:#71817c;--green:#063c33;--green2:#08705e;--gold:#c9a052;--line:#d9e0da;--shadow:0 18px 55px rgba(4,45,38,.1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 82% -8%,#d7e8de,transparent 32%),var(--bg);color:var(--ink);font-family:Tahoma,Arial,sans-serif;min-height:100vh;padding-bottom:105px}body.dark{--bg:#071914;--surface:#10251f;--ink:#f5f1e7;--muted:#aab8b2;--line:#2a433b;--shadow:0 20px 55px rgba(0,0,0,.25);background:radial-gradient(circle at 80% 0,#12352b,transparent 32%),#071914}button,select{font:inherit}button{cursor:pointer}header{height:88px;max-width:1180px;margin:auto;padding:15px 24px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;color:var(--ink);text-decoration:none}.brand b{font-size:20px}.brand small{display:block;color:var(--muted);margin-top:3px}.logo{width:50px;height:50px;border-radius:17px;background:linear-gradient(145deg,#052d26,#075445);border:1px solid rgba(201,160,82,.22);color:#f2d894;display:grid;place-items:center;box-shadow:var(--shadow);position:relative}.logo:before{content:"";width:22px;height:18px;border:2px solid currentColor;border-top:0;border-radius:0 0 8px 8px;position:absolute;bottom:10px}.logo:after{content:"";width:18px;height:18px;border:2px solid currentColor;border-bottom:0;border-radius:50% 50% 0 0;position:absolute;top:10px}.dome{font-size:12px;position:absolute;top:1px;right:5px}.actions{display:flex;gap:9px}.ghost,.outline,.iconbtn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:13px;padding:11px 14px}.outline{margin-top:10px}.primary{border:0;background:linear-gradient(135deg,var(--green2),#075347);color:#fff9ea;border-radius:14px;padding:13px 20px;font-weight:700;box-shadow:0 8px 22px rgba(8,112,94,.18)}.wide{width:100%;margin-top:20px;padding:16px}main{max-width:1180px;margin:auto;padding:12px 24px}.page{display:none;animation:fade .25s ease}.page.active{display:block}@keyframes fade{from{opacity:.3;transform:translateY(6px)}}.hero{min-height:390px;background:linear-gradient(135deg,#032d26,#06483c 70%,#075443);color:white;border-radius:32px;padding:38px;display:flex;justify-content:space-between;align-items:flex-start;box-shadow:var(--shadow);overflow:hidden;position:relative;border:1px solid rgba(201,160,82,.18)}.hero-copy{position:relative;z-index:2;max-width:690px}.hero h1{font-size:clamp(34px,5vw,60px);margin:10px 0 14px;line-height:1.2}.hero p{color:#dbeae4;max-width:590px;font-size:16px;line-height:1.9}.eyebrow{font-size:12px;letter-spacing:.08em;color:var(--gold);font-weight:bold}.ring{min-width:138px;height:138px;border-radius:50%;border:8px solid rgba(255,255,255,.10);outline:3px solid rgba(201,160,82,.85);display:grid;place-content:center;text-align:center;position:relative;z-index:3}.ring span{font-size:31px;font-weight:bold}.ring small{color:#d5e4df}.crescent{position:absolute;left:29%;bottom:92px;color:#e6bd62;font-size:48px;z-index:2}.mosque-art{position:absolute;bottom:-1px;left:0;right:0;height:145px;opacity:.42;background:linear-gradient(0deg,rgba(0,13,10,.85),transparent)}.mosque-art i{position:absolute;bottom:0;background:#001f19;width:76px;height:75px;border-radius:50% 50% 0 0}.mosque-art i:after{content:"";position:absolute;left:50%;transform:translateX(-50%);top:-28px;border-left:38px solid transparent;border-right:38px solid transparent;border-bottom:45px solid #001f19}.mosque-art i:nth-child(1){left:4%;width:28px;height:115px;border-radius:5px}.mosque-art i:nth-child(1):after{top:-24px;border-left-width:14px;border-right-width:14px;border-bottom-width:28px}.mosque-art i:nth-child(2){left:14%}.mosque-art i:nth-child(3){left:27%;width:125px;height:100px}.mosque-art i:nth-child(3):after{top:-43px;border-left-width:62px;border-right-width:62px;border-bottom-width:62px}.mosque-art i:nth-child(4){left:48%}.mosque-art i:nth-child(5){left:62%;width:27px;height:125px;border-radius:5px}.mosque-art i:nth-child(5):after{top:-24px;border-left-width:14px;border-right-width:14px;border-bottom-width:28px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:15px 0}.stats>div,.card{background:color-mix(in srgb,var(--surface) 96%,transparent);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow)}.stats small,.muted{color:var(--muted)}.stats b{display:block;font-size:20px;margin-top:7px}.card{margin-bottom:15px}.cardhead,.sectionTitle{display:flex;justify-content:space-between;gap:15px;align-items:center}.card h2,.sectionTitle h1{margin:6px 0 12px}.sessions{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:17px}.session{border:1px solid var(--line);border-radius:16px;padding:14px;background:transparent;color:var(--ink);text-align:center}.session.done{background:#dff1e9;border-color:#94c9b6;color:#164e40}.dark .session.done{background:#123e33}.session b,.session small{display:block}.session small{color:var(--muted);margin-top:5px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:15px}.verse{background:linear-gradient(145deg,var(--surface),rgba(201,160,82,.11))}.sectionTitle{margin:15px 0 22px}.sectionTitle h1{font-size:clamp(30px,4vw,46px)}.seg,.chips{display:flex;gap:8px;flex-wrap:wrap}.seg button,.chips button{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:11px 15px;border-radius:13px}.seg .selected,.chips .selected{background:var(--green);color:white;border-color:var(--green)}.reader-tools{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:end}.reader label{display:block}.reader select{display:block;width:100%;margin-top:8px;padding:13px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}.notice{margin-top:16px;border:1px dashed var(--gold);padding:14px;border-radius:13px;color:var(--muted)}.readerPlaceholder{min-height:330px;display:grid;place-content:center;text-align:center;font-size:70px;color:var(--green2)}.readerPlaceholder small{display:block;max-width:500px;font-size:14px;color:var(--muted);margin-top:20px;line-height:1.8}.planPreview{margin-top:20px;padding:19px;background:rgba(201,160,82,.10);border-radius:16px;display:flex;justify-content:space-between}.menu{display:grid;grid-template-columns:1fr 1fr;gap:11px}.menu button{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:19px;border-radius:17px;text-align:start;font-weight:bold}.menu i{float:left}.sadaqa{margin-top:22px;background:linear-gradient(135deg,#063b32,#075b4c);color:white;border-radius:26px;padding:30px;text-align:center;border:1px solid rgba(201,160,82,.22)}.sadaqa span{color:#e8cc8c}.compass{width:190px;height:190px;margin:18px auto;border:2px solid var(--line);box-shadow:inset 0 0 0 10px rgba(201,160,82,.06);border-radius:50%;display:grid;place-content:center;text-align:center;position:relative}.compass:before{content:"N";position:absolute;top:9px;left:50%;transform:translateX(-50%);color:var(--muted)}.kaaba{font-size:25px;color:var(--ink)}#needle{position:absolute;inset:20px;display:flex;justify-content:center;font-size:40px;color:var(--gold);transform-origin:50% 50%;transition:.4s}#qiblaDegrees{display:block;text-align:center;font-size:30px}nav{position:fixed;z-index:20;bottom:14px;left:50%;transform:translateX(-50%);width:min(700px,calc(100% - 24px));display:grid;grid-template-columns:repeat(5,1fr);background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:24px;padding:8px;box-shadow:0 20px 50px rgba(0,0,0,.2)}nav button{border:0;background:transparent;color:var(--muted);border-radius:16px;padding:9px;font-size:18px}nav button b{font-size:21px;font-weight:400}nav button span{display:block;font-size:11px;margin-top:4px}nav button.active{background:linear-gradient(145deg,#075f50,#087565);color:white}dialog{border:0;border-radius:24px;background:var(--surface);color:var(--ink);padding:30px;width:min(620px,calc(100% - 28px));box-shadow:0 30px 90px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(0,20,16,.62);backdrop-filter:blur(5px)}.close{float:left;border:0;background:transparent;color:var(--ink);font-size:30px}@media(max-width:700px){header{padding:12px 16px}.brand small{display:none}main{padding:8px 14px}.hero{min-height:390px;padding:27px 21px;display:block}.hero-copy{padding-top:96px}.ring{position:absolute;left:22px;top:25px;min-width:105px;width:105px;height:105px}.ring span{font-size:28px}.hero h1{font-size:35px}.hero p{font-size:14px}.crescent{left:31%;bottom:110px}.stats{gap:7px}.stats>div{padding:16px 10px}.stats b{font-size:15px}.sessions{grid-template-columns:repeat(2,1fr)}.sessions .session:last-child{grid-column:span 2}.grid2,.menu{grid-template-columns:1fr}.cardhead{align-items:flex-start;flex-direction:column}.primary{width:100%}.sectionTitle{align-items:flex-start;flex-direction:column}.reader-tools{grid-template-columns:1fr auto auto}}.subpage{max-width:980px;margin:auto}.searchbox{display:grid;grid-template-columns:1fr auto;gap:10px}.searchbox input{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:13px;padding:15px;font:inherit}.tabs{display:flex;gap:8px;margin:16px 0}.tabs button{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:10px 18px;border-radius:13px}.tabs .selected{background:var(--green);color:#fff}.surah-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.surah-item{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:16px;padding:16px;text-align:start}.surah-item b{display:block}.surah-item small{color:var(--muted)}.empty-state{min-height:430px;border:1px solid var(--line);background:var(--surface);border-radius:28px;display:grid;place-content:center;text-align:center;padding:30px}.empty-state>b{font-size:58px;color:var(--gold)}.empty-state p{color:var(--muted);max-width:440px}.timeline{border-inline-start:2px solid var(--line);padding-inline-start:24px}.timeline-item{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:16px}.timeline-item:before{content:"";position:absolute;inset-inline-start:-31px;top:25px;width:12px;height:12px;border-radius:50%;background:var(--gold)}.timeline-item b,.timeline-item span,.timeline-item small{display:block}.timeline-item span{margin:8px 0}.timeline-item small{color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px}.metric span{color:var(--muted)}.metric b{display:block;font-size:34px;margin-top:12px}.settings-list{background:var(--surface);border:1px solid var(--line);border-radius:24px;overflow:hidden}.settings-list>div{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px;border-bottom:1px solid var(--line)}.settings-list>div:last-child{border-bottom:0}.settings-list b,.settings-list small{display:block}.settings-list small{color:var(--muted);margin-top:5px}.switch{border:0;background:var(--green);color:#fff;border-radius:30px;padding:10px 17px}.info-hero{background:linear-gradient(135deg,#04382f,#07604f);color:white;border-radius:30px;padding:45px;margin-bottom:16px}.info-hero h1{font-size:48px;margin:8px 0}.info-hero p{max-width:700px;color:#d8e9e3;line-height:1.9}.info-grid,.privacy-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.source-list{display:grid;gap:11px}.source-list article{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px}.source-list article b{font-size:19px}.source-list article p{color:var(--muted);line-height:1.7}.source-list article span{font-size:12px;color:var(--gold)}.contact-card{min-height:280px;display:grid;align-content:center}.goto{}@media(max-width:700px){.surah-grid{grid-template-columns:1fr 1fr}.metric-grid{grid-template-columns:1fr 1fr}.info-grid,.privacy-grid{grid-template-columns:1fr}.info-hero{padding:28px 22px}.info-hero h1{font-size:36px}.searchbox{grid-template-columns:1fr}.searchbox .primary{width:100%}}.audio-hero{min-height:180px;background:linear-gradient(135deg,#05382f,#08705e);color:#fff;display:flex;align-items:center;justify-content:space-between}.play-orb{width:76px;height:76px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#fff;color:var(--green);font-size:26px}.filter-row,.jump-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.filter-row select,.jump-row input{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink)}.reciter-grid,.language-grid,.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.reciter-grid article,.language-grid button,.lesson-grid article{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;color:var(--ink);text-align:start}.reciter-grid b,.reciter-grid small,.language-grid small{display:block}.reciter-grid small,.language-grid small,.lesson-grid p{color:var(--muted);margin-top:7px}.index-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:16px}.index-cards button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:20px;padding:25px}.index-cards b,.index-cards span{display:block}.index-cards b{font-size:34px;color:var(--green2);margin-bottom:6px}.prayer-times-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:16px}.prayer-time{border:1px solid var(--line);border-radius:14px;padding:12px;text-align:center}.prayer-time b,.prayer-time small{display:block}.prayer-time small{color:var(--muted);margin-bottom:5px}@media(max-width:700px){.reciter-grid,.language-grid,.lesson-grid{grid-template-columns:1fr 1fr}.index-cards{grid-template-columns:1fr 1fr}.filter-row{grid-template-columns:1fr}.prayer-times-grid{grid-template-columns:repeat(2,1fr)}}.reciter-grid button{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;color:var(--ink);text-align:start}.language-grid button.selected{outline:2px solid var(--gold);background:rgba(201,160,82,.1)}.number-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.number-grid button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:13px;padding:13px}.number-grid b,.number-grid small{display:block}.number-grid small{color:var(--muted);margin-top:4px}.modal-actions{display:flex;gap:10px;flex-wrap:wrap}.import-label{display:inline-flex;align-items:center;cursor:pointer;margin-top:0}.reduce-motion *{animation:none!important;transition:none!important}@media(max-width:700px){.number-grid{grid-template-columns:repeat(3,1fr)}}
/* Home artwork uploaded by the project owner */
#home{position:relative;isolation:isolate}
#home:before{content:"";position:fixed;z-index:-2;inset:0;background-image:linear-gradient(rgba(4,22,18,.78),rgba(4,22,18,.88)),url('./home-bg.png');background-size:cover;background-position:center top;background-repeat:no-repeat}
#home:after{content:"";position:fixed;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(3,25,20,.10),rgba(3,25,20,.42) 55%,rgba(3,25,20,.78))}
#home .hero{background:linear-gradient(135deg,rgba(2,35,29,.90),rgba(5,72,60,.80));backdrop-filter:blur(3px)}
#home .stats>div,#home .card{background:color-mix(in srgb,var(--surface) 86%,transparent);backdrop-filter:blur(12px)}
body:not(.dark) #home:before{filter:saturate(.92) brightness(1.02)}
@media(max-width:700px){#home:before{background-position:center top;background-attachment:scroll}#home .hero{background:linear-gradient(180deg,rgba(2,30,25,.84),rgba(3,55,46,.82))}}
.mobile-values{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:15px 0}.mobile-values>div{background:linear-gradient(145deg,rgba(6,60,51,.92),rgba(8,112,94,.78));color:white;border:1px solid rgba(201,160,82,.25);border-radius:18px;padding:17px;text-align:center}.mobile-values b,.mobile-values span{display:block}.mobile-values b{font-size:26px;color:#f1d68d}.mobile-values span{font-size:11px;margin-top:5px;color:#d7e7e1}.reader-progress{display:flex;justify-content:space-between;align-items:center;background:rgba(201,160,82,.1);border-radius:14px;padding:13px 16px;margin-top:15px}.reader-progress span{color:var(--muted)}.mushaf-frame{width:min(520px,100%);min-height:300px;border:1px solid rgba(201,160,82,.5);box-shadow:inset 0 0 0 8px rgba(201,160,82,.06);border-radius:8px;display:grid;place-content:center;padding:30px}.reader-nav{display:grid;grid-template-columns:1fr 2fr 1fr;gap:8px}.reader-nav button:not(.primary){border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:13px;padding:13px}@media(max-width:700px){.mobile-values{grid-template-columns:1fr 1fr}.reader-nav{grid-template-columns:1fr 1fr}.reader-nav .primary{grid-column:1/-1;grid-row:1}}.quran-loading{text-align:center;padding:28px;color:var(--muted);cursor:pointer}.quran-text{font-family:"Noto Naskh Arabic","Traditional Arabic",serif;font-size:calc(1.45rem * var(--reader-scale,1));line-height:2.25;text-align:justify;padding:22px 16px;background:#fffdf5;color:#17140f;border:1px solid #d7c38e;border-radius:10px}.dark .quran-text{background:#161813;color:#f2ead5;border-color:#665a37}.ayah{display:inline;border:0;background:transparent;color:inherit;font:inherit;padding:3px;cursor:pointer}.ayah:hover,.ayah:focus{background:rgba(201,160,82,.18);border-radius:7px}.ayah i{font-style:normal;font-size:.72em;color:#8b6927;white-space:nowrap}.sura-banner{display:block;text-align:center;font-weight:800;font-size:1.2em;border-block:1px solid #c9a052;margin:12px 0;padding:7px}.bismillah{text-align:center;font-size:1.35em;margin:12px}.ayah-modal{font-family:"Noto Naskh Arabic",serif;font-size:1.5rem;line-height:2}.bookmark-list,.search-results{display:grid;gap:9px;width:100%}.bookmark-list button,.search-results button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:14px;padding:14px;text-align:start}.bookmark-list b,.bookmark-list span,.search-results b,.search-results span{display:block}.bookmark-list span,.search-results span{margin-top:6px;line-height:1.9}.quran-source{font-size:12px}@media(max-width:700px){.quran-text{padding:16px 11px;font-size:calc(1.25rem * var(--reader-scale,1));line-height:2.15}}
/* v7 — make the owner's uploaded home artwork clearly visible */
#home{position:relative;isolation:isolate;background:transparent!important}
#home:before{content:"";position:absolute!important;z-index:-2!important;inset:-18px -18px 0;background-image:linear-gradient(180deg,rgba(2,18,15,.18) 0%,rgba(2,18,15,.30) 42%,rgba(2,18,15,.72) 100%),url('./home-bg.png')!important;background-size:cover!important;background-position:center top!important;background-repeat:no-repeat!important;filter:none!important;border-radius:0}
#home:after{content:"";position:absolute!important;z-index:-1!important;inset:-18px -18px 0;background:linear-gradient(180deg,transparent 0%,rgba(2,20,17,.08) 35%,rgba(2,20,17,.58) 100%)!important;pointer-events:none}
#home .hero{background:linear-gradient(135deg,rgba(2,35,29,.62),rgba(5,72,60,.48))!important;backdrop-filter:blur(2px);border-color:rgba(222,185,101,.28)}
#home .stats>div,#home .card{background:rgba(10,31,27,.72)!important;backdrop-filter:blur(10px);border-color:rgba(222,185,101,.24)}
#home .mobile-values>div{background:rgba(5,70,58,.72)!important;backdrop-filter:blur(8px)}
@media(max-width:700px){#home:before{background-size:auto 1050px!important;background-position:center top!important}#home .hero{background:rgba(3,43,36,.58)!important}.mosque-art{opacity:.10!important}}

/* v8 — mobile-app visual parity */
:root{--app-bg:#00261f;--app-card:#10372f;--app-card-2:#073f33;--app-gold:#ddb65a;--app-cream:#f7f0df;--app-muted:#aebbb5}
body{background:var(--app-bg)!important;color:var(--app-cream)}
.app-shell{max-width:760px;margin:auto;background:var(--app-bg);min-height:100dvh}
header{background:var(--app-bg)!important;border:0!important;box-shadow:none!important;padding-top:max(18px,env(safe-area-inset-top))}
.brand-mark{background:transparent!important;border:0!important;color:var(--app-gold)!important}.brand-copy strong{color:var(--app-gold)}
.page{max-width:700px;margin:auto;padding-inline:28px;padding-bottom:130px!important}
.page>h1,.page .section-title{color:var(--app-gold)!important}.eyebrow{color:var(--app-gold)!important}
.card,#home .card,#home .stats>div,.panel,.settings-card{background:var(--app-card)!important;border:0!important;border-radius:34px!important;box-shadow:none!important}
#home:before,#home:after{display:none!important}
#home .hero{background:var(--app-card)!important;border:0!important;border-radius:38px!important;backdrop-filter:none!important;padding:32px 28px!important}
#home .hero h1{color:var(--app-cream)!important;font-size:clamp(34px,7vw,52px);line-height:1.45}.mosque-art{opacity:.04!important}
#home .stats{gap:12px}#home .stats>div{border-radius:28px!important}.progress-ring{filter:none}
.mobile-values{display:none!important}
.primary{background:var(--app-gold)!important;color:#173b32!important;border:0!important;border-radius:22px!important;font-weight:800}.outline{border:1.5px solid #87948f!important;color:var(--app-gold)!important;background:transparent!important;border-radius:22px!important}
.session,.plan-card,.mode-card,.more-link,.index-card,.reciter-card{background:var(--app-card)!important;border:0!important;border-radius:28px!important}
.bottom-nav{left:0!important;right:0!important;bottom:0!important;transform:none!important;width:100%!important;max-width:none!important;border-radius:0!important;background:#001b16f2!important;border:0!important;padding:12px max(18px,calc((100vw - 700px)/2)) max(18px,env(safe-area-inset-bottom))!important;box-shadow:0 -8px 25px rgba(0,0,0,.16)!important}
.bottom-nav button{border-radius:24px!important;padding:12px 10px!important}.bottom-nav button.active{background:#0b493d!important;color:var(--app-gold)!important}
#statsPage .card,#settingsPage .card,#aboutPage .card{background:var(--app-card)!important;border-radius:36px!important}
#statsPage h1,#settingsPage h1,#aboutPage h1{color:var(--app-gold)!important;text-align:center;font-size:42px}
.quran-text{border-radius:24px!important}.reader-nav{position:sticky;bottom:94px;z-index:4;background:var(--app-bg);padding:8px 0}
@media(max-width:700px){header{padding-inline:24px!important}.page{padding-inline:29px!important}.top-actions button{border-radius:18px!important}.card{padding:25px!important}#home .hero{margin-top:10px}.bottom-nav{grid-template-columns:repeat(5,1fr)!important}.bottom-nav button{font-size:12px!important}.bottom-nav button span:first-child{font-size:22px!important}}

/* v9 official uploaded logo */
.logo-image{width:58px!important;height:58px!important;padding:0!important;overflow:hidden;border-radius:50%!important;border:1px solid rgba(221,182,90,.55)!important;background:#00372d!important;box-shadow:0 5px 18px rgba(0,0,0,.18)}.logo-image img{width:100%;height:100%;object-fit:cover;display:block}.brand{gap:12px}.brand b{font-size:20px}@media(max-width:700px){.logo-image{width:54px!important;height:54px!important}.brand small{font-size:10px}}

/* v16 contact layout */
.contact-links{display:grid;gap:12px;margin-top:18px}.contact-links a{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;width:100%;padding:14px 12px;border:1px solid var(--line);border-radius:15px;text-decoration:none;color:var(--ink);overflow:hidden}.contact-links a span{font-size:12px;color:var(--muted)}.contact-links a b{max-width:100%;font-size:clamp(14px,4vw,18px);overflow-wrap:anywhere;word-break:break-word;color:var(--gold)}

/* v17 loading + manual location */
.quran-loading{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;color:var(--muted)}.quran-loading[hidden]{display:none!important}.loader-spinner{width:38px;height:38px;border:4px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:qspin .8s linear infinite}@keyframes qspin{to{transform:rotate(360deg)}}.manual-location{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.manual-location>span{display:block;color:var(--muted);margin-bottom:10px}.manual-location .jump-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.manual-location input{min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink)}@media(max-width:700px){.manual-location .jump-row{grid-template-columns:1fr}.manual-location .outline{margin-top:0}}

/* v19 Madinah Mushaf image reader */
.mushaf-toolbar{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px 0}.mushaf-toolbar .outline{margin:0;width:auto}.mushaf-viewport{width:100%;height:min(72vh,900px);overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;background:#d7d0bf;border:1px solid var(--line);border-radius:18px;text-align:center;scrollbar-gutter:stable}.mushaf-viewport img{display:block;width:100%;height:auto;max-width:none;margin:0 auto;user-select:none;-webkit-user-drag:none;transform-origin:top center}.reader-nav{position:sticky;bottom:88px;z-index:5;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(12px);padding:10px;border-radius:16px;display:grid;grid-template-columns:1fr 2fr 1fr;gap:8px;margin-top:12px}.reader-nav button{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--surface);color:var(--ink)}.reader-nav .primary{background:var(--green2);color:white}.quran-loading{min-height:90px}@media(max-width:700px){.reader{padding:10px}.mushaf-viewport{height:68vh;border-radius:12px}.mushaf-toolbar{position:sticky;top:0;z-index:6;background:var(--surface);padding:8px;border-radius:12px}.reader-nav{bottom:82px;grid-template-columns:1fr 1.6fr 1fr}.reader-nav button{padding:10px 5px;font-size:12px}}

/* v20 official GitHub logo: remove legacy CSS-drawn mark */
.logo.logo-image{width:58px;height:58px;padding:0;overflow:hidden;border-radius:16px;background:transparent;border:0;box-shadow:none;display:block;flex:0 0 58px}
.logo.logo-image:before,.logo.logo-image:after{content:none!important;display:none!important}
.logo.logo-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:transparent}
@media(max-width:600px){.logo.logo-image{width:52px;height:52px;flex-basis:52px;border-radius:14px}.brand{gap:10px}.brand b{font-size:18px}}

/* v21 audit fixes */
#markReaderPage:disabled{opacity:.5;cursor:not-allowed}.mushaf-viewport img[hidden]{display:none!important}.reader .quran-source{line-height:1.7}.settings-list .goto{margin:0}.mushaf-viewport{background:#eee8da}

/* v33 — independent Khatm Wird reader */
.free-reader-note{display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid var(--line);border-radius:12px;padding:10px;color:var(--muted);font-size:12px}
.wird-progressbar{height:8px;background:var(--line);border-radius:99px;overflow:hidden;margin:12px 0 4px}.wird-progressbar i{display:block;height:100%;width:0;background:var(--app-gold);border-radius:inherit;transition:width .2s ease}.wird-nav button:disabled{opacity:.45;cursor:not-allowed}.session.done{opacity:.62}.session.done:after{content:" ✓";color:var(--app-gold)}

/* v35 — direct Surah + page choice in free Quran reader */
.reader-choice{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end;margin-bottom:12px}.reader-choice label>span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.reader-choice select,.reader-choice input{width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit}.page-choice{display:grid;grid-template-columns:1fr auto;gap:7px}.page-choice .outline{margin:0}@media(max-width:600px){.reader-choice{grid-template-columns:1fr 1fr}.reader-choice .iconbtn{grid-column:1/-1;justify-self:end}.page-choice{grid-template-columns:1fr auto}}

/* v36 — mobile app information architecture */
.home-actions{display:grid;gap:14px;margin:18px 0 22px}.home-actions button{width:100%;min-height:92px;padding:18px 22px;text-align:center}.home-actions b,.home-actions small{display:block}.home-actions b{font-size:clamp(19px,4.6vw,26px)}.home-actions small{margin-top:7px;font-weight:500;line-height:1.6}.home-action-quran{min-height:108px!important}.home-action-quran small{color:var(--muted)}
.progress-overview{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;background:var(--app-card);border-radius:34px;padding:28px;margin-bottom:18px}.progress-circle{width:150px;aspect-ratio:1;border-radius:50%;display:grid;place-content:center;text-align:center;border:14px solid #164a3f;box-shadow:inset 0 0 0 3px rgba(221,182,90,.22)}.progress-circle b{font-size:34px;color:var(--app-gold)}.progress-circle span{font-size:12px;color:var(--muted)}.progress-overview h2{margin:7px 0;color:var(--app-cream)}.progress-overview p{color:var(--muted);line-height:1.7;margin:0}
#nav{grid-template-columns:repeat(5,1fr)!important}#nav button span{font-size:11px}#nav button b{font-size:21px}
@media(max-width:600px){.progress-overview{grid-template-columns:1fr;text-align:center}.progress-circle{margin:auto;width:132px}.home-actions{margin-top:16px}#nav button{padding-inline:3px!important}#nav button span{font-size:10px}}

/* v37 — mobile layout fixes from device screenshots */
@media(max-width:700px){
  /* Home: remove decorative crescent that overlaps the headline. */
  #home .hero .crescent{display:none!important}
  #home .hero{min-height:auto!important;display:grid!important;grid-template-columns:1fr!important;gap:18px!important;padding:28px 24px!important}
  #home .hero-copy{position:relative!important;z-index:2!important;max-width:none!important;padding:0!important}
  #home .hero-copy h1{font-size:clamp(36px,10vw,54px)!important;line-height:1.55!important;margin:12px 0!important}
  #home .ring{position:static!important;margin:8px auto 0!important;transform:none!important}

  /* Full Quran: use the same usable page width as the other main screens. */
  #quran.page{max-width:700px!important;width:100%!important;padding-inline:20px!important}
  #quran .reader{width:100%!important;max-width:none!important;margin-inline:0!important;padding:18px!important}
  #quran .reader-choice{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)!important;gap:10px!important}
  #quran .reader-choice .iconbtn{grid-column:1/-1!important}
  #quran .mushaf-viewport{width:100%!important;max-width:none!important;height:72vh!important}
  #quran .mushaf-viewport img{max-width:none!important}
  #quran .reader-nav{width:100%!important;grid-template-columns:1fr 1.35fr 1fr!important}
}

/* v37 — focused Qibla and city prayer pages; intentionally no maps */
#nav{overflow-x:auto;justify-content:start;grid-template-columns:repeat(7,minmax(82px,1fr))!important}#nav button{min-width:82px}
.qibla-focus{max-width:620px;margin:auto;text-align:center}.qibla-dial{width:min(300px,78vw);aspect-ratio:1;border-radius:50%;margin:8px auto 20px;position:relative;border:2px solid rgba(221,182,90,.45);box-shadow:inset 0 0 0 18px rgba(221,182,90,.05)}.qibla-dial:before,.qibla-dial:after{content:"";position:absolute;background:rgba(247,240,223,.16)}.qibla-dial:before{width:1px;height:88%;left:50%;top:6%}.qibla-dial:after{height:1px;width:88%;top:50%;left:6%}.qibla-dial .north{position:absolute;top:13px;left:50%;transform:translateX(-50%);color:var(--muted)}.qibla-arrow{position:absolute;left:50%;top:50%;transform-origin:50% 100%;font-size:48px;color:var(--app-gold);z-index:2}.kaaba-mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:35px;color:var(--app-cream);z-index:3}.qibla-result{display:grid;gap:5px}.qibla-result>b{font-size:48px;color:var(--app-gold)}.qibla-result span{color:var(--muted)}.qibla-result strong{margin-top:6px}.qibla-actions{display:grid;gap:12px;margin-top:24px}.qibla-city{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.qibla-city input,.prayer-city-form input,.prayer-city-form select{min-width:0;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--ink);font:inherit}.qibla-live{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:16px;color:var(--muted)}.qibla-live b{color:var(--app-gold)}
.prayer-city-card{max-width:720px;margin:auto}.prayer-city-form{display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:10px;align-items:end}.prayer-city-form label span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.prayer-location-title{text-align:center;font-size:20px;font-weight:800;margin:24px 0 12px}.next-prayer-card{background:#0b493d;border-radius:26px;padding:24px;text-align:center;display:grid;gap:5px;margin-bottom:14px}.next-prayer-card span,.next-prayer-card small{color:var(--muted)}.next-prayer-card b{font-size:32px;color:var(--app-gold)}.prayer-times-clean{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.prayer-times-clean>div{background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:18px;padding:18px;text-align:center}.prayer-times-clean span,.prayer-times-clean b{display:block}.prayer-times-clean span{color:var(--muted);font-size:13px}.prayer-times-clean b{font-size:22px;margin-top:7px}.prayer-date{text-align:center;color:var(--app-gold);margin-top:18px}.prayer-note{text-align:center;margin-top:14px}
@media(max-width:700px){.qibla-city,.prayer-city-form{grid-template-columns:1fr}.prayer-times-clean{grid-template-columns:1fr 1fr}#nav{grid-template-columns:repeat(7,86px)!important}}

/* v38 — polished Qibla + prayer UI */
#qiblaPage,#prayerTimesPage{max-width:820px!important}
#qiblaPage .sectionTitle,#prayerTimesPage .sectionTitle{text-align:center;display:block;margin-bottom:26px}#qiblaPage .sectionTitle h1,#prayerTimesPage .sectionTitle h1{font-size:clamp(34px,6vw,52px);margin:7px 0 8px;color:var(--app-cream)}#qiblaPage .sectionTitle p,#prayerTimesPage .sectionTitle p{max-width:590px;margin:0 auto;line-height:1.8}
.qibla-focus{padding:clamp(20px,4vw,36px)!important;overflow:hidden}.qibla-dial{width:min(260px,70vw);background:radial-gradient(circle,rgba(221,182,90,.08),transparent 65%);margin-bottom:12px}.qibla-dial .north{font-weight:800;color:var(--app-gold);font-size:15px}.qibla-arrow{font-size:42px}.kaaba-mark{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#075344;color:var(--app-gold);font-size:28px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.qibla-result{margin:4px auto 22px;max-width:420px}.qibla-result .result-kicker{font-size:12px;color:var(--app-gold);font-weight:800}.qibla-result>b{font-size:clamp(38px,8vw,58px);line-height:1.1}.qibla-result strong{font-size:16px;color:var(--app-cream)}
.qibla-actions{max-width:610px;margin:20px auto 0}.qibla-main-action{width:100%;min-height:54px;font-size:16px}.form-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}.form-divider:before,.form-divider:after{content:"";height:1px;background:var(--line);flex:1}.qibla-city{grid-template-columns:1fr 1fr!important;align-items:end}.qibla-city label{text-align:start}.qibla-city label span{display:block;color:var(--muted);font-size:12px;margin:0 4px 6px}.qibla-city input{height:48px;width:100%}.qibla-city button{grid-column:1/-1;width:100%;min-height:50px;margin:2px 0 0}
#qiblaStatus{max-width:610px;margin:18px auto 10px!important;line-height:1.7;border-style:solid!important;background:rgba(221,182,90,.045)}#qiblaCompassBtn{max-width:610px;margin:10px auto 0;display:block;min-height:52px}.qibla-live{max-width:610px;margin:14px auto 0;padding:13px 16px;border-radius:16px;background:rgba(255,255,255,.025)}
.prayer-city-card{padding:clamp(20px,4vw,34px)!important}.prayer-city-form{grid-template-columns:1fr 1fr!important;gap:14px!important}.prayer-city-form label{text-align:start}.prayer-city-form label span{font-weight:700;color:var(--app-cream);margin:0 4px 7px}.prayer-city-form input,.prayer-city-form select{width:100%;height:50px;background:#092f29!important;border:1px solid rgba(247,240,223,.16)!important;color:var(--app-cream)!important}.prayer-city-form .method-field{grid-column:1/-1}.prayer-city-form .prayer-load{grid-column:1/-1;width:100%;min-height:54px;font-size:17px;margin-top:2px}.prayer-location-title{margin:26px 0 14px;color:var(--app-cream)}.next-prayer-card{max-width:430px;margin:0 auto 18px;border:1px solid rgba(221,182,90,.18);background:linear-gradient(145deg,#0b493d,#0a3d34)}.prayer-times-clean{grid-template-columns:repeat(3,1fr);gap:12px}.prayer-times-clean>div{min-height:94px;display:grid;place-content:center;background:#0b332c;border-color:rgba(247,240,223,.08)}.prayer-times-clean b{color:var(--app-cream);font-size:24px}.prayer-times-clean span{color:var(--app-gold)}.prayer-date{padding:14px;border-radius:14px;background:rgba(221,182,90,.06)}
@media(max-width:600px){#qiblaPage,#prayerTimesPage{padding-inline:18px!important}.qibla-focus,.prayer-city-card{border-radius:26px!important}.qibla-city,.prayer-city-form{grid-template-columns:1fr!important}.qibla-city label,.prayer-city-form label,.prayer-city-form .method-field,.prayer-city-form .prayer-load{grid-column:1!important}.prayer-times-clean{grid-template-columns:1fr 1fr}.qibla-dial{width:min(235px,72vw)}}

/* v39 — current-location action for prayer times */
.prayer-location-actions{max-width:100%;margin:0 0 20px}.prayer-location-actions .primary{width:100%;min-height:56px;font-size:17px}.prayer-location-actions .form-divider{margin:16px 0 4px}

/* v42 — premium prayer dashboard */
.prayer-dashboard{margin-top:28px}.prayer-dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.prayer-dashboard-head h2{margin:4px 0 0;font-size:22px}.prayer-dashboard-head .prayer-date{margin:0;padding:0;background:none;text-align:end;font-size:12px;color:var(--muted)}
.next-prayer-card{max-width:none!important;min-height:154px!important;margin:0 0 14px!important;padding:25px!important;background:linear-gradient(135deg,#0a6b59,#11483e)!important;border:1px solid rgba(221,182,90,.28)!important;box-shadow:0 16px 40px rgba(0,0,0,.14);position:relative;overflow:hidden}.next-prayer-card:after{content:"☾";position:absolute;left:22px;bottom:-24px;font-size:100px;color:rgba(221,182,90,.07)}.next-prayer-card span{font-size:14px;color:var(--app-cream)!important}.next-prayer-card b{font-variant-numeric:tabular-nums;font-size:clamp(38px,8vw,58px)!important;letter-spacing:2px;line-height:1.15}.next-prayer-card small{font-size:14px;color:var(--app-gold)!important}
.prayer-times-clean{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}.prayer-times-clean .prayer-row{min-height:62px!important;display:grid!important;grid-template-columns:34px 1fr auto auto!important;align-items:center!important;gap:10px!important;padding:12px 16px!important;border:1px solid rgba(247,240,223,.10)!important;border-radius:16px!important;background:#0a332c!important;text-align:start!important}.prayer-row-icon{width:30px;height:30px;display:grid!important;place-items:center;border-radius:10px;background:rgba(221,182,90,.09);color:var(--app-gold)!important;font-size:16px!important}.prayer-times-clean .prayer-row b{font-size:16px!important;margin:0!important;color:var(--app-cream)!important}.prayer-times-clean .prayer-row strong{font-size:18px;font-variant-numeric:tabular-nums;color:var(--app-cream)}.prayer-times-clean .prayer-row em{font-style:normal;font-size:10px;padding:5px 9px;border-radius:99px;background:var(--app-gold);color:#173b32;font-weight:900}.prayer-times-clean .prayer-row.is-next{border-color:var(--app-gold)!important;background:#104438!important;box-shadow:inset 4px 0 0 var(--app-gold)}
.prayer-tools{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.prayer-tool{min-height:76px!important;padding:12px 15px!important;display:flex!important;align-items:center;gap:12px;text-align:start!important}.prayer-tool .tool-icon{width:42px;height:42px;flex:0 0 42px;border-radius:14px;display:grid;place-items:center;background:rgba(221,182,90,.11);font-size:22px;color:var(--app-gold)}.prayer-tool b,.prayer-tool small{display:block}.prayer-tool small{color:var(--muted);font-size:11px;margin-top:4px}.install-pulse{border:1.5px solid var(--app-gold)!important;color:var(--app-cream)!important;position:relative;overflow:hidden}.install-pulse.ready:after{content:"";position:absolute;inset:-2px;border:2px solid var(--app-gold);border-radius:22px;animation:installPulse 1.8s ease-out infinite}@keyframes installPulse{0%{opacity:.7;transform:scale(.96)}100%{opacity:0;transform:scale(1.08)}}@media(prefers-reduced-motion:reduce){.install-pulse.ready:after{animation:none}}
@media(max-width:600px){.prayer-dashboard-head{align-items:flex-start;flex-direction:column}.prayer-dashboard-head .prayer-date{text-align:start}.prayer-tools{grid-template-columns:1fr}.prayer-times-clean .prayer-row{grid-template-columns:32px 1fr auto auto!important;padding:11px 12px!important}.prayer-times-clean .prayer-row strong{font-size:16px}.next-prayer-card{min-height:145px!important}}

/* v43 — unify Qibla and Prayer location controls */
.qibla-actions,.prayer-location-actions,.prayer-city-form{max-width:650px!important;margin-inline:auto!important}
.qibla-city,.prayer-city-form{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;align-items:end!important}
.qibla-city label,.prayer-city-form label{display:block!important;text-align:start!important}
.qibla-city label span,.prayer-city-form label span{display:block!important;color:var(--app-cream)!important;font-size:12px!important;font-weight:800!important;margin:0 5px 7px!important}
.qibla-city select,.prayer-city-form select{display:block!important;width:100%!important;height:52px!important;padding:0 16px!important;border:1px solid rgba(247,240,223,.16)!important;border-radius:15px!important;background:#092f29!important;color:var(--app-cream)!important;font:inherit!important;font-weight:700!important;outline:none!important}
.qibla-city select:focus,.prayer-city-form select:focus{border-color:var(--app-gold)!important;box-shadow:0 0 0 3px rgba(221,182,90,.09)!important}
.qibla-city button,.prayer-city-form .method-field,.prayer-city-form .prayer-load{grid-column:1/-1!important}
.qibla-city button,.prayer-city-form .prayer-load{min-height:54px!important;width:100%!important;margin:2px 0 0!important}
.qibla-actions .form-divider,.prayer-location-actions .form-divider{margin:16px 0!important}
.qibla-actions .qibla-main-action,.prayer-location-actions .primary{width:100%!important;min-height:56px!important}
#qiblaStatus{max-width:650px!important}
#qiblaCompassBtn,.qibla-live{max-width:650px!important}
@media(max-width:600px){.qibla-city,.prayer-city-form{grid-template-columns:1fr!important}.qibla-city label,.qibla-city button,.prayer-city-form label,.prayer-city-form .method-field,.prayer-city-form .prayer-load{grid-column:1!important}}

/* v44 — Hijri/Gregorian calendar */
.calendar-card{max-width:700px;margin:auto;padding:clamp(20px,4vw,34px)!important}.calendar-today{text-align:center;padding:24px;border-radius:24px;background:linear-gradient(135deg,#0b493d,#0a392f);border:1px solid rgba(221,182,90,.22);display:grid;gap:6px}.calendar-today span{color:var(--app-gold);font-size:12px;font-weight:800}.calendar-today b{font-size:clamp(26px,6vw,38px);color:var(--app-cream)}.calendar-today small{color:var(--muted);font-size:14px}.calendar-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}.calendar-tabs button{min-height:48px;border:1px solid var(--line);border-radius:16px;background:transparent;color:var(--muted);font:inherit;font-weight:800}.calendar-tabs button.selected{background:var(--app-gold);color:#173b32;border-color:var(--app-gold)}.calendar-convert{display:grid;gap:14px}.calendar-convert[hidden]{display:none!important}.calendar-convert label span,.hijri-fields label span{display:block;font-size:12px;font-weight:800;color:var(--app-cream);margin:0 5px 7px}.calendar-convert input,.calendar-convert select{width:100%;height:52px;padding:0 14px;border:1px solid rgba(247,240,223,.16);border-radius:15px;background:#092f29;color:var(--app-cream);font:inherit}.calendar-convert .primary{width:100%;min-height:54px}.hijri-fields{display:grid;grid-template-columns:.7fr 1.4fr 1fr;gap:10px}.calendar-result{margin-top:20px;padding:22px;text-align:center;border-radius:22px;background:#0a332c;border:1px solid rgba(247,240,223,.09);display:grid;gap:6px}.calendar-result span{font-size:12px;color:var(--app-gold);font-weight:800}.calendar-result b{font-size:26px;color:var(--app-cream)}.calendar-result small{color:var(--muted)}.calendar-note{margin-top:16px;padding:13px 15px;border-radius:14px;background:rgba(221,182,90,.06);color:var(--muted);font-size:12px;line-height:1.7;text-align:center}@media(max-width:520px){.hijri-fields{grid-template-columns:1fr 1.4fr}.hijri-fields label:last-child{grid-column:1/-1}.calendar-tabs button{font-size:12px}}

/* v45 — global animated PWA install affordance */
.global-install-pulse{position:fixed;z-index:30;left:max(18px,env(safe-area-inset-left));bottom:calc(92px + env(safe-area-inset-bottom));width:58px;height:58px;border-radius:50%;border:1.5px solid var(--app-gold);background:#0a3c33;color:var(--app-gold);display:grid;place-items:center;box-shadow:0 10px 28px rgba(0,0,0,.25);cursor:pointer}.global-install-pulse span{font-size:28px;line-height:1;animation:installArrow 1.35s ease-in-out infinite}.global-install-pulse:before{content:"";position:absolute;inset:-7px;border:1px solid rgba(221,182,90,.55);border-radius:50%;animation:installRing 1.8s ease-out infinite}.global-install-pulse.install-ready{background:var(--app-gold);color:#173b32}.global-install-pulse.installed{display:none}@keyframes installArrow{0%,100%{transform:translateY(-3px)}50%{transform:translateY(4px)}}@keyframes installRing{0%{transform:scale(.86);opacity:.75}100%{transform:scale(1.22);opacity:0}}@media(prefers-reduced-motion:reduce){.global-install-pulse span,.global-install-pulse:before{animation:none}}@media(max-width:600px){.global-install-pulse{width:54px;height:54px;bottom:calc(88px + env(safe-area-inset-bottom));left:14px}}

/* v46 — identical calendar conversion layouts */
.calendar-convert{min-height:146px!important;align-content:start!important}
.calendar-convert>label,.hijri-fields{margin:0!important}
.calendar-convert>label{display:block!important}
.calendar-convert>label>span,.hijri-fields label span{height:18px!important;line-height:18px!important;margin:0 5px 7px!important}
.calendar-convert input,.calendar-convert select{height:52px!important;border-radius:15px!important}
.hijri-fields{display:grid!important;grid-template-columns:1fr 2fr 1.35fr!important;gap:10px!important;align-items:end!important}
.hijri-fields label{min-width:0!important}
.hijri-fields select{width:100%!important}
.calendar-convert .primary{margin-top:0!important}
@media(max-width:520px){.hijri-fields{grid-template-columns:1fr 1.7fr 1.25fr!important}.hijri-fields label:last-child{grid-column:auto!important}.calendar-convert input,.calendar-convert select{font-size:16px!important}}

/* v47 — polished More / information accordion */
#more .more-list{max-width:700px;margin:0 auto;display:grid;gap:10px}
#more .more-link,#more details{width:100%;border:1px solid rgba(247,240,223,.10)!important;border-radius:18px!important;background:#0a332c!important;overflow:hidden}
#more .more-link,#more details>summary{min-height:64px;padding:0 18px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px;color:var(--app-cream)!important;font-size:16px!important;font-weight:800!important;text-decoration:none!important;cursor:pointer;list-style:none}
#more details>summary::-webkit-details-marker{display:none}
#more details>summary:after,#more .more-link:after{content:"‹";width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:11px;background:rgba(221,182,90,.09);color:var(--app-gold);font-size:22px;transition:transform .2s ease}
#more details[open]>summary:after{transform:rotate(-90deg)}
#more details>div,#more details>p{margin:0;padding:0 18px 18px;color:var(--muted);line-height:1.8}
#more .more-link:hover,#more details:hover{border-color:rgba(221,182,90,.35)!important}
#more .sectionTitle{text-align:center}
@media(max-width:600px){#more .more-list{gap:8px}#more .more-link,#more details>summary{min-height:58px;padding-inline:15px!important;font-size:15px}}

/* v48 — match home and progress percentage rings */
#home .ring,.progress-circle{width:150px!important;height:150px!important;aspect-ratio:1!important;border-radius:50%!important;box-sizing:border-box!important;display:grid!important;place-content:center!important;text-align:center!important;background:#10372f!important;border:3px solid var(--app-gold)!important;box-shadow:0 0 0 10px #155144!important}
#home .ring span,.progress-circle b{display:block!important;font-size:34px!important;line-height:1!important;font-weight:900!important;color:var(--app-gold)!important}
#home .ring small,.progress-circle span{display:block!important;margin-top:7px!important;font-size:12px!important;line-height:1.2!important;color:var(--app-cream)!important}
@media(max-width:600px){#home .ring,.progress-circle{width:132px!important;height:132px!important;box-shadow:0 0 0 8px #155144!important}#home .ring span,.progress-circle b{font-size:32px!important}}

/* v49 — clearer Qibla pointer */
.qibla-arrow{font-size:0!important;width:0!important;height:0!important;border-left:15px solid transparent!important;border-right:15px solid transparent!important;border-bottom:64px solid var(--app-gold)!important;color:transparent!important;filter:drop-shadow(0 3px 3px rgba(0,0,0,.35));left:50%!important;top:50%!important;margin-left:-15px!important;margin-top:-64px!important;transform-origin:15px 64px!important;z-index:5!important}
.qibla-arrow:after{content:"";position:absolute;left:-5px;top:42px;width:10px;height:28px;border-radius:8px;background:var(--app-gold)}
.kaaba-mark{z-index:6!important}

/* v50 — trust, help and permission pages */
.permission-guide{max-width:650px;margin:18px auto 12px;padding:18px;border:1px solid rgba(221,182,90,.22);border-radius:18px;background:rgba(221,182,90,.05);display:grid;gap:8px;text-align:start}.permission-guide b{color:var(--app-gold)}.permission-guide span{color:var(--app-cream);line-height:1.6}.permission-guide small{color:var(--muted);line-height:1.7}
.faq-list{max-width:700px;margin:auto;display:grid;gap:10px}.faq-list details{border:1px solid rgba(247,240,223,.10);border-radius:18px;background:#0a332c;overflow:hidden}.faq-list summary{min-height:62px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-weight:800;color:var(--app-cream);list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";color:var(--app-gold);font-size:24px}.faq-list details[open] summary:after{content:"−"}.faq-list p{margin:0;padding:0 18px 18px;color:var(--muted);line-height:1.9}

/* v51 audit polish */
#prayerReminderState{line-height:1.5}.global-install-pulse:focus-visible,.primary:focus-visible,.outline:focus-visible,select:focus-visible,input:focus-visible,button:focus-visible{outline:3px solid rgba(221,182,90,.45);outline-offset:3px}

/* v52 — expert visual pass */
.gregorian-fields,.hijri-fields{display:grid!important;grid-template-columns:1fr 2fr 1.35fr!important;gap:10px!important;align-items:end!important}.gregorian-fields label,.hijri-fields label{min-width:0}.gregorian-fields label span{display:block;height:18px;line-height:18px;font-size:12px;font-weight:800;color:var(--app-cream);margin:0 5px 7px}.gregorian-fields select{width:100%;height:52px;padding:0 14px;border:1px solid rgba(247,240,223,.16);border-radius:15px;background:#092f29;color:var(--app-cream);font:inherit}
.about-links{max-width:760px;margin:18px auto;display:grid;grid-template-columns:1fr 1fr;gap:10px}.about-links button{min-height:92px;padding:17px;text-align:start;border:1px solid rgba(247,240,223,.1);border-radius:18px;background:#0a332c;color:var(--app-cream);font:inherit;cursor:pointer}.about-links b,.about-links span{display:block}.about-links b{color:var(--app-gold);margin-bottom:6px}.about-links span{color:var(--muted);font-size:12px;line-height:1.6}.about-contact{max-width:760px;margin:18px auto}.about-contact>.outline{width:100%;margin-top:14px}
.qibla-dial{position:relative!important;overflow:hidden!important}.qibla-arrow{position:absolute!important;left:50%!important;top:50%!important;width:34px!important;height:104px!important;margin:0!important;border:0!important;background:transparent!important;transform-origin:50% 100%!important;translate:-50% -100%!important;filter:drop-shadow(0 3px 4px rgba(0,0,0,.3));z-index:4!important}.qibla-arrow:before{content:"";position:absolute;left:50%;top:0;translate:-50% 0;border-left:13px solid transparent;border-right:13px solid transparent;border-bottom:0;border-top:28px solid var(--app-gold)}.qibla-arrow:after{content:"";position:absolute;left:50%;top:23px;translate:-50% 0;width:8px;height:77px;border-radius:8px;background:var(--app-gold)}.kaaba-mark{position:absolute!important;left:50%!important;top:50%!important;translate:-50% -50%!important;z-index:6!important}
@media(max-width:600px){.gregorian-fields,.hijri-fields{grid-template-columns:1fr 1.7fr 1.25fr!important}.about-links{grid-template-columns:1fr}.about-links button{min-height:80px}}

/* v53 — progress plan + completion undo */
.stats-plan-card{max-width:760px;margin:20px auto}.stats-plan-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.stats-plan-head h2{margin:4px 0 0}.stats-plan-head>b{color:var(--app-gold);white-space:nowrap}.plan-days{display:grid!important;grid-template-columns:repeat(4,1fr);gap:8px!important}.plan-days button{min-height:46px!important}.wird-complete-actions{display:flex;gap:8px;flex:1}.wird-complete-actions button{flex:1}.danger-soft{border-color:rgba(221,182,90,.42)!important;color:var(--app-gold)!important}.wird-nav{align-items:center}
@media(max-width:600px){.stats-plan-head{align-items:flex-start;flex-direction:column}.plan-days{grid-template-columns:repeat(2,1fr)}.wird-complete-actions{flex-direction:column;width:100%}.wird-nav{flex-wrap:wrap}.wird-complete-actions{order:3;flex-basis:100%}}

/* v54 — Qibla pointer: fixed center pivot, rotation only on centered wrapper */
.qibla-dial{position:relative!important;overflow:hidden!important}
.qibla-arrow{position:absolute!important;inset:0!important;width:auto!important;height:auto!important;margin:0!important;border:0!important;background:none!important;translate:none!important;transform-origin:50% 50%!important;z-index:4!important;pointer-events:none}
.qibla-arrow:before,.qibla-arrow:after{content:none!important;display:none!important}
.qibla-arrow>span{position:absolute;left:50%;top:50%;width:8px;height:88px;transform:translate(-50%,-100%);transform-origin:50% 100%;border-radius:8px;background:var(--app-gold);filter:drop-shadow(0 3px 4px rgba(0,0,0,.3))}
.qibla-arrow>span:before{content:"";position:absolute;left:50%;top:-1px;transform:translate(-50%,-55%);width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;border-bottom:22px solid var(--app-gold)}
.kaaba-mark{z-index:6!important}

/* v60 explicit language selector */
.lang-switch{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid rgba(236,188,71,.32);border-radius:14px;background:rgba(255,255,255,.035);direction:ltr}.lang-choice{border:0;background:transparent;color:var(--cream,#f7f0df);font:inherit;font-size:.78rem;font-weight:700;padding:7px 10px;border-radius:10px;cursor:pointer;white-space:nowrap}.lang-choice.active{background:var(--gold,#e8b84b);color:#0b4035}.lang-choice:focus-visible{outline:2px solid var(--gold,#e8b84b);outline-offset:2px}@media(max-width:520px){.lang-switch{gap:2px;padding:3px}.lang-choice{font-size:.7rem;padding:6px 7px}}

/* v63 mobile install button: keep it clear of bottom navigation labels */
@media(max-width:700px){.global-install-pulse{width:48px!important;height:48px!important;left:18px!important;bottom:calc(18px + env(safe-area-inset-bottom))!important;z-index:19!important}.global-install-pulse span{font-size:23px!important}.global-install-pulse:before{inset:-4px!important}#nav{z-index:20!important}}

/* v64 — mobile navigation: all items visible in two rows, no hidden horizontal scroll */
@media(max-width:700px){
  body{padding-bottom:calc(154px + env(safe-area-inset-bottom))!important}
  #nav{
    position:fixed!important;left:10px!important;right:10px!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;
    width:auto!important;max-width:none!important;height:auto!important;min-height:132px!important;
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:repeat(2,1fr)!important;
    gap:5px!important;overflow:visible!important;padding:8px!important;border-radius:24px!important;
    background:rgba(8,35,29,.97)!important;border:1px solid rgba(221,182,90,.28)!important;
    box-shadow:0 -8px 28px rgba(0,0,0,.28)!important;z-index:40!important;
  }
  #nav button{min-width:0!important;width:100%!important;padding:7px 2px!important;border-radius:16px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important}
  #nav button b{font-size:19px!important;line-height:1!important}
  #nav button span{display:block!important;font-size:9.5px!important;line-height:1.2!important;white-space:normal!important;text-align:center!important;overflow:visible!important}
  #nav button.active{background:#0b493d!important}
  .global-install-pulse{
    width:46px!important;height:46px!important;left:14px!important;
    bottom:calc(154px + env(safe-area-inset-bottom))!important;z-index:39!important;
    box-shadow:0 8px 20px rgba(0,0,0,.28)!important
  }
  .global-install-pulse span{font-size:22px!important}
}

/* v65 — mobile bottom navigation rebuilt as a full-width two-row dock */
@media(max-width:700px){
  body{padding-bottom:calc(166px + env(safe-area-inset-bottom))!important}
  #nav{
    box-sizing:border-box!important;
    position:fixed!important;
    inset:auto 0 0 0!important;
    transform:none!important;
    margin:0!important;
    width:100vw!important;
    max-width:100vw!important;
    min-width:100vw!important;
    height:auto!important;
    min-height:148px!important;
    display:grid!important;
    grid-template-columns:repeat(4,1fr)!important;
    grid-template-rows:repeat(2,66px)!important;
    grid-auto-flow:row!important;
    gap:0!important;
    overflow:hidden!important;
    padding:7px 6px calc(7px + env(safe-area-inset-bottom))!important;
    border-radius:22px 22px 0 0!important;
    background:#061f1a!important;
    border:1px solid rgba(221,182,90,.25)!important;
    border-bottom:0!important;
    z-index:100!important;
  }
  #nav button{
    box-sizing:border-box!important;
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    min-width:0!important;
    max-width:none!important;
    width:auto!important;
    height:62px!important;
    margin:0!important;
    padding:6px 2px!important;
    border:0!important;
    border-radius:15px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    overflow:hidden!important;
  }
  #nav button b{display:block!important;font-size:19px!important;line-height:20px!important;height:20px!important}
  #nav button span{display:block!important;width:100%!important;max-width:100%!important;font-size:10px!important;line-height:13px!important;white-space:normal!important;overflow:hidden!important;text-overflow:clip!important;text-align:center!important}
  #nav button.active{background:#0b493d!important}
  .global-install-pulse{
    position:fixed!important;
    left:12px!important;right:auto!important;
    bottom:calc(166px + env(safe-area-inset-bottom))!important;
    width:44px!important;height:44px!important;
    z-index:90!important;
  }
}


/* v73 — reader zoom must be controlled by JS; do not override the inline zoom width. */
#quran .mushaf-viewport img{max-width:none!important}

/* v81 — keep the Kaaba marker exactly centered in the Qibla dial. Earlier rules applied both transform and the individual translate property, shifting the marker twice. */
#qiblaPage .qibla-dial .kaaba-mark{left:50%!important;top:50%!important;translate:none!important;transform:translate(-50%,-50%)!important}
