/* Irtaqi v0.5: the animated chapter story and chapter videos */

/* ---------- entry buttons ---------- */
.ir-story-btn{display:inline-flex;align-items:center;gap:12px;margin-top:16px;padding:8px 20px 8px 8px;border:0;border-radius:999px;background:rgba(255,253,248,.96);color:#14302b;font:inherit;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.28);transition:transform .18s ease,box-shadow .18s ease;text-align:start}
.ir-story-btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.34)}
.ir-story-btn:focus-visible{outline:3px solid #f6c453;outline-offset:3px}
.ir-story-btn .pl{position:relative;width:44px;height:44px;border-radius:50%;background:#c0521f;color:#fff;display:grid;place-items:center;flex:none}
.ir-story-btn .pl::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid rgba(192,82,31,.45);animation:irPulse 2.2s ease-out infinite}
.ir-story-btn .pl svg{width:22px;height:22px;margin-inline-start:3px}
.ir-story-btn .tx{display:flex;flex-direction:column;line-height:1.2}
.ir-story-btn .tx b{font-family:'Source Sans 3','Figtree',sans-serif;font-weight:700;font-size:1.02rem}
.ir-story-btn .tx small{font-family:'Source Sans 3','Figtree',sans-serif;font-size:.8rem;opacity:.72}
html[data-lang=ar] .ir-story-btn .tx b,html[data-lang=ar] .ir-story-btn .tx small{font-family:'Readex Pro',sans-serif}
.ir-story-btn.small{margin:0;padding:6px 16px 6px 6px;box-shadow:none;background:#c0521f;color:#fff}
.ir-story-btn.small .pl{width:34px;height:34px;background:#fff;color:#c0521f}
.ir-story-btn.small .pl::after{display:none}
.ir-story-btn.small .pl svg{width:16px;height:16px}
@keyframes irPulse{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.35);opacity:0}}
.ir-story-card{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:var(--col,760px);margin:28px auto 0;padding:16px 18px;border-radius:16px;background:linear-gradient(120deg,rgba(192,82,31,.1),rgba(29,107,103,.1));border:1px solid var(--rule,rgba(0,0,0,.1));font-family:'Source Sans 3','Figtree',sans-serif}
.ir-story-card b{display:block;font-size:1.05rem;color:var(--ink,#1f2a27)}
.ir-story-card span{color:var(--muted,#5b625f);font-size:.93rem}
html[data-lang=ar] .ir-story-card{font-family:'Readex Pro',sans-serif}
@media (max-width:600px){.ir-story-card{flex-direction:column;align-items:flex-start}}

/* ---------- the story player ---------- */
html.ir-story-open{overflow:hidden}
.ir-story{position:fixed;inset:0;z-index:100000;background:#0b1422;color:#fffdf8;opacity:0;transition:opacity .3s ease;font-family:'Source Sans 3','Figtree',system-ui,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:contain;touch-action:manipulation}
.ir-story.on{opacity:1}
.ir-story .st-stage{position:absolute;inset:0;overflow:hidden}
.ir-story .st-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility 0s linear .7s}
.ir-story .st-slide.on{opacity:1;visibility:visible;transition:opacity .7s ease}
.ir-story .st-bg{position:absolute;inset:0;background-color:#11233a;background-size:120px 120px;overflow:hidden}
.ir-story .st-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:50% 50%;will-change:transform}
.ir-story .st-slide.on .st-bg img.kb1{animation:stKb1 16s ease-out both}
.ir-story .st-slide.on .st-bg img.kb2{animation:stKb2 16s ease-out both}
.ir-story .st-slide.on .st-bg img.kb3{animation:stKb3 16s ease-out both}
.ir-story .st-slide.on .st-bg img.kb4{animation:stKb4 16s ease-out both}
@keyframes stKb1{from{transform:scale(1.02)}to{transform:scale(1.16) translate(-2%,-1%)}}
@keyframes stKb2{from{transform:scale(1.16) translate(2%,1%)}to{transform:scale(1.03)}}
@keyframes stKb3{from{transform:scale(1.05) translate(-2%,2%)}to{transform:scale(1.15) translate(2%,-1%)}}
@keyframes stKb4{from{transform:scale(1.14) translate(0,-2%)}to{transform:scale(1.04) translate(-1%,1%)}}
.ir-story .st-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,14,24,.55) 0%,rgba(8,14,24,.12) 32%,rgba(8,14,24,.35) 55%,rgba(8,14,24,.92) 100%)}
.ir-story .st-slide.no-img .st-bg{animation:stDrift 40s linear infinite}
@keyframes stDrift{to{background-position:240px 120px}}
.ir-story .tone0.no-img .st-bg{background-color:#112a33}
.ir-story .tone1.no-img .st-bg{background-color:#1c1b33}
.ir-story .tone2.no-img .st-bg{background-color:#2a1d16}
.ir-story .tone3.no-img .st-bg{background-color:#132433}
.ir-story .st-star{position:absolute;width:min(78vmin,620px);aspect-ratio:1;inset-inline-end:-12vmin;top:50%;margin-top:calc(min(78vmin,620px) / -2);color:rgba(246,196,83,.16);animation:stSpin 60s linear infinite}
.ir-story .tone1 .st-star{color:rgba(46,196,182,.16)}
.ir-story .tone2 .st-star{color:rgba(255,122,89,.18)}
.ir-story .st-star svg{width:100%;height:100%}
.ir-story .sl-quran .st-star,.ir-story .sl-end .st-star,.ir-story .sl-map .st-star{display:none}
@keyframes stSpin{to{transform:rotate(360deg)}}
.ir-story .st-glow{position:absolute;width:70vmax;height:70vmax;left:-20vmax;bottom:-35vmax;border-radius:50%;background:radial-gradient(circle,rgba(246,196,83,.22),rgba(246,196,83,0) 60%);animation:stGlow 9s ease-in-out infinite alternate}
.ir-story .tone1 .st-glow{background:radial-gradient(circle,rgba(46,196,182,.2),rgba(46,196,182,0) 60%)}
.ir-story .tone2 .st-glow{background:radial-gradient(circle,rgba(255,122,89,.2),rgba(255,122,89,0) 60%)}
@keyframes stGlow{to{transform:translate(12vmax,-6vmax) scale(1.15)}}

.ir-story .st-txt{position:absolute;inset-inline:0;bottom:0;padding:0 max(24px,6vw) clamp(108px,15vh,150px);max-width:900px}
.ir-story .st-slide.no-img .st-txt{top:50%;bottom:auto;transform:translateY(-46%);padding-bottom:0}
.ir-story .st-in{opacity:0}
.ir-story .st-slide.on .st-in{animation:stUp .8s cubic-bezier(.2,.7,.2,1) var(--d,0s) both}
@keyframes stUp{from{opacity:0;transform:translateY(22px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
.ir-story .st-kick{margin:0 0 12px;font-weight:700;font-size:clamp(.78rem,1.6vw,.95rem);letter-spacing:.16em;text-transform:uppercase;color:#f6c453;display:flex;align-items:center;gap:10px}
html[data-lang=ar] .ir-story .st-kick{letter-spacing:0;font-family:'Readex Pro',sans-serif}
.ir-story .st-num{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 6px;border-radius:999px;background:#f6c453;color:#14202e;letter-spacing:0;font-size:.85rem}
.ir-story .st-h1{font-family:'Source Serif 4',Georgia,serif;font-weight:700;font-size:clamp(2.4rem,7vw,5rem);line-height:1.02;margin:0;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.ir-story .st-ar{font-family:'Amiri',serif;font-size:clamp(2rem,6vw,4rem);color:#f6c453;margin:6px 0 0;line-height:1.3}
.ir-story .st-sub{font-family:'Source Serif 4',Georgia,serif;font-style:italic;font-size:clamp(1.15rem,2.6vw,1.6rem);margin:8px 0 0;opacity:.92}
.ir-story .st-h{font-family:'Source Serif 4',Georgia,serif;font-weight:700;font-size:clamp(1.9rem,5vw,3.4rem);line-height:1.08;margin:0 0 14px;text-shadow:0 2px 20px rgba(0,0,0,.3)}
.ir-story .st-body{font-size:clamp(1.12rem,2.3vw,1.45rem);line-height:1.55;margin:0;max-width:44ch;text-shadow:0 1px 12px rgba(0,0,0,.35)}
.ir-story .st-saw{font-family:'Amiri',serif;color:#f6c453;letter-spacing:0;margin-inline:.12em}
.ir-story .st-kick .st-saw{font-size:1.35em;line-height:0;display:inline-block}
.uswah .hero .eyebrow .saw{font-family:'Amiri',serif;letter-spacing:0;margin-inline:.2em;font-size:1.3em;line-height:0;display:inline-block}
.ir-story .st-quote{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(1.8rem,4.6vw,3.2rem);line-height:1.18;margin:0;max-width:22ch;font-weight:600}
.ir-story .st-quote::before{content:"“";color:#f6c453}
.ir-story .st-quote::after{content:"”";color:#f6c453}
.ir-story .st-hint{margin:16px 0 0;opacity:.75;font-size:1.05rem}
html[data-lang=ar] .ir-story .st-hint,html[data-lang=ar] .ir-story .st-ref,html[data-lang=ar] .ir-story .st-body{font-family:'Readex Pro',sans-serif}
.ir-story .st-facts{margin:0;display:grid;gap:10px;max-width:640px}
.ir-story .st-fact{display:grid;grid-template-columns:minmax(90px,150px) 1fr;gap:14px;align-items:baseline;padding:12px 16px;border-radius:14px;background:rgba(8,14,24,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.08)}
.ir-story .st-fact dt{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#f6c453;font-weight:700}
.ir-story .st-fact dd{margin:0;font-size:clamp(1.02rem,2vw,1.25rem);font-weight:600}
.ir-story .st-mapbox{display:inline-block;max-width:92vw;border-radius:18px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.45);background:#16313d}
.ir-story .st-mapbox svg{display:block;height:min(56vh,560px);width:auto;max-width:92vw}
.ir-story .st-mapbox .sea{fill:#16313d}
.ir-story .st-mapbox .land{fill:#2b2a22;stroke:#4a4636}
.ir-story .st-mapbox .pin text{fill:#efe9dc;stroke:#2b2a22}
.ir-story .sl-map .st-txt{bottom:auto;top:84px;padding-bottom:0;transform:none}
.ir-story .st-legend{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:1rem}
.ir-story .st-legend li{display:flex;align-items:center;gap:8px}
.ir-story .st-legend .sw{display:inline-block;width:26px;border-top-width:4px;border-top-style:solid;height:0}
.ir-story .st-legend .sw.hist{border-top-style:dashed}
.ir-story .st-legend em{opacity:.7;font-style:normal;font-size:.9em}
.ir-story .st-ayah{font-family:'Amiri Quran','Amiri',serif;font-size:clamp(1.7rem,4.6vw,3rem);line-height:2.1;margin:0 0 10px;color:#fff6dd;text-shadow:0 2px 18px rgba(0,0,0,.35);max-width:30ch}
.ir-story .sl-quran .st-txt{max-width:980px}
.ir-story .st-meaning{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(1.12rem,2.4vw,1.5rem);font-style:italic;margin:0 0 12px;max-width:46ch}
.ir-story .st-ref{margin:0;font-size:.92rem;opacity:.78}
.ir-story .sl-quran.no-img .st-txt{text-align:center;inset-inline:0;margin-inline:auto}
.ir-story .sl-quran .st-ayah,.ir-story .sl-quran .st-meaning{margin-inline:auto}
.ir-story .sl-quran .st-kick{justify-content:center}
.ir-story .sl-end .st-txt{text-align:center;margin-inline:auto;inset-inline:0}
.ir-story .st-badge{width:84px;height:84px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:#f6c453;color:#7a4c00;box-shadow:0 0 0 10px rgba(246,196,83,.18),0 0 60px rgba(246,196,83,.5)}
.ir-story .st-badge svg{width:46px;height:46px}
.ir-story .st-slide.on .st-badge{animation:stUp .8s .1s both,stBadge 2.4s 1s ease-in-out infinite}
@keyframes stBadge{50%{transform:scale(1.07) rotate(-4deg)}}
.ir-story .sl-end .st-body{margin-inline:auto}
.ir-story .st-acts{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:22px}
.ir-story .st-go{border:0;border-radius:999px;padding:13px 22px;font:700 1rem 'Source Sans 3','Figtree',sans-serif;cursor:pointer;background:#f6c453;color:#14202e}
.ir-story .st-go.ghost{background:rgba(255,255,255,.1);color:#fffdf8;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}
.ir-story .st-go:hover{filter:brightness(1.06)}
html[data-lang=ar] .ir-story .st-go{font-family:'Readex Pro',sans-serif}

/* top: progress and title */
.ir-story .st-top{position:absolute;inset-inline:0;top:0;padding:max(12px,env(safe-area-inset-top)) 16px 0;background:linear-gradient(180deg,rgba(8,14,24,.65),rgba(8,14,24,0));z-index:3;pointer-events:none}
.ir-story .st-bars{display:flex;gap:4px}
.ir-story .st-bars span{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.28);overflow:hidden}
.ir-story .st-bars i{display:block;height:100%;background:#fff;transform:scaleX(0);transform-origin:left center}
html[dir=rtl] .ir-story .st-bars i{transform-origin:right center}
.ir-story .st-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0 14px}
.ir-story .st-title{font-weight:700;font-size:.95rem;opacity:.92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ir-story .st-ctl{display:flex;align-items:center;gap:8px;pointer-events:auto}
.ir-story .st-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;height:44px;border:0;border-radius:999px;background:rgba(255,255,255,.12);color:#fffdf8;cursor:pointer;font:600 .9rem 'Source Sans 3','Figtree',sans-serif;padding:0 12px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
html[data-lang=ar] .ir-story .st-btn{font-family:'Readex Pro',sans-serif}
.ir-story .st-btn:hover{background:rgba(255,255,255,.2)}
.ir-story .st-btn:focus-visible,.ir-story .st-go:focus-visible{outline:3px solid #f6c453;outline-offset:2px}
.ir-story .st-btn svg{width:22px;height:22px;flex:none}
.ir-story .st-voice[aria-pressed=true]{background:#f6c453;color:#14202e}
.ir-story .st-close{padding:0;width:44px}
@media (max-width:560px){.ir-story .st-voice span{display:none}.ir-story .st-voice{padding:0;width:44px}}

/* bottom controls */
.ir-story .st-nav{position:absolute;inset-inline:0;bottom:max(18px,env(safe-area-inset-bottom));display:flex;justify-content:center;align-items:center;gap:14px;z-index:3}
.ir-story .st-nav .st-btn{width:48px;height:48px;padding:0}
.ir-story .st-nav .st-btn.big{width:60px;height:60px;background:#fffdf8;color:#14202e}
.ir-story .st-nav .st-btn.big svg{width:26px;height:26px}
.ir-story.at-end .st-nav{opacity:.35}
.ir-story .st-tap{position:absolute;top:80px;bottom:96px;z-index:2;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ir-story .st-tap.prev{inset-inline-start:0;width:28%}
.ir-story .st-tap.next{inset-inline-end:0;width:72%}
.ir-story.at-end .st-tap{display:none}
html[dir=rtl] .ir-story .st-tap.prev{inset-inline-start:auto;left:0}
html[dir=rtl] .ir-story .st-tap.next{inset-inline-end:auto;right:0}
.ir-story.paused .st-slide.on .st-bg img,.ir-story.paused .st-star,.ir-story.paused .st-glow,.ir-story.paused .st-slide.no-img .st-bg{animation-play-state:paused}
.ir-story .st-txt{direction:ltr;text-align:left}
.ir-story .sl-end .st-txt,.ir-story .sl-quran.no-img .st-txt{text-align:center}
html[data-lang=ar] .ir-story .sl-end .st-txt{direction:rtl}

@media (max-width:700px){
  .ir-story .st-fact{grid-template-columns:1fr;gap:2px;padding:10px 14px}
  .ir-story .st-txt{padding-inline:22px}
  .ir-story .st-star{width:110vmin;margin-top:-55vmin;inset-inline-end:-40vmin}
}
@media (max-height:520px){
  .ir-story .st-h1{font-size:2.2rem}.ir-story .st-h{font-size:1.7rem}.ir-story .st-body{font-size:1.05rem}
  .ir-story .st-txt{padding-bottom:86px}
}
@media (prefers-reduced-motion:reduce){
  .ir-story .st-slide.on .st-bg img,.ir-story .st-star,.ir-story .st-glow,.ir-story .st-slide.no-img .st-bg,.ir-story-btn .pl::after{animation:none!important}
  .ir-story .st-slide.on .st-in{animation:stFade .4s both}
}
@keyframes stFade{from{opacity:0}to{opacity:1}}

/* ---------- chapter videos ---------- */
.ir-vids{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:12px 0 6px}
.ir-vids.one{grid-template-columns:1fr}
.ir-vid{margin:0;background:var(--paper,#fffdf8);border:1px solid var(--rule,rgba(0,0,0,.1));border-radius:16px;overflow:hidden}
.ir-vid-play{position:relative;display:block;width:100%;padding:0;border:0;background:#000;cursor:pointer;aspect-ratio:16/9;overflow:hidden}
.ir-vid-play img{width:100%;height:100%;object-fit:cover;display:block;opacity:.92;transition:transform .4s ease,opacity .2s}
.ir-vid-play:hover img{transform:scale(1.04);opacity:1}
.ir-vid-btn{position:absolute;left:50%;top:50%;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:50%;background:rgba(192,82,31,.94);box-shadow:0 8px 24px rgba(0,0,0,.35);transition:transform .2s}
.ir-vid-btn::after{content:"";position:absolute;left:27px;top:21px;border-style:solid;border-width:13px 0 13px 21px;border-color:transparent transparent transparent #fff}
.ir-vid-play:hover .ir-vid-btn{transform:scale(1.08)}
.ir-vid-play:focus-visible{outline:3px solid #f6c453;outline-offset:-3px}
.ir-vid-kind{position:absolute;inset-inline-start:12px;top:12px;padding:3px 10px;border-radius:999px;background:rgba(0,0,0,.6);color:#fff;font:700 .72rem 'Source Sans 3',sans-serif;letter-spacing:.1em;text-transform:uppercase}
html[data-lang=ar] .ir-vid-kind{font-family:'Readex Pro',sans-serif;letter-spacing:0}
.ir-vid-frame{position:relative;aspect-ratio:16/9;background:#000}
.ir-vid-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ir-vid figcaption{padding:12px 16px 14px;font-family:'Source Sans 3','Figtree',sans-serif;display:flex;flex-direction:column;gap:3px}
.ir-vid figcaption b{font-size:1.02rem;color:var(--ink,#1f2a27);line-height:1.3}
.ir-vid figcaption small{color:var(--muted,#5b625f);font-size:.85rem}
.ir-vid figcaption small.note{font-style:italic}
.ir-vid-credit{font-family:'Source Sans 3','Figtree',sans-serif;font-size:.8rem;color:var(--muted,#5b625f);margin:4px 0 12px}
html[data-lang=ar] .ir-vid-credit,html[data-lang=ar] .ir-vid figcaption{font-family:'Readex Pro',sans-serif}

.ir-vid.pending{outline:3px dashed #e0a100;outline-offset:2px}
.ir-vid-pend{display:inline-block;align-self:flex-start;margin-bottom:4px;padding:3px 10px;border-radius:999px;background:#ffe9a8;color:#5a3d00;font-size:.75rem;font-weight:700}
/* Irtaqi scenes: parallax layers and small living details */
.sc-wrap{position:absolute;inset:0;overflow:hidden;background:#0b1422}
.sc-layer{position:absolute;top:-3%;bottom:-3%;left:-6%;right:-6%;will-change:transform}
.sc-layer svg{width:100%;height:100%;display:block}
.sc-sky{--k:.25}.sc-far{--k:.45}.sc-mid{--k:.7}.sc-near{--k:1}.sc-fx{--k:1.15}
.st-slide.on .cam-pan-l .sc-layer{animation:scPanL var(--dur,14s) cubic-bezier(.3,.1,.3,1) both}
.st-slide.on .cam-pan-r .sc-layer{animation:scPanR var(--dur,14s) cubic-bezier(.3,.1,.3,1) both}
.st-slide.on .cam-push .sc-layer{animation:scPush var(--dur,14s) cubic-bezier(.3,.1,.3,1) both}
.st-slide.on .cam-rise .sc-layer{animation:scRise var(--dur,14s) cubic-bezier(.3,.1,.3,1) both}
@keyframes scPanL{from{transform:translate3d(calc(var(--k) * 3.2%),0,0) scale(1.02)}to{transform:translate3d(calc(var(--k) * -3.2%),0,0) scale(1.02)}}
@keyframes scPanR{from{transform:translate3d(calc(var(--k) * -3.2%),0,0) scale(1.02)}to{transform:translate3d(calc(var(--k) * 3.2%),0,0) scale(1.02)}}
@keyframes scPush{from{transform:scale(1)}to{transform:scale(calc(1 + var(--k) * .07))}}
@keyframes scRise{from{transform:translate3d(0,calc(var(--k) * 2.2%),0) scale(1.03)}to{transform:translate3d(0,calc(var(--k) * -1.2%),0) scale(1.03)}}
.sc-tw{animation:scTw 3s ease-in-out infinite alternate}
@keyframes scTw{from{opacity:.25}to{opacity:1}}
.sc-birds{animation:scFly 22s linear infinite}
.sc-birds.f1{animation-duration:26s;animation-delay:-6s}.sc-birds.f2{animation-duration:30s;animation-delay:-12s}
@keyframes scFly{from{transform:translate3d(-30%,4%,0)}to{transform:translate3d(40%,-6%,0)}}
.sc-wing{transform-box:fill-box;transform-origin:50% 100%;animation:scFlap .5s ease-in-out infinite alternate}
@keyframes scFlap{from{transform:scaleY(1)}to{transform:scaleY(-.35)}}
.sc-circle{animation:scSpin 14s linear infinite}
@keyframes scSpin{to{transform:rotate(360deg)}}
.sc-caravan{animation:scWalk 60s linear infinite}
@keyframes scWalk{from{transform:translate3d(-10%,0,0)}to{transform:translate3d(55%,0,0)}}
.sc-bob{transform-box:fill-box;transform-origin:50% 100%;animation:scBob 4s ease-in-out infinite alternate}
@keyframes scBob{from{transform:rotate(-1.5deg) translateY(0)}to{transform:rotate(1.5deg) translateY(4px)}}
.sc-glit{animation:scGlit 2.6s ease-in-out infinite alternate}
@keyframes scGlit{from{opacity:.25}to{opacity:1}}
.sc-wave{animation:scWave 7s linear infinite}
@keyframes scWave{to{transform:translateX(-160px)}}
.sc-drift{animation:scDrift 80s linear infinite}
@keyframes scDrift{from{transform:translateX(-25%)}to{transform:translateX(25%)}}
.sc-flick{animation:scFlick 1.6s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:50% 100%}
@keyframes scFlick{0%{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}100%{opacity:.85;transform:scale(.97)}}
.sc-ripple{transform-box:fill-box;transform-origin:50% 50%;animation:scRipple 2.4s ease-out infinite}
.sc-ripple.d2{animation-delay:1.2s}
@keyframes scRipple{from{transform:scale(.4);opacity:1}to{transform:scale(2.2);opacity:0}}
.sc-spark{animation:scSpark 1.8s ease-out infinite}
@keyframes scSpark{0%{transform:translateY(0);opacity:0}20%{opacity:1}100%{transform:translateY(-34px);opacity:0}}
.sc-shine{animation:scGlit 2s ease-in-out infinite alternate}
.sc-dust{animation:scDust 14s linear infinite}
@keyframes scDust{from{transform:translate3d(0,0,0);opacity:0}15%{opacity:.8}to{transform:translate3d(120px,-40px,0);opacity:0}}
.sc-ray{animation:scRay 9s ease-in-out infinite alternate}
@keyframes scRay{from{opacity:.3}to{opacity:1}}
.sc-rain{animation:scRain 1.1s linear infinite}
@keyframes scRain{from{transform:translate(0,-40px)}to{transform:translate(-20px,120px)}}
.sc-ff{animation:scFf 6s ease-in-out infinite alternate}
@keyframes scFf{0%{opacity:0;transform:translate(0,0)}50%{opacity:1}100%{opacity:.2;transform:translate(20px,-24px)}}
.sc-sunp{animation:scSun 6s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:50% 50%}
@keyframes scSun{from{transform:scale(1)}to{transform:scale(1.06)}}
.sc-moonsplit .sc-half{transition:none}
.st-slide.on .sc-moonsplit .sc-half.l{animation:scHalfL 4s cubic-bezier(.4,0,.2,1) 1.2s both}
.st-slide.on .sc-moonsplit .sc-half.r{animation:scHalfR 4s cubic-bezier(.4,0,.2,1) 1.2s both}
@keyframes scHalfL{to{transform:translate(-26px,8px)}}
@keyframes scHalfR{to{transform:translate(26px,-8px)}}
@media (prefers-reduced-motion:reduce){.sc-layer,.sc-layer *{animation:none!important}}
.sc-grain{position:absolute;inset:0;pointer-events:none;opacity:.14;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 1.2 -.1'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E")}
.sc-march{animation:scMarch 30s linear infinite}
@keyframes scMarch{from{transform:translate3d(0,0,0)}to{transform:translate3d(-14%,0,0)}}
/* ---------- v0.6: Qur'an script, drawn scenes, narrator ---------- */
@font-face{font-family:'KFGQPC Hafs';src:url(https://cdn.jsdelivr.net/gh/quran/quran.com-frontend-next@master/public/fonts/quran/hafs/uthmanic_hafs/UthmanicHafs1Ver18.woff2) format('woff2');font-display:swap}
.ayah,.st-ayah,.ir-ayah,.q-ar,[data-quran]{font-family:'KFGQPC Hafs','Amiri Quran','Amiri',serif!important;letter-spacing:0!important;word-spacing:.04em;font-feature-settings:normal;font-variant-ligatures:normal}
#book .ayah{line-height:2.25}
.ir-story .st-ayah{line-height:2.2}
:root{--q:'KFGQPC Hafs','Amiri Quran',serif}
.uswah,#book{--quran:'KFGQPC Hafs','Amiri Quran','Amiri',serif}
.ir-ayat,.ir-bism,.ir-an{font-family:'KFGQPC Hafs','Amiri Quran',serif!important}
.epi .q{font-family:'Amiri',serif!important;line-height:2.25}
[lang=ar],html[data-lang=ar] body{text-rendering:optimizeLegibility}
[lang=ar] *,html[data-lang=ar] .eyebrow,html[data-lang=ar] .tag,html[data-lang=ar] .kick{letter-spacing:0!important}
.ir-story .st-bg .sc-wrap{position:absolute;inset:0}
.ir-story .sl-scene .st-shade{background:linear-gradient(180deg,rgba(8,14,24,.5) 0%,rgba(8,14,24,0) 26%,rgba(8,14,24,0) 48%,rgba(8,14,24,.82) 78%,rgba(8,14,24,.94) 100%)}
.ir-story .st-dots{display:inline-flex;gap:5px;margin-inline-start:6px}
.ir-story .st-dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.35)}
.ir-story .st-dots i.on{background:#f6c453}
.ir-story .st-h2{font-family:'Source Serif 4',Georgia,serif;font-weight:600;font-size:clamp(1.05rem,2.2vw,1.35rem);opacity:.8;margin:0 0 10px}
.ir-story .sl-scene .st-body{max-width:46ch}
@media (max-width:560px){.ir-story .st-body{font-size:1.06rem;line-height:1.5}.ir-story .st-h{font-size:1.7rem}}

/* ---------- v0.7 Arabic edition of the book ---------- */
.uswah.uswah-ar{--serif:'Noto Naskh Arabic','Amiri',serif;--sans:'Readex Pro','Noto Naskh Arabic',sans-serif;--arabic:'Noto Naskh Arabic','Amiri',serif;font-family:var(--serif);font-size:1.2rem;line-height:2;text-align:start}
.uswah.uswah-ar *{letter-spacing:0!important;font-style:normal!important}
.uswah.uswah-ar h1,.uswah.uswah-ar h2,.uswah.uswah-ar h3{font-family:'Amiri','Noto Naskh Arabic',serif;font-weight:700;line-height:1.45}
.uswah.uswah-ar .hero h1{line-height:1.35}
.uswah.uswah-ar .lockup .ar[lang=en]{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(1rem,2.4vw,1.35rem);color:#f2d48c;direction:ltr;unicode-bidi:isolate}
.uswah.uswah-ar .eyebrow,.uswah.uswah-ar .when,.uswah.uswah-ar .chip,.uswah.uswah-ar .imagined,.uswah.uswah-ar .hist,.uswah.uswah-ar .src,.uswah.uswah-ar .tags span{text-transform:none;font-family:'Readex Pro',sans-serif}
.uswah.uswah-ar .eyebrow{font-size:.9rem}
.uswah.uswah-ar .src{margin-left:0;margin-inline-start:4px;font-size:.72rem}
.uswah.uswah-ar .hist{margin-right:0;margin-inline-end:6px;font-size:.74rem}
.uswah.uswah-ar .imagined{margin-right:0;margin-inline-end:6px}
.uswah.uswah-ar .hero .bq{border-left:0;border-inline-start:3px solid #f2d48c;border-radius:6px 0 0 6px}
.uswah.uswah-ar blockquote.say{padding:4px 18px 4px 0;border-left:0;border-inline-start:3px solid var(--gold);font-size:1.3rem;line-height:2}
.uswah.uswah-ar .heard{border-left:0;border-inline-start:4px solid var(--rust)}
.uswah.uswah-ar .live ol,.uswah.uswah-ar .talk ol,.uswah.uswah-ar .sources ol{padding-left:0;padding-inline-start:1.3em}
.uswah.uswah-ar .plan th,.uswah.uswah-ar .plan td{text-align:start}
.uswah.uswah-ar .words dt .ar[lang=en]{font-family:'Source Sans 3',sans-serif;font-size:.95rem;color:var(--muted);margin-left:0;margin-inline-start:8px;direction:ltr;unicode-bidi:isolate}
.uswah.uswah-ar .words dt{font-family:'Noto Naskh Arabic','Amiri',serif;font-size:1.3rem}
.uswah.uswah-ar dfn.term[aria-expanded="true"]::after{left:auto;right:0;font-family:'Readex Pro',sans-serif;line-height:1.7}
.uswah.uswah-ar .timeline{direction:ltr}
.uswah.uswah-ar .timeline .pt{font-family:'Readex Pro',sans-serif;direction:rtl}
.uswah.uswah-ar .q-ar{font-family:'KFGQPC Hafs','Amiri Quran','Amiri',serif;font-size:1.32em;line-height:2.1;color:var(--green);word-spacing:.04em}
.uswah.uswah-ar .quran .ayah{text-align:center}
.uswah.uswah-ar .quran .meaning{font-family:'Noto Naskh Arabic',serif;font-size:1.08rem;line-height:1.95}
.uswah.uswah-ar .quran .meaning b{font-family:'Readex Pro',sans-serif;font-weight:600;font-size:.86em;color:var(--muted)}
.uswah.uswah-ar .ar-notes{font-family:'Noto Naskh Arabic',serif;font-size:1.12rem}
.uswah.uswah-ar .quiz legend,.uswah.uswah-ar .quiz label{font-family:'Noto Naskh Arabic',serif;line-height:1.8}
.uswah.uswah-ar .chapnav a{font-family:'Readex Pro',sans-serif}
html[data-fixed-lang=ar] .lcard .lar{display:none}
html[data-fixed-lang=ar] .lcard h3,html[data-fixed-lang=ar] .home-ch-t{font-family:'Amiri','Noto Naskh Arabic',serif;font-weight:700;line-height:1.4}
html[lang=ar] .ir-story .st-body,html[lang=ar] .ir-story .st-h,html[lang=ar] .ir-story .st-h1,html[lang=ar] .ir-story .st-sub,html[lang=ar] .ir-story .st-quote,html[lang=ar] .ir-story .st-meaning{letter-spacing:0;font-style:normal}
html[lang=ar] .ir-story .st-body,html[lang=ar] .ir-story .st-meaning{font-family:'Noto Naskh Arabic','Amiri',serif;line-height:1.95}
html[lang=ar] .ir-story .st-h,html[lang=ar] .ir-story .st-h1,html[lang=ar] .ir-story .st-quote{font-family:'Amiri','Noto Naskh Arabic',serif;line-height:1.4}
html[lang=ar] .ir-story .st-ar{font-family:'Source Serif 4',Georgia,serif;direction:ltr;unicode-bidi:isolate;font-size:clamp(1.2rem,3vw,1.8rem)}
