@font-face{font-family:"Amiri Quran";src:url(vendor/fonts-amiri-quran-v19/amiri-quran-arabic.woff2) format("woff2");font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}
:root{color-scheme:light;--paper:#fbf8f3;--surface:#fffdf9;--ink:#263a31;--muted:#718077;--line:#dddeda;--accent:#27604b;--soft:#eaf0e8;--head:76px;--nav:70px;--arabic:clamp(31px,4.8vw,46px);--translation:18px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink)}
:root[data-theme=dark]{color-scheme:dark;--paper:#131b17;--surface:#1b2620;--ink:#e8ede6;--muted:#a4b2a6;--line:#354139;--accent:#9ed0ae;--soft:#293d31}
:root[data-size=small]{--arabic:clamp(27px,4vw,38px);--translation:16px}:root[data-size=large]{--arabic:clamp(37px,6vw,56px);--translation:21px}
*{box-sizing:border-box}body{margin:0;height:100vh;height:100dvh;overflow:hidden}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button{border:0;background:none}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;display:block}i{font-style:normal}[hidden]{display:none!important}
.topbar{height:calc(var(--head) + env(safe-area-inset-top));padding:calc(10px + env(safe-area-inset-top)) 24px 10px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px;background:var(--paper);position:relative;z-index:2}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:650;font-size:13px}.brand small{display:block;font-size:10px;letter-spacing:1.3px;text-transform:uppercase;font-weight:500;color:var(--muted);margin-top:3px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;font-family:"Amiri Quran",serif;font-size:27px;color:var(--accent)}.location{margin:auto;text-align:center;min-width:0;padding:6px}.location b{font-weight:600;font-size:14px;display:block}.location small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.icon-button{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:50%}.icon-button:hover{background:var(--soft)}
main{height:calc(100% - var(--head) - var(--nav) - env(safe-area-inset-top) - env(safe-area-inset-bottom));position:relative}.stream,.page{height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;position:relative}.stream{scroll-snap-type:y mandatory;scroll-behavior:smooth;overscroll-behavior-y:contain}.verse,.state-card{height:100%;width:100%;scroll-snap-align:start;scroll-snap-stop:always;position:relative;max-width:880px;margin:auto;padding:26px clamp(22px,5vw,76px) 18px;display:flex;flex-direction:column;align-items:center}.verse-top{display:flex;justify-content:space-between;align-items:center;width:100%;gap:12px;min-height:36px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:700;color:var(--muted)}.study-button{display:flex;align-items:center;gap:7px;color:var(--accent);border:1px solid var(--line);border-radius:24px;padding:8px 14px;font-size:12px;font-weight:650}.study-button svg{width:17px;height:17px}.verse-text{width:100%;flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:auto;padding:20px 10px 14px;display:flex;flex-direction:column;justify-content:safe center;scrollbar-width:thin}.arabic{font-family:"Amiri Quran",serif;font-weight:400;direction:rtl;line-height:2.15;font-size:var(--arabic);text-align:center;margin:0 0 22px;overflow-wrap:anywhere}.translation{font-family:Georgia,"Times New Roman",serif;font-size:var(--translation);line-height:1.65;text-align:center;margin:0;max-width:640px;align-self:center}.verse.long .arabic{font-size:calc(var(--arabic) * .84)}.verse.very-long .arabic{font-size:calc(var(--arabic) * .72)}.verse.very-long .translation{font-size:calc(var(--translation) * .94)}.verse-ref{font-size:12px;letter-spacing:.4px;color:var(--muted);margin:18px 0 12px;text-align:center}.verse-context{font-size:10px;color:var(--muted);margin:0 0 8px;text-align:center}.actions{display:flex;gap:18px;justify-content:center;width:100%;padding:10px 0}.action{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:10px;min-width:56px;padding:8px;border-radius:14px}.action svg{width:23px;height:23px}.action:hover{background:var(--soft)}.action[aria-pressed=true]{color:var(--accent);background:var(--soft)}.action[data-action=save][aria-pressed=true] svg{fill:var(--accent);stroke:var(--accent)}.gesture-hint{font-size:10px;color:var(--muted);margin:6px 0 0;display:flex;align-items:center;gap:6px}.gesture-hint svg{width:13px;height:13px}.bottom-nav{height:calc(var(--nav) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:flex;justify-content:center;border-top:1px solid var(--line);background:var(--paper)}.bottom-nav button{width:min(25%,150px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--muted);font-size:10px}.bottom-nav i{padding:5px 20px;border-radius:30px}.bottom-nav svg{width:21px;height:21px}.bottom-nav button[aria-current=page]{color:var(--accent);font-weight:700}.bottom-nav button[aria-current=page] i{background:var(--soft)}
.state-card{justify-content:center;text-align:center;gap:16px}.state-card h1,.state-card h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(32px,5vw,52px);line-height:1.15;margin:0}.state-card p{max-width:420px;line-height:1.7;color:var(--muted);font-size:14px;margin:0}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:12px 20px;border-radius:24px;background:var(--accent);color:var(--paper);font-weight:650;font-size:13px;gap:8px}.button.secondary{background:var(--soft);color:var(--accent)}.page{padding:32px 24px 60px;max-width:800px;margin:auto}.page h1{font:400 34px/1.2 Georgia,serif;margin:5px 0 12px}.lead{font-size:14px;line-height:1.7;color:var(--muted);max-width:550px}.section-title{font-size:14px;margin:30px 0 14px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:26px 0}.stat{background:var(--soft);border-radius:18px;padding:20px 12px;text-align:center}.stat strong{font:400 30px Georgia,serif;display:block;color:var(--accent)}.stat small{font-size:10px;color:var(--muted);display:block;margin-top:7px}.progress-box{padding:22px;border:1px solid var(--line);border-radius:20px}.progress-box p{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin:0 0 14px}.progress-box progress{width:100%;height:7px;accent-color:var(--accent)}.goal{display:flex;align-items:center;gap:10px;margin-top:20px;font-size:12px}.goal select,select,input[type=search]{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink)}.mini-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:20px;margin:12px 0}.mini-card h3{font-size:13px;margin:0 0 12px}.mini-card .arabic{font-size:26px;margin:10px 0;line-height:2}.mini-card .translation{font-size:15px;text-align:left;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.mini-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.mini-actions button{padding:9px 13px;border-radius:18px;background:var(--soft);font-size:11px;color:var(--accent)}.saved-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.surah-search{width:100%;margin:12px 0}.surah-list{list-style:none;padding:0;margin:0}.surah-list button{display:grid;grid-template-columns:35px 1fr auto;align-items:center;width:100%;padding:16px 6px;border-bottom:1px solid var(--line);gap:12px;text-align:left}.surah-list small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.surah-list .surah-ar{font-family:"Amiri Quran",serif;font-size:25px}.number{color:var(--muted);font-size:11px}
.sheet{padding:0;width:min(720px,100%);max-height:90vh;max-height:90dvh;border:1px solid var(--line);border-radius:26px 26px 0 0;color:var(--ink);background:var(--paper);margin:auto auto 0;overflow:hidden}.sheet::backdrop{background:#08180f80;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:22px 24px 18px}.dialog-head h2{font:400 25px Georgia,serif;margin:7px 0 0}.study-tabs{display:flex;padding:0 20px;border-bottom:1px solid var(--line)}.study-tabs button{flex:1;font-size:12px;padding:15px 5px;color:var(--muted);border-bottom:2px solid transparent}.study-tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}.study-content{height:60vh;height:60dvh;overflow:auto;padding:24px;overscroll-behavior:contain}.note{font-size:12px;line-height:1.8;color:var(--muted)}.word-grid{display:flex;direction:rtl;flex-wrap:wrap;gap:10px;justify-content:center;margin:22px 0}.word{padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;max-width:180px;min-width:90px;text-align:center}.word .word-ar{font:27px/1.8 "Amiri Quran",serif;display:block}.word small{direction:ltr;display:block;font-size:10px;line-height:1.5;color:var(--muted)}.word.selected{border-color:var(--accent);background:var(--soft)}.word-detail{padding:20px;border-radius:18px;background:var(--soft);font-size:13px;line-height:1.8}.word-detail .root{font:29px "Amiri Quran",serif;display:inline-block;margin:5px 0}.tafsir-sources{display:flex;gap:7px;overflow:auto;padding-bottom:13px;margin-bottom:10px}.tafsir-sources button{flex:none;border:1px solid var(--line);border-radius:20px;padding:9px 14px;font-size:11px}.tafsir-sources button[aria-pressed=true]{background:var(--accent);color:var(--paper);border-color:var(--accent)}.tafsir-body{font:16px/1.9 Georgia,serif;white-space:pre-line;overflow-wrap:anywhere}.tafsir-body .ar-run{font-family:"Amiri Quran",serif;font-size:1.22em;line-height:2.2}.tafsir-body .aside{font-size:14px;color:var(--muted)}.tafsir-label{font:600 11px system-ui;color:var(--muted);margin-top:22px}.settings-body{padding:4px 24px 30px;max-height:70dvh;overflow:auto}.setting{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:17px 0;font-size:13px}.setting select{max-width:65%;font-size:12px}.source-details{border-block:1px solid var(--line);padding:18px 0;margin:20px 0;font-size:13px}.source-details summary{cursor:pointer;font-weight:650}.source-details p{font-size:12px;line-height:1.8;color:var(--muted)}#toast{position:fixed;z-index:20;bottom:calc(var(--nav) + env(safe-area-inset-bottom) + 15px);left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 36px);padding:12px 18px;background:var(--ink);color:var(--paper);border-radius:16px;font-size:12px;text-align:center;box-shadow:0 5px 30px #0002}
@media(min-width:900px){.topbar{padding-inline:max(28px,calc((100% - 1000px)/2))}.verse{border-inline:1px solid var(--line)}.sheet{border-radius:26px;margin:auto;max-height:86dvh}.study-content{height:58dvh}}
@media(max-width:480px){:root{--head:68px;--nav:66px}.topbar{padding-inline:15px;gap:8px}.brand{font-size:11px;gap:7px}.brand-mark{width:32px;height:32px;font-size:24px}.brand small{font-size:8px}.location b{font-size:12px}.location small{font-size:10px}.verse{padding:16px 20px 10px}.verse-text{padding:10px 2px}.arabic{margin-bottom:16px}.actions{gap:12px;padding:4px 0}.verse-ref{margin:10px 0}.page{padding:26px 20px 40px}.dialog-head{padding-inline:20px}.study-content{padding:20px}.stat strong{font-size:26px}}
@media(prefers-reduced-motion:reduce){.stream{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.brand-mark svg{width:20px;height:20px}.study-content textarea{width:100%;min-height:35vh;padding:15px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px}

.verse-tools{display:flex;align-items:center;gap:7px;flex:none}.latin-toggle{border:1px solid var(--line);border-radius:24px;padding:8px 11px;font-size:11px;font-weight:650;color:var(--accent);white-space:nowrap}.latin-toggle[aria-pressed=true]{background:var(--soft)}
.verse-text .latin{direction:ltr;text-align:center;align-self:center;width:100%;max-width:640px;font-size:13px;line-height:1.75;color:var(--muted);margin:-8px auto 18px;overflow-wrap:anywhere}.verse.long .latin{font-size:12px}.verse.very-long .latin{font-size:11px}
.mini-card .latin{direction:ltr;text-align:left;font-size:12px;line-height:1.65;color:var(--muted);margin:10px 0;overflow-wrap:anywhere}:root[data-latin=hide] .latin{display:none!important}
.setting input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);flex:none}
@media(max-width:480px){.verse-tools{gap:4px}.latin-toggle{padding:8px 9px;font-size:10px}.study-button{padding:8px 10px;font-size:11px}}

.share-sheet{width:min(580px,100%);max-height:94vh;max-height:94dvh}.share-body{padding:0 24px 24px;max-height:calc(94dvh - 88px);overflow:auto;overscroll-behavior:contain}.share-intro{text-align:center;font-size:12px;color:var(--muted);margin:0 0 12px}.story-frame{position:relative;display:grid;place-items:center;height:min(42dvh,440px);aspect-ratio:9/16;width:auto;max-width:70vw;margin:0 auto;border-radius:18px;overflow:hidden;background:#17362b;box-shadow:0 12px 34px #0002}.story-frame img{width:100%;height:100%;object-fit:contain;display:block}.story-frame p{padding:18px;color:#fff;font-size:12px;text-align:center}.story-pager{display:flex;align-items:center;justify-content:center;gap:20px;margin:8px auto 2px;color:var(--muted);font-size:11px}.story-pager button{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;font-size:22px;line-height:1;color:var(--accent)}.story-pager button:disabled{opacity:.35}.story-controls{display:grid;gap:12px;margin:13px 0 16px}.story-toggle{display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;color:var(--ink)}.story-toggle input{accent-color:var(--accent);width:17px;height:17px}.story-themes{display:flex;justify-content:center;gap:8px}.story-themes button{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:18px;padding:8px 12px;font-size:10px;color:var(--muted)}.story-themes button[aria-pressed=true]{border-color:var(--accent);background:var(--soft);color:var(--accent);font-weight:700}.theme-dot{width:13px;height:13px;border-radius:50%;border:1px solid #0002}.theme-dot.forest{background:#173b2e}.theme-dot.paper{background:#f4efe4}.theme-dot.dusk{background:#2d2b45}.share-buttons{display:grid;gap:9px}.share-buttons .button{width:100%;min-height:44px}.share-text-button{justify-self:center;color:var(--accent);font-size:12px;text-decoration:underline;text-underline-offset:3px;padding:8px 12px}.share-note{text-align:center;margin:8px 8px 0;font-size:10px}.share-sheet .dialog-head{padding-bottom:12px}
@media(min-width:900px){.share-sheet{margin:auto;max-height:92dvh}.share-body{max-height:calc(92dvh - 88px)}}
@media(max-width:480px){.share-sheet{border-radius:24px 24px 0 0}.share-body{padding-inline:18px}.story-frame{height:min(40dvh,370px);max-width:64vw}.story-themes{gap:6px}.story-themes button{padding:7px 10px}.share-intro{font-size:11px}}

/* Feed refresh and explicit navigation also work without a swipe gesture. */
.feed-status{position:absolute;z-index:3;top:10px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);padding:10px 16px;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--accent);font-size:11px;text-align:center;box-shadow:0 4px 18px #0001;pointer-events:none}
.verse-navigation{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-top:5px;flex:none}
.verse-navigation .gesture-hint{margin:0;text-align:center;justify-content:center;font-size:10px}
.verse-step{display:grid;place-items:center;flex:none;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;color:var(--accent)}
.verse-step svg{width:18px;height:18px}.verse-step:disabled{opacity:.25;cursor:default}
#feed-refresh[aria-busy=true] svg{animation:feed-spin 1s linear infinite}
@keyframes feed-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){.topbar>.icon-button{width:34px;height:38px}.location small{font-size:10px}.location b{font-size:12px}.brand{flex-shrink:0}.brand-mark{width:32px;height:32px}.verse-navigation{gap:6px}.verse-navigation .gesture-hint{font-size:9px}}

.quran-search{margin:22px 0 28px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.quran-search-label{display:block;font-size:14px;font-weight:700;color:var(--ink)}.quran-search-input{width:100%;min-height:48px;margin-top:10px;font-size:15px}.quran-search-hint{margin:8px 0 0;font-size:11px}.quran-search-results{display:grid;gap:8px;margin-top:12px}.quran-search-results[aria-busy=true]{opacity:.78}.quran-search-status{margin:3px 0}.quran-search-result{display:grid;gap:8px;width:100%;min-height:60px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--paper);text-align:left;line-height:1.6}.quran-search-result:hover{border-color:var(--accent);background:var(--soft)}.quran-search-result:focus-visible{outline-offset:2px}.quran-search-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;color:var(--muted)}.quran-search-meta b{color:var(--accent);font-weight:700}.quran-search-meta span{flex:none;font-size:10px}.quran-search-arabic{font:24px/1.9 "Amiri Quran",serif;text-align:right;color:var(--ink)}.quran-search-translation{font:14px/1.65 Georgia,"Times New Roman",serif;color:var(--ink)}.quran-search-translation mark{background:var(--soft);color:var(--accent);border-radius:3px;padding:0 2px}
@media(max-width:480px){.quran-search{margin:18px 0 24px;padding:15px;border-radius:16px}.quran-search-input{font-size:16px}.quran-search-result{padding:12px;min-height:56px}.quran-search-arabic{font-size:22px}.quran-search-translation{font-size:13px}}


/* Story cards: more legible previews and comfortable mobile controls. */
.story-frame{border:1px solid #ffffff20;box-shadow:0 16px 38px #0003}
.story-frame img{object-fit:contain;background:#17362b}
.story-pager button{width:40px;height:40px}
.share-buttons .button{min-height:48px}
@media(max-width:480px){.share-body{padding-bottom:max(22px,env(safe-area-inset-bottom))}.story-frame{height:min(46dvh,400px);max-width:min(70vw,270px)}.story-controls{gap:14px}.story-themes{flex-wrap:wrap}.story-themes button{min-height:38px}}
@media(max-height:620px) and (max-width:480px){.story-frame{height:min(42dvh,270px)}}

.quran-search-more{width:100%;min-height:44px}
