/* niyatapp.com homepage: "the day". One scroll through the five prayers. */
@font-face{font-family:Newsreader;src:url('/assets/fonts/Newsreader-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Newsreader;src:url('/assets/fonts/Newsreader-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/Manrope-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/Manrope-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/Manrope-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:AmiriWeb;src:url('/assets/fonts/Amiri-Arabic.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+08A0-08FF,U+200C-200E,U+FB50-FDFF,U+FE70-FEFF}

:root{
  --ground:#FBF6EC; --ground2:#F3EADA; --surface:#FFFDF8;
  --ink:#13201A; --ink2:#3C5046; --ink3:#56695F;
  --line:rgba(26,37,30,.12);
  --gold:#D8A83F; --gold-soft:#F3E3BE; --gold-deep:#7A5A12; --gold-ink:#221806;
  --gold-grad:linear-gradient(180deg,#EDCE84,#CE9E38 70%,#E2BC65);
  --ok:#1F7A4D;
  --night:#06100C;
  --scrim:#040806;
  --serif:Newsreader,Georgia,'Times New Roman',serif;
  --sans:Manrope,system-ui,-apple-system,'Segoe UI',sans-serif;
  --arabic:AmiriWeb,'Amiri','Geeza Pro','Noto Naskh Arabic',serif;
  --gut:clamp(16px,4vw,48px);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--night);color:var(--ink);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:8px;top:-80px;z-index:50;background:var(--ground);padding:10px 14px;border-radius:10px}
.skip:focus{top:8px}

/* nav */
.nav{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;gap:20px;padding:18px var(--gut);color:#fff}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:500 22px/1 var(--serif);min-height:44px}
.brand img{border-radius:9px}
.nav__links{display:flex;gap:22px;margin-left:auto;font-weight:600;font-size:15px}
.nav__links a{text-decoration:none;padding:12px 0;opacity:.92}
.nav__links a:hover{opacity:1;text-decoration:underline;text-underline-offset:5px}
@media (max-width:640px){.nav__links{display:none}.nav .btn{margin-left:auto}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;border:0;font:700 16px/1 var(--sans);text-decoration:none;white-space:nowrap;transition:transform .15s ease,box-shadow .2s ease}
.btn--gold{background:var(--gold-grad);color:var(--gold-ink);box-shadow:0 1px 0 rgba(255,255,255,.55) inset,0 10px 24px -10px rgba(186,140,44,.75)}
.btn--gold:hover{transform:translateY(-1px)}
.btn--gold:active{transform:translateY(1px)}
.btn--glass{background:rgba(255,253,248,.14);color:#fff;border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.btn--sm{min-height:44px;padding:0 18px;font-size:15px}
.btn--store{min-height:58px;padding:0 22px 0 18px;border-radius:16px;text-align:left}
.btn--store span{display:flex;flex-direction:column;font-size:18px;line-height:1.1}
.btn--store small{font-size:11px;font-weight:600;opacity:.85}
.stores{display:flex;flex-wrap:wrap;gap:12px}
.linkbtn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 4px;background:none;border:0;font-weight:600;font-size:14px;color:var(--ink2);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
.pill{position:absolute;top:14px;right:14px;padding:4px 10px;border-radius:999px;background:var(--gold-soft);color:var(--gold-deep);font:700 12px/1.3 var(--sans)}

/* hours: each section is one sky */
.hour{position:relative;isolation:isolate;min-height:100vh;min-height:100svh;display:flex;align-items:center;color:#fff;overflow:hidden}
.sky{position:absolute;inset:0;z-index:-1;background:var(--night)}
.sky__img{width:100%;height:100%;object-fit:cover}
.sky::after{content:"";position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(6,16,12,.7) 0,rgba(4,8,6,0) 10%,rgba(4,8,6,0) 90%,rgba(6,16,12,.7) 100%),
  linear-gradient(90deg,rgba(4,8,6,var(--sa,.55)) 0,rgba(4,8,6,var(--sb,.2)) 55%,rgba(4,8,6,var(--sc,0)) 100%)}
.hour--dhuhr,.hour--asr{--sa:.8;--sb:.58;--sc:.12;--ma:.66}
.hour--maghrib{--sa:.66;--sb:.34;--ma:.45}
/* hero: a bright daylight sky, built in CSS */
.hour--hero{color:var(--ink)}
.sky--day{background:
 radial-gradient(55% 45% at 80% 16%,rgba(255,246,220,.95),rgba(255,246,220,0) 70%),
 radial-gradient(90% 60% at 20% 110%,rgba(251,246,236,1),rgba(251,246,236,0) 60%),
 linear-gradient(180deg,#9DC3E6 0%,#BCD7EE 24%,#DDE9F1 48%,#F2EEE3 72%,#FBF6EC 100%)}
.sky--day::after{display:none}
.cloud{position:absolute;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.95),rgba(255,255,255,0));filter:blur(6px);opacity:.85;animation:drift 90s linear infinite alternate}
.c1{width:560px;height:150px;left:-4%;top:16%}
.c2{width:420px;height:110px;left:38%;top:8%;opacity:.7;animation-duration:120s}
.c3{width:680px;height:170px;right:-12%;top:30%;opacity:.6;animation-duration:140s}
.c4{width:380px;height:90px;left:14%;top:44%;opacity:.55;animation-duration:100s}
@keyframes drift{from{transform:translateX(-30px)}to{transform:translateX(40px)}}
.hour--hero .hour__copy{text-shadow:none}
.hour--hero h1{color:var(--ink)}
.hour--hero + .hour .sky::before{content:"";position:absolute;inset:0 0 auto 0;height:220px;z-index:1;background:linear-gradient(180deg,#FBF6EC 0,rgba(214,206,190,.55) 40%,rgba(251,246,236,0))}
.nav{color:var(--ink)}
.hour--hero .btn--glass{background:rgba(255,255,255,.6);color:var(--ink);border-color:rgba(19,32,26,.14)}

.hour--hero{min-height:calc(100vh - 56px);min-height:calc(100svh - 56px)}
.hour--dhuhr .sky__img{object-position:70% 30%}
.hour__in{width:100%;max-width:1180px;margin:0 auto;padding:120px var(--gut) 96px;display:grid;grid-template-columns:1fr minmax(0,440px);gap:48px;align-items:center}
.hour__copy{text-shadow:0 1px 18px rgba(0,0,0,.35)}
.hour__name{margin:0 0 6px;font:italic 400 22px/1.2 var(--serif);color:#F7E4B4}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.02em;margin:0;text-wrap:balance}
h1{font-size:clamp(56px,11vw,128px);line-height:.94;margin-bottom:36px}
.hour h2{font-size:clamp(44px,7.4vw,92px);line-height:.98}
.demo{position:relative;display:grid;gap:16px;justify-items:center}

/* cards */
.card{position:relative;width:100%;background:var(--surface);color:var(--ink);border-radius:28px;padding:24px;box-shadow:0 30px 60px -28px rgba(0,0,0,.55),0 2px 0 rgba(255,255,255,.6) inset}

/* hero arc: a sun path */
.arc-card{padding:22px 22px 18px}
.arc-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap}
.arc-card__next{margin:0;display:grid;gap:2px}
.arc-card__lbl{font:600 14px/1.3 var(--sans);color:var(--ink2)}
.arc-card__lbl b{color:var(--gold-deep);font-weight:700}
.arc-card__in{font:400 42px/1.05 var(--serif);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;min-height:1.05em}
.arc-card__in small{font:500 16px/1 var(--sans);color:var(--ink3);margin:0 4px 0 1px;letter-spacing:0}
.arc{width:100%;height:auto;margin:12px 0 0;overflow:visible}
.arc__horizon{stroke:rgba(26,37,30,.16);stroke-width:1}
.arc__track{fill:none;stroke:url(#arcGrad);stroke-width:2;stroke-linecap:round;opacity:.55}
.arc__done{fill:none;stroke:url(#arcGrad);stroke-width:3.2;stroke-linecap:round}
.arc__dot{fill:#FFFDF8;stroke:#C9B48A;stroke-width:1.6}
.arc__dot.is-past{fill:#E0B04E;stroke:#FFFDF8;stroke-width:1.6}
.arc__now .arc__sun{fill:#F2BE4A;stroke:#FFF6DA;stroke-width:1.5}
.arc__now .arc__moon{display:none;fill:#8C93B8}
.arc__now.is-moon .arc__sun{display:none}
.arc__now.is-moon .arc__moon{display:block}
.arc__now.is-moon circle[fill]{opacity:.35}
.times{list-style:none;margin:2px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);text-align:center}
.times li{position:relative;padding:6px 0 4px}
.times span{display:block;font-size:13px;font-weight:600;color:var(--ink3)}
.times b{display:block;font:500 16px/1.3 var(--sans);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink2)}
.times li.is-next span{color:var(--gold-deep)}
.times li.is-next b{color:var(--ink);font-weight:700}
.times li.is-next::after{content:"";position:absolute;left:50%;bottom:-3px;width:18px;height:2px;margin-left:-9px;border-radius:2px;background:var(--gold)}
.times__ns{margin:10px 0 0;font-weight:600}

/* fajr */
.alarm{display:grid;justify-items:center;text-align:center;padding:30px 24px 26px}
.alarm__bell{color:var(--gold-deep);transform-origin:50% 10%}
.alarm__time{margin:6px 0 0;font:400 76px/1 var(--serif);font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.alarm__label{margin:4px 0 18px;font-weight:600;color:var(--ink2)}
.alarm__done{display:none;align-items:center;gap:8px;margin:0;font-weight:700;color:var(--ok);min-height:48px}
.js .alarm.is-ringing .alarm__bell{animation:ring 1.1s ease-in-out infinite}
.js .alarm.is-ringing::before{content:"";position:absolute;inset:-6px;border-radius:32px;border:2px solid rgba(216,168,63,.65);animation:pulse 1.6s ease-out infinite}
.alarm.is-off #alarmBtn{display:none}
.alarm.is-off .alarm__done{display:flex}
@keyframes ring{0%,50%,100%{transform:rotate(0)}10%,30%{transform:rotate(14deg)}20%,40%{transform:rotate(-14deg)}}
@keyframes pulse{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.06)}}
.tasbih{padding:18px 16px;display:grid;place-items:center}
.tasbih>.strand,.tasbih>.tasbih__tap{grid-area:1/1}
.strand{width:100%;max-width:340px;height:auto}
.strand .cord{fill:none;stroke:#B99A5A;stroke-width:1.4;opacity:.6}
.strand .bead{fill:#E9DFCB;stroke:rgba(26,37,30,.18);stroke-width:1;transition:fill .25s ease,transform .25s ease}
.strand .bead.is-on{fill:var(--gold)}
.strand .imam{fill:var(--gold-deep)}
.tasbih__tap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:120px;min-height:76px;padding:8px 20px;border-radius:999px;border:1px solid var(--line);background:var(--ground)}
.tasbih__tap:active{transform:scale(.97)}
.tasbih__n{font:400 38px/1 var(--serif);font-variant-numeric:tabular-nums;text-align:center}
.tasbih__w{font-weight:600;color:var(--ink2)}
.tasbih.is-done .tasbih__tap{background:var(--gold-soft);border-color:transparent}

/* dhuhr phone */
.phone{position:relative;width:min(300px,100%);aspect-ratio:9/17;border-radius:44px;padding:64px 26px 26px;background:linear-gradient(160deg,#233A2E,#0E1A13);border:8px solid #0A120D;box-shadow:0 40px 70px -30px rgba(0,0,0,.7)}
.pill--on-dark{left:50%;right:auto;top:18px;transform:translateX(-50%);white-space:nowrap}
.phone__apps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.phone__apps i{aspect-ratio:1;border-radius:18px;background:var(--c);transition:filter .5s ease,opacity .5s ease,transform .5s cubic-bezier(.3,1.6,.5,1)}
.phone__gate{position:absolute;left:14px;right:14px;bottom:18px;display:grid;justify-items:center;gap:6px;padding:20px 16px 18px;border-radius:26px;background:rgba(251,246,236,.97);color:var(--ink);text-align:center;transition:opacity .4s ease,transform .5s ease}
.phone__lock{color:var(--ink)}
.phone__msg{margin:0 0 8px;font:400 24px/1.2 var(--serif)}
.phone.is-locked .phone__apps i{filter:grayscale(1) brightness(.55);opacity:.55}
.phone.is-open .phone__gate{opacity:0;transform:translateY(24px);pointer-events:none}
.phone.is-open .phone__apps i{animation:pop .5s cubic-bezier(.3,1.6,.5,1) both;animation-delay:calc(var(--i,0) * 40ms)}
@keyframes pop{from{transform:scale(.8)}to{transform:scale(1)}}

/* asr recitation */
.recite{margin:0;padding:30px 24px 20px}
.recite__ar{margin:0;font:400 32px/2.05 var(--arabic);text-align:center;color:var(--ink)}
.recite__ar .w{padding:0 .06em;border-radius:8px;transition:background-color .15s ease,color .15s ease}
.recite__ar .w.is-on{background:var(--gold-soft);color:var(--gold-deep)}
.recite__ar .ayah-no{display:inline-grid;place-items:center;width:1.7em;height:1.7em;margin:0 .2em;border:1.5px solid var(--gold);border-radius:50%;font:700 12px/1 var(--sans);color:var(--gold-deep);vertical-align:middle}
.recite__tr{margin:14px 0 0;font:400 18px/1.5 var(--serif);color:var(--ink2);text-align:center}
.recite__bar{display:flex;align-items:center;gap:14px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.recite .pill{position:static;margin-left:auto}
.play{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:0;background:var(--gold-grad);color:var(--gold-ink);box-shadow:0 8px 18px -8px rgba(186,140,44,.9)}
.play .pause__i{display:none}
.recite.is-playing .play .play__i{display:none}
.recite.is-playing .play .pause__i{display:block}
.recite__ref{margin:0;display:flex;flex-direction:column;font-size:13px;color:var(--ink3);line-height:1.35}
.recite__ref a{font-weight:700;color:var(--ink);text-decoration:none;font-size:15px}

/* maghrib chat */
.chat{display:grid;gap:12px;padding:52px 20px 20px}
.chat__q{justify-self:end;max-width:85%;margin:0;padding:12px 16px;border-radius:20px 20px 6px 20px;background:var(--ink);color:#FCF8F0;font-weight:600;min-height:1.55em}
.chat__q .caret{display:inline-block;width:2px;height:1em;margin-left:2px;background:currentColor;vertical-align:-2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.chat__a{margin:0;font:400 22px/1.35 var(--serif)}
.source{margin:0;padding:16px 18px;border-radius:18px;background:var(--ground);border:1px solid var(--line);border-left:3px solid var(--gold)}
.source blockquote{margin:0;font:400 17px/1.5 var(--serif);color:var(--ink)}
.source figcaption{display:flex;align-items:center;gap:8px;margin-top:10px;font-weight:700;font-size:14px;color:var(--gold-deep)}

/* isha khatm */
.khatm{padding:24px 18px 20px;display:grid;gap:16px;justify-items:center;background:rgba(255,253,248,.97)}
.juz{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:10px 6px;width:100%}
.juz li{position:relative;display:grid;justify-items:center;gap:2px}
.juz i{width:40px;height:40px;border-radius:50%;border:2.5px dashed rgba(26,37,30,.22);transition:border-color .35s ease,background-color .35s ease}
.juz b{position:absolute;top:0;height:40px;display:grid;place-items:center;font:600 13px/1 var(--sans);color:var(--ink3)}
.juz span{font-size:11px;font-weight:600;color:var(--ink2);opacity:0;transition:opacity .35s ease;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.juz li.is-done i{border:2.5px solid var(--gold);background:var(--gold-soft)}
.juz li.is-done b{color:var(--gold-deep)}
.juz li.is-done span{opacity:1}
.juz li.is-you.is-done i{background:var(--gold);border-color:var(--gold-deep)}
.juz li.is-you.is-done b{color:var(--gold-ink)}
.juz li.is-open i{border-color:var(--gold);animation:pulse2 1.4s ease-in-out infinite}
@keyframes pulse2{50%{box-shadow:0 0 0 6px rgba(216,168,63,.25)}}
.khatm__done{margin:0;font:400 24px/1.2 var(--serif);min-height:48px;display:grid;place-items:center}
.js .khatm:not(.is-complete) .khatm__done{display:none}

/* close */
.hour--close{background:radial-gradient(120% 80% at 50% 110%,#123024 0,#081410 45%,var(--night) 75%);text-align:center}
.stars{position:absolute;inset:0;z-index:-1;background-image:
 radial-gradient(1.2px 1.2px at 10% 20%,#fff,transparent),radial-gradient(1px 1px at 25% 60%,#fff,transparent),radial-gradient(1.4px 1.4px at 40% 15%,#fff,transparent),radial-gradient(1px 1px at 55% 45%,#fff,transparent),radial-gradient(1.6px 1.6px at 70% 25%,#fff,transparent),radial-gradient(1px 1px at 85% 55%,#fff,transparent),radial-gradient(1.2px 1.2px at 92% 12%,#fff,transparent),radial-gradient(1px 1px at 15% 80%,#fff,transparent),radial-gradient(1.3px 1.3px at 62% 78%,#fff,transparent),radial-gradient(1px 1px at 33% 35%,#fff,transparent),radial-gradient(1px 1px at 78% 88%,#fff,transparent),radial-gradient(1.2px 1.2px at 48% 92%,#fff,transparent);background-size:420px 420px;opacity:.8}
.close__in{grid-template-columns:1fr;justify-items:center;gap:36px}
.close__in h2{font-size:clamp(52px,9vw,112px)}
.day-marks{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.day-marks button{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 18px 0 10px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.06);color:#fff;font-weight:600}
.day-marks i{width:28px;height:28px;border-radius:50%;border:2px solid rgba(255,255,255,.5);display:grid;place-items:center;transition:background-color .3s ease,border-color .3s ease}
.day-marks button[aria-pressed="true"] i{background:var(--gold);border-color:var(--gold)}
.day-marks button[aria-pressed="true"] i::after{content:"";width:10px;height:6px;border:solid var(--gold-ink);border-width:0 0 2.4px 2.4px;transform:translateY(-1px) rotate(-45deg)}
.hour--close .stores{justify-content:center}

/* reviews + footer */
.reviews{background:var(--ground);padding:88px var(--gut)}
.reviews__in{max-width:1180px;margin:0 auto}
.rating{display:flex;align-items:baseline;justify-content:center;gap:14px;margin:0 0 40px;flex-wrap:wrap}
.rating__n{font:400 72px/1 var(--serif)}
.stars5{color:var(--gold);font-size:24px;letter-spacing:3px}
.rating__l{font-weight:600;color:var(--ink2)}
.review-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:20px}
.review{margin:0;padding:26px;background:var(--surface);border-radius:24px;border:1px solid var(--line)}
.review blockquote{margin:0;font:400 19px/1.5 var(--serif)}
.review figcaption{margin-top:14px;font-size:14px;font-weight:600;color:var(--ink3)}
.foot{background:var(--ground2);color:var(--ink);padding:56px var(--gut) 40px}
.tools-row{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(9,1fr);gap:8px}
.tools-row a{display:grid;justify-items:center;gap:10px;padding:14px 4px;border-radius:18px;text-decoration:none;font-size:13px;font-weight:600;text-align:center;color:var(--ink2)}
.tools-row a:hover{background:var(--surface);color:var(--ink)}
.tools-row svg{width:30px;height:30px;fill:none;stroke:var(--gold-deep);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.foot__bottom{max-width:1180px;margin:36px auto 0;padding-top:24px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;font-size:14px;color:var(--ink3)}
.foot__bottom .brand{color:var(--ink);font-size:19px}
.foot__links,.langs{display:flex;flex-wrap:wrap;gap:4px 16px}
.foot__links a,.langs a{text-decoration:none;padding:10px 0;color:var(--ink2)}
.foot__links a:hover,.langs a:hover{color:var(--ink);text-decoration:underline}
.foot__c{margin-left:auto}

/* motion: auto-play + control */
:root{--spring:cubic-bezier(.34,1.56,.64,1);--out:cubic-bezier(.22,1,.36,1)}
.replay{position:absolute;z-index:3;right:-6px;bottom:-54px;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(4,8,6,.45);color:#fff;font-weight:600;font-size:14px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fadeUp .4s var(--out) both}
.demo{padding-bottom:52px}
.demo--close{padding-bottom:0}
.demo--close .replay{position:static;margin:14px auto 0}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ghost{position:absolute;z-index:5;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:rgba(255,255,255,.55);border:2px solid rgba(255,255,255,.95);box-shadow:0 4px 16px rgba(0,0,0,.25);pointer-events:none;animation:ghost .65s var(--out) forwards}
@keyframes ghost{0%{opacity:0;transform:scale(1.5)}35%{opacity:1;transform:scale(.8)}100%{opacity:0;transform:scale(1.1)}}
.is-pressed{transform:scale(.94)!important;transition:transform .12s ease}
.btn,.chip,.day-marks button,.tasbih__tap{transition:transform .25s var(--spring),background-color .2s ease,box-shadow .2s ease}
.btn:active,.chip:active,.day-marks button:active{transform:scale(.95)}
/* fajr */
.strand{cursor:pointer}
.strand .bead{transform-box:fill-box;transform-origin:center}
.strand .bead.pop{animation:bead .38s var(--spring)}
@keyframes bead{0%{transform:scale(1.55) translateY(-3px)}100%{transform:none}}
.tasbih__n.bump{animation:bump .3s var(--spring)}
@keyframes bump{0%{transform:scale(1.25)}100%{transform:none}}
.alarm{transition:transform .5s var(--spring)}
.alarm.is-off{transform:scale(.98)}
.alarm__done svg{animation:none}
.alarm.is-off .alarm__done{animation:fadeUp .45s var(--spring) both}
/* dhuhr */
.phone__apps{cursor:pointer}
.phone.is-shake .phone__apps i{animation:shake .45s ease both;animation-delay:calc(var(--i,0) * 18ms)}
.phone.is-shake .phone__lock{animation:lockbob .45s var(--spring)}
@keyframes shake{20%{transform:translateX(-5px) rotate(-3deg)}40%{transform:translateX(5px) rotate(3deg)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
@keyframes lockbob{40%{transform:translateY(-6px) rotate(-8deg)}}
.phone__gate{transition:opacity .45s var(--out),transform .6s var(--spring)}
.phone.is-open .phone__gate{transform:translateY(40px) scale(.96)}
.phone__apps i{transition:filter .6s var(--out),opacity .6s var(--out)}
.phone.is-open .phone__apps i{animation:pop .6s var(--spring) both;animation-delay:calc(var(--i,0) * 45ms)}
@keyframes pop{0%{transform:scale(.7)}100%{transform:scale(1)}}
/* asr */
.recite__ar .w{cursor:pointer;display:inline-block;transition:background-color .18s ease,color .18s ease,transform .25s var(--spring)}
.recite__ar .w.is-on{transform:translateY(-2px)}
.hear{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;background:var(--ink);color:#FCF8F0;font-size:12.5px;font-weight:700;opacity:0;transform:translateY(4px);transition:opacity .3s ease,transform .3s var(--spring)}
.recite.is-silent .hear{opacity:1;transform:none;animation:breathe 1.8s ease-in-out infinite}
@keyframes breathe{50%{transform:scale(1.05)}}
.recite__bar{flex-wrap:wrap}
/* maghrib */
.chat.is-asking .chat__q::after{content:"";display:inline-block;width:2px;height:1em;margin-left:2px;background:currentColor;vertical-align:-2px;animation:blink 1s steps(1) infinite}
.chat__q:empty{display:none}
.chat.is-answering .chat__a::after{content:"";display:inline-block;width:.5em;height:.5em;margin-left:4px;border-radius:50%;background:var(--gold);animation:blink .8s steps(1) infinite}
.source{transform-origin:50% 0;transition:opacity .45s var(--out),transform .6s var(--spring)}
.js .source:not(.is-open){opacity:0;transform:perspective(700px) rotateX(-70deg)}
.source__ar{margin:0 0 8px;font:400 22px/1.9 var(--arabic);text-align:right;color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;width:100%}
.chip{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:rgba(4,8,6,.4);color:#fff;font-weight:600;font-size:14px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.chip[aria-pressed="true"]{background:var(--gold-grad);color:var(--gold-ink);border-color:transparent}
/* isha */
.juz li.is-done i{animation:ringin .5s var(--spring) both}
.juz li.is-done span{animation:flyin .5s var(--out) both}
@keyframes ringin{0%{transform:scale(.6)}100%{transform:none}}
@keyframes flyin{0%{opacity:0;transform:translateY(-14px)}100%{opacity:1;transform:none}}
.juz li:last-child{cursor:pointer}
.khatm.is-complete .juz li.is-done i{animation:glow 1.2s ease both;animation-delay:calc(var(--n,0) * 20ms)}
@keyframes glow{40%{box-shadow:0 0 0 5px rgba(216,168,63,.35)}}
.khatm.is-complete .khatm__done{animation:fadeUp .5s var(--spring) both}
/* close */
.day-marks button{position:relative}
.day-marks button.burst i{animation:tick .45s var(--spring)}
.day-marks button.burst::after{content:"";position:absolute;left:24px;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;box-shadow:0 -18px 0 var(--gold),13px -13px 0 var(--gold),18px 0 0 var(--gold),13px 13px 0 var(--gold),0 18px 0 var(--gold),-13px 13px 0 var(--gold),-18px 0 0 var(--gold),-13px -13px 0 var(--gold);animation:burst .6s var(--out) forwards;pointer-events:none}
@keyframes tick{0%{transform:scale(.5)}100%{transform:none}}
@keyframes burst{0%{opacity:1;transform:scale(.3)}100%{opacity:0;transform:scale(1.3)}}

/* mobile */
@media (max-width:860px){
  .hour{min-height:0;align-items:flex-start}
  .hour__in{grid-template-columns:1fr;gap:28px;padding:104px var(--gut) 72px}
  .hero__in{padding-top:120px}
  .sky::after{background:linear-gradient(180deg,var(--night) 0,rgba(4,8,6,var(--ma,.35)) 14%,rgba(4,8,6,var(--ma,.35)) 30%,rgba(4,8,6,.2) 45%,rgba(4,8,6,.45) 80%,var(--night) 100%)}
  h1{margin-bottom:26px}
  .review-row{grid-template-columns:1fr}
  .tools-row{grid-template-columns:repeat(3,1fr)}
  .foot__c{margin-left:0}
}
@media (max-width:420px){
  .btn--store{flex:1 1 150px;padding:0 14px}
  .card{padding:20px 16px;border-radius:24px}
  .times b{font-size:15px}
  .recite__ar{font-size:27px}
  .juz i,.juz b{width:36px;height:36px}
  .juz{gap:10px 2px}
  .alarm__time{font-size:64px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

/* ar / bn: type and right-to-left */
html[lang="ar"]{--serif:'Amiri',AmiriWeb,'Geeza Pro',serif;--sans:'IBM Plex Sans Arabic',system-ui,sans-serif}
html[lang="bn"]{--serif:'Noto Serif Bengali','Noto Sans Bengali',serif;--sans:'Noto Sans Bengali',system-ui,sans-serif}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="bn"] h1,html[lang="bn"] h2{letter-spacing:0;line-height:1.25}
html[lang="bn"] h1{font-size:clamp(48px,8.5vw,104px)}
html[lang="bn"] .hour h2{font-size:clamp(36px,5.6vw,72px)}
html[lang="ar"] .hour__name,html[lang="bn"] .hour__name{font-style:normal}
html[lang="ar"] .arc-card__in small,html[lang="bn"] .arc-card__in small{margin:0 2px}
[dir="rtl"] .nav__links{margin-left:0;margin-right:auto}
@media (max-width:640px){[dir="rtl"] .nav .btn{margin-left:0;margin-right:auto}}
[dir="rtl"] .arc{transform:scaleX(-1)}
[dir="rtl"] .pill{right:auto;left:14px}
[dir="rtl"] .pill--on-dark{left:50%;transform:translateX(-50%)}
[dir="rtl"] .recite .pill{margin-left:0;margin-right:auto}
[dir="rtl"] .replay{right:auto;left:-6px}
[dir="rtl"] .source{border-left:1px solid var(--line);border-right:3px solid var(--gold)}
[dir="rtl"] .chat__q{border-radius:20px 20px 20px 6px}
[dir="rtl"] .day-marks button{padding:0 10px 0 18px}
[dir="rtl"] .day-marks button.burst::after{left:auto;right:24px}
[dir="rtl"] .foot__c{margin-left:0;margin-right:auto}
[dir="rtl"] .btn--store{text-align:right}
[dir="rtl"] .sky__img{transform:scaleX(-1)}
@media (min-width:861px){[dir="rtl"] .sky:not(.sky--day)::after{background:
  linear-gradient(180deg,rgba(6,16,12,.7) 0,rgba(4,8,6,0) 10%,rgba(4,8,6,0) 90%,rgba(6,16,12,.7) 100%),
  linear-gradient(270deg,rgba(4,8,6,var(--sa,.55)) 0,rgba(4,8,6,var(--sb,.2)) 55%,rgba(4,8,6,var(--sc,0)) 100%)}}
html[lang="ar"] .hour__name{margin-bottom:18px}
.phone__apps i.app{display:grid;place-items:center;background:var(--c);box-shadow:0 1px 2px rgba(0,0,0,.18),inset 0 0 0 .5px rgba(255,255,255,.12)}
.phone__apps i.app svg{display:block}

/* hero proof: award laurels + users */
.proof{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin:0 0 24px}
.award{display:flex;align-items:center;gap:2px}
.laurel{flex:none;width:30px;height:68px;overflow:visible;filter:drop-shadow(0 1px 0 rgba(255,255,255,.6)) drop-shadow(0 2px 3px rgba(122,90,18,.18))}
.laurel__stem{fill:none;stroke:url(#laurelG);stroke-width:1.5;stroke-linecap:round}
.award__in{margin:0;display:grid;justify-items:center;text-align:center;gap:3px;padding:0 2px}
.award__in b{font:500 20px/1.05 var(--serif);color:var(--ink);letter-spacing:-.01em;white-space:nowrap}
.award__r{font:700 14px/1 var(--sans);color:var(--ink);white-space:nowrap}
.award__st{color:#C9962C;letter-spacing:1.5px;margin-inline-start:3px;font-size:13px}
.users{display:flex;align-items:center;gap:10px;margin:0;font:600 14px/1.2 var(--sans);color:var(--ink2)}
.users__av{display:flex}
.users__av i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;margin-inline-start:-9px;border:2px solid #FBF6EC;background:linear-gradient(145deg,var(--a),var(--b));color:#fff;font:700 12px/1 var(--sans);font-style:normal}
.users__av i:first-child{margin-inline-start:0}
/* tap affordance */
.is-hint{position:relative}
.is-hint::before{content:"";position:absolute;inset:-6px;border-radius:inherit;border:2px solid rgba(216,168,63,.75);animation:hintpulse 1.8s ease-out infinite;pointer-events:none}
@keyframes hintpulse{0%{opacity:.9;transform:scale(.96)}100%{opacity:0;transform:scale(1.12)}}
.btn.is-hint::before,.chip.is-hint::before,.day-marks button.is-hint::before,.tasbih__tap.is-hint::before{border-radius:999px}
.play.is-hint::before{border-radius:50%}
.juz li.is-hint::before{inset:-5px -1px auto;height:48px;border-radius:50%;width:48px;left:50%;margin-left:-24px}
.times li.is-hint::before{border-radius:12px;inset:0 2px}
/* hero: log a prayer */
.times li{cursor:pointer;border-radius:12px;transition:background-color .2s ease}
.times li:hover{background:rgba(216,168,63,.10)}
#arcDots circle{cursor:pointer;transform-box:fill-box;transform-origin:center}
#arcDots circle.is-logged{fill:#D8A83F;stroke:#FFF6DA;stroke-width:2}
#arcDots circle.burst{animation:dotburst .5s var(--spring)}
@keyframes dotburst{0%{transform:scale(2.1)}100%{transform:none}}
.times li.is-logged span::after{content:"";display:inline-block;width:6px;height:6px;margin-inline-start:5px;border-radius:50%;background:#D8A83F;vertical-align:2px}
.arc-card{position:relative}
.logsheet{position:absolute;z-index:6;left:12px;right:12px;bottom:12px;padding:18px 18px 16px;border-radius:22px;background:#fff;box-shadow:0 20px 50px -18px rgba(19,32,26,.45),0 0 0 1px rgba(19,32,26,.06);text-align:center;animation:sheetup .38s var(--spring)}
@keyframes sheetup{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.logsheet__x{position:absolute;top:6px;inset-inline-end:8px;width:44px;height:44px;border:0;background:none;font-size:24px;color:var(--ink3)}
.logsheet__name{margin:0;font:400 28px/1.1 var(--serif)}
.logsheet__time{margin:4px 0 14px;font:600 14px/1 var(--sans);color:var(--ink3);font-variant-numeric:tabular-nums}
.logsheet__acts{display:flex;gap:10px;justify-content:center}
.btn--ghost{background:var(--ground);color:var(--ink);border:1px solid var(--line)}
.logsheet__bless{display:none;margin:0;flex-direction:column;gap:4px}
.logsheet__bless span:first-child{font:italic 400 24px/1.2 var(--serif);color:var(--gold-deep)}
.logsheet__bless span:last-child{font:600 14px/1.3 var(--sans);color:var(--ink2)}
.logsheet.is-blessed .logsheet__acts,.logsheet.is-blessed .logsheet__time{display:none}
.logsheet.is-blessed .logsheet__bless{display:flex;animation:fadeUp .4s var(--spring) both}
/* isha: open rings */
.juz li.is-open{cursor:pointer}
.juz li.is-open i{border-color:var(--gold);border-style:dashed;animation:none}
.juz li.burst i{animation:ringin .5s var(--spring)}
/* maghrib: empty state */
.chat.is-empty .chat__a,.chat.is-empty .source{display:none}
.chat.is-empty .chat__q{display:none}
.chat.is-empty::after{content:"?";display:grid;place-items:center;height:110px;font:400 64px/1 var(--serif);color:rgba(19,32,26,.14)}
/* hero: Ramadan 2027 (seasonal; an inline script in the page sets the season and hides it after Eid) */
@media (min-width:861px){
  .hero__in{row-gap:22px}
  .hero__in>.hour__copy{grid-row:1/span 2}
  .hero__in>.arc-card{align-self:end}
  .rmd{grid-column:2;align-self:start}
}
.rmd{display:grid;grid-template-columns:88px 1fr;column-gap:18px}
.rmd[hidden]{display:none}
.rmd__arch{grid-row:1/span 2;position:relative;display:block;width:100%;aspect-ratio:3/4;border-radius:999px 999px 14px 14px;overflow:hidden;background:#C9B48F;box-shadow:0 18px 30px -18px rgba(40,30,10,.6),0 0 0 1px rgba(122,90,18,.18)}
.rmd__arch::after{content:"";position:absolute;inset:4px;border-radius:999px 999px 10px 10px;box-shadow:inset 0 0 0 1px rgba(255,246,220,.6)}
.rmd__arch img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 0;transform:scale(1.55);transform-origin:50% 6%}
.rmd__txt{align-self:end}
.rmd__lbl{margin:0;font:600 15px/1.3 var(--sans);color:var(--ink2)}
.rmd__date{margin:2px 0 0;font:500 30px/1.1 var(--serif);letter-spacing:-.01em;color:var(--ink)}
.rmd__count{display:inline-flex;margin:8px 0 0;padding:5px 12px;border-radius:999px;background:var(--gold-soft);color:var(--gold-deep);font:700 14px/1.2 var(--sans)}
.rmd__count[hidden]{display:none}
.rmd__acts{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;margin-top:14px}
.rmd__cta{gap:8px}
.rmd__link{display:inline-flex;align-items:center;min-height:44px;font:700 15px/1 var(--sans);color:var(--ink);text-decoration:underline;text-decoration-color:rgba(122,90,18,.5);text-underline-offset:5px}
[dir="rtl"] .rmd__cta svg{transform:scaleX(-1)}
@media (max-width:420px){.rmd{grid-template-columns:78px 1fr;column-gap:16px;padding:0}.rmd__arch{grid-row:1;align-self:end}.rmd__acts{grid-column:1/-1;margin-top:16px}.rmd__date{font-size:26px}}
