*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}body{overflow:hidden;background:#07152d;color:#fff;transition:background 2s ease;color 1s ease}button,input,select{font:inherit}#sky{position:fixed;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:0;background:linear-gradient(#061126,#13284b);transition:background 2s ease}#sun,#moon{position:absolute;z-index:1;width:92px;height:92px;margin:-46px 0 0 -46px;transition:left 2s linear,top 2s linear,opacity 2s ease;pointer-events:none;opacity:0}#sun .sunCore{display:block;width:72px;height:72px;margin:10px;border-radius:50%;background:radial-gradient(circle at 38% 35%,#fffde1 0 12%,#fff3a0 31%,#ffd65c 62%,#f7a62c 82%,#df761a 100%);box-shadow:0 0 18px rgba(255,238,145,.95),0 0 42px rgba(255,191,72,.82),0 0 88px rgba(255,142,38,.46)}#moon .moonImage{display:block;width:86px;height:86px;margin:3px;object-fit:contain;filter:drop-shadow(0 0 9px rgba(220,230,255,.28));-webkit-filter:drop-shadow(0 0 9px rgba(220,230,255,.28))}#stars{position:absolute;left:0;top:0;width:100%;height:100%;opacity:.85;background-image:radial-gradient(circle at 12% 17%,#fff 0 1px,transparent 2px),radial-gradient(circle at 23% 8%,#fff 0 1px,transparent 2px),radial-gradient(circle at 35% 22%,#fff 0 1px,transparent 2px),radial-gradient(circle at 52% 9%,#fff 0 1px,transparent 2px),radial-gradient(circle at 67% 20%,#fff 0 1px,transparent 2px),radial-gradient(circle at 83% 11%,#fff 0 1px,transparent 2px),radial-gradient(circle at 92% 28%,#fff 0 1px,transparent 2px)}#app{position:relative;z-index:2;height:100%;min-height:100%;padding:14px 24px 16px;text-shadow:0 2px 8px rgba(0,0,0,.46);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column}header{position:relative;min-height:70px;display:flex;display:-webkit-flex;align-items:flex-start;-webkit-align-items:flex-start;justify-content:center;-webkit-justify-content:center}.brandwrap{text-align:center;max-width:720px;padding:0 120px}.brand{font-size:27px;font-weight:700;line-height:1.1}.brand-ar{font-size:22px;margin-top:3px;direction:rtl}.location{font-size:13px;opacity:.88;margin-top:5px}.topbtn{position:absolute;right:0;top:4px}.topbtn,.audioBtn,.closebtn,#testAthan,#testFajr{border:1px solid rgba(255,255,255,.42);background:rgba(3,17,35,.30);color:#fff;border-radius:10px;padding:10px 14px}main{flex:1;-webkit-flex:1;min-height:0;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column}.hero{text-align:center;flex:1;-webkit-flex:1;min-height:245px;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;align-items:center;-webkit-align-items:center;justify-content:center;-webkit-justify-content:center;padding-bottom:8px}.eyebrow{font-size:14px;letter-spacing:1.7px;opacity:.88}.nextname{font-size:46px;font-weight:700;margin-top:5px}.nexttime{font-size:68px;font-weight:300;line-height:1.02}.countdown{font-size:22px;margin:6px 0 12px}.audioBtn{font-weight:600;font-size:16px}.prayers{display:flex;display:-webkit-flex;gap:12px;width:100%;margin:0 auto 10px}.prayer{flex:1;-webkit-flex:1;text-align:center;padding:14px 5px 13px;border-radius:13px;border:1px solid rgba(255,255,255,.28);background:rgba(5,27,50,.30);box-shadow:0 5px 18px rgba(0,0,0,.14);min-height:103px}.prayer.current{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.78);box-shadow:0 7px 22px rgba(0,0,0,.18);transform:translateY(-4px)}.pname{font-size:17px;font-weight:700}.par{font-size:16px;direction:rtl;opacity:.94;margin-top:2px}.ptime{font-size:23px;margin-top:6px}.footerline{display:flex;display:-webkit-flex;justify-content:space-between;-webkit-justify-content:space-between;font-size:15px;opacity:.94;padding:2px 2px 0}.overlay{position:fixed;z-index:20;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.72);padding:14px}.hidden{display:none!important}.panel{max-width:820px;height:100%;margin:0 auto;background:#f4f6f8;color:#17212b;border-radius:12px;text-shadow:none;overflow:hidden}.panelhead{height:58px;padding:10px 16px;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;background:#fff;border-bottom:1px solid #d6dbe0}.panelhead h2{font-size:21px;margin:0}.closebtn{background:#e7eaed;color:#222;border:0;font-size:20px;padding:7px 12px}.scroll{height:calc(100% - 58px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:15px 18px 30px}.scroll h3{margin:14px 0 7px;color:#33495e;font-size:16px}.scroll label{display:block;font-size:13px;font-weight:600;margin:7px 0}.scroll input,.scroll select{width:100%;margin-top:4px;padding:10px;border:1px solid #b9c2ca;border-radius:7px;background:#fff;color:#17212b;min-height:40px}.twocol,.adjustgrid{display:flex;display:-webkit-flex;gap:10px}.twocol>*,.adjustgrid>*{flex:1;-webkit-flex:1}.adjustgrid{flex-wrap:wrap;-webkit-flex-wrap:wrap}.adjustgrid label{min-width:120px}.testbuttons{display:flex;display:-webkit-flex;gap:7px;align-items:end;-webkit-align-items:flex-end;padding-bottom:7px}.testbuttons button{color:#17212b;background:#fff;border-color:#aeb8c2}.primary{display:block;width:100%;margin-top:14px;padding:13px;border:0;border-radius:8px;background:#145a88;color:#fff;font-weight:700}.note{font-size:12px;color:#5b6570;line-height:1.4}.cycle-fajr #sky{background:linear-gradient(#17234b,#5c5274 58%,#d99073)}.cycle-sunrise #sky{background:linear-gradient(#6f7895,#f0a05e 62%,#ffd58a)}.cycle-day #sky{background:linear-gradient(#2d83c5,#85c9ed 72%,#d7f2ff)}.cycle-asr #sky{background:linear-gradient(#4b8fbe,#e7ae6b 78%,#f5cc86)}.cycle-sunset #sky{background:linear-gradient(#463557,#c85e50 58%,#f0a45e)}.cycle-night #sky{background:linear-gradient(#050d21,#152b50 68%,#24395b)}.cycle-minimal #sky{background:linear-gradient(#e8eef3,#cfdbe5)}.cycle-minimal{color:#17212b;text-shadow:none}.cycle-minimal .prayer,.cycle-minimal .topbtn,.cycle-minimal .audioBtn{color:#17212b;background:rgba(255,255,255,.68);border-color:rgba(0,0,0,.2)}
@media(max-height:650px){#app{padding-top:9px}.brand{font-size:23px}.brand-ar{font-size:19px}.hero{min-height:190px}.nextname{font-size:38px}.nexttime{font-size:56px}.countdown{font-size:19px;margin:4px 0 8px}.prayer{min-height:90px;padding:10px 4px}.ptime{font-size:20px}}
@media(max-width:900px){#app{padding:10px 14px 12px}.brandwrap{padding:0 100px}.brand{font-size:23px}.brand-ar{font-size:19px}.nextname{font-size:39px}.nexttime{font-size:58px}.prayers{gap:7px}.prayer{padding-left:3px;padding-right:3px}.ptime{font-size:20px}.topbtn{padding:9px 10px}.overlay{padding:7px}.panel{max-width:760px}}
/* V2.2 weather + landscape polish */
.weatherline{font-size:14px;font-weight:600;margin-top:3px;opacity:.96}.nextbadge{font-size:11px;letter-spacing:1.4px;border:1px solid rgba(255,255,255,.5);border-radius:10px;padding:3px 8px;margin-top:4px;opacity:.9}.hero{padding-top:0;transform:translateY(-2vh)}.nextname{font-size:50px}.nexttime{font-size:76px}.countdown{font-size:24px}.prayers{margin-bottom:14px}.prayer{min-height:112px;padding-top:16px}.prayer.next{border-color:#fff;background:rgba(255,255,255,.14);box-shadow:0 0 0 2px rgba(255,255,255,.18),0 7px 22px rgba(0,0,0,.18)}.prayer.current:before,.prayer.next:before{display:block;font-size:9px;letter-spacing:1.1px;font-weight:800;margin-bottom:2px}.prayer.current:before{content:'CURRENT'}.prayer.next:before{content:'NEXT'}
#clouds,#rain,#snow,#seasonFx{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 1.5s ease}#clouds i{position:absolute;width:180px;height:52px;border-radius:60px;background:rgba(240,245,250,.52);box-shadow:55px -20px 0 8px rgba(240,245,250,.45),110px 3px 0 -4px rgba(240,245,250,.46);animation:cloudDrift 42s linear infinite}#clouds i:nth-child(1){top:16%;left:-18%}#clouds i:nth-child(2){top:30%;left:34%;transform:scale(.72);animation-duration:55s}#clouds i:nth-child(3){top:9%;left:72%;transform:scale(.55);animation-duration:64s}@keyframes cloudDrift{from{margin-left:-8%}to{margin-left:115%}}
.weather-cloud #clouds{opacity:.72}.weather-overcast #clouds{opacity:1}.weather-rain #clouds,.weather-snow #clouds,.weather-storm #clouds{opacity:.92}.weather-rain #rain,.weather-storm #rain{opacity:.68;background-image:repeating-linear-gradient(105deg,transparent 0 22px,rgba(210,235,255,.58) 23px 25px,transparent 26px 44px);background-size:70px 70px;animation:rainFall .55s linear infinite}.weather-storm #rain{opacity:.9;animation-duration:.38s}.weather-snow #snow{opacity:.9;background-image:radial-gradient(circle,#fff 0 2px,transparent 3px),radial-gradient(circle,#fff 0 1.5px,transparent 2.5px),radial-gradient(circle,#fff 0 2.5px,transparent 3.5px);background-size:90px 90px,130px 130px,170px 170px;background-position:0 0,35px 20px,70px 45px;animation:snowFall 7s linear infinite}.weather-fog #sky:before{content:'';position:absolute;inset:0;background:linear-gradient(rgba(225,235,240,.30),rgba(225,235,240,.48));z-index:1}.season-fall #seasonFx{opacity:.38;background-image:radial-gradient(ellipse at center,#d98735 0 3px,transparent 4px),radial-gradient(ellipse at center,#b85b2d 0 3px,transparent 4px);background-size:120px 160px,170px 210px;animation:leafFall 16s linear infinite}.season-winter:not(.weather-snow) .horizon{background:rgba(215,230,240,.18)}.season-spring .horizon{background:rgba(26,72,48,.24)}.season-summer .horizon{background:rgba(18,72,46,.25)}@keyframes rainFall{from{background-position:0 -70px}to{background-position:-20px 0}}@keyframes snowFall{from{background-position:0 -90px,35px -110px,70px -125px}to{background-position:30px 0,5px 20px,100px 45px}}@keyframes leafFall{from{background-position:0 -160px,70px -210px}to{background-position:70px 0,0 0}}
@media(max-height:760px){.hero{transform:translateY(-1vh)}.nextname{font-size:44px}.nexttime{font-size:68px}.prayer{min-height:104px}}

/* V2.2.1 cleanup: static phone-style weather, no horizon/particles */
#clouds,#rain,#snow,#seasonFx,.horizon{display:none!important}
.prayer.next{border-color:rgba(255,255,255,.28);background:rgba(5,27,50,.30);box-shadow:0 5px 18px rgba(0,0,0,.14);transform:none}
.prayer.current{background:rgba(255,255,255,.24);border:2px solid rgba(255,255,255,.95);box-shadow:0 7px 24px rgba(0,0,0,.22);transform:translateY(-4px)}
.prayer.next:before{color:rgba(255,255,255,.88)}
.weatherline{display:inline-block;padding:4px 9px;border-radius:12px;background:rgba(5,27,50,.18);font-size:14px;font-weight:650;letter-spacing:.1px}
.weather-clear #sky{filter:none}
.weather-cloud #sky{filter:saturate(.88) brightness(.96)}
.weather-overcast #sky{filter:saturate(.62) brightness(.82)}
.weather-rain #sky,.weather-storm #sky{filter:saturate(.58) brightness(.72)}
.weather-snow #sky{filter:saturate(.55) brightness(1.05)}
.weather-fog #sky{filter:saturate(.45) brightness(.95)}
/* V2.2.2 refinements */
.prayer.next{border-color:rgba(255,255,255,.28);background:rgba(5,27,50,.30);box-shadow:0 5px 18px rgba(0,0,0,.14);transform:none}
.prayer.next:before{content:'NEXT';display:block;font-size:9px;letter-spacing:1.1px;font-weight:800;margin-bottom:2px;opacity:.72}
.footerline{margin:0 -24px -16px;padding:9px 24px 10px;background:rgba(3,17,35,.48);border-top:1px solid rgba(255,255,255,.16);font-weight:600;opacity:1;text-shadow:0 1px 4px rgba(0,0,0,.65)}

/* V2.3 consolidated footer/current-next rules */
.prayer.next{border:1px solid rgba(255,255,255,.28)!important;background:rgba(5,27,50,.30)!important;box-shadow:0 5px 18px rgba(0,0,0,.14)!important;transform:none!important}
.prayer.current{background:rgba(255,255,255,.24)!important;border:2px solid rgba(255,255,255,.95)!important;box-shadow:0 7px 24px rgba(0,0,0,.22)!important;transform:translateY(-4px)!important}
.footerline{box-sizing:border-box;display:flex;display:-webkit-flex;justify-content:space-between;-webkit-justify-content:space-between;align-items:center;-webkit-align-items:center;width:auto;min-height:38px;margin:0 -24px -16px;padding:9px 24px 10px;background:rgba(3,17,35,.58)!important;border-top:1px solid rgba(255,255,255,.18);font-size:15px;font-weight:600;opacity:1!important;text-shadow:0 1px 4px rgba(0,0,0,.75);z-index:5}
@media(max-width:900px){.footerline{margin-left:-14px;margin-right:-14px;margin-bottom:-12px;padding-left:14px;padding-right:14px}}
/* V2.4.2 audio controls */
.audioControls{display:flex;display:-webkit-flex;gap:10px;justify-content:center;-webkit-justify-content:center;flex-wrap:wrap}.audioBtn{cursor:pointer;min-width:142px}.audioBtn.enabled{background:rgba(24,108,66,.78);border-color:rgba(255,255,255,.85)}.audioBtn.disabled{background:rgba(90,32,32,.68)}.audioBtn.muted{background:rgba(104,74,20,.78)}#testAthan,#testFajr{cursor:pointer;background:#173b55;color:#fff;border-color:#315e79;opacity:1!important}#testAthan.playing,#testFajr.playing{background:#7b342f;border-color:#a85b54}.audioStatus{margin:8px 0 12px;padding:9px 12px;border-radius:8px;background:#e7edf2;color:#203544;font-weight:600}.nextbadge{display:none!important}
/* V2.4.3 compact status + daily reflection */
.headerWeather{position:absolute;left:0;top:4px;text-align:left;max-width:240px;text-shadow:0 2px 8px rgba(0,0,0,.46)}
.headerWeather .location{font-size:14px;font-weight:700;margin:0;opacity:.96}.headerWeather .weatherline{font-size:13px;margin-top:3px;opacity:.92}
.brandwrap .location,.brandwrap .weatherline{display:none}.audioControls{display:flex;display:-webkit-flex;gap:8px;justify-content:center;-webkit-justify-content:center}.audioBtn{font-size:13px;padding:7px 10px;border-radius:9px;min-width:0}.audioBtn.enabled{background:rgba(30,112,72,.78);border-color:rgba(255,255,255,.72)}.audioBtn.muted{background:rgba(104,73,38,.72)}
.dailyReflection{width:min(720px,92vw);margin:10px auto 0;padding:9px 16px 10px;border-top:1px solid rgba(255,255,255,.28);text-align:center}.dailyLabel{font-size:11px;letter-spacing:1.25px;text-transform:uppercase;opacity:.82}.dailyArabic{font-size:19px;line-height:1.55;direction:rtl;margin-top:3px;font-weight:600}.dailyEnglish{font-size:13px;line-height:1.35;opacity:.94;margin-top:2px}.dailySource{font-size:11px;opacity:.72;margin-top:3px}.hero{padding-bottom:2px}.countdown{margin-bottom:8px}
@media(max-width:700px){.headerWeather{max-width:150px}.headerWeather .location{font-size:12px}.headerWeather .weatherline{font-size:11px}.brandwrap{padding:0 90px}.dailyReflection{width:94vw;padding-left:8px;padding-right:8px}.dailyArabic{font-size:17px}.dailyEnglish{font-size:12px}}
@media(max-height:650px){.dailyReflection{margin-top:6px;padding-top:6px;padding-bottom:6px}.dailyArabic{font-size:16px}.dailyEnglish{font-size:11px}.dailySource{font-size:10px}}

/* V2.4.4: home screen is display-only; Athan control lives in Settings */
.athanToggleRow{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;gap:14px;margin:8px 0 12px;padding:11px 12px;border:1px solid #c8d0d7;border-radius:9px;background:#fff}.athanToggleRow span{display:block;font-size:14px}.athanToggleRow small{display:block;margin-top:3px;color:#66717b;font-size:11px;font-weight:400}.athanToggleRow .audioBtn{flex:0 0 auto;-webkit-flex:0 0 auto;color:#fff;text-shadow:none;min-width:104px;padding:9px 12px}.athanToggleRow .audioBtn.enabled{background:#28734f}.athanToggleRow .audioBtn.disabled{background:#7b4a4a}

/* V2.4.9 dynamic environment engine */
#clouds,#rain,#snow,#fog,#seasonFx{display:block!important;position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity 1.8s ease;-webkit-transition:opacity 1.8s ease}
#clouds{z-index:3}#rain,#snow,#fog,#seasonFx{z-index:4}#twinkleStars{position:absolute;left:0;top:0;width:100%;height:78%;z-index:0;pointer-events:none;opacity:0;transition:opacity 2s ease;-webkit-transition:opacity 2s ease}
#twinkleStars i{position:absolute;display:block;border-radius:50%;background:#fff;box-shadow:0 0 5px rgba(255,255,255,.9);opacity:.22;-webkit-animation:starTwinkle 3.2s ease-in-out infinite;animation:starTwinkle 3.2s ease-in-out infinite}
@-webkit-keyframes starTwinkle{0%,100%{opacity:.16;-webkit-transform:scale(.72)}48%{opacity:.96;-webkit-transform:scale(1.35)}70%{opacity:.38;-webkit-transform:scale(.88)}}
@keyframes starTwinkle{0%,100%{opacity:.16;transform:scale(.72)}48%{opacity:.96;transform:scale(1.35)}70%{opacity:.38;transform:scale(.88)}}
#clouds i{position:absolute;display:block;width:190px;height:54px;border-radius:60px;background:rgba(225,232,239,.58);box-shadow:55px -20px 0 8px rgba(225,232,239,.52),110px 3px 0 -4px rgba(225,232,239,.50);-webkit-animation:cloudDrift249 52s linear infinite;animation:cloudDrift249 52s linear infinite}#clouds i:nth-child(1){top:15%;left:-22%}#clouds i:nth-child(2){top:29%;left:30%;-webkit-transform:scale(.76);transform:scale(.76);-webkit-animation-duration:67s;animation-duration:67s}#clouds i:nth-child(3){top:9%;left:68%;-webkit-transform:scale(.58);transform:scale(.58);-webkit-animation-duration:79s;animation-duration:79s}
@-webkit-keyframes cloudDrift249{from{margin-left:-12%}to{margin-left:118%}}@keyframes cloudDrift249{from{margin-left:-12%}to{margin-left:118%}}
.weather-cloud #clouds{opacity:.48}.weather-overcast #clouds{opacity:.92}.weather-rain #clouds,.weather-snow #clouds,.weather-storm #clouds{opacity:.86}
.weather-rain #rain,.weather-storm #rain{opacity:.72;background-image:repeating-linear-gradient(105deg,transparent 0 24px,rgba(210,235,255,.64) 25px 27px,transparent 28px 48px);background-size:76px 76px;-webkit-animation:rain249 .58s linear infinite;animation:rain249 .58s linear infinite}.weather-storm #rain{opacity:.92;-webkit-animation-duration:.38s;animation-duration:.38s}
@-webkit-keyframes rain249{from{background-position:0 -76px}to{background-position:-22px 0}}@keyframes rain249{from{background-position:0 -76px}to{background-position:-22px 0}}
.weather-snow #snow{opacity:.92;background-image:radial-gradient(circle,#fff 0 2px,transparent 3px),radial-gradient(circle,#fff 0 1.5px,transparent 2.5px),radial-gradient(circle,#fff 0 2.5px,transparent 3.5px);background-size:90px 90px,130px 130px,175px 175px;background-position:0 0,35px 20px,70px 45px;-webkit-animation:snow249 7s linear infinite;animation:snow249 7s linear infinite}@-webkit-keyframes snow249{from{background-position:0 -90px,35px -110px,70px -130px}to{background-position:30px 0,5px 20px,100px 45px}}@keyframes snow249{from{background-position:0 -90px,35px -110px,70px -130px}to{background-position:30px 0,5px 20px,100px 45px}}
.weather-fog #fog{opacity:.72;background:linear-gradient(to bottom,rgba(225,235,240,.12),rgba(225,235,240,.48) 45%,rgba(225,235,240,.28));}
.season-fall.weather-clear #seasonFx,.season-fall.weather-cloud #seasonFx{opacity:.24;background-image:radial-gradient(ellipse at center,#d98735 0 3px,transparent 4px),radial-gradient(ellipse at center,#b85b2d 0 3px,transparent 4px);background-size:150px 190px,210px 250px;-webkit-animation:leaves249 19s linear infinite;animation:leaves249 19s linear infinite}@-webkit-keyframes leaves249{from{background-position:0 -190px,90px -250px}to{background-position:85px 0,10px 0}}@keyframes leaves249{from{background-position:0 -190px,90px -250px}to{background-position:85px 0,10px 0}}
.weather-overcast #stars,.weather-rain #stars,.weather-snow #stars,.weather-storm #stars,.weather-fog #stars{opacity:0!important}.weather-overcast #twinkleStars,.weather-rain #twinkleStars,.weather-snow #twinkleStars,.weather-storm #twinkleStars,.weather-fog #twinkleStars{opacity:0!important}
/* V2.4.10 corrective sky */
#stars{background:none!important;height:78%;z-index:0;pointer-events:none}
#stars i{position:absolute;display:block;border-radius:50%;background:rgba(255,255,255,.96);box-shadow:0 0 2px rgba(210,225,255,.45)}
#twinkleStars i{background:rgba(255,255,255,.98);box-shadow:0 0 4px rgba(235,242,255,.82),0 0 8px rgba(205,222,255,.32)}
/* Autumn is a seasonal accent, not a field of orange dots. Keep it out of the night sky. */
.season-fall #seasonFx{background:none!important;animation:none!important;-webkit-animation:none!important;opacity:0!important}
.season-fall.cycle-day #seasonFx,.season-fall.cycle-asr #seasonFx,.season-fall.cycle-sunrise #seasonFx{opacity:.28!important}
#seasonFx i{position:absolute;top:-8%;width:9px;height:15px;border-radius:80% 15% 80% 15%;background:rgba(173,91,39,.78);transform:rotate(35deg);-webkit-transform:rotate(35deg);-webkit-animation:leaf2410 16s linear infinite;animation:leaf2410 16s linear infinite}
#seasonFx i:nth-child(3n){background:rgba(199,126,47,.72);width:8px;height:13px}#seasonFx i:nth-child(3n+1){background:rgba(143,71,36,.72)}
@-webkit-keyframes leaf2410{0%{-webkit-transform:translate3d(0,-8vh,0) rotate(0deg)}50%{-webkit-transform:translate3d(35px,48vh,0) rotate(210deg)}100%{-webkit-transform:translate3d(-20px,108vh,0) rotate(430deg)}}
@keyframes leaf2410{0%{transform:translate3d(0,-8vh,0) rotate(0deg)}50%{transform:translate3d(35px,48vh,0) rotate(210deg)}100%{transform:translate3d(-20px,108vh,0) rotate(430deg)}}
/* Rain is thin translucent streaks, not circular droplets. */
.weather-rain #rain,.weather-storm #rain{background-image:repeating-linear-gradient(102deg,transparent 0 31px,rgba(205,226,244,.42) 32px 33px,transparent 34px 62px)!important;background-size:94px 94px!important;filter:blur(.15px)}
/* V2.5.0 Islamic companion features */
.topActions{position:absolute;right:0;top:0;display:flex;display:-webkit-flex;gap:7px}.topActions .topbtn{position:static}.smalltop{padding:9px 12px;font-size:13px}.hijriDate{display:block;font-size:11px;opacity:.78;margin-top:2px;direction:rtl}.featureOverlay{position:fixed;z-index:100;inset:0;background:rgba(2,10,22,.94);padding:18px;box-sizing:border-box;color:#fff}.featureOverlay.hidden{display:none}.featurePanel{height:100%;max-width:1050px;margin:auto;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:#0b1d35;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;overflow:hidden}.featureHead{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.16)}.featureHead h2{margin:0;font-size:22px}.featureHead small{opacity:.72}.quranToolbar,.adhkarTabs{display:flex;display:-webkit-flex;gap:8px;padding:10px 14px;background:rgba(255,255,255,.05);flex-wrap:wrap}.quranToolbar select{min-width:260px;flex:1}.quranToolbar button,.adhkarTabs button{background:#173b55;color:#fff;border:1px solid #41647d;border-radius:7px;padding:8px 12px}.quranContent,.adhkarContent{flex:1;-webkit-flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px 7%;}.surahTitle{text-align:center;font-size:24px;margin:4px 0 18px}.ayah{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.09)}.ayahAr{font-size:27px;line-height:2.05;direction:rtl;text-align:right}.ayahEn{font-size:14px;line-height:1.55;opacity:.82;margin-top:5px}.ayahNum{display:inline-block;font-size:11px;opacity:.65;margin-left:7px}.quranCredit{padding:8px 14px;font-size:10px;opacity:.58;border-top:1px solid rgba(255,255,255,.1)}.adhkarTabs button.active{background:#2b6a55}.dhikrCard{margin:0 0 14px;padding:16px;border-radius:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}.dhikrAr{direction:rtl;text-align:right;font-size:24px;line-height:1.8}.dhikrEn{font-size:13px;opacity:.82;margin-top:8px}.dhikrCount{font-size:11px;opacity:.65;margin-top:7px}.focus-prayer .dailyReflection{opacity:.35}.focus-prayer .nextname{text-shadow:0 0 18px rgba(255,255,255,.35)}
@media(max-width:760px){.topActions{gap:4px}.smalltop{font-size:11px;padding:7px 8px}.quranContent,.adhkarContent{padding:14px 4%}.ayahAr{font-size:23px}.featureOverlay{padding:6px}.quranToolbar select{min-width:180px}}
/* V2.5.1 compact navigation + companion flows */
.topActions{top:3px;gap:5px}.topActions .smalltop{padding:7px 9px;font-size:12px;border-radius:9px;white-space:nowrap;background:rgba(3,17,35,.24)}
.featureBack{background:#173b55;color:#fff;border:1px solid #41647d;border-radius:8px;padding:8px 11px;margin-right:10px}.featureHeadLeft{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center}.quranWelcome{padding:14px 7% 0}.continueCard{display:flex;display:-webkit-flex;justify-content:space-between;-webkit-justify-content:space-between;align-items:center;-webkit-align-items:center;gap:12px;padding:13px 15px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);border-radius:10px}.continueCard strong{display:block;font-size:16px}.continueCard small{opacity:.72}.continueCard button{background:#2b6a55;color:#fff;border:0;border-radius:7px;padding:9px 12px}.adhkarIntro{text-align:center;padding:12px 12px 2px;opacity:.8}.dhikrStage{max-width:760px;margin:10px auto;text-align:center;padding:24px 20px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14)}.dhikrStage .dhikrAr{text-align:center;font-size:31px}.dhikrStage .dhikrEn{font-size:15px}.dhikrSource{font-size:11px;opacity:.58;margin-top:9px}.counterButton{display:block;width:180px;height:90px;margin:20px auto 8px;border-radius:16px;border:1px solid rgba(255,255,255,.28);background:#245d4c;color:#fff;font-size:28px;font-weight:700}.counterHint{font-size:11px;opacity:.62}.adhkarNav{text-align:center;margin-top:14px}.adhkarNav button{margin:0 4px;background:#173b55;color:#fff;border:1px solid #41647d;border-radius:7px;padding:8px 13px}
@media(max-width:900px){.brandwrap{padding:0 185px 0 100px}.topActions .smalltop{font-size:10px;padding:6px 7px}.topActions{gap:3px}}
@media(max-width:650px){header{min-height:105px}.brandwrap{padding:0 4px;margin-top:42px}.headerWeather{max-width:42%}.topActions{right:0}.topActions .smalltop{font-size:0;padding:7px 8px}.topActions .smalltop .navShort{font-size:12px}.quranWelcome{padding:10px 4% 0}.continueCard{align-items:flex-start;-webkit-align-items:flex-start;flex-direction:column;-webkit-flex-direction:column}.dhikrStage .dhikrAr{font-size:26px}}

/* V2.5.3 desktop pointer/hover feedback */
.topActions button,.quranToolbar button,.adhkarTabs button,.featureBack,.continueCard button,.counterButton,.adhkarNav button,.primary,.audioBtn,.closebtn,#testAthan,#testFajr{cursor:pointer;-webkit-transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.topActions .topbtn:hover,.topActions .topbtn:focus{background:rgba(35,112,153,.78);border-color:rgba(255,255,255,.82);box-shadow:0 0 0 2px rgba(255,255,255,.10),0 4px 14px rgba(0,0,0,.22);transform:translateY(-1px)}
.quranToolbar button:hover,.adhkarTabs button:hover,.featureBack:hover,.adhkarNav button:hover{background:#245f82;border-color:#7fa8c1}.continueCard button:hover,.counterButton:hover,.primary:hover{filter:brightness(1.14)}
button:active{transform:translateY(1px)}

/* V2.5.4 Qur'an and Adhkar audio */
.quranAudioBar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 12px;padding:10px 12px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(5,20,42,.38)}
.quranAudioBar button,.mediaPlay{cursor:pointer;border:1px solid rgba(120,200,255,.45);background:rgba(15,75,125,.72);color:#fff;border-radius:10px;padding:9px 13px;font-weight:700}
.quranAudioBar button:hover,.mediaPlay:hover{background:rgba(35,125,195,.9);border-color:rgba(190,230,255,.9)}
#quranAudioStatus{font-size:13px;opacity:.86}
.ayah.playingAyah{background:rgba(55,145,205,.18);box-shadow:inset 3px 0 0 rgba(150,220,255,.75)}
#dhikrListen{display:block;margin:12px auto 14px;min-width:170px}

/* V2.5.5 hosted Qur'an reciter selector */
.reciterLabel{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700}.reciterLabel select{max-width:260px;padding:8px 10px;border-radius:9px;background:rgba(3,17,35,.72);color:#fff;border:1px solid rgba(255,255,255,.28);cursor:pointer}.quranAudioBar button,.quranToolbar button,.topActions button,.adhkarTabs button{cursor:pointer}


/* V2.5.6 consolidated realistic weather renderer -- no cartoon cloud objects */
#clouds{position:absolute;inset:-8%;pointer-events:none;opacity:0;z-index:0;transition:opacity 1.8s ease,filter 1.8s ease;background:none!important;animation:none!important;-webkit-animation:none!important}
#clouds i{display:none!important}
/* Broad, irregular atmospheric layers. No rounded cloud pills/circles. */
.weather-cloud #clouds{opacity:.64;background:
 linear-gradient(172deg,rgba(255,255,255,.00) 0 16%,rgba(235,241,245,.34) 25%,rgba(139,154,168,.20) 37%,rgba(255,255,255,.00) 52%),
 linear-gradient(188deg,rgba(255,255,255,.00) 8%,rgba(213,222,230,.27) 31%,rgba(90,106,122,.20) 45%,rgba(255,255,255,.00) 64%)!important;filter:blur(10px)}
.weather-overcast #sky{background:linear-gradient(#6d7882,#8e989e 48%,#b2aaa0)!important}.weather-overcast #clouds{opacity:.92;background:
 linear-gradient(168deg,rgba(48,57,65,.38) 4%,rgba(168,178,184,.55) 28%,rgba(79,91,101,.36) 43%,rgba(204,210,211,.42) 61%,rgba(83,92,99,.28) 76%,rgba(255,255,255,.05) 94%)!important;filter:blur(13px)}
.weather-rain #sky,.weather-storm #sky{background:linear-gradient(#354653,#56636b 55%,#777d7d)!important}.weather-rain #clouds,.weather-storm #clouds{opacity:.96;background:linear-gradient(170deg,rgba(25,34,42,.52),rgba(95,107,115,.62) 34%,rgba(42,53,61,.48) 53%,rgba(136,143,145,.42) 76%,rgba(44,53,58,.32))!important;filter:blur(14px)}
.weather-snow #sky{background:linear-gradient(#83919c,#aeb8bd 58%,#d1d2ce)!important}.weather-snow #clouds{opacity:.9;background:linear-gradient(170deg,rgba(92,105,116,.38),rgba(204,211,214,.60) 38%,rgba(118,130,138,.35) 61%,rgba(232,233,229,.32))!important;filter:blur(13px)}
.weather-fog #sky{background:linear-gradient(#87939b,#aab2b5 58%,#c7c6c0)!important}.weather-fog #clouds{opacity:.58;background:linear-gradient(rgba(238,242,242,.18),rgba(219,225,225,.50) 48%,rgba(242,241,235,.34))!important;filter:blur(18px)}
/* Natural sun: bright core only when weather permits; no dark/eclipsed disc. */
#sun .sunCore{background:radial-gradient(circle,#fff 0 16%,#fff9c9 28%,#ffe47e 52%,rgba(255,193,75,.72) 70%,rgba(255,179,65,0) 72%)!important;box-shadow:0 0 24px rgba(255,244,184,.82),0 0 62px rgba(255,203,104,.55)!important}
.weather-overcast #sun,.weather-rain #sun,.weather-snow #sun,.weather-storm #sun,.weather-fog #sun{opacity:0!important}
.weather-cloud #sun{filter:blur(1px);-webkit-filter:blur(1px)}
.weather-overcast #moon,.weather-rain #moon,.weather-snow #moon,.weather-storm #moon,.weather-fog #moon{opacity:0!important}
.weather-cloud #moon{filter:opacity(.55);-webkit-filter:opacity(.55)}
/* Keep precipitation/fog subtle and photographic rather than icon-like. */
.weather-rain #rain,.weather-storm #rain{opacity:.46!important;background-image:repeating-linear-gradient(104deg,transparent 0 34px,rgba(220,235,245,.34) 35px 36px,transparent 37px 70px)!important;background-size:110px 110px!important}
.weather-snow #snow{opacity:.55!important}
.weather-fog #fog{opacity:.58!important}

/* V2.5.7 PHOTO WEATHER ENGINE: photographic sky layer replaces illustrated clouds/sun. */
#weatherPhoto{position:absolute;left:0;top:0;right:0;bottom:0;z-index:0;background-size:cover;background-position:center center;background-repeat:no-repeat;opacity:1;transition:background-image 1s ease,filter 1s ease}
#clouds{display:none!important;background:none!important;opacity:0!important}
#sun{display:none!important}
#sky{background:#102238!important}
#stars,#twinkleStars{opacity:0!important}
.weather-overcast #weatherPhoto{filter:saturate(.72) brightness(.82)}
.weather-rain #weatherPhoto,.weather-storm #weatherPhoto{filter:saturate(.70) brightness(.68)}
.weather-snow #weatherPhoto{filter:saturate(.55) brightness(.90)}
.weather-fog #weatherPhoto{filter:saturate(.55) brightness(.92) contrast(.82)}
.weather-clear #weatherPhoto{filter:saturate(.98) brightness(.88)}
.weather-cloud #weatherPhoto{filter:saturate(.90) brightness(.86)}
#moon{z-index:3}
#rain,#snow,#fog,#seasonFx{z-index:4}
/* No seasonal cartoon particles in photo-weather mode. */
#seasonFx{display:none!important}

/* V2.5.9: local weather imagery, no cartoon cloud/sun layers */
#clouds,#sun{display:none!important}

/* V2.6.0 dynamic weather + post-Athan */
#weatherPhoto{animation:weatherDrift var(--wind-duration,55s) ease-in-out infinite alternate;transform:scale(1.05);will-change:transform}
@keyframes weatherDrift{from{transform:scale(1.05) translate3d(-1.2%,0,0)}to{transform:scale(1.08) translate3d(1.2%,-.5%,0)}}
#lightning{display:block;position:absolute;inset:0;z-index:5;pointer-events:none;opacity:0;background:rgba(235,245,255,.95)}
.weather-storm #lightning{animation:lightningFlash 8s infinite}
@keyframes lightningFlash{0%,72%,75%,100%{opacity:0}73%{opacity:.52}73.4%{opacity:.05}74%{opacity:.78}74.5%{opacity:0}}
.weather-rain #rain,.weather-storm #rain{transform:skewX(-7deg);animation-duration:.48s!important;background-image:repeating-linear-gradient(103deg,transparent 0 38px,rgba(225,239,250,.46) 39px 40px,transparent 41px 78px)!important}
.weather-snow #snow{filter:blur(.15px);animation-duration:8s!important}
.weather-fog #fog{animation:fogMove 18s ease-in-out infinite alternate}
@keyframes fogMove{from{transform:translateX(-2%);opacity:.42}to{transform:translateX(2%);opacity:.68}}
.postAthanDua{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:rgba(3,12,24,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.postAthanDua.hidden{display:none}.postAthanCard{width:min(900px,88vw);padding:34px 40px;border:1px solid rgba(255,255,255,.28);border-radius:20px;background:rgba(7,22,39,.88);box-shadow:0 20px 70px rgba(0,0,0,.42);text-align:center;color:#fff}.postAthanLabel{font-size:13px;letter-spacing:.14em;opacity:.75;margin-bottom:18px}.postAthanArabic{font-size:34px;line-height:1.9;font-family:Tahoma,Arial,sans-serif}.postAthanEnglish{font-size:17px;line-height:1.6;margin:14px auto;max-width:760px;opacity:.92}.postAthanSource{font-size:13px;opacity:.65;margin-bottom:18px}.postAthanCard button{padding:10px 18px;border-radius:10px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff}

.weather-overcast #weatherPhoto{filter:saturate(.78) brightness(.96) contrast(1.08)!important}
.weather-rain #weatherPhoto,.weather-storm #weatherPhoto{filter:saturate(.76) brightness(.78) contrast(1.08)!important}

/* V2.6.1 final weather overrides: remove cartoon cloud geometry */
#clouds{display:none!important}
.weather-rain #weatherPhoto,.weather-storm #weatherPhoto{filter:saturate(.86) brightness(.76) contrast(1.05)!important}
.weather-rain #rain,.weather-storm #rain{display:block!important;opacity:.28!important;background-image:repeating-linear-gradient(100deg,transparent 0 58px,rgba(225,238,247,.42) 59px 60px,transparent 61px 118px)!important;background-size:160px 160px!important;filter:blur(.3px);-webkit-animation:rain261 .72s linear infinite!important;animation:rain261 .72s linear infinite!important}
@-webkit-keyframes rain261{from{background-position:0 -160px}to{background-position:-28px 0}}@keyframes rain261{from{background-position:0 -160px}to{background-position:-28px 0}}

/* V2.7.0 photographic weather renderer */
#weatherPhoto{opacity:1!important;background-size:cover!important;background-position:center center!important;transform:scale(1.025);-webkit-animation:weather270 var(--wind-duration,55s) ease-in-out infinite alternate;animation:weather270 var(--wind-duration,55s) ease-in-out infinite alternate}
@-webkit-keyframes weather270{from{-webkit-transform:scale(1.025) translateX(-.6%)}to{-webkit-transform:scale(1.045) translateX(.6%)}}
@keyframes weather270{from{transform:scale(1.025) translateX(-.6%)}to{transform:scale(1.045) translateX(.6%)}}
#clouds{display:none!important}
.weather-clear #weatherPhoto,.weather-cloud #weatherPhoto{filter:none!important;-webkit-filter:none!important}
.weather-overcast #weatherPhoto{filter:saturate(.88) brightness(.82) contrast(1.08)!important;-webkit-filter:saturate(.88) brightness(.82) contrast(1.08)!important}
.weather-rain #weatherPhoto,.weather-storm #weatherPhoto{filter:saturate(.88) brightness(.76) contrast(1.08)!important;-webkit-filter:saturate(.88) brightness(.76) contrast(1.08)!important}
.weather-snow #weatherPhoto{filter:saturate(.78) brightness(.9) contrast(1.04)!important;-webkit-filter:saturate(.78) brightness(.9) contrast(1.04)!important}
.weather-fog #weatherPhoto{filter:saturate(.58) brightness(.92) contrast(.82)!important;-webkit-filter:saturate(.58) brightness(.92) contrast(.82)!important}
.weather-rain #rain,.weather-storm #rain{display:block!important;opacity:.36!important;background-image:repeating-linear-gradient(100deg,transparent 0 72px,rgba(225,239,249,.45) 73px 74px,transparent 75px 145px)!important;background-size:190px 190px!important;-webkit-animation:rain270 .72s linear infinite!important;animation:rain270 .72s linear infinite!important;transform:translateX(var(--rain-drift,0px)) skewX(-5deg)!important}
@-webkit-keyframes rain270{from{background-position:0 -190px}to{background-position:0 0}}
@keyframes rain270{from{background-position:0 -190px}to{background-position:0 0}}
.weather-storm #lightning{display:block!important;opacity:0;-webkit-animation:lightning270 9s infinite;animation:lightning270 9s infinite;background:rgba(235,245,255,.72)}
@-webkit-keyframes lightning270{0%,91%,94%,100%{opacity:0}92%{opacity:.34}93%{opacity:.08}}
@keyframes lightning270{0%,91%,94%,100%{opacity:0}92%{opacity:.34}93%{opacity:.08}}
.weather-fog #fog{display:block!important;opacity:.36!important;background:linear-gradient(90deg,rgba(230,236,238,.16),rgba(240,244,244,.38),rgba(222,229,231,.18));background-size:180% 100%;-webkit-animation:fog270 22s ease-in-out infinite alternate;animation:fog270 22s ease-in-out infinite alternate}
@-webkit-keyframes fog270{from{background-position:0 0}to{background-position:100% 0}}
@keyframes fog270{from{background-position:0 0}to{background-position:100% 0}}

/* V2.7.1 targeted corrections: realistic canvas rain + persistent Qur'an dock */
#rain{display:none!important;background:none!important;animation:none!important;-webkit-animation:none!important}
#rainCanvas{display:block;position:absolute;left:0;top:0;width:100%;height:100%;z-index:5;pointer-events:none;opacity:0;transition:opacity .7s ease;-webkit-transition:opacity .7s ease}
.weather-rain #clouds,.weather-storm #clouds{opacity:.20!important;background:none!important;filter:none!important;-webkit-filter:none!important}
.quranHomeDock{margin:8px 12px 12px;padding:10px 16px;border:1px solid rgba(160,205,235,.38);border-radius:14px;background:rgba(4,23,39,.88);display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;gap:18px;box-shadow:0 7px 24px rgba(0,0,0,.22)}
.quranHomeDock.hidden{display:none!important}.dockInfo{min-width:0;flex:1;-webkit-flex:1}.dockSurah{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dockReciter{font-size:11px;opacity:.78;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dockProgress{height:4px;background:rgba(255,255,255,.15);border-radius:5px;margin-top:7px;overflow:hidden}.dockProgress>div{height:100%;width:0;background:rgba(84,188,244,.95)}.dockTime{font-size:10px;opacity:.72;margin-top:3px}.dockControls{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;gap:8px}.dockControls button{width:42px;height:42px;border-radius:50%;border:1px solid rgba(180,220,245,.38);background:rgba(15,65,100,.72);color:#fff;font-size:15px}.dockControls .dockPlay{width:50px;height:50px;background:#177ddd;font-size:20px}
@media(max-width:760px){.quranHomeDock{margin:6px;padding:8px 10px;gap:8px}.dockSurah{font-size:12px}.dockReciter{font-size:9px}.dockControls{gap:4px}.dockControls button{width:34px;height:34px;font-size:12px}.dockControls .dockPlay{width:40px;height:40px;font-size:16px}}

/* V2.7.2 layout-only header relocation: functionality unchanged */
.footerline{display:none!important}
.headerWeather .headerClock{font-size:13px;font-weight:600;margin-top:4px;opacity:.92}
.topRight{position:absolute;right:0;top:3px;text-align:right;max-width:390px}
.topRight .topActions{position:static;display:flex;display:-webkit-flex;justify-content:flex-end;-webkit-justify-content:flex-end;gap:5px}
.topRight .headerDate{margin-top:7px;font-size:12px;font-weight:600;line-height:1.25;opacity:.88;text-shadow:0 2px 8px rgba(0,0,0,.58)}
.topRight .headerDate .hijriDate{font-size:10px;margin-top:2px;opacity:.78;direction:rtl}
@media(max-width:900px){.topRight{max-width:330px}.topRight .headerDate{font-size:10px;margin-top:5px}.headerWeather .headerClock{font-size:11px}.topRight .topActions{gap:3px}}
@media(max-width:650px){.topRight{right:0;max-width:54%}.topRight .headerDate{font-size:9px;line-height:1.2}.topRight .headerDate .hijriDate{font-size:8px}.headerWeather .headerClock{font-size:10px}}
/* V2.7.3 layout-only refinement: city/state + weather same row, clock beneath */
.headerWeather .locationWeatherRow{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;gap:10px;white-space:nowrap}
.headerWeather .locationWeatherRow .location,.headerWeather .locationWeatherRow .weatherline{display:inline-block;margin:0}
.headerWeather .locationWeatherRow .weatherline{margin-top:0}
.headerWeather{max-width:none}
.headerWeather .headerClock{margin-top:4px}
@media(max-width:700px){.headerWeather{max-width:48%}.headerWeather .locationWeatherRow{gap:6px;white-space:normal;-webkit-flex-wrap:wrap;flex-wrap:wrap}.headerWeather .locationWeatherRow .weatherline{margin-top:0}}

/* V2.7.4 stabilization: force requested two-line left header. */
.headerWeather{max-width:none!important;width:auto!important}
.headerWeather .locationWeatherRow{display:-webkit-flex!important;display:flex!important;-webkit-flex-direction:row!important;flex-direction:row!important;-webkit-flex-wrap:nowrap!important;flex-wrap:nowrap!important;-webkit-align-items:center!important;align-items:center!important;white-space:nowrap!important;gap:10px!important}
.headerWeather .locationWeatherRow .location,.headerWeather .locationWeatherRow .weatherline{display:block!important;margin:0!important;white-space:nowrap!important}
.headerWeather .headerClock{display:block!important;margin-top:5px!important}
@media(max-width:700px){.headerWeather{max-width:none!important}.headerWeather .locationWeatherRow{-webkit-flex-wrap:nowrap!important;flex-wrap:nowrap!important;gap:6px!important}}

/* Recovery: iOS 10 compatibility for photographic weather layer */
#weatherPhoto{left:0!important;top:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important;-webkit-background-size:cover!important;background-size:cover!important;}

/* V3.0 Milestone 1 — data-driven weather environment */
.wx-night #sky{background:radial-gradient(ellipse at 50% 105%,#173250 0,#0a1a31 38%,#040b18 72%,#020611 100%)!important}
.wx-night.weather-clear #weatherPhoto{background-image:none!important;opacity:0!important}
.wx-night.weather-clear #stars{opacity:.82!important}
.wx-night.weather-clear #twinkleStars{opacity:.72!important}
.wx-night.weather-cloud #stars{opacity:.32!important}.wx-night.weather-cloud #twinkleStars{opacity:.20!important}
.wx-night.weather-cloud #weatherPhoto{opacity:.82!important;filter:saturate(.65) brightness(.48) contrast(1.12)!important;-webkit-filter:saturate(.65) brightness(.48) contrast(1.12)!important}
.wx-night.weather-overcast #weatherPhoto{filter:saturate(.55) brightness(.46) contrast(1.12)!important;-webkit-filter:saturate(.55) brightness(.46) contrast(1.12)!important}
.wx-night.weather-rain #weatherPhoto,.wx-night.weather-storm #weatherPhoto{filter:saturate(.62) brightness(.43) contrast(1.14)!important;-webkit-filter:saturate(.62) brightness(.43) contrast(1.14)!important}
.wx-night.weather-fog #weatherPhoto{filter:saturate(.42) brightness(.52) contrast(.86)!important;-webkit-filter:saturate(.42) brightness(.52) contrast(.86)!important}
.wx-day.weather-clear #weatherPhoto{filter:saturate(1.04) brightness(1.0) contrast(1.02)!important;-webkit-filter:saturate(1.04) brightness(1.0) contrast(1.02)!important}
.wx-day.weather-cloud #weatherPhoto{opacity:.94!important;filter:saturate(.94) brightness(.94) contrast(1.04)!important;-webkit-filter:saturate(.94) brightness(.94) contrast(1.04)!important}
.weather-clear #rainCanvas,.weather-clear #rain,.weather-clear #snow,.weather-clear #fog,.weather-clear #lightning,.weather-cloud #rainCanvas,.weather-cloud #rain,.weather-cloud #snow,.weather-cloud #fog,.weather-cloud #lightning{display:none!important}
#weatherPhoto{-webkit-animation-duration:var(--wind-duration,55s)!important;animation-duration:var(--wind-duration,55s)!important}
@media (max-width:1100px){#weatherPhoto{transform:scale(1.015)!important;-webkit-transform:scale(1.015)!important}.wx-night.weather-clear #twinkleStars{opacity:.48!important}}

/* V3 Milestone 2: full app shell */
main{padding-bottom:112px}
.bottomNav{position:fixed;left:22px;right:22px;bottom:16px;z-index:42;display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;gap:8px;padding:9px 12px;border:1px solid rgba(255,255,255,.28);border-radius:22px;background:rgba(5,18,29,.78);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 12px 38px rgba(0,0,0,.28)}
.navItem{-webkit-box-flex:1;flex:1 1 0;min-width:0;min-height:66px;border:1px solid transparent;border-radius:15px;background:transparent;color:#fff;font-size:14px;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;gap:4px}.navItem:active,.navItem.active{background:rgba(64,166,111,.18);border-color:rgba(121,231,154,.32)}.navIcon{font-size:25px;line-height:1}.weatherTap{border:0;background:transparent;color:inherit;padding:0;font:inherit;cursor:pointer;text-align:left}.topRight{padding-top:8px}.compactFeature{max-width:780px;max-height:82vh}.infoGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px}.infoTile{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);border-radius:16px;padding:16px}.infoTile small{display:block;opacity:.68;margin-bottom:6px}.infoTile strong{font-size:25px}.qiblaView{text-align:center;padding:28px}.qiblaCompass{width:230px;height:230px;border:2px solid rgba(255,255,255,.5);border-radius:50%;margin:8px auto 22px;position:relative;background:radial-gradient(circle,rgba(255,255,255,.12),rgba(255,255,255,.02))}.qiblaCompass:before{content:'N';position:absolute;top:10px;left:0;right:0;font-weight:700}.qiblaNeedle{position:absolute;left:50%;top:50%;margin:-91px 0 0 -13px;font-size:27px;transform-origin:13px 91px;color:#a9efbd}.qiblaKaaba{position:absolute;left:50%;top:50%;margin:-15px 0 0 -12px;font-size:25px}.qiblaBearing{font-size:30px;font-weight:700}.qiblaLocation,.featureNote{opacity:.75;margin-top:8px}.calendarPanel{max-width:900px}.calendarSummary{font-size:20px;padding:14px 18px;text-align:center}.calendarGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;padding:8px 18px}.calCell{min-height:54px;border:1px solid rgba(255,255,255,.13);border-radius:10px;padding:7px;text-align:center;background:rgba(255,255,255,.045)}.calHead{min-height:auto;font-size:12px;opacity:.7;border:0;background:none}.calToday{border-color:#a9efbd;background:rgba(86,181,116,.18)}.calHijri{font-size:10px;opacity:.62;margin-top:3px}.calendarPrayers{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:14px 18px 24px}.calPrayer{border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:10px;text-align:center;background:rgba(255,255,255,.05)}.calPrayer strong{display:block;margin-bottom:5px}
@media(max-width:700px){main{padding-bottom:92px}.bottomNav{left:7px;right:7px;bottom:7px;padding:5px;gap:2px;border-radius:17px}.navItem{min-height:58px;font-size:10px;padding:4px 2px}.navIcon{font-size:20px}.infoGrid{grid-template-columns:1fr 1fr;padding:10px}.calendarGrid{padding:6px}.calCell{min-height:44px;padding:4px;font-size:12px}.calendarPrayers{grid-template-columns:repeat(2,1fr);padding:10px}}

/* V3 Milestone 3: persistent application screens */
.featureOverlay{z-index:40;top:0;left:0;right:0;bottom:0;padding:18px 22px 112px;background:rgba(2,10,22,.88);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.featurePanel.appScreenPanel{width:100%;max-width:none;height:100%;margin:0;border-radius:22px;background:rgba(7,25,44,.90);box-shadow:0 20px 70px rgba(0,0,0,.30)}
.featureHead{min-height:58px;padding:12px 22px}.featureHead h2{font-size:25px}.featureHead small{font-size:12px}
.bottomNav{z-index:120}
.overlay{padding-bottom:110px}.overlay .panel{max-height:calc(100vh - 135px)}
.quranWelcome{padding:12px 18px}.continueCard{border-radius:16px}
.quranAudioBar{padding:10px 18px}.quranToolbar{padding:10px 18px}.quranContent{padding:18px 8% 28px}
.adhkarPanel .adhkarIntro{text-align:center;font-size:17px;padding:13px 18px;border-bottom:1px solid rgba(255,255,255,.10)}
.adhkarContent{display:flex;align-items:center;justify-content:center}.dhikrStage{width:min(820px,92%);margin:auto;text-align:center}.dhikrAr{text-align:center;font-size:30px;line-height:1.9}.dhikrEn{font-size:16px;line-height:1.6}.counterButton{min-width:190px;min-height:74px;font-size:27px;margin-top:18px;border-radius:18px}
.qiblaView{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:18px}.qiblaCompass{width:300px;height:300px;margin:4px auto 18px}.qiblaNeedle{margin:-121px 0 0 -13px;transform-origin:13px 121px;-webkit-transform-origin:13px 121px}.qiblaBearing{font-size:36px}.qiblaLocation{font-size:16px}
.calendarPanel{max-width:none}.calendarSummary{font-size:23px;padding:12px 18px}.calendarGrid{max-width:980px;width:calc(100% - 36px);margin:0 auto;gap:7px}.calCell{min-height:62px;font-size:16px}.calHijri{font-size:11px}.calendarPrayers{max-width:980px;width:calc(100% - 36px);margin:0 auto;padding:14px 0 20px}.calPrayer{font-size:17px;padding:12px}.calPrayer strong{font-size:14px;opacity:.72}
#settingsOverlay{z-index:40;background:rgba(2,10,22,.90);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
#settingsOverlay .panel{width:calc(100% - 44px);max-width:1100px;border-radius:22px}
.navItem.active{background:rgba(64,166,111,.25);border-color:rgba(121,231,154,.55);box-shadow:inset 0 0 20px rgba(66,190,117,.08)}
@media(max-width:700px){.featureOverlay{padding:6px 6px 82px}.featurePanel.appScreenPanel{border-radius:14px}.featureHead{padding:9px 12px;min-height:48px}.featureHead h2{font-size:19px}.quranContent{padding:12px 4% 20px}.qiblaCompass{width:220px;height:220px}.qiblaNeedle{margin:-81px 0 0 -13px;transform-origin:13px 81px;-webkit-transform-origin:13px 81px}.calendarGrid{width:calc(100% - 12px);gap:3px}.calCell{min-height:44px;font-size:12px}.calendarPrayers{width:calc(100% - 12px)}#settingsOverlay .panel{width:calc(100% - 12px)}}

/* V3 Milestone 4: in-app update management */
.settingsIconWrap{position:relative;display:inline-block}.updateBadge{position:absolute;right:-12px;top:-8px;width:18px;height:18px;border-radius:50%;background:#ffcc3d;color:#15202a;font-size:12px;font-weight:800;line-height:18px;text-align:center;box-shadow:0 0 0 2px rgba(5,18,29,.95),0 0 12px rgba(255,204,61,.55)}.updateBadge.hidden{display:none!important}.updatePanel{margin:14px 0 16px;padding:15px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.055)}.updateTitle{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.updateTitle span{font-size:13px;opacity:.78}.updateMessage{font-size:14px;line-height:1.45;margin-bottom:12px}.updateActions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:9px}.updateActions button{min-height:42px}.updatePanel small{display:block;opacity:.68;line-height:1.4}

/* M7 iOS 10 application-shell compatibility */
.appCloseHidden{display:none!important}
.overlay{top:0;left:0;right:0;bottom:0;width:auto;height:auto;padding:14px 14px 112px;overflow:hidden}
.overlay .panel{height:100%;max-height:none!important;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;margin:0 auto}
.overlay .panelhead{-webkit-flex:0 0 58px;flex:0 0 58px}
.overlay .scroll{height:auto!important;min-height:0;-webkit-flex:1 1 auto;flex:1 1 auto;overflow-y:scroll!important;-webkit-overflow-scrolling:touch;padding-bottom:80px;position:relative}
.featureOverlay{overflow:hidden}
.featurePanel.appScreenPanel{min-height:0}
.quranContent,.adhkarContent{min-height:0;overflow-y:scroll!important;-webkit-overflow-scrolling:touch}
@media (max-width:1024px){.overlay{padding:8px 8px 104px}.featureOverlay{padding:8px 8px 104px}.bottomNav{left:8px;right:8px;bottom:8px}.overlay .scroll{padding-bottom:100px}}

/* V3.0 Milestone 9 — weather-only astronomical scene repair */
#sun{display:block!important;z-index:3!important;width:78px!important;height:78px!important;margin:-39px 0 0 -39px!important;opacity:0;}
#sun .sunCore{width:54px!important;height:54px!important;margin:12px!important;background:radial-gradient(circle at 42% 40%,#fff 0 11%,#fff8c9 22%,#ffe279 45%,#ffc24c 63%,rgba(255,176,49,.35) 72%,rgba(255,176,49,0) 76%)!important;box-shadow:0 0 16px rgba(255,247,196,.92),0 0 40px rgba(255,210,104,.70),0 0 78px rgba(255,166,62,.36)!important;}
.wx-day #moon{opacity:0!important;}
.weather-clear.wx-day #weatherPhoto{background-image:url("weather/clear-sunless.jpg")!important;opacity:1!important;filter:saturate(.98) brightness(.94) contrast(1.02)!important;-webkit-filter:saturate(.98) brightness(.94) contrast(1.02)!important;}
.cycle-sunrise.weather-clear #weatherPhoto{filter:saturate(.90) brightness(.78) sepia(.16)!important;-webkit-filter:saturate(.90) brightness(.78) sepia(.16)!important;}
.cycle-asr.weather-clear #weatherPhoto{filter:saturate(.96) brightness(.88) sepia(.08)!important;-webkit-filter:saturate(.96) brightness(.88) sepia(.08)!important;}
.cycle-sunset.weather-clear #weatherPhoto{filter:saturate(.86) brightness(.62) sepia(.25)!important;-webkit-filter:saturate(.86) brightness(.62) sepia(.25)!important;}
.cycle-night #sun,.cycle-fajr #sun{opacity:0!important;display:none!important;}
.weather-overcast #sun,.weather-rain #sun,.weather-snow #sun,.weather-storm #sun,.weather-fog #sun{opacity:0!important;}
@media(max-width:1100px){#sun{width:62px!important;height:62px!important;margin:-31px 0 0 -31px!important}#sun .sunCore{width:44px!important;height:44px!important;margin:9px!important}}


/* V3.0 Milestone 10 — bilingual nav + solar-time transition workflow */
.navLabel{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;line-height:1.05}
.navLabel b{font-size:13px;font-weight:600}.navLabel small{font-size:11px;margin-top:3px;opacity:.82;font-family:Arial,"Tahoma",sans-serif}
.navSvg{width:29px;height:29px;display:block}.navSvg svg{width:100%;height:100%;display:block;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.kaabaIcon svg{stroke-width:2.2}
.navItem.active .navSvg{color:#a9efbd}.navHome{font-size:28px}
.cycle-day.weather-clear #weatherPhoto{filter:saturate(1.02) brightness(.98) contrast(1.02)!important;-webkit-filter:saturate(1.02) brightness(.98) contrast(1.02)!important}
.cycle-asr.weather-clear #weatherPhoto{filter:saturate(1.02) brightness(.90) sepia(.10) contrast(1.03)!important;-webkit-filter:saturate(1.02) brightness(.90) sepia(.10) contrast(1.03)!important}
.cycle-sunset.weather-clear #weatherPhoto{filter:saturate(1.06) brightness(.78) sepia(.22) contrast(1.05)!important;-webkit-filter:saturate(1.06) brightness(.78) sepia(.22) contrast(1.05)!important}
@media(max-width:700px){.navLabel b{font-size:10px}.navLabel small{font-size:9px;margin-top:2px}.navSvg{width:22px;height:22px}.navItem{gap:2px}}


/* V3.0 Milestone 11 — dynamic solar lighting + full-color navigation */
#solarTint{position:absolute;left:0;top:0;right:0;bottom:0;z-index:2;pointer-events:none;opacity:0;transition:background 90s linear,opacity 90s linear;mix-blend-mode:screen}
#weatherPhoto{z-index:0}
#stars,#twinkleStars{z-index:1}
#sun,#moon{z-index:3!important}
#rainCanvas,#rain,#snow,#fog,#lightning{z-index:4}
.navColorIcon{display:block;font-size:31px;line-height:31px;width:36px;height:34px;text-align:center;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;text-shadow:none;filter:drop-shadow(0 2px 2px rgba(0,0,0,.25));-webkit-filter:drop-shadow(0 2px 2px rgba(0,0,0,.25))}
.navItem.active .navColorIcon{transform:scale(1.08);-webkit-transform:scale(1.08)}
@media(max-width:700px){.navColorIcon{font-size:24px;line-height:25px;width:28px;height:27px}}

.navPicture{display:block;width:38px;height:38px;line-height:1;text-shadow:none;filter:drop-shadow(0 2px 2px rgba(0,0,0,.28));-webkit-filter:drop-shadow(0 2px 2px rgba(0,0,0,.28))}
.navPicture svg{display:block;width:38px;height:38px}.navItem.active .navPicture{-webkit-transform:scale(1.07);transform:scale(1.07)}
@media(max-width:700px){.navPicture,.navPicture svg{width:28px;height:28px}}

/* M12 old-iPad stability: avoid expensive backdrop compositing on legacy iOS */
@supports (-webkit-overflow-scrolling: touch) {
  .featureOverlay,.overlay{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
}

/* RC1 responsive and accessibility overrides; legacy WebKit flex fallbacks. */
.qiblaCompass:before{content:none}.qiblaNorth{position:absolute;left:0;right:0;top:0;bottom:0;padding-top:10px;font-weight:bold;pointer-events:none}
.featurePanel.appScreenPanel{overflow-y:auto;-webkit-overflow-scrolling:touch}.qiblaView{flex:none;-webkit-flex:none}
button,input,select{touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a9efbd;outline-offset:3px}
.app-paused #sky *{-webkit-animation-play-state:paused!important;animation-play-state:paused!important}
@media(max-width:600px){#app{padding:12px 12px 100px!important;height:auto!important;min-height:100vh;box-sizing:border-box}header{min-height:125px!important;height:auto!important;display:block!important}.brandwrap{padding:0!important;margin-top:70px!important}.brand{font-size:22px!important}.brand-ar{font-size:20px!important}.headerWeather{max-width:58%!important}.headerWeather .locationWeatherRow{white-space:normal!important;display:block!important}.topRight{max-width:40%!important}.hero{min-height:0!important;transform:none!important;padding:12px 0!important}.nextname{font-size:34px!important}.nexttime{font-size:56px!important}.prayers{display:-webkit-flex!important;display:flex!important;-webkit-flex-wrap:wrap;flex-wrap:wrap;gap:0!important}.prayer{box-sizing:border-box;width:calc(50% - 8px);margin:4px!important;min-height:90px!important;padding:10px!important}.bottomNav{left:6px!important;right:6px!important;padding:4px!important;bottom:6px!important}.navItem{min-height:58px!important;font-size:10px!important}.twocol,.adjustgrid{display:block!important}.twocol>*,.adjustgrid>*{display:block;margin-bottom:12px}.featureHead{flex-shrink:0;-webkit-flex-shrink:0}.calendarPrayers{display:flex!important;flex-wrap:wrap}.calPrayer{width:calc(50% - 24px)}.qiblaBearing{font-size:25px!important}.qiblaLocation{font-size:12px!important}.qiblaView{padding:12px!important}.infoGrid{display:block}.infoTile{margin-bottom:10px}.quranToolbar{flex-wrap:wrap;-webkit-flex-wrap:wrap}.quranToolbar select{min-width:0;width:100%}.dailyReflection{box-sizing:border-box;width:100%!important}.quranHomeDock{flex-wrap:wrap;-webkit-flex-wrap:wrap}}
@media(max-height:500px){.qiblaCompass{width:160px!important;height:160px!important}.qiblaNeedle{margin:-60px 0 0 -13px!important;transform-origin:13px 60px!important;-webkit-transform-origin:13px 60px!important}.qiblaView{padding:8px!important}}
@media(prefers-reduced-motion:reduce){#sky *{-webkit-animation:none!important;animation:none!important}.qiblaNeedle{transition:none!important}}

html,body{overflow-y:auto!important;overflow-x:hidden!important}.overlay,.featureOverlay{top:0;right:0;bottom:0;left:0} .appScreenPanel .featureHead{flex-shrink:0;-webkit-flex-shrink:0}
@supports not (display:grid){.prayers{display:-webkit-flex!important;display:flex!important;-webkit-flex-wrap:wrap;flex-wrap:wrap}.prayer{width:calc(16.666% - 8px);margin:4px}.calendarGrid{display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}.calCell{width:14.285%}.infoGrid{display:block}.infoTile{margin-bottom:10px}.calendarPrayers{display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}.calPrayer{width:20%}}
@media(max-width:600px){.prayer{width:calc(50% - 8px)!important}}

@media(max-width:600px){.prayer{-webkit-flex:0 0 calc(50% - 8px)!important;flex:0 0 calc(50% - 8px)!important;max-width:calc(50% - 8px)!important}.headerWeather .locationWeatherRow{white-space:normal!important}.qiblaCompass{flex-shrink:0;-webkit-flex-shrink:0}}

.duaaPanel{max-width:1050px}.duaaCategories{display:flex;display:-webkit-flex;flex-wrap:wrap;gap:7px;padding:10px 0}.duaaCategory{border:1px solid rgba(255,255,255,.3);border-radius:14px;background:rgba(18,44,58,.6);color:#fff;padding:9px 12px;font-size:13px}.duaaCategory.selected{background:#246e56}.duaaCards{display:flex;display:-webkit-flex;flex-wrap:wrap;gap:12px;padding:12px 0 80px}.duaaCard{box-sizing:border-box;width:calc(50% - 8px);background:rgba(10,34,47,.84);border:1px solid rgba(255,255,255,.23);border-radius:14px;padding:16px;color:white}.duaaCardHead{display:flex;justify-content:space-between;align-items:center}.duaaCardHead button{background:transparent;color:#f4c95b;border:0;font-size:26px}.duaaArabic{font-family:serif;font-size:27px;line-height:1.9;text-align:right}.duaaCard p:not(.duaaArabic){font-size:15px;line-height:1.5}.duaaCard small{color:#cbd8df}@media(max-width:700px){.duaaCard{width:100%}.duaaArabic{font-size:24px}.bottomNav .navItem{min-width:0;padding-left:2px;padding-right:2px}.bottomNav .navLabel b{font-size:11px}.bottomNav .navLabel small{font-size:9px}}


/* RC4: restore M18 daylight appearance and avoid fabricated sunny loading state. */
.wx-day #sky{filter:none!important;-webkit-filter:none!important}
.wx-day.weather-overcast #sky{background:linear-gradient(#287bb4,#8ac5e8 75%,#c9e8f5)!important}
.wx-day.weather-overcast #weatherPhoto{filter:none!important;-webkit-filter:none!important;opacity:1!important}
.wx-day.weather-overcast #solarTint{opacity:.12!important}
.wx-day.weather-rain #weatherPhoto,.wx-day.weather-storm #weatherPhoto,.wx-day.weather-fog #weatherPhoto,.wx-day.weather-snow #weatherPhoto{filter:brightness(.95)!important;-webkit-filter:brightness(.95)!important}
.wx-pending #sun{opacity:0!important;transition:none!important}
.wx-pending #weatherPhoto{opacity:0!important;transition:none!important}
.duaaPanel .featureHead{flex-shrink:0;-webkit-flex-shrink:0}
.duaaCategories{flex-shrink:0;-webkit-flex-shrink:0;padding:10px 16px}
.duaaCards{display:block;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1;-webkit-flex:1;min-height:0;padding:0 16px 32px}
.duaaCard{display:inline-block;vertical-align:top;margin:6px 4px;width:calc(50% - 12px)}
.duaaCategory,.duaaCardHead button{min-height:44px;min-width:44px}
.duaaCategory{margin:3px}
@media(max-width:700px){.duaaCategories{max-height:170px;overflow-y:auto}.duaaCard{display:block;width:100%;margin:8px 0}.bottomNav .navItem{flex:1 1 0;-webkit-flex:1 1 0}.bottomNav .navLabel b{font-size:10px!important}.bottomNav .navLabel small{font-size:8px!important}.duaaPanel .featureHead small{display:block;line-height:1.4}.duaaCategories{padding:6px}.duaaCards{padding:0 12px 24px}}

.cycle-loading #sky,.wx-day.wx-pending #sky{background:linear-gradient(#467f9f,#9ec5d7)!important;transition:none!important;-webkit-transition:none!important}
.cycle-loading #stars,.cycle-loading #twinkleStars,.cycle-loading #sun,.cycle-loading #moon{opacity:0!important}

/* iPad reliability: static weather retains live conditions without continuous compositing. */
.stability-mode #sky *{-webkit-animation:none!important;animation:none!important;transition:none!important;will-change:auto!important}
.stability-mode #rainCanvas,.stability-mode #twinkleStars,.stability-mode #seasonFx{display:none!important}
.stability-mode #weatherPhoto{transform:none!important;-webkit-transform:none!important}
.stability-mode #clouds,.stability-mode #sun,.stability-mode #snow,.stability-mode #fog{filter:none!important;-webkit-filter:none!important}
.stability-mode .bottomNav,.stability-mode .featureOverlay,.stability-mode #settingsOverlay,.stability-mode .postAthanDua{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.homeAudioBar{position:relative;z-index:3;text-align:center;margin:8px auto;max-width:560px}.homeAudio{min-height:44px;padding:10px 18px;border:1px solid #fff;border-radius:12px;background:#773526;color:#fff;font-size:16px}.homeAudio.enabled{background:#235c42}#homeAudioHint{font-size:13px;margin-top:5px;color:#fff}

.headerAudio{display:-webkit-flex;display:flex;align-items:center;justify-content:flex-end;-webkit-align-items:center;-webkit-justify-content:flex-end;gap:2px;margin-bottom:6px}.headerAudio button{box-sizing:border-box;width:44px;min-width:44px;height:44px;padding:8px;border:1px solid rgba(255,255,255,.35);border-radius:10px;background:rgba(4,20,35,.68);color:#fff;font-size:23px;line-height:1;cursor:pointer}.headerAudio button:disabled{opacity:.45;cursor:default}.headerAudio svg{display:block;width:28px;height:28px}.speakerToggle.enabled{color:#bce8c7}.speakerToggle.enabled .speakerProhibited{display:none}.speakerToggle.disabled .speakerWaves{display:none}#homeVolume{font-size:12px;min-width:34px;margin-left:4px;color:#fff;font-variant-numeric:tabular-nums}.audioSr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
@media(max-width:600px){.topRight{max-width:54%!important;width:176px}.headerWeather{max-width:44%!important}.brandwrap{margin-top:115px!important}header{min-height:175px!important}.headerAudio{gap:0}.headerAudio button{width:44px;min-width:44px}.headerDate{font-size:12px!important}}

/* RC4e compact corner volume and tighter prayer layout */
.headerAudio{gap:3px;margin-bottom:4px}.headerAudio .speakerToggle{width:44px;min-width:44px;height:44px;padding:12px;border:0;background:transparent;box-shadow:none}.headerAudio .speakerToggle svg{width:20px;height:20px}.headerAudio input[type=range]{width:80px;min-width:0;height:32px;margin:0;padding:0;background:transparent;accent-color:#bce8c7;cursor:pointer}#homeVolume{font-size:11px;min-width:28px;margin-left:0}
header{min-height:104px}.hero{justify-content:flex-start!important;-webkit-justify-content:flex-start!important;padding-top:18px!important;transform:none!important;-webkit-transform:none!important}.countdown{display:inline-block;max-width:94%;box-sizing:border-box;border-radius:10px;background:#a92d34!important;color:#fff!important;padding:8px 18px!important;font-weight:700;text-shadow:none!important;min-height:44px;line-height:1.3;margin:8px 0 10px!important}.countdown.countdown-due{background:#247b45!important}.countdown.countdown-waiting{background:#a92d34!important}
@media(max-width:600px){header{min-height:155px!important}.brandwrap{margin-top:90px!important}.hero{padding-top:10px!important}.topRight{width:164px;max-width:54%!important}.headerDate{font-size:11px!important}.countdown{font-size:20px!important;padding:8px 12px!important}.headerAudio input[type=range]{width:72px}}
/* M19 audio library: bounded rendering and native iOS media controls. */
.libraryTools,.recordedCollectionTools{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-shrink:0;-webkit-flex-shrink:0;padding:10px 16px;background:rgba(255,255,255,.035);border-bottom:1px solid rgba(255,255,255,.12);align-items:center;-webkit-align-items:center;gap:8px}
.libraryTools label,.recordedCollectionTools label{display:block;flex:1;-webkit-flex:1;min-width:160px;font-size:12px;color:#cfdeea}.libraryTools select,.libraryTools input[type=search],.recordedCollectionTools select{display:block;width:100%;max-width:100%;min-height:44px;margin-top:4px;padding:8px;border:1px solid #506c80;border-radius:9px;background:#122f43;color:#fff;font-size:14px}.recordedCollectionTools small{display:block;width:100%;opacity:.72}.recordedCollectionTools button,.libraryPlay,.libraryPagination button{min-height:44px;padding:10px 14px;border:1px solid #506c80;border-radius:10px;background:#205e4b;color:#fff}.libraryPlay{display:block;margin-top:12px}.libraryPagination{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;flex-shrink:0;-webkit-flex-shrink:0;padding:8px 16px;gap:8px}.libraryPagination span{font-size:12px;text-align:center}.libraryPagination button:disabled{opacity:.4}.libraryCredit{padding:6px 16px;font-size:10px;color:#b4c5d1;flex-shrink:0;-webkit-flex-shrink:0}.libraryInstruction,.libraryHelp{font-size:13px;color:#bbd0df;line-height:1.5}.libraryHelp{padding:10px}.savedFilter{flex:none!important;-webkit-flex:none!important}.savedFilter input{width:20px;height:20px;vertical-align:middle}.libraryAudioDock{position:fixed;z-index:130;left:24px;right:24px;bottom:122px;max-width:850px;margin:auto;padding:12px;border:1px solid #668eaa;border-radius:14px;background:#0c2639;box-shadow:0 8px 32px rgba(0,0,0,.4);text-shadow:none}.libraryDockHead{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;gap:12px}.libraryDockHead strong{font-size:13px;line-height:1.4}.libraryDockHead button{min-height:44px;flex-shrink:0;-webkit-flex-shrink:0;border:1px solid #708ba0;border-radius:8px;background:#25465b;color:white;padding:8px 12px}#libraryPlayer{width:100%;height:40px;display:block;margin-top:8px}.quranAudioBar select{max-width:100%}.adhkarPanel{overflow-y:auto!important}.adhkarContent{min-height:180px;flex-shrink:0;-webkit-flex-shrink:0}
@media(max-width:700px){.libraryTools,.recordedCollectionTools{padding:8px;gap:6px}.libraryTools label,.recordedCollectionTools label{min-width:0;width:100%;flex:1 1 100%;-webkit-flex:1 1 100%}.recordedCollectionTools select{font-size:12px}.libraryCredit{font-size:9px;line-height:1.4}.libraryAudioDock{left:10px;right:10px;bottom:87px;padding:10px}.libraryDockHead strong{font-size:11px}.duaaPanel .libraryTools{max-height:220px;overflow-y:auto}.duaaCard.libraryEntry{padding:12px}.libraryEntry .duaaArabic{font-size:23px}.recordedCollectionTools{font-size:12px}}

#athkarCollections,#duaaCollections{display:none!important}

/* RC6c iPhone Home Screen safe-area and readable header. */
@media(max-width:600px){
 #app{padding-top:12px!important;padding-top:calc(12px + constant(safe-area-inset-top))!important;padding-top:calc(12px + env(safe-area-inset-top,0px))!important;padding-bottom:110px!important;padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))!important}
 header{display:-webkit-flex!important;display:flex!important;-webkit-flex-wrap:wrap;flex-wrap:wrap;align-items:flex-start!important;justify-content:space-between!important;min-height:0!important;height:auto!important;z-index:5;gap:0}
 .headerWeather{position:relative!important;left:auto!important;top:auto!important;width:44%!important;max-width:44%!important;box-sizing:border-box;padding:6px 8px;border-radius:10px;background:rgba(3,18,36,.35)}
 .headerWeather .location{font-size:13px!important;line-height:1.35}.headerWeather .weatherline{font-size:12px!important;line-height:1.4}.headerClock{font-size:17px!important;margin-top:4px!important}
 .topRight{position:relative!important;right:auto!important;top:auto!important;width:54%!important;max-width:54%!important;box-sizing:border-box;padding:2px 5px 6px;border-radius:10px;background:rgba(3,18,36,.35)}
 .headerAudio{justify-content:flex-end!important;align-items:center;min-height:44px;gap:2px}.headerAudio .speakerToggle{width:44px!important;min-width:44px!important;height:44px!important;padding:12px!important}.headerAudio input[type=range]{width:calc(100% - 78px)!important;min-width:40px;height:44px!important;touch-action:pan-x}.headerDate{font-size:11px!important;line-height:1.5;text-align:right}.hijriDate{font-size:10px!important}
 .brandwrap{-webkit-order:3;order:3;width:100%!important;max-width:100%!important;box-sizing:border-box;padding:0!important;margin:12px 0 4px!important}.brand{font-size:22px!important;line-height:1.25}.brand-ar{font-size:19px!important;line-height:1.45;margin-top:4px}
 .hero{padding-top:12px!important}.nextname{font-size:32px!important}.nexttime{font-size:52px!important}.dailyReflection{margin-top:8px!important}.prayer{min-height:86px!important}.ptime{font-size:19px!important}
 .bottomNav{bottom:6px!important;bottom:calc(6px + constant(safe-area-inset-bottom))!important;bottom:calc(6px + env(safe-area-inset-bottom,0px))!important}
}

/* RC6d persistent phone Quran controls */
@media(max-width:600px){
 .quranHomeDock{position:fixed!important;z-index:119;left:8px;right:8px;margin:0!important;bottom:82px;bottom:calc(82px + constant(safe-area-inset-bottom));bottom:calc(82px + env(safe-area-inset-bottom,0px));min-height:70px;box-sizing:border-box;background:#0c2639;padding:10px;gap:6px}
 .quranHomeDock .dockControls button{width:44px;height:44px;flex-shrink:0}
 .quranHomeDock .dockControls .dockPlay{width:44px;height:44px}
 .quran-dock-active #app{padding-bottom:210px!important;padding-bottom:calc(210px + env(safe-area-inset-bottom,0px))!important}
 .quranHomeDock .dockSurah{font-size:12px}.quranHomeDock .dockReciter{font-size:10px}
}

@media(max-width:600px){.topRight{min-height:71px;display:flex;align-items:center;justify-content:flex-end}.headerDate{width:100%}}

/* Retire legacy repeating stripe rain; canvas provides fine precipitation. */
body.weather-rain #rain,body.weather-storm #rain{display:none!important;background:none!important;-webkit-animation:none!important;animation:none!important}

body.stability-mode.weather-rain #rainCanvas,body.stability-mode.weather-storm #rainCanvas{display:block!important}

/* Layered storm atmosphere and localized cloud illumination. */
body.weather-rain #clouds,body.weather-storm #clouds{opacity:.48!important;background:radial-gradient(ellipse at 18% 18%,rgba(19,31,43,.62),transparent 54%),radial-gradient(ellipse at 76% 32%,rgba(24,37,48,.5),transparent 60%)!important;filter:none!important;-webkit-filter:none!important;animation:stormCloudDrift 42s ease-in-out infinite alternate!important;-webkit-animation:stormCloudDrift 42s ease-in-out infinite alternate!important}
@keyframes stormCloudDrift{from{transform:translateX(-2%) scale(1.06)}to{transform:translateX(2%) scale(1.08)}}
@-webkit-keyframes stormCloudDrift{from{-webkit-transform:translateX(-2%) scale(1.06)}to{-webkit-transform:translateX(2%) scale(1.08)}}
body.weather-storm #lightning{background:radial-gradient(ellipse at 72% 14%,rgba(226,235,255,.8),rgba(174,199,235,.2) 30%,transparent 68%)!important;animation:cloudLightning 19s linear infinite!important;-webkit-animation:cloudLightning 19s linear infinite!important}
@keyframes cloudLightning{0%,41%,43%,69%,71%,100%{opacity:0}41.6%{opacity:.42}42.1%{opacity:.12}42.4%{opacity:.25}70%{opacity:.3}}
@-webkit-keyframes cloudLightning{0%,41%,43%,69%,71%,100%{opacity:0}41.6%{opacity:.42}42.1%{opacity:.12}42.4%{opacity:.25}70%{opacity:.3}}
body.stability-mode #clouds,body.app-paused #clouds{animation:none!important;-webkit-animation:none!important}
body.stability-mode #lightning,body.app-paused #lightning{display:none!important;animation:none!important;-webkit-animation:none!important}
@media(prefers-reduced-motion:reduce){body.weather-rain #clouds,body.weather-storm #clouds{animation:none!important;-webkit-animation:none!important}body.weather-storm #lightning{display:none!important}}

body.wx-day.weather-storm #weatherPhoto{filter:brightness(.48) saturate(.45)!important;-webkit-filter:brightness(.48) saturate(.45)!important}body.wx-day.weather-rain #weatherPhoto{filter:brightness(.68) saturate(.65)!important;-webkit-filter:brightness(.68) saturate(.65)!important}

/* RC6j adaptive phone and large-display home layout. */
@media(max-width:600px){
 #app{height:100vh!important;height:100dvh!important;min-height:0!important;padding-bottom:82px!important;padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))!important;overflow-y:auto}
 #app main{padding-bottom:0!important;flex:1;min-height:0}.brandwrap{margin:8px 0 2px!important}.brand{font-size:20px!important}.brand-ar{font-size:16px!important;margin-top:2px!important}.topRight{min-height:54px!important}.headerClock{font-size:15px!important}
 .hero{flex:1!important;min-height:0!important;padding:6px 0!important;justify-content:center!important}.eyebrow{font-size:11px!important;letter-spacing:1px}.nextname{font-size:28px!important;margin-top:2px!important}.nexttime{font-size:44px!important}.countdown{font-size:18px!important;padding:8px 12px!important;margin:6px 0!important}
 .dailyReflection{padding:8px 4px!important;margin:6px 0!important}.dailyReflection #dailyLabel{font-size:10px!important}.dailyReflection #dailyArabic{font-size:18px!important;line-height:1.3}.dailyReflection #dailyEnglish{font-size:12px!important;line-height:1.3}.dailyReflection #dailySource{font-size:10px!important}
 .prayers{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px!important;margin:4px 0!important;padding:0!important;flex-shrink:0}
 .prayer{position:relative;min-height:60px!important;padding:15px 4px 6px!important;transform:none!important}.prayerNames{display:flex;justify-content:center;align-items:baseline;gap:5px;white-space:nowrap}.pname,.par{font-size:12px!important;margin:0!important;line-height:1.25}.par:before{content:' / ';direction:ltr}.ptime{font-size:19px!important;margin-top:4px!important}.prayer.current:before,.prayer.next:before{position:absolute;top:3px;left:0;right:0;font-size:8px!important;line-height:1}
 .quran-dock-active #app{padding-bottom:168px!important;padding-bottom:calc(168px + env(safe-area-inset-bottom,0px))!important}
}
@media(orientation:landscape) and (max-height:600px) and (max-width:1100px){
 #app{height:100vh!important;height:100dvh!important;min-height:0!important;padding:8px 14px 68px!important;padding-left:calc(14px + env(safe-area-inset-left,0px))!important;padding-right:calc(14px + env(safe-area-inset-right,0px))!important;padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))!important;overflow-y:auto}
 header{height:auto!important;min-height:48px!important;display:flex!important;align-items:flex-start!important}.brandwrap{padding:0 175px!important;margin:0!important;width:100%!important}.brand{font-size:18px!important}.brand-ar{font-size:14px!important}.headerWeather{position:absolute!important;left:0!important;top:0!important;width:auto!important;max-width:30%!important;padding:0!important;background:none!important}.headerWeather .location,.headerWeather .weatherline{font-size:10px!important}.headerClock{font-size:12px!important;margin-top:2px!important}.topRight{position:absolute!important;right:0!important;top:0!important;width:auto!important;max-width:30%!important;min-height:0!important;padding:0!important;background:none!important}.headerDate{font-size:10px!important}.hijriDate{font-size:9px!important}
 #app main{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:12px;align-items:center;padding:0!important;min-height:0}
 .hero{min-height:0!important;padding:0!important;justify-content:center!important}.eyebrow{font-size:10px!important}.nextname{font-size:24px!important;margin-top:2px!important}.nexttime{font-size:40px!important}.countdown{font-size:16px!important;padding:6px 10px!important;margin:4px 0!important}.dailyReflection{padding:5px!important;margin:4px 0!important}.dailyReflection #dailyLabel{font-size:8px!important}.dailyReflection #dailyArabic{font-size:14px!important;line-height:1.2}.dailyReflection #dailyEnglish{font-size:10px!important;line-height:1.2}.dailyReflection #dailySource{font-size:8px!important}
 .prayers{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px!important;margin:0!important;padding:0!important}.prayer{position:relative;min-height:66px!important;padding:16px 3px 8px!important;transform:none!important}.prayerNames{display:flex;justify-content:center;align-items:baseline;gap:4px;white-space:nowrap}.pname,.par{font-size:11px!important;margin:0!important}.par:before{content:' / '}.ptime{font-size:18px!important;margin-top:6px!important}.prayer.current:before,.prayer.next:before{position:absolute;top:4px;left:0;right:0;font-size:8px!important}
 .bottomNav{left:8px!important;right:8px!important;bottom:6px!important;bottom:calc(6px + env(safe-area-inset-bottom,0px))!important;padding:4px!important}.navItem{min-height:44px!important;padding:2px!important}.navIcon,.navPicture{width:22px!important;height:22px!important;font-size:20px!important}.navLabel b{font-size:9px!important}.navLabel small{font-size:8px!important}
 .quranHomeDock{position:fixed!important;left:8px;right:8px;bottom:66px;bottom:calc(66px + env(safe-area-inset-bottom,0px));margin:0!important;z-index:119;padding:8px;min-height:64px}.quran-dock-active #app{padding-bottom:144px!important;padding-bottom:calc(144px + env(safe-area-inset-bottom,0px))!important}
}
@media(min-width:1600px) and (min-height:800px){
 .brand{font-size:36px}.brand-ar{font-size:28px}.nextname{font-size:64px}.nexttime{font-size:100px}.countdown{font-size:30px}.pname,.par{font-size:24px}.ptime{font-size:36px}.prayer{min-height:150px}.headerDate,.headerWeather .location,.headerWeather .weatherline{font-size:18px}.headerClock{font-size:24px}.bottomNav .navItem{min-height:70px}.navLabel b{font-size:16px}.navLabel small{font-size:12px}
}

@media(max-width:600px){.prayer{width:100%!important;max-width:none!important;margin:0!important}.par:before{content:none!important}.pname:after{content:' / ';font-weight:400}}
@media(orientation:landscape) and (max-height:600px) and (max-width:1100px){.navPicture svg{width:22px!important;height:22px!important}.navLabel b,.navLabel small{line-height:11px!important;margin-top:0!important}.navItem{gap:2px!important}.par:before{content:none!important}.pname:after{content:' / ';font-weight:400}}

/* RC6k consistent contrast without expensive backdrop filters. */
.hero{background:rgba(3,18,36,.52);border:1px solid rgba(255,255,255,.18);border-radius:16px;text-shadow:0 1px 3px rgba(0,0,0,.65)}
.prayer,.prayer.next{background:rgba(3,18,36,.68)!important}.prayer.current{background:rgba(22,55,69,.8)!important}
.dailyReflection{box-sizing:border-box;max-width:100%;width:100%;}.dailyLabel,.dailySource{opacity:1!important}
@media(max-width:600px){#app main{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:12px}.hero{flex:0 0 auto!important;padding:14px 8px!important}.prayers{margin:0!important}.brandwrap{margin-bottom:12px!important}}
@media(orientation:landscape) and (max-height:600px) and (max-width:1100px){#app main{display:grid!important;gap:12px!important}.hero{padding:8px!important}.brandwrap{margin-bottom:0!important}}

@media(orientation:landscape) and (max-height:600px) and (max-width:1100px){.quranHomeDock{bottom:72px!important;bottom:calc(72px + env(safe-area-inset-bottom,0px))!important}.quran-dock-active #app{padding-bottom:164px!important;padding-bottom:calc(164px + env(safe-area-inset-bottom,0px))!important}}

.quran-dock-active #app main{flex:0 0 auto!important;-webkit-flex:0 0 auto!important}
@media(orientation:landscape) and (max-height:600px) and (max-width:1100px){.quran-dock-active #app main{align-items:start!important}.quran-dock-active .hero{justify-content:flex-start!important}}

/* RC6r overcast conditions must not select clear blue styling. */
body.wx-day.weather-overcast #sky{background:linear-gradient(#59656f,#85939d 75%,#abb6ba)!important}
body.wx-day.weather-overcast #weatherPhoto{filter:brightness(.68) saturate(.45)!important;-webkit-filter:brightness(.68) saturate(.45)!important}

/* RC6r: use the cloud-filled upper sky, excluding the sunset horizon. */
body.wx-day.weather-overcast #weatherPhoto,body.wx-day.weather-rain #weatherPhoto,body.wx-day.weather-storm #weatherPhoto,body.wx-day.weather-fog #weatherPhoto,body.wx-day.weather-snow #weatherPhoto{background-size:auto 185%!important;background-position:center top!important;}
body.wx-day.weather-overcast #weatherPhoto{filter:brightness(1.25) saturate(.08)!important;-webkit-filter:brightness(1.25) saturate(.08)!important;}

/* Requested display change: open sky behind the main prayer text. */
#clock{display:none!important}
.hero{background:transparent!important;border-color:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;text-shadow:0 1px 3px rgba(0,0,0,.65)}

/* Text sits directly on the sky now that the central panel is gone: halo, not a panel. */
.hero{text-shadow:0 1px 4px rgba(0,0,0,.7),0 0 14px rgba(0,0,0,.35)!important}

/* WXFX: realistic sun = soft white bloom (no disc, no yellow ball); warms to orange when low (--sun-warm set by JS). */
html.wxv2 #sun{width:340px!important;height:340px!important;margin:-170px 0 0 -170px!important;border-radius:50%!important;border:0!important;box-shadow:none!important;background:radial-gradient(circle,rgba(255,255,250,1) 0,rgba(255,252,236,.97) 2.2%,rgba(255,246,208,.62) 5%,rgba(255,232,170,.30) 11%,rgba(255,218,150,.13) 24%,rgba(255,208,135,.05) 42%,rgba(255,200,120,0) 62%)!important;mix-blend-mode:screen}
html.wxv2 #sun::after{content:"";position:absolute;left:0;top:0;right:0;bottom:0;border-radius:50%;background:radial-gradient(circle,rgba(255,150,70,.55) 0,rgba(255,120,50,.26) 14%,rgba(255,110,40,0) 55%);opacity:var(--sun-warm,0)}
html.wxv2 #sun .sunCore{display:none!important}
html.wxv2 body.stability-mode #sun{mix-blend-mode:normal}
@media(max-width:600px){html.wxv2 #sun{width:230px!important;height:230px!important;margin:-115px 0 0 -115px!important}}
/* WXFX: canvas draws rain, snow, lightning and fall leaves; old CSS layers are retired. */
html.wxv2 body[class] #rainCanvas{display:block!important;z-index:4}
html.wxv2 #snow,html.wxv2 #rain,html.wxv2 #lightning,html.wxv2 #seasonFx{display:none!important}

/* LIVE SKY: clouds are generated by JS (three parallax strips) and drift on the GPU; no photos. */
html.wxv2 #weatherPhoto{background-image:none!important;opacity:0!important;animation:none!important}
html.wxv2 #clouds{opacity:1!important;background:none!important;filter:none!important;-webkit-filter:none!important;overflow:visible!important;z-index:3}
html.wxv2 #clouds div{position:absolute;left:0;width:200%;background-repeat:repeat-x;background-size:50% 100%;-webkit-animation:wxdrift linear infinite;animation:wxdrift linear infinite;-webkit-backface-visibility:hidden;will-change:transform}
@-webkit-keyframes wxdrift{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-50%,0,0)}}
@keyframes wxdrift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
body.app-paused #clouds div{-webkit-animation-play-state:paused;animation-play-state:paused}
@media(prefers-reduced-motion:reduce){html.wxv2 #clouds div{-webkit-animation:none;animation:none}}

/* QIBLA CHIP: compass arrow in the header (replaces the bottom-bar Qibla item). Arrow points to Qibla relative to the device; turns green when facing it. */
html.wxv2 .topRight{display:-webkit-box!important;display:flex!important;-webkit-box-align:center;align-items:center;-webkit-box-pack:end;justify-content:flex-end;gap:10px;max-width:none!important}
.qiblaChip{width:46px;height:46px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.32);background:rgba(3,18,36,.55);display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;flex:0 0 auto;pointer-events:auto}
.qiblaChip svg{display:block}
.qiblaChip .qcRing{fill:rgba(255,255,255,.06);stroke:rgba(255,255,255,.55);stroke-width:1.5}
.qiblaChip .qcArrow{fill:#f0c95b}
.qiblaChip .qcKaaba{fill:#111}
.qiblaChip .qcBand{fill:#d7a62e}
.qiblaChip #qchipNeedle{opacity:.6}
.qiblaChip.live #qchipNeedle{opacity:1}
.qiblaChip.aligned{border-color:#2ecc71;box-shadow:0 0 0 2px rgba(46,204,113,.35),0 0 16px rgba(46,204,113,.75)}
.qiblaChip.aligned .qcRing{stroke:#2ecc71}
.qiblaChip.aligned .qcArrow{fill:#7dffb0}
@media(max-width:600px){.qiblaChip{width:40px;height:40px}.qiblaChip svg{width:30px;height:30px}}
/* Phones: keep the weather text clear of the Qibla chip */
@media(max-width:600px){html.wxv2 .headerWeather{max-width:44%!important}html.wxv2 .headerWeather .locationWeatherRow{display:block}html.wxv2 .headerWeather .weatherline{display:block;white-space:normal;line-height:1.2}}
@media(max-width:600px){html.wxv2 .headerWeather .weatherline,html.wxv2 .headerWeather #weatherLabel{white-space:normal!important;max-width:100%!important;overflow-wrap:anywhere;word-break:normal;text-align:left;height:auto!important}html.wxv2 .headerWeather{overflow:hidden}}

.qiblaChip .qcDeg{fill:#f0c95b;font:700 12px/1 -apple-system,Helvetica,Arial,sans-serif}
.qiblaChip.live .qcDeg{display:none}
.qiblaChip:not(.live) #qchipNeedle{display:block;opacity:.35}
.qiblaChip:not(.live) .qcArrow{display:none}
.qiblaChip:not(.live) .qcKaaba{fill:#293341;stroke:#fff;stroke-width:1}
.qiblaChip #qchipNeedle{transition:opacity .2s}
.qiblaChip svg{width:40px;height:40px}
@media(max-width:600px){.qiblaChip svg{width:36px;height:36px}}

.currentLocationTools{margin:12px 0;padding:12px;border:1px solid rgba(255,255,255,.2);border-radius:12px}.currentLocationTools button{width:100%;padding:14px;font:inherit;white-space:normal}.currentLocationTools button:disabled{opacity:.6}.currentLocationTools .note{margin-bottom:0}

.nearbyTools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}.nearbyTools button,.nearbyTools select,.nearbyActions button,.nearbyActions a{font:inherit;padding:10px 14px;border-radius:10px;border:1px solid #b8c3cc;min-height:44px}.nearbyTools button[aria-pressed=true]{background:#176048;color:#fff}.nearbyPlace{padding:16px 0;border-top:1px solid #b8c3cc}.nearbyPlace h3{margin:0 0 6px}.nearbyPlace p{margin:6px 0}.nearbyActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.nearbyActions a{display:inline-flex;align-items:center;background:#e6eff7;color:#123c61;text-decoration:none}.nearbyVerify{font-size:.85em}.nearbyPanel a{color:#184c76}

.nearbyPanel{padding:0 18px 18px;box-sizing:border-box}.nearbyPanel>.featureHead{margin:0 -18px}.nearbyPanel .note{color:inherit;opacity:.85}.nearbyPanel a{color:#8ac9ff}.nearbyActions a{color:#123c61}

#nearbyResults{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.nearbyPlace{border:1px solid rgba(255,255,255,.22);border-radius:18px;padding:20px;background:rgba(255,255,255,.055);display:flex;flex-direction:column;justify-content:space-between;gap:12px}.nearbyPlace h3{font-size:22px;line-height:1.3}.nearbyPlace strong{color:#a5e2bc}.nearbyDirections{background:#bce9cc!important;color:#103d2b!important;font-weight:700!important}.nearbyActions button{background:transparent;color:inherit}.nearbyPlace p{line-height:1.45}.nearbyTools{gap:12px}.nearbyPanel #nearbyStatus{padding:12px 0}@media(max-width:700px){#nearbyResults{grid-template-columns:1fr}.nearbyPlace{padding:16px}.nearbyActions a{flex:1;justify-content:center}}

/* Persistent Qibla design: only fresh, reliable readings receive a direction color. */
.qiblaChip:not(.live) #qchipNeedle{display:block;opacity:1}
.qiblaChip:not(.live) .qcArrow{display:block;fill:#c7cfd6}
.qiblaChip:not(.live) .qcKaaba{fill:#111;stroke:none}
.qiblaChip:not(.live) .qcBand{fill:#d7a62e}
.qiblaChip.offTarget{border-color:#f05b61;box-shadow:0 0 0 2px rgba(240,91,97,.28),0 0 16px rgba(240,91,97,.55)}
.qiblaChip.offTarget .qcRing{stroke:#f05b61}
.qiblaChip.offTarget .qcArrow{fill:#ff858b}
/* Center Qibla below iOS status bar, with an always reachable close control. */
#qiblaOverlay{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;padding:24px 16px 112px;padding-top:max(24px,calc(env(safe-area-inset-top) + 16px));padding-bottom:max(112px,calc(env(safe-area-inset-bottom) + 94px))}
#qiblaOverlay .featurePanel.appScreenPanel{width:100%;max-width:640px;height:auto;max-height:100%;margin:auto;overflow:hidden;flex:0 1 auto;-webkit-flex:0 1 auto}
#qiblaOverlay .featureHead{flex:0 0 auto;-webkit-flex:0 0 auto;gap:12px;padding:14px 16px}
#qiblaOverlay .featureHead>div{min-width:0;flex:1;-webkit-flex:1}
#qiblaOverlay .featureHead h2{line-height:1.4}
#qiblaOverlay .featureHead small{display:block;line-height:1.4}
#closeQibla{flex:0 0 48px;-webkit-flex:0 0 48px;width:48px;min-width:48px;height:48px;min-height:48px;padding:8px;align-self:flex-start;touch-action:manipulation;position:relative;z-index:1}
#qiblaOverlay .qiblaView{flex:0 1 auto;-webkit-flex:0 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:block;padding:16px 18px 22px}
#qiblaOverlay .qiblaCompass{width:220px;height:220px;margin:0 auto 16px}
#qiblaOverlay .qiblaNeedle{margin:-81px 0 0 -13px;transform-origin:13px 81px;-webkit-transform-origin:13px 81px}
#qiblaOverlay .qiblaBearing{font-size:26px!important}
#qiblaOverlay .featureNote{font-size:14px;line-height:1.45}
#qiblaAllowCompass{margin:12px auto 0;min-height:44px}
@media(max-width:700px){#qiblaOverlay{padding:64px 12px 104px;padding-top:max(64px,calc(env(safe-area-inset-top) + 16px));padding-bottom:max(104px,calc(env(safe-area-inset-bottom) + 90px))}#qiblaOverlay .featureHead h2{font-size:19px}#qiblaOverlay .featureHead small{font-size:12px}#qiblaOverlay .qiblaCompass{width:180px;height:180px}#qiblaOverlay .qiblaNeedle{margin:-65px 0 0 -13px;transform-origin:13px 65px;-webkit-transform-origin:13px 65px}}
@media(max-height:550px){#qiblaOverlay{padding-top:18px;padding-top:max(18px,calc(env(safe-area-inset-top) + 12px))}#qiblaOverlay .qiblaCompass{width:120px;height:120px}#qiblaOverlay .qiblaNeedle{margin:-38px 0 0 -13px;transform-origin:13px 38px;-webkit-transform-origin:13px 38px}}
/* Quran library and continuous reader */
#quranOverlay{padding-top:24px;padding-top:max(24px,calc(env(safe-area-inset-top) + 12px))}
#quranOverlay .featurePanel{min-height:0;overflow:hidden}
#quranOverlay .featureHead{flex-shrink:0;gap:10px}#closeQuran{min-width:48px;min-height:48px;flex-shrink:0}
.qrIndexTools{padding:10px 18px;flex-shrink:0}.qrIndexTools input{width:100%;padding:12px 14px;font-size:16px;border-radius:12px;background:#fff;color:#17212b;border:1px solid #a5b7bd}.qrTabs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.qrTabs button,.qrReadingTools button{min-height:44px;padding:8px 12px;border-radius:9px}.qrReadingTools{flex-shrink:0}.qrReadingTools .quranToolbar{flex-wrap:wrap;gap:6px}.qrReadingTools .quranAudioBar{flex-wrap:wrap;padding:8px 16px;gap:8px}.qrReadingTools .reciterLabel{flex:1;min-width:180px}.qrReadingTools .reciterLabel select{width:100%;font-size:15px}#qrLibraryTools{padding:6px 16px;font-size:12px}#qrLibraryTools summary{cursor:pointer;min-height:32px}
#quranContent{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 5% 28px}
.qrIndexGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.qrSurahCard{display:flex;flex-direction:column;text-align:start;gap:5px;padding:14px;border-radius:12px;border:1px solid #3e586a;background:#122e43;color:#fff;min-height:100px;cursor:pointer}.qrSurahCard strong{font-size:17px}.qrSurahCard span[dir]{font-size:22px}.qrSurahCard small{color:#c3d0d5}.qrNumber{color:#9de2ba;font-size:13px}.qrVerseResult{display:block;width:100%;text-align:start;background:#122e43;color:#fff;padding:12px;border-radius:10px;border:1px solid #3e586a;margin:8px 0}.qrVerseResult span,.qrVerseResult small{display:block;margin-top:7px}.qrVerseResult span{font-size:23px;text-align:right;line-height:1.8}.qrAyah{display:block;width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer}.qrAyah .ayahAr,.qrAyah .ayahEn{display:block}.qrAyah.playingAyah{background:rgba(79,169,115,.24)!important;border-color:#a4efbd!important;box-shadow:inset 4px 0 #a4efbd}.qrReadingOptions{display:flex;gap:14px;flex-wrap:wrap;padding:4px 18px 8px;font-size:13px}.qrReadingOptions label{display:flex;align-items:center;gap:5px;min-height:32px}.qrReadingOptions input{width:18px;height:18px}
.qrMeaning{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:72px 14px 35px;padding-top:max(72px,calc(env(safe-area-inset-top) + 14px));padding-bottom:max(35px,calc(env(safe-area-inset-bottom) + 14px));background:rgba(0,9,20,.78)}.qrMeaningCard{width:100%;max-width:700px;max-height:100%;display:flex;flex-direction:column;background:#0b2237;color:#fff;border:1px solid #536778;border-radius:18px;overflow:hidden}.qrMeaningHead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #3e586a;flex-shrink:0}.qrMeaningHead button{min-width:48px;min-height:48px}.qrMeaningBody{padding:16px 20px;overflow:auto;min-height:0;line-height:1.7}.qrMeaningBody p[dir]{font-size:23px}.qrMeaningBody h3{font-size:15px;color:#abdfbf;margin-bottom:5px}.qrMeaningActions{display:flex;gap:8px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid #3e586a;flex-shrink:0}.qrMeaningActions button{min-height:44px;padding:8px 12px;border-radius:9px}.qrMeaningBody small{color:#c0d0dc}
@media(max-width:700px){#quranOverlay{padding-top:64px;padding-top:max(64px,calc(env(safe-area-inset-top) + 12px))}#quranWelcome{padding:8px 12px}.qrIndexTools{padding:8px 12px}.qrIndexGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.qrSurahCard{padding:10px;min-height:94px}.qrSurahCard strong{font-size:15px}#quranContent{padding:10px 12px 30px}.qrReadingTools .quranToolbar{padding:6px 12px}.qrReadingTools .quranToolbar select{width:100%;font-size:16px}.qrReadingTools .quranAudioBar{padding:6px 12px}.qrReadingTools .quranAudioBar .reciterLabel{min-width:100%;}.qrReadingTools #quranAudioStatus{width:100%;font-size:11px}.qrReadingTools button{font-size:12px;padding:7px 9px}.qrReadingOptions{padding:0 12px 4px}.qrMeaningBody{padding:12px 16px}}
@media(max-height:550px){#quranOverlay{padding-top:16px}.qrMeaning{padding-top:18px}.qrReadingTools .quranAudioBar .reciterLabel{min-width:180px}}

.calMonthControls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px}.calMonthControls button{min-width:44px;min-height:44px;border:1px solid #6b8494;border-radius:9px;background:#123149;color:#fff;font-size:18px}.calMonthControls strong{font-size:21px}.calSelectedLabel{font-size:14px;padding-top:10px;color:#c2e8d0}.calCell[data-cal-day]{color:#fff;font:inherit;cursor:pointer}.calCell .calHijri{display:block;margin-top:4px}.calCell.calSelected{background:#27583e!important;border:2px solid #c6f3c9!important;box-shadow:0 0 0 1px #7aca96}.calBlank{background:transparent;border-color:transparent}#calendarPrayers{grid-template-columns:repeat(3,minmax(0,1fr))}#calendarOverlay{padding-top:24px;padding-top:max(24px,calc(env(safe-area-inset-top) + 12px))}#calendarOverlay .featureHead{flex-shrink:0}#closeCalendar{min-width:48px;min-height:48px}#calendarOverlay .featurePanel{overflow-y:auto;-webkit-overflow-scrolling:touch}#calendarGrid,#calendarPrayers{flex-shrink:0}@media(max-width:700px){#calendarOverlay{padding-top:64px;padding-top:max(64px,calc(env(safe-area-inset-top) + 12px))}.calMonthControls{gap:8px}.calMonthControls strong{font-size:18px}.calSelectedLabel{font-size:12px}#calendarPrayers{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}#calendarPrayers .calPrayer{width:auto;min-width:0;font-size:17px}.calCell[data-cal-day]{min-height:44px}.calendarSummary{padding:8px 12px}}

.feedbackOverlay{position:fixed;z-index:10000;inset:0;display:flex;align-items:center;justify-content:center;padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px));background:rgba(0,0,0,.65);box-sizing:border-box}.feedbackOverlay.hidden{display:none}.feedbackCard{width:100%;max-width:560px;max-height:100%;overflow:auto;box-sizing:border-box;border-radius:20px;background:#092033;color:#fff;padding:20px}.feedbackHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.feedbackHead h2{font-size:22px;margin:0}.feedbackCard label{display:block;margin:16px 0 6px}.feedbackCard input,.feedbackCard select,.feedbackCard textarea{box-sizing:border-box;width:100%;font:inherit;font-size:16px;padding:12px;border:1px solid #92a3af;border-radius:8px;background:#fff;color:#142632}.feedbackCard textarea{min-height:140px;resize:vertical}.feedbackCard button{min-height:48px;cursor:pointer}.feedbackCard p{line-height:1.5}.feedbackSend{width:100%;padding:12px;margin-top:16px;border:0;border-radius:10px;background:#91e4b1;color:#052617;font:inherit;font-weight:700}#feedbackBtn{min-height:48px;width:100%;margin:14px 0;padding:10px;font:inherit}

/* Keep Locations controls below iPhone status bars and above navigation. */
#nearbyOverlay{position:fixed!important;inset:0!important;z-index:1500!important;box-sizing:border-box;display:flex!important;align-items:center!important;justify-content:center!important;padding:calc(18px + env(safe-area-inset-top,0px)) 12px calc(100px + env(safe-area-inset-bottom,0px))!important}
#nearbyOverlay.hidden{display:none!important}
#nearbyOverlay .nearbyPanel{position:relative!important;inset:auto!important;transform:none!important;margin:0!important;width:100%!important;max-width:900px!important;max-height:100%!important;height:auto!important;min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}
#nearbyOverlay .featureHead{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:12px;background:#092033;padding:14px 16px!important}
#nearbyOverlay .featureHead>div{min-width:0;flex:1}
#nearbyOverlay .featureHead h2{font-size:22px!important;line-height:1.35!important;margin:0 0 6px!important}
#closeNearby{position:static!important;flex:0 0 48px!important;width:48px!important;height:48px!important;min-height:48px!important;margin:0!important;align-self:center!important;touch-action:manipulation}
#nearbyOverlay .note{font-size:14px!important;line-height:1.45!important}

/* RC8m: natural document flow inside bounded mobile scroll surfaces. */
@media (max-width:900px), (max-height:600px) and (max-width:1100px) {
 #app{display:block!important;height:100vh!important;height:100dvh!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;touch-action:pan-y;scroll-padding-bottom:112px;padding-bottom:112px!important;padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))!important}
 #app>header{flex:none!important;min-height:0; height:auto!important;margin-bottom:14px}
 #app main{display:block!important;flex:none!important;min-height:auto!important;justify-content:flex-start!important;padding-bottom:0!important}
 #app .hero{display:flex;flex:none!important;min-height:0!important;height:auto!important;justify-content:flex-start!important;margin-bottom:14px}
 #app .prayers{flex:none!important;margin-bottom:0!important}
 .quran-dock-active #app{padding-bottom:220px!important;padding-bottom:calc(220px + env(safe-area-inset-bottom,0px))!important}
 #quranOverlay{height:100vh!important;height:100dvh!important;box-sizing:border-box;padding-top:12px!important;padding-top:calc(12px + env(safe-area-inset-top,0px))!important;padding-bottom:100px!important;padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))!important}
 #quranOverlay .featurePanel{display:block!important;height:100%!important;max-height:100%!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;touch-action:pan-y;scroll-padding-top:96px;scroll-padding-bottom:24px}
 #quranOverlay .featureHead{position:sticky;top:0;z-index:3;background:#0b1d35;align-items:flex-start}
 #quranOverlay .featureHead h2{overflow-wrap:anywhere}
 #quranOverlay #quranContent{flex:none!important;min-height:0!important;height:auto!important;max-height:none!important;overflow:visible!important;touch-action:pan-y}
 #quranOverlay .quranCredit{overflow-wrap:anywhere}
 .quran-dock-active #quranOverlay .featurePanel{padding-bottom:110px;scroll-padding-bottom:120px}
 .quranWelcome,.qrIndexTools,.qrReadingTools{max-width:100%;min-width:0}
 .qrTabs button,.qrReadingTools button{white-space:normal;overflow-wrap:anywhere}
 .qrIndexGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .qrSurahCard{min-width:0;overflow-wrap:anywhere}
}
@media (max-width:350px){.qrIndexGrid{grid-template-columns:1fr}}
/* The same viewport and overflow contract applies to every app screen. */
@media (max-width:900px), (max-height:600px) and (max-width:1100px) {
 .featureOverlay{height:100vh!important;height:100dvh!important;box-sizing:border-box;overflow:hidden}
 .featureOverlay:not(#qiblaOverlay):not(#nearbyOverlay){padding:12px 8px 100px!important;padding-top:calc(12px + env(safe-area-inset-top,0px))!important;padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))!important}
 .featureOverlay:not(#qiblaOverlay):not(#nearbyOverlay) .featurePanel{display:block!important;height:100%!important;max-height:100%!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;touch-action:pan-y;scroll-padding-top:96px;scroll-padding-bottom:24px}
 .featureOverlay .featureHead{position:sticky;top:0;z-index:3;background:#0b1d35;gap:10px;align-items:flex-start}
 .featureOverlay .featureHead>div{min-width:0}
 .featureOverlay .featureHead h2,.featureOverlay .featureHead small{overflow-wrap:anywhere}
 .featureOverlay .closebtn{flex-shrink:0;min-width:44px;min-height:44px}
 .featureOverlay .adhkarContent,.featureOverlay .duaaContent,.featureOverlay .libraryContent{height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;flex:none!important}
 .duaaPanel .libraryTools{max-height:none!important;overflow:visible!important}
 #settingsOverlay{height:100vh!important;height:100dvh!important;box-sizing:border-box;padding:12px 8px 100px!important;padding-top:calc(12px + env(safe-area-inset-top,0px))!important;padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))!important}
 #settingsOverlay .panel{width:100%!important;height:100%!important;max-height:100%!important;min-height:0!important}
 #settingsOverlay .scroll{min-height:0;overflow-y:auto!important;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-bottom:32px}
 #qiblaOverlay .qiblaView,#nearbyOverlay .nearbyPanel{touch-action:pan-y}
}

.nearbyPhoto{margin:0 0 4px;min-width:0;background:#102c40;border:1px solid #38576b;border-radius:12px;overflow:hidden}
.nearbyPhoto img{display:block;width:100%;height:180px;object-fit:cover;background:#102c40}
.nearbyPhoto figcaption{padding:8px 10px;font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.nearbyPhoto figcaption a{color:#c7e6fa}
.nearbyPhotoUnavailable{padding:10px 12px;font-size:12px;color:#c2d2dc;background:transparent;border-style:dashed}
@media(max-width:700px){.nearbyPhoto img{height:170px}}

/* Daily Devotional */
.wirdPanel{max-width:900px}.wirdSummary,.wirdCard{margin:16px;padding:22px;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:rgba(16,42,52,.84)}.wirdSummary{background:linear-gradient(130deg,#145e4e,#0b2735)}.wirdSummary strong{font-size:1.35em}.wirdSummary progress{width:100%;accent-color:#7fe1b0;height:12px;margin-bottom:12px}.wirdSummary small{display:block}.wirdCard h2{font-size:1.22em;margin:0 0 18px}.wirdCard h3{font-size:1.1em}.wirdCard p{line-height:1.65}.wirdArabic{font-size:1.55em!important;line-height:2!important;text-align:right}.wirdVerse,.wirdDhikr{padding:8px 0 18px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:16px}.wirdCard button{min-height:48px;margin:5px 4px 5px 0;max-width:100%;white-space:normal}.wirdCard button[aria-pressed="true"]{background:#175e48;color:#fff}.wirdCard label{display:block;margin-bottom:14px}.wirdCard select{display:block;width:100%;max-width:100%;margin-top:7px;min-height:48px}.wirdCard .wirdCounter{display:block;width:156px;height:156px;min-height:156px;border-radius:50%;margin:20px auto;background:#155a48;color:white;border:3px solid #82deb3;font-size:1.8em;touch-action:manipulation}.wirdCounter:active{transform:scale(.97)}#wirdCounterStatus{text-align:center}@media(max-width:480px){.wirdSummary,.wirdCard{margin:12px 8px;padding:16px}.wirdPanel .featureHead h2{font-size:1.05em}.wirdPanel .featureHead{gap:8px}.wirdPanel .featureHead>div{min-width:0}.wirdArabic{font-size:1.4em!important}}

.wirdTabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px}.wirdTabs button,.wirdActions button{min-height:44px;padding:10px 14px;white-space:normal;border-radius:12px}.wirdTabs button[aria-pressed=true]{background:#19694e;color:white;border:1px solid #9ee2b9}.wirdActions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.wirdCompact .wirdSnippet{font-size:1.12em!important;line-height:1.8!important}.wirdCompact h3{margin-top:0}.wirdCard input{display:block;width:100%;box-sizing:border-box;padding:12px;min-height:48px;margin:8px 0 16px;border-radius:10px;font-size:16px}.wirdCard details{margin-bottom:12px}.wirdCard summary{cursor:pointer;min-height:36px}.wirdCard small{overflow-wrap:anywhere;line-height:1.6}#wirdSurahs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#wirdSurahs button{font-size:1em;overflow-wrap:anywhere}#wirdResults>p{margin:16px}.wirdCard button[aria-pressed=true]{background:#175e48;color:white}@media(max-width:480px){.wirdTabs{margin:12px 8px;gap:6px}.wirdTabs button{flex:1 1 44%;font-size:14px}#wirdSurahs{grid-template-columns:1fr}.wirdActions button{flex:1 1 40%;font-size:14px}.wirdCard .wirdArabic{overflow-wrap:anywhere}}

.prayerSoundSettings{margin:18px 0;padding:16px;border:1px solid #ffffff50;border-radius:16px}.prayerSoundSettings p,.prayerSoundSettings small{line-height:1.5}.prayerSoundSettings #prayerSoundControls{display:grid;grid-template-columns:1fr;gap:10px;margin:12px 0}.prayerSoundSettings button{min-height:48px;text-align:start;border-radius:12px;padding:12px}.prayerSoundSettings button[aria-pressed="true"]{background:#155c48;color:#fff}.prayerSoundSettings button[aria-pressed="false"]{background:#394859;color:#fff}.prayerAlert{position:fixed;z-index:25000;top:calc(env(safe-area-inset-top,0px) + 22px);left:50%;transform:translateX(-50%);width:min(90vw,480px);box-sizing:border-box;display:flex;align-items:center;gap:12px;padding:16px;background:#0b283a;color:#fff;border:2px solid #9ce5bd;border-radius:18px;box-shadow:0 8px 32px #0008}.prayerAlert strong{flex:1}.prayerAlert button{min-width:48px;min-height:48px}.prayerAlert.hidden{display:none}

#adhkarOverlay .adhkarTabs{display:flex;flex-wrap:wrap;gap:8px}#adhkarOverlay .adhkarTabs button{min-height:46px;flex:1 1 145px;white-space:normal}#adhkarOverlay .adhkarContent{overflow:visible;max-height:none;height:auto;display:block}.athkarSpoken,.athkarEntry{padding:14px;border:1px solid #ffffff38;border-radius:14px;margin:12px 0;background:#ffffff08}.athkarSpoken small{display:block;margin-top:10px;line-height:1.5}.athkarEntry>summary{cursor:pointer;min-height:48px}.athkarEntry summary span,.athkarEntry summary small{display:block;margin:8px 0}.athkarSnippet{font-size:22px;line-height:1.8}.athkarVerse{border-top:1px solid #ffffff25;padding:12px 0}.athkarEntry .dhikrAr{font-size:clamp(23px,4.8vw,32px);line-height:1.95;white-space:normal}.athkarCounterRow{display:flex;gap:10px;flex-wrap:wrap}.athkarCounterRow button,.athkarSpoken button{min-height:48px}.athkarSearchLabel{display:block;margin:14px 0}.athkarSearchLabel input{width:100%;box-sizing:border-box;min-height:46px}.athkarEntryBody{line-height:1.65}.athkarEntryBody p{overflow-wrap:anywhere}#athkarResults .adhkarNav{display:flex;justify-content:space-between;gap:12px}

/* Quran reading contrast: explicitly style tappable ayahs on iPhone and Android. */
#quranOverlay #quranContent .qrAyah {
 -webkit-appearance:none;appearance:none;box-sizing:border-box;
 background:#102b40;color:#ffffff;opacity:1;
 border:0;border-bottom:1px solid #466174;border-radius:0;
 padding:18px 14px;text-shadow:none;
}
#quranOverlay #quranContent .qrAyah .ayahAr {
 color:#ffffff;opacity:1;font-size:clamp(27px,5.2vw,34px);line-height:2.1;
}
#quranOverlay #quranContent .qrAyah .ayahEn {
 color:#dce8f0;opacity:1;font-size:18px;line-height:1.7;margin-top:10px;
}
#quranOverlay #quranContent .qrAyah .ayahNum {color:#c7e8d5;opacity:1;font-size:14px;}
#quranOverlay #quranContent .qrAyah.playingAyah {
 background:#164b3c!important;border-color:#9ce5bd!important;
 box-shadow:inset 4px 0 #9ce5bd;
}
#quranOverlay #quranContent .qrAyah:focus-visible {outline:3px solid #9ce5bd;outline-offset:-3px;}
