:root{
  --bg:#f7f3ec;
  --surface:#fffdf9;
  --surface2:#f1ece3;
  --ink:#17372e;
  --ink2:#53645d;
  --muted:#7e8982;
  --green:#2e6b58;
  --green-dark:#245446;
  --green-soft:#e5efe9;
  --gold:#d2a35b;
  --gold-soft:#f7eddc;
  --rose:#d79b92;
  --line:#e7e1d8;
  --danger:#a95b55;
  --shadow:0 16px 42px rgba(29,43,36,.075);
  --shadow-sm:0 8px 24px rgba(29,43,36,.05);
  --radius-xl:30px;
  --radius-lg:23px;
  --radius-md:17px;
  --safe-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:"IBM Plex Sans Arabic","Segoe UI",Tahoma,Arial,sans-serif}
body{display:flex;justify-content:center}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:default;opacity:.5}
.app{width:min(100%,520px);min-height:100dvh;background:linear-gradient(180deg,#fcfaf6 0%,#f7f3ec 100%);padding-bottom:calc(86px + var(--safe-bottom));position:relative}
.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:calc(12px + env(safe-area-inset-top,0px)) 18px 10px;background:rgba(247,243,236,.90);backdrop-filter:blur(18px);border-bottom:1px solid rgba(46,107,88,.05)}
.brand-button{border:0;background:transparent;color:var(--ink);display:flex;align-items:center;gap:10px;text-align:start;padding:0}
.brand-button strong{display:block;font-size:18px;line-height:1}
.brand-button small{display:block;color:var(--muted);font-size:10px;margin-top:4px}
.raha-mark{width:40px;height:40px;border-radius:14px;background:linear-gradient(180deg,#367760,#285d4d);display:grid;place-items:center;color:#f8f5ee;box-shadow:0 8px 20px rgba(46,107,88,.18)}
.raha-mark svg{width:26px;height:26px}
.header-actions{display:flex;gap:8px;align-items:center}
.pill-button,.icon-button{border:1px solid rgba(46,107,88,.07);background:rgba(255,255,255,.8);color:var(--ink);box-shadow:var(--shadow-sm)}
.pill-button{height:40px;padding:0 13px;border-radius:14px;font-weight:700;font-size:12px}
.icon-button{width:40px;height:40px;border-radius:14px;display:grid;place-items:center}
.icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.content{padding:14px 17px 30px}
.page{display:none}
.page.active{display:block}
.page-title{margin:8px 2px 16px}
.page-title .eyebrow{font-size:11px;font-weight:700;color:var(--green)}
.page-title h1{margin:5px 0 4px;font-size:29px;letter-spacing:-.6px;line-height:1.2}
.page-title p{margin:0;font-size:12px;color:var(--muted);line-height:1.7}
.card{background:rgba(255,255,255,.90);border:1px solid rgba(46,107,88,.055);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.hero-card{padding:20px;background:linear-gradient(145deg,#fffefa,#edf5f0);box-shadow:var(--shadow)}
.date-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.date-primary{font-size:24px;font-weight:700;line-height:1.25;letter-spacing:-.35px}
.date-weekday{font-size:13px;color:var(--green);font-weight:700;margin-bottom:3px}
.date-secondary{margin-top:7px;font-size:12px;color:var(--muted);line-height:1.5}
.date-switch{border:0;background:var(--green-soft);color:var(--green);padding:8px 10px;border-radius:12px;font-size:11px;font-weight:700}
.next-prayer{margin-top:17px;padding-top:15px;border-top:1px solid rgba(46,107,88,.1);display:flex;align-items:center;justify-content:space-between;gap:12px}
.next-prayer .label{font-size:11px;color:var(--muted)}
.next-prayer strong{display:block;font-size:18px;margin-top:2px}
.next-prayer .time{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}
.section-head{display:flex;align-items:end;justify-content:space-between;margin:22px 2px 11px}
.section-head h2{font-size:17px;margin:0;letter-spacing:-.25px}
.section-head button{border:0;background:transparent;color:var(--green);font-size:11px;font-weight:700;padding:4px}
.progress-card{padding:15px;display:grid;grid-template-columns:88px 1fr;gap:14px;align-items:center}
.progress-ring{width:82px;height:82px;border-radius:50%;position:relative;display:grid;place-items:center;background:conic-gradient(var(--green) calc(var(--pct)*1%),#e5e9e5 0)}
.progress-ring:before{content:"";position:absolute;inset:7px;background:var(--surface);border-radius:50%}
.progress-ring span{position:relative;font-size:19px;font-weight:700}
.progress-copy strong{display:block;font-size:15px}
.progress-copy p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.55}
.streak-line{display:flex;gap:8px;align-items:center;margin-top:9px;font-size:11px;color:var(--ink2)}
.streak-fire{width:28px;height:28px;border-radius:10px;background:var(--gold-soft);display:grid;place-items:center}
.task-list{display:grid;gap:9px}
.task-row{border:1px solid rgba(46,107,88,.055);background:rgba(255,255,255,.88);border-radius:19px;min-height:65px;padding:10px 12px;display:grid;grid-template-columns:42px 1fr 32px;gap:11px;align-items:center;text-align:start;color:var(--ink);box-shadow:var(--shadow-sm)}
.task-icon{width:42px;height:42px;border-radius:14px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:20px}
.task-text strong{display:block;font-size:13.5px}
.task-text small{display:block;color:var(--muted);font-size:10.5px;margin-top:4px}
.task-check{width:29px;height:29px;border:2px solid #cbd3ce;border-radius:10px;display:grid;place-items:center}
.task-row.done{opacity:.76}
.task-row.done .task-check{background:var(--green);border-color:var(--green);color:white}
.task-row.done .task-check:after{content:"✓";font-size:15px;font-weight:700}
.task-row.done .task-text strong{text-decoration:line-through;text-decoration-thickness:1px}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quick-card{border:0;text-align:start;padding:15px;border-radius:20px;background:rgba(255,255,255,.88);color:var(--ink);box-shadow:var(--shadow-sm);min-height:120px}
.quick-card .qicon{width:38px;height:38px;border-radius:13px;background:var(--green-soft);display:grid;place-items:center;color:var(--green);margin-bottom:14px}
.quick-card strong{display:block;font-size:14px}
.quick-card small{display:block;color:var(--muted);font-size:10.5px;line-height:1.5;margin-top:4px}
.reward-card{padding:17px;background:linear-gradient(145deg,#f4e7cb,#f9f1e5)}
.reward-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.reward-card h3{margin:4px 0 5px;font-size:18px}
.reward-card p{margin:0;color:var(--ink2);font-size:11px;line-height:1.6}
.reward-badge{background:rgba(255,255,255,.7);border-radius:999px;padding:8px 10px;font-size:10px;font-weight:700;white-space:nowrap}
.suggestion-chips{display:flex;gap:7px;overflow:auto;padding-top:11px;scrollbar-width:none}
.suggestion-chip{border:1px solid rgba(46,107,88,.08);background:rgba(255,255,255,.72);color:var(--ink);border-radius:999px;padding:8px 11px;font-size:10px;white-space:nowrap}
.location-empty{padding:17px;text-align:center}
.location-empty .geo{font-size:28px;margin-bottom:7px}
.location-empty p{color:var(--muted);font-size:11px;line-height:1.6;margin:5px auto 13px;max-width:290px}
.primary-button,.secondary-button,.danger-button{height:48px;border-radius:15px;padding:0 16px;font-weight:700;border:0}
.primary-button{background:var(--green);color:#fff}
.secondary-button{background:var(--surface2);color:var(--ink)}
.danger-button{background:#f5e7e5;color:var(--danger)}
.full{width:100%}
.prayer-list{display:grid;gap:8px}
.prayer-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:13px 14px}
.prayer-row strong{font-size:14px}
.prayer-row small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.prayer-time{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}
.prayer-check{width:31px;height:31px;border:2px solid #cad3cd;border-radius:11px;background:white;color:white}
.prayer-check.done{background:var(--green);border-color:var(--green)}
.prayer-check.done:after{content:"✓";font-weight:700}
.qibla-card{padding:17px;text-align:center}
.compass-wrap{width:190px;height:190px;border-radius:50%;margin:14px auto;position:relative;background:radial-gradient(circle,#fff 0 51%,#edf2ef 52% 53%,#fff 54%);border:1px solid var(--line);box-shadow:inset 0 0 0 12px rgba(46,107,88,.035)}
.compass-label{position:absolute;font-size:10px;color:var(--muted)}
.compass-label.n{top:8px;left:50%;transform:translateX(-50%)}
.compass-label.s{bottom:8px;left:50%;transform:translateX(-50%)}
.compass-label.e{right:9px;top:50%;transform:translateY(-50%)}
.compass-label.w{left:9px;top:50%;transform:translateY(-50%)}
.qibla-arrow{position:absolute;left:50%;top:50%;width:5px;height:66px;background:linear-gradient(var(--green),var(--gold));border-radius:99px;transform-origin:50% 100%;transform:translate(-50%,-100%) rotate(var(--bearing));transition:transform .2s ease}
.qibla-arrow:before{content:"";position:absolute;top:-9px;left:50%;transform:translateX(-50%);border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:13px solid var(--green)}
.qibla-center{position:absolute;width:18px;height:18px;background:var(--green);border:4px solid #fff;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.qibla-value{font-size:22px;font-weight:700}
.subtabs{display:flex;gap:7px;margin:13px 0 12px}
.subtab{flex:1;border:0;border-radius:14px;padding:10px 8px;background:var(--surface2);color:var(--ink2);font-size:11px;font-weight:700}
.subtab.active{background:var(--green);color:#fff}
.azkar-list{display:grid;gap:10px}
.dhikr-card{padding:15px}
.dhikr-source{font-size:9px;color:var(--green);font-weight:700}
.dhikr-ar{font-size:19px;line-height:2;text-align:right;margin:9px 0;font-family:"Amiri","Noto Naskh Arabic",serif}
.dhikr-en{font-size:11.5px;line-height:1.65;color:var(--ink2);direction:ltr;text-align:left}
.dhikr-actions{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.counter{display:flex;align-items:center;gap:8px}
.counter button{width:38px;height:38px;border:0;border-radius:13px;background:var(--green-soft);color:var(--green);font-weight:700}
.counter strong{min-width:42px;text-align:center}
.dhikr-done{border:0;background:var(--surface2);border-radius:12px;height:38px;padding:0 12px;color:var(--ink);font-size:10px;font-weight:700}
.dhikr-card.complete{opacity:.68}
.search-box{position:relative;margin:8px 0 14px}
.search-box input{width:100%;height:48px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:0 15px;color:var(--ink);outline:none}
.continue-card{padding:15px;margin-bottom:12px;background:linear-gradient(145deg,#edf5f0,#fff)}
.continue-card button{border:0;background:transparent;color:inherit;text-align:start;width:100%;padding:0}
.continue-card .label{font-size:10px;color:var(--green);font-weight:700}
.continue-card strong{display:block;font-size:16px;margin-top:4px}
.continue-card small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.surah-list{display:grid;gap:8px}
.surah-row{border:0;background:rgba(255,255,255,.88);border-radius:18px;padding:12px 13px;display:grid;grid-template-columns:40px 1fr auto;gap:11px;align-items:center;text-align:start;color:var(--ink);box-shadow:var(--shadow-sm)}
.surah-number{width:38px;height:38px;border-radius:13px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:11px;font-weight:700}
.surah-name strong{display:block;font-size:14px}
.surah-name small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.surah-ar{font-family:"Amiri","Noto Naskh Arabic",serif;font-size:17px}
.reader{position:fixed;z-index:100;inset:0;background:#fbf8f2;color:var(--ink);overflow:hidden;display:flex;flex-direction:column}
.reader[hidden]{display:none}
.reader-header{display:grid;grid-template-columns:42px 1fr 42px;gap:8px;align-items:center;padding:calc(11px + env(safe-area-inset-top,0px)) 14px 10px;background:rgba(251,248,242,.95);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.reader-heading{text-align:center}
.reader-heading strong{display:block;font-size:16px}
.reader-heading small{display:block;font-size:9.5px;color:var(--muted);margin-top:2px}
.reader-toolbar{display:flex;align-items:center;justify-content:space-between;padding:9px 16px;border-bottom:1px solid var(--line);background:#f7f3ec}
.reader-tool,.font-controls button{height:36px;border:0;border-radius:12px;background:#fff;color:var(--ink);padding:0 12px;font-size:10px;font-weight:700}
.font-controls{display:flex;gap:6px}
.reader-body{overflow:auto;padding:12px 17px calc(40px + var(--safe-bottom));scroll-behavior:smooth}
.ayah{padding:18px 4px;border-bottom:1px solid rgba(126,137,130,.18);scroll-margin-top:108px}
.ayah-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.ayah-num{width:30px;height:30px;border-radius:50%;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:10px;font-weight:700}
.ayah-bookmark{border:0;background:transparent;color:var(--muted);font-size:20px}
.ayah-bookmark.active{color:var(--gold)}
.ayah-ar{font-family:"Amiri","Noto Naskh Arabic",serif;font-size:calc(27px * var(--qfont,1));line-height:2.05;text-align:right;direction:rtl}
.ayah-en{font-size:calc(13px * var(--qfont,1));line-height:1.8;color:var(--ink2);margin-top:12px;direction:ltr;text-align:left}
.feed-list{display:grid;gap:12px}
.feed-card{padding:16px}
.feed-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.feed-avatar{display:flex;align-items:center;gap:9px}
.feed-avatar .mini-mark{width:34px;height:34px;border-radius:12px;background:var(--green);color:#fff;display:grid;place-items:center}
.feed-avatar strong{display:block;font-size:12px}
.feed-avatar small{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.feed-date{font-size:9px;color:var(--muted)}
.feed-text{white-space:pre-wrap;font-size:13px;line-height:1.9}
.feed-media{width:100%;border-radius:16px;margin-top:12px;display:block}
.feed-source{display:inline-flex;margin-top:12px;color:var(--green);font-size:10px;font-weight:700;text-decoration:none}
.settings-list{display:grid;gap:10px}
.setting-card{padding:15px}
.setting-row{display:flex;align-items:center;justify-content:space-between;gap:13px}
.setting-row+.setting-row{margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}
.setting-copy strong{display:block;font-size:13px}
.setting-copy small{display:block;font-size:10px;color:var(--muted);margin-top:3px;line-height:1.45}
.segmented{display:flex;background:var(--surface2);padding:3px;border-radius:12px}
.segmented button{border:0;background:transparent;color:var(--ink2);padding:7px 10px;border-radius:9px;font-size:10px;font-weight:700}
.segmented button.active{background:#fff;color:var(--green);box-shadow:0 2px 8px rgba(29,43,36,.06)}
select,.text-input,.time-input{height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);padding:0 10px;outline:none;max-width:175px}
.text-input{max-width:none;width:100%}
.toggle{position:relative;width:46px;height:27px;border-radius:999px;background:#d8ded9;border:0;padding:0;flex-shrink:0}
.toggle:after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;background:#fff;border-radius:50%;box-shadow:0 2px 7px rgba(0,0,0,.14);transition:.18s}
[dir="rtl"] .toggle:after{left:auto;right:3px}
.toggle.on{background:var(--green)}
.toggle.on:after{transform:translateX(19px)}
[dir="rtl"] .toggle.on:after{transform:translateX(-19px)}
.reminder-list,.reward-list{display:grid;gap:8px;margin-top:10px}
.mini-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f8f5ef;border-radius:14px;padding:10px 11px}
.mini-row strong{font-size:11px}
.mini-row small{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.mini-row button{border:0;background:transparent;color:var(--danger);font-size:10px;font-weight:700}
.inline-form{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:10px}
.inline-form button{height:42px;border:0;border-radius:12px;background:var(--green);color:#fff;padding:0 13px;font-size:10px;font-weight:700}
.sheet-backdrop{position:fixed;z-index:200;inset:0;background:rgba(12,23,18,.34);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;padding:12px}
.sheet-backdrop[hidden]{display:none}
.sheet{width:min(100%,500px);max-height:86dvh;overflow:auto;background:var(--surface);border-radius:26px;padding:16px;box-shadow:0 26px 70px rgba(16,29,23,.24)}
.sheet-handle{width:42px;height:5px;border-radius:99px;background:#d7dcd8;margin:0 auto 15px}
.sheet h2{font-size:20px;margin:0 0 5px}
.sheet p{font-size:11px;color:var(--muted);line-height:1.6}
.sheet .full{margin-top:12px}
.sheet-field{margin-top:12px}
.sheet-field label{display:block;font-size:10px;font-weight:700;margin-bottom:5px}
.sheet-field input,.sheet-field select{width:100%;max-width:none}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.source-note{padding:12px 13px;border-radius:15px;background:#f5f1e9;font-size:9.5px;color:var(--muted);line-height:1.6;margin-top:12px}
.bottom-nav{position:fixed;z-index:50;bottom:0;width:min(100%,520px);display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,253,249,.95);backdrop-filter:blur(18px);border-top:1px solid rgba(46,107,88,.07);padding:7px 7px calc(7px + var(--safe-bottom));box-shadow:0 -10px 28px rgba(29,43,36,.055)}
.nav-item{min-height:56px;border:0;background:transparent;color:#87918b;display:grid;place-items:center;align-content:center;gap:3px;font-size:9.5px}
.nav-item.active{color:var(--green);font-weight:700}
.nav-icon{font-size:21px;line-height:1;height:24px}
.toast{position:fixed;z-index:300;left:50%;bottom:calc(92px + var(--safe-bottom));transform:translateX(-50%) translateY(15px);background:#173a30;color:#fff;padding:11px 15px;border-radius:14px;font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:.2s}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.empty{text-align:center;padding:26px 15px;color:var(--muted);font-size:11px;line-height:1.7}
[dir="ltr"] .dhikr-ar,[dir="ltr"] .ayah-ar{text-align:right}
[dir="ltr"] .brand-button,[dir="ltr"] .task-row,[dir="ltr"] .surah-row,[dir="ltr"] .feed-card{text-align:left}
@media(max-width:390px){
  .quick-grid{grid-template-columns:1fr}
  .date-primary{font-size:21px}
  .content{padding-left:14px;padding-right:14px}
}
.reader-basmalah{
  padding:22px 8px 15px;
  text-align:center;
  direction:rtl;
  font-family:"Amiri","Noto Naskh Arabic",serif;
  font-size:calc(23px * var(--qfont,1));
  line-height:1.9;
  color:var(--green-dark);
  border-bottom:1px solid rgba(126,137,130,.14);
}


/* Raha V5.1 */
:root[data-theme="dark"]{
  --bg:#101612;
  --surface:#171f1a;
  --surface2:#202923;
  --ink:#eef5f0;
  --ink2:#c1cec6;
  --muted:#94a299;
  --green:#78b69b;
  --green-dark:#a9d2bf;
  --green-soft:#20382e;
  --gold:#deb76d;
  --gold-soft:#382f20;
  --rose:#c9877d;
  --line:#2b3730;
  --danger:#e5968e;
  --shadow:0 16px 42px rgba(0,0,0,.22);
  --shadow-sm:0 8px 24px rgba(0,0,0,.16);
}
:root[data-theme="dark"] body,
:root[data-theme="dark"] .app{
  background:linear-gradient(180deg,#111813 0%,#101612 100%);
}
:root[data-theme="dark"] .app-header,
:root[data-theme="dark"] .bottom-nav{
  background:rgba(16,22,18,.93);
}
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .task-row,
:root[data-theme="dark"] .quick-card,
:root[data-theme="dark"] .surah-row,
:root[data-theme="dark"] .feed-card{
  background:rgba(23,31,26,.96);
}
:root[data-theme="dark"] .hero-card{
  background:linear-gradient(145deg,#1a241e,#17231d);
}
:root[data-theme="dark"] input,
:root[data-theme="dark"] select,
:root[data-theme="dark"] .reader-tool,
:root[data-theme="dark"] .font-controls button,
:root[data-theme="dark"] .reader-pager button{
  background:#1d2821;
  color:var(--ink);
}
:root[data-theme="dark"] .reader,
:root[data-theme="dark"] .reader-header,
:root[data-theme="dark"] .reader-toolbar{
  background:#101612;
}
:root[data-theme="dark"] .mushaf-page{
  background:#151d18;
  box-shadow:0 20px 60px rgba(0,0,0,.28);
}
:root[data-theme="dark"] .translation-page{
  background:#18211b;
}
.theme-icon{font-size:18px;line-height:1}
.task-note{color:var(--muted);font-size:10px;margin-top:3px;line-height:1.35}
.reward-section{display:grid;gap:8px;margin-top:10px}
.reward-item{display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(255,255,255,.58);border-radius:13px;padding:9px 11px}
:root[data-theme="dark"] .reward-item{background:rgba(255,255,255,.05)}
.reward-item strong{font-size:11px}
.reward-item button{border:0;background:transparent;color:var(--danger);font-size:10px;font-weight:700}
.reward-empty{font-size:10px;color:var(--muted);padding:8px 0}
.sunnah-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.sunnah-card{border:1px solid rgba(46,107,88,.06);background:rgba(255,255,255,.88);border-radius:18px;padding:13px;text-align:start;color:var(--ink);box-shadow:var(--shadow-sm)}
:root[data-theme="dark"] .sunnah-card{background:rgba(23,31,26,.96)}
.sunnah-card.done{border-color:rgba(46,107,88,.24);background:var(--green-soft)}
.sunnah-card .sicon{font-size:20px;margin-bottom:10px}
.sunnah-card strong{display:block;font-size:12.5px}
.sunnah-card small{display:block;color:var(--muted);font-size:9.5px;line-height:1.45;margin-top:4px}
.azkar-directory{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 14px}
.azkar-directory button{border:0;background:var(--surface2);color:var(--ink);border-radius:16px;padding:12px;text-align:start}
.azkar-directory button.active{background:var(--green);color:#fff}
.azkar-directory strong{display:block;font-size:11px}
.azkar-directory small{display:block;font-size:9px;opacity:.72;margin-top:3px}
.reader-page-indicator{font-size:10px;color:var(--muted);text-align:center;min-width:40px}
.reader-pager{display:flex;gap:6px}
.reader-pager button{width:36px;height:36px;border:0;border-radius:12px;background:#fff;color:var(--ink);font-size:19px}
.reader-body{
  padding:12px 12px calc(22px + var(--safe-bottom));
  display:flex;
  flex-direction:column;
  gap:12px;
}
.mushaf-page{
  width:100%;
  min-height:calc(100dvh - 160px);
  background:#fffdfa;
  border:1px solid rgba(126,137,130,.15);
  border-radius:14px;
  box-shadow:0 18px 50px rgba(33,43,37,.07);
  padding:20px 17px 18px;
  display:flex;
  flex-direction:column;
}
.mushaf-page-head{
  text-align:center;
  color:var(--green-dark);
  font-size:12px;
  font-weight:700;
  margin-bottom:12px;
}
.mushaf-surah-banner{
  margin:4px auto 10px;
  padding:8px 18px;
  border:1px solid rgba(46,107,88,.18);
  border-radius:999px;
  text-align:center;
  font-family:"Amiri","Noto Naskh Arabic",serif;
  font-size:18px;
  color:var(--green-dark);
}
.mushaf-basmalah{
  text-align:center;
  font-family:"Amiri","Noto Naskh Arabic",serif;
  font-size:20px;
  line-height:1.9;
  margin:7px 0 10px;
  color:var(--green-dark);
}
.mushaf-text{
  direction:rtl;
  text-align:justify;
  text-align-last:center;
  font-family:"Amiri","Noto Naskh Arabic",serif;
  font-size:calc(26px * var(--qfont,1));
  line-height:2.03;
  flex:1;
}
.mushaf-verse{display:inline}
.mushaf-marker{
  display:inline-flex;
  width:26px;height:26px;
  align-items:center;justify-content:center;
  margin:0 4px;
  border:1px solid rgba(46,107,88,.25);
  border-radius:50%;
  color:var(--green);
  font-family:"IBM Plex Sans Arabic",sans-serif;
  font-size:9px;
  vertical-align:middle;
  cursor:pointer;
}
.mushaf-marker.bookmarked{background:var(--gold-soft);color:var(--gold);border-color:rgba(210,163,91,.35)}
.mushaf-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:8px;border-top:1px solid rgba(126,137,130,.13);font-size:9px;color:var(--muted)}
.translation-page{background:#fffdf9;border:1px solid var(--line);border-radius:14px;padding:15px}
.translation-page h3{font-size:12px;margin:0 0 10px;color:var(--green)}
.translation-verse{padding:9px 0;border-bottom:1px solid var(--line);direction:ltr;text-align:left}
.translation-verse:last-child{border-bottom:0}
.translation-verse b{font-size:10px;color:var(--green);margin-right:5px}
.translation-verse span{font-size:calc(12.5px * var(--qfont,1));line-height:1.7;color:var(--ink2)}

:root[data-theme="dark"] .reward-card{
  background:linear-gradient(145deg,#2a241a,#1d231d);
}
:root[data-theme="dark"] .date-switch,
:root[data-theme="dark"] .suggestion-chip{
  background:#203027;
  color:var(--ink);
}
.reward-badge{border:0}


/* Raha V5.2 — Mushaf reader, dashboard context, individual Sunnah */
.next-context-grid{
  margin-top:17px;
  padding-top:15px;
  border-top:1px solid rgba(46,107,88,.1);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.next-context-item{
  min-width:0;
  padding:10px 8px;
  border-radius:15px;
  background:rgba(255,255,255,.52);
  text-align:start;
}
:root[data-theme="dark"] .next-context-item{background:rgba(255,255,255,.045)}
.next-context-item .label{display:block;font-size:9px;color:var(--muted);margin-bottom:3px}
.next-context-item strong{display:block;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.context-time{display:block;margin-top:4px;color:var(--green);font-size:10px;font-weight:700;font-variant-numeric:tabular-nums}

.sunnah-list{display:grid;gap:8px}
.sunnah-row{
  border:1px solid rgba(46,107,88,.055);
  background:rgba(255,255,255,.88);
  border-radius:18px;
  min-height:64px;
  padding:10px 12px;
  display:grid;
  grid-template-columns:42px 1fr 32px;
  gap:11px;
  align-items:center;
  text-align:start;
  color:var(--ink);
  box-shadow:var(--shadow-sm);
}
:root[data-theme="dark"] .sunnah-row{background:rgba(23,31,26,.96)}
.sunnah-row.done{opacity:.76}
.sunnah-row.done .task-check{background:var(--green);border-color:var(--green);color:white}
.sunnah-row.done .task-check:after{content:"✓";font-size:15px;font-weight:700}
.sunnah-row.done .task-text strong{text-decoration:line-through;text-decoration-thickness:1px}

/* Full-page Quran reading surface */
.reader{
  background:#f8f4ec;
  color:var(--ink);
  overflow:hidden;
  display:block;
}
:root[data-theme="dark"] .reader{background:#1d1d1f}
.reader-header{
  position:absolute;
  z-index:8;
  inset:0 0 auto 0;
  height:calc(68px + env(safe-area-inset-top,0px));
  grid-template-columns:44px 1fr 64px;
  padding:calc(10px + env(safe-area-inset-top,0px)) 13px 8px;
  border-bottom:0;
  background:linear-gradient(180deg,rgba(248,244,236,.98) 68%,rgba(248,244,236,0));
  backdrop-filter:none;
}
:root[data-theme="dark"] .reader-header{
  background:linear-gradient(180deg,rgba(29,29,31,.99) 70%,rgba(29,29,31,0));
}
.reader-header .icon-button{
  background:transparent;
  border:0;
  box-shadow:none;
  font-size:23px;
}
.reader-heading strong{font-size:13px;font-weight:600}
.reader-heading small{display:none}
.reader-page-indicator{font-size:11px;font-weight:600;color:var(--muted);text-align:end;min-width:56px}

.reader-toolbar{
  position:absolute;
  z-index:9;
  inset:auto 0 0 0;
  min-height:calc(64px + var(--safe-bottom));
  padding:8px 13px calc(8px + var(--safe-bottom));
  border:0;
  background:rgba(248,244,236,.96);
  backdrop-filter:blur(18px);
  box-shadow:0 -8px 30px rgba(29,43,36,.06);
}
:root[data-theme="dark"] .reader-toolbar{
  background:rgba(43,43,45,.97);
  box-shadow:0 -8px 30px rgba(0,0,0,.22);
}
.reader-tool,.font-controls button,.reader-pager button{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(46,107,88,.08);
  box-shadow:none;
}
:root[data-theme="dark"] .reader-tool,
:root[data-theme="dark"] .font-controls button,
:root[data-theme="dark"] .reader-pager button{
  background:#343436;
  border-color:#444447;
}
.reader-pager{direction:ltr}
.reader-pager button{font-size:22px}

.reader-body{
  position:absolute;
  inset:0;
  padding:calc(72px + env(safe-area-inset-top,0px)) 17px calc(70px + var(--safe-bottom));
  overflow:hidden;
  display:block;
  scroll-behavior:auto;
  transition:transform .13s ease,opacity .13s ease;
  touch-action:pan-y;
}
.reader-body.page-out-left{transform:translateX(-18%);opacity:.2}
.reader-body.page-out-right{transform:translateX(18%);opacity:.2}
.reader-body.page-in-right{transform:translateX(15%);opacity:.3}
.reader-body.page-in-left{transform:translateX(-15%);opacity:.3}

.mushaf-page{
  width:100%;
  height:100%;
  min-height:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:5px 0 0;
  background:transparent;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
:root[data-theme="dark"] .mushaf-page{
  background:transparent;
  box-shadow:none;
}
.mushaf-page-top{
  height:25px;
  flex:0 0 25px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  direction:ltr;
  color:var(--muted);
  font-size:10px;
  font-weight:600;
  padding:0 3px;
}
.mushaf-surah-banner{
  margin:2px auto 7px;
  padding:5px 18px;
  border:1px solid rgba(46,107,88,.16);
  border-radius:999px;
  font-family:"Amiri Quran","Amiri",serif;
  font-size:16px;
  line-height:1.4;
  color:var(--green-dark);
}
.mushaf-basmalah{
  font-family:"Amiri Quran","Amiri",serif;
  font-size:18px;
  line-height:1.55;
  margin:1px 0 4px;
}
.mushaf-text{
  direction:rtl;
  text-align:justify;
  text-align-last:center;
  font-family:"Amiri Quran","Amiri","Noto Naskh Arabic",serif;
  font-size:calc(clamp(19px,5.15vw,27px) * var(--qfont,1));
  line-height:1.86;
  flex:1 1 auto;
  overflow:hidden;
  color:var(--ink);
  padding:0 1px;
}
.mushaf-marker{
  width:23px;height:23px;
  margin:0 2px;
  font-size:8px;
  background:transparent;
  border-color:color-mix(in srgb,var(--muted) 45%,transparent);
}
.mushaf-footer{
  flex:0 0 25px;
  min-height:25px;
  margin:1px 0 0;
  padding:5px 3px 0;
  border-top:0;
  font-size:10px;
}
.mushaf-footer span:first-child{
  min-width:34px;
  height:22px;
  padding:2px 9px;
  border-radius:999px;
  background:var(--surface2);
  display:grid;
  place-items:center;
  font-weight:700;
}
.reader-translation-panel{
  position:absolute;
  z-index:12;
  left:8px;right:8px;
  bottom:calc(70px + var(--safe-bottom));
  max-height:48%;
  overflow:auto;
  transform:translateY(calc(100% + 90px));
  transition:transform .22s ease;
  background:rgba(255,253,249,.98);
  border:1px solid var(--line);
  border-radius:24px 24px 16px 16px;
  box-shadow:0 -18px 50px rgba(17,29,23,.16);
  padding:8px 14px 14px;
}
:root[data-theme="dark"] .reader-translation-panel{
  background:rgba(31,31,33,.99);
  box-shadow:0 -18px 50px rgba(0,0,0,.35);
}
.reader-translation-panel.open{transform:translateY(0)}
.reader-translation-panel h3{margin:5px 0 8px;font-size:12px}
.translation-grabber{width:38px;height:4px;border-radius:99px;background:var(--line);margin:2px auto 8px}
.translation-verse{padding:8px 0}

/* Reader should feel like a page, not a stack of cards */
.reader .mushaf-page-head,.reader .translation-page{display:none}

@media(max-width:390px){
  .next-context-grid{gap:6px}
  .next-context-item{padding:9px 6px}
  .next-context-item strong{font-size:10.5px}
  .mushaf-text{font-size:calc(clamp(18px,5.0vw,23px) * var(--qfont,1));line-height:1.82}
}

/* Raha V5.4 — grouped Today, postcards, calendar, counters, resilient Mushaf */
.ramadan-ribbon{display:flex;align-items:center;gap:10px;margin:4px 0 12px;padding:9px 13px;border-radius:16px;background:linear-gradient(90deg,var(--green-dark),var(--green));color:#fff;box-shadow:var(--shadow-sm)}
.ramadan-ribbon>span{font-size:22px}.ramadan-ribbon strong{display:block;font-size:11.5px}.ramadan-ribbon small{display:block;font-size:8.5px;opacity:.78;margin-top:2px}
.date-open{width:100%;border:0;background:transparent;color:inherit;text-align:inherit;padding:0}.calendar-glyph{font-size:22px;color:var(--green)}
.reminder-permission{width:100%;margin-top:10px;padding:12px 14px;border:0;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:start;color:var(--ink)}
.reminder-permission strong{display:block;font-size:11.5px}.reminder-permission small{display:block;font-size:9px;color:var(--muted);margin-top:2px}.reminder-permission>span{font-size:9px;color:var(--green);font-weight:700}
.postcard-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:11px 0 2px}.postcard-strip button{border:1px solid rgba(46,107,88,.08);background:var(--surface);color:var(--green);min-height:42px;border-radius:14px;font-size:9.5px;font-weight:700;box-shadow:var(--shadow-sm)}
.task-categories{display:grid;gap:9px}.task-category{overflow:hidden}.task-category-head{width:100%;border:0;background:transparent;color:inherit;display:grid;grid-template-columns:1fr 74px 18px;align-items:center;gap:10px;padding:14px;text-align:start}.task-category-head strong{display:block;font-size:14px}.task-category-head small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.task-category-head>b{font-size:16px;color:var(--green);text-align:center}.category-progress-mini{height:5px;border-radius:99px;background:var(--surface2);overflow:hidden}.category-progress-mini span{display:block;height:100%;background:var(--green);border-radius:99px}.task-category-body{padding:0 8px 8px;display:grid;gap:7px}.task-category-body[hidden]{display:none}.category-task{box-shadow:none;background:var(--surface2);border-color:transparent;min-height:60px}
:root[data-theme="dark"] .category-task{background:#202923}.task-category.open{border-color:rgba(46,107,88,.14)}
.postcard{text-align:center;padding:8px 2px}.postcard-mark{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:17px;background:var(--green);color:#fff;font-weight:700;margin-bottom:8px}.postcard h2{margin:0 0 10px}.postcard-score{display:flex;align-items:center;justify-content:center;gap:8px;margin:10px 0 16px}.postcard-score strong{font-size:52px;line-height:1;color:var(--green)}.postcard-score span{font-size:10px;color:var(--muted);text-align:start}.postcard-bars{display:grid;gap:9px;text-align:start}.postcard-bars>div{display:grid;grid-template-columns:1fr 38px;gap:4px 8px}.postcard-bars span{font-size:10px}.postcard-bars b{font-size:10px;text-align:end}.postcard-bars i{grid-column:1/-1;height:6px;background:var(--surface2);border-radius:99px;overflow:hidden}.postcard-bars em{display:block;height:100%;background:var(--green);border-radius:99px}
.calendar-sheet{padding:1px}.calendar-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;text-align:center}.calendar-head button{width:40px;height:40px;border:0;border-radius:13px;background:var(--surface2);color:var(--ink);font-size:22px}.calendar-head h2{margin:0}.calendar-head strong{font-size:10px;color:var(--green)}.calendar-toggle{width:max-content;margin:12px auto}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-weekdays{margin:12px 0 5px}.calendar-weekdays span{min-width:0;font-size:7.5px;line-height:1.1;text-align:center;color:var(--muted);overflow-wrap:anywhere}.calendar-day{position:relative;min-height:52px;border:0;border-radius:12px;background:var(--surface2);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center}.calendar-day strong{font-size:13px}.calendar-day small{font-size:8px;color:var(--muted);margin-top:2px}.calendar-day.outside{opacity:.28}.calendar-day.today{outline:2px solid var(--green)}.calendar-day i{position:absolute;bottom:4px;width:18px;height:2px;border-radius:99px;background:color-mix(in srgb,var(--green) var(--p),var(--line))}
.counter-sheet{text-align:center;padding:6px 2px}.counter-dhikr-preview{direction:rtl;font-family:"Amiri Quran","Amiri",serif;font-size:17px!important;line-height:1.8!important;color:var(--ink)!important;max-height:125px;overflow:auto}.big-counter{width:190px;height:190px;border:0;border-radius:50%;margin:16px auto 4px;background:radial-gradient(circle at 40% 32%,#4b8f77,var(--green-dark));color:#fff;display:grid;place-items:center;align-content:center;box-shadow:0 20px 45px rgba(46,107,88,.24)}.big-counter strong{font-size:50px;line-height:1}.big-counter small{font-size:10px;margin-top:9px;opacity:.82}.counter-launch{border:0;background:var(--green-soft);color:var(--green);border-radius:12px;min-width:82px;height:40px;padding:4px 10px}.counter-launch strong{display:block;font-size:11px}.counter-launch small{display:block;font-size:8px;margin-top:1px}.azkar-method{margin:0 0 10px}.review-list{display:grid;gap:7px;margin-top:10px}.review-row{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--surface2);border-radius:12px;padding:10px}.review-row span{font-size:9px;color:var(--muted)}.review-row strong{font-size:11px}.celebration{text-align:center;padding:10px}.celebration-burst{width:82px;height:82px;border-radius:28px;margin:0 auto 12px;background:linear-gradient(145deg,var(--gold-soft),var(--green-soft));display:grid;place-items:center;font-size:38px;color:var(--gold)}.celebration-icons{font-size:22px;letter-spacing:7px;color:var(--green);margin-top:14px}
.reward-add-inline,.reward-badge,.reward-card button,.suggestion-chip{color:var(--green)!important}.reward-badge{background:rgba(255,255,255,.7)!important}.reward-add-inline{border:0;background:transparent;font-size:10px;font-weight:700}
/* Always fit the whole Mushaf page; JS decreases font size for dense pages. */
.mushaf-text{font-size:24px!important;line-height:1.78!important;overflow:hidden!important;min-height:0!important}.mushaf-page{overflow:hidden!important}.reader-body{overflow:hidden!important}.reader-toolbar .font-controls{display:none!important}
.reader-translation-panel{overscroll-behavior:contain}.mushaf-marker{font-family:"IBM Plex Sans Arabic",sans-serif!important}
@media(max-width:390px){.task-category-head{grid-template-columns:1fr 62px 16px}.postcard-strip button{font-size:8.8px}.mushaf-text{font-size:22px!important}}


/* Raha V5.5 */
html,body,.app,button,a,input,select,textarea{
  touch-action:manipulation;
}
.reader-body{
  touch-action:pan-y;
}
.compact-counter{
  flex:0 0 auto;
}
.compact-counter button{
  width:34px;
  height:34px;
  border:0;
  border-radius:11px;
  background:var(--green-soft);
  color:var(--green);
  font-weight:700;
}
.compact-counter strong{
  min-width:48px;
  text-align:center;
  font-size:10px;
}
.category-task .compact-counter{
  justify-self:end;
}
.feed-schedule-note{
  margin:10px 0 2px;
}
#readerBack{
  direction:ltr;
  font-size:24px;
  font-weight:500;
}


/* Raha V5.7 */
.bottom-nav{grid-template-columns:repeat(6,1fr);padding-left:4px;padding-right:4px}
.nav-item{font-size:8.4px;min-width:0}
.nav-icon{width:22px;height:22px;display:grid;place-items:center}
.nav-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}

.task-icon svg,.category-title-icon svg,.prayer-mini-icon svg{width:22px;height:22px;display:block}
.task-icon{font-size:0}
.category-title-icon{width:38px;height:38px;border-radius:13px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;flex:0 0 auto}
.category-title-copy{min-width:0;text-align:start}
.task-category-head{grid-template-columns:38px minmax(0,1fr) 72px 18px;gap:10px}
.prayer-row-name{display:flex;align-items:center;gap:10px;min-width:0}
.prayer-mini-icon{width:34px;height:34px;border-radius:12px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;flex:0 0 auto}
.directory-icon{font-size:17px;display:inline-block;margin-inline-end:5px}
.clickable-context{cursor:pointer;transition:.15s}
.clickable-context:active{transform:scale(.98);background:var(--green-soft)}
.postcard-score span{font-size:13px;line-height:1.2}
.compact-counter{min-width:112px}
@media(max-width:390px){
  .nav-item{font-size:7.8px}
  .task-category-head{grid-template-columns:36px minmax(0,1fr) 60px 16px;gap:8px}
  .category-title-icon{width:36px;height:36px}
}


/* Raha V5.8 */
.repeat-action{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.counter-done{
  height:34px;
  min-width:58px;
  padding:0 11px;
  border:0;
  border-radius:11px;
  background:var(--green-soft);
  color:var(--green);
  font-size:10px;
  font-weight:700;
}
.counter-done.done{
  background:var(--green);
  color:#fff;
}
.dhikr-actions .repeat-action{
  width:100%;
  justify-content:space-between;
}
.category-task .repeat-action{
  justify-self:end;
}
@media(max-width:390px){
  .repeat-action{gap:6px}
  .compact-counter{min-width:104px}
  .counter-done{min-width:52px;padding:0 8px}
}


/* Raha V5.9 — responsiveness, aligned Done actions, richer celebration, Quran edge taps */

/* Adhkar action alignment: same button/design on every card. */
.dhikr-actions{
  min-height:50px;
  display:flex;
  align-items:center;
  width:100%;
}
.dhikr-actions .repeat-action{
  display:flex;
  align-items:center;
  width:100%;
  flex-wrap:nowrap;
  gap:10px;
}
.dhikr-actions .compact-counter{flex:0 0 auto}
.dhikr-actions .dhikr-done{
  margin-inline-start:auto;
  flex:0 0 auto;
  height:38px;
  min-width:68px;
  padding:0 14px;
  border:1px solid rgba(46,107,88,.10);
  border-radius:12px;
  background:var(--surface2);
  color:var(--ink);
  font-size:10px;
  font-weight:700;
}
.dhikr-actions .dhikr-done.done{
  background:var(--green);
  border-color:var(--green);
  color:#fff;
}
.v59-repeat-done.counter-done{
  background:var(--surface2);
  color:var(--ink);
}
.v59-repeat-done.counter-done.done{
  background:var(--green);
  color:#fff;
}

/* Instant visual feedback on taps. */
.task-row,.sunnah-row,.prayer-check,.dhikr-done,.counter button{
  -webkit-tap-highlight-color:transparent;
}
.task-row:active,.sunnah-row:active{transform:scale(.992)}
.task-check,.prayer-check{transition:background .08s ease,border-color .08s ease,transform .08s ease}
.task-row.done .task-check,.prayer-check.done{transform:scale(1.03)}

/* Celebration */
.confetti-layer-v59{
  position:fixed;
  inset:0;
  z-index:10050;
  overflow:hidden;
  pointer-events:none;
}
.confetti-layer-v59 i{
  position:absolute;
  top:-22px;
  left:var(--x);
  width:9px;
  height:16px;
  background:var(--c);
  opacity:.98;
  animation:v59-confetti-fall var(--dur) cubic-bezier(.18,.7,.35,1) var(--delay) forwards;
  transform:rotate(var(--rot));
}
.confetti-layer-v59 i.round{width:10px;height:10px;border-radius:50%}
.confetti-layer-v59 i.diamond{width:10px;height:10px;transform:rotate(45deg)}
@keyframes v59-confetti-fall{
  0%{transform:translate3d(0,-5vh,0) rotate(var(--rot));opacity:0}
  8%{opacity:1}
  100%{transform:translate3d(var(--drift),108vh,0) rotate(calc(var(--rot) + 720deg));opacity:.9}
}
.celebration-v59{
  position:relative;
  text-align:center;
  padding:12px 8px 8px;
  overflow:hidden;
}
.celebration-v59:before{
  content:"";
  position:absolute;
  width:240px;height:240px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(214,168,75,.20),rgba(46,107,88,.08) 48%,transparent 70%);
  left:50%;top:-75px;transform:translateX(-50%);
  pointer-events:none;
}
.celebration-halo{
  width:122px;height:122px;
  margin:0 auto 12px;
  position:relative;
  display:grid;
  place-items:center;
}
.celebration-medallion{
  width:86px;height:86px;
  border-radius:30px;
  display:grid;place-items:center;
  background:linear-gradient(145deg,var(--green),#47866f);
  color:#fff;
  box-shadow:0 14px 34px rgba(46,107,88,.25),inset 0 0 0 1px rgba(255,255,255,.2);
  animation:v59-medal-pop .55s cubic-bezier(.2,1.3,.4,1) both;
}
.celebration-medallion span{font-size:43px;font-weight:800;line-height:1}
.celebration-orbit{
  position:absolute;
  width:31px;height:31px;
  border-radius:50%;
  display:grid;place-items:center;
  background:var(--gold-soft);
  color:var(--gold);
  box-shadow:0 7px 16px rgba(0,0,0,.08);
  font-size:16px;
}
.orbit-a{right:0;top:12px;animation:v59-float 1.7s ease-in-out infinite alternate}
.orbit-b{left:1px;bottom:10px;animation:v59-float 2s .2s ease-in-out infinite alternate}
.celebration-spark-row{display:flex;justify-content:center;gap:20px;color:var(--gold);font-size:18px;margin:-2px 0 4px}
.celebration-spark-row span:nth-child(2){color:var(--green);font-size:24px}
.celebration-v59 h2{font-size:22px;margin:6px 0}
.celebration-v59 p{max-width:290px;margin:0 auto;color:var(--ink2);font-size:12px;line-height:1.7}
.celebration-ribbon{
  margin:16px auto 2px;
  width:max-content;
  display:flex;align-items:center;gap:10px;
  padding:8px 15px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--gold-soft),var(--green-soft));
  color:var(--green-dark);
}
.celebration-ribbon b{font-size:14px}
@keyframes v59-medal-pop{from{transform:scale(.45) rotate(-10deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}
@keyframes v59-float{from{transform:translateY(-3px) rotate(-8deg)}to{transform:translateY(4px) rotate(8deg)}}

/* Quran: edge tap is the second page-navigation method. */
.reader-edge{
  position:absolute;
  z-index:7;
  top:calc(74px + env(safe-area-inset-top,0px));
  bottom:calc(72px + var(--safe-bottom));
  width:11.5%;
  max-width:58px;
  border:0;
  padding:0;
  background:transparent;
  color:var(--green);
  opacity:.34;
  display:grid;
  place-items:center;
  -webkit-tap-highlight-color:transparent;
}
.reader-edge span{
  width:28px;height:48px;
  display:grid;place-items:center;
  border-radius:999px;
  background:rgba(248,244,236,.72);
  border:1px solid rgba(46,107,88,.08);
  font-size:28px;
  transition:transform .12s ease,opacity .12s ease,background .12s ease;
}
:root[data-theme="dark"] .reader-edge span{background:rgba(42,42,44,.70)}
.reader-edge-left{left:0}
.reader-edge-right{right:0}
.reader-edge.edge-tap span{transform:scale(1.12);opacity:1;background:var(--green-soft)}
.reader-edge:disabled{opacity:.08;pointer-events:none}
/* Only swipe + page-edge taps for page navigation; keep the toolbar for translation. */
.reader-pager{display:none!important}
.reader-toolbar{justify-content:center}

/* Language switching should not feel blocked by network work. */
html[dir="rtl"] .page,html[dir="ltr"] .page{transition:none}


/* Raha V5.10 — exact Al-Ma'thurat al-Sughra */
.sughra-banner{
  display:flex;
  align-items:center;
  gap:12px;
  margin:10px 0 12px;
  padding:13px 14px;
  background:linear-gradient(145deg,var(--green-soft),var(--surface));
  border:1px solid rgba(46,107,88,.10);
}
.sughra-mark{
  width:38px;height:38px;
  border-radius:13px;
  display:grid;place-items:center;
  background:var(--green);
  color:#fff;
  font-size:18px;
  flex:0 0 auto;
}
.sughra-banner strong{display:block;font-size:12px}
.sughra-banner small{display:block;color:var(--muted);font-size:9.5px;line-height:1.5;margin-top:3px}


/* Raha V5.11 */
.quran-dhikr-card{
  border:1px solid rgba(46,107,88,.12);
}
.quran-reference{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:5px 9px;
  border-radius:999px;
  background:var(--green-soft);
  color:var(--green-dark);
  font-size:9.5px;
  font-weight:700;
  margin-bottom:3px;
}


/* Raha V5.12 — compact Al-Ma'thurat banner */
.sughra-banner{
  padding:10px 12px!important;
  gap:9px!important;
}
.sughra-banner .sughra-mark{
  width:32px!important;
  height:32px!important;
  border-radius:11px!important;
  font-size:15px!important;
}
.sughra-banner strong{
  font-size:11.5px!important;
}
.sughra-banner small{
  font-size:8.5px!important;
  margin-top:1px!important;
  opacity:.72;
}


/* Raha V5.13 — Qur'an verse splitting inside Adhkar */
.quran-structured-ar{
  display:grid;
  gap:8px;
  text-align:right;
}
.adhkar-quran-ayah{
  display:block;
  font-family:"Amiri Quran","Amiri","Noto Naskh Arabic",serif;
  font-size:19px;
  line-height:2;
  direction:rtl;
}
.adhkar-quran-text{
  display:inline;
}
.adhkar-ayah-number{
  display:inline-grid;
  place-items:center;
  min-width:25px;
  height:25px;
  padding:0 5px;
  margin-inline:5px 2px;
  border:1px solid rgba(46,107,88,.22);
  border-radius:999px;
  color:var(--green);
  background:var(--green-soft);
  font-family:"IBM Plex Sans Arabic",sans-serif;
  font-size:9px;
  font-weight:700;
  vertical-align:middle;
}
.adhkar-basmala{
  text-align:center;
  font-family:"Amiri Quran","Amiri","Noto Naskh Arabic",serif;
  font-size:18px;
  line-height:1.9;
  color:var(--green-dark);
  margin-bottom:2px;
}
.quran-structured-en{
  display:grid;
  gap:7px;
}
.adhkar-quran-en-ayah{
  display:grid;
  grid-template-columns:24px 1fr;
  gap:7px;
  align-items:start;
  line-height:1.6;
}
.adhkar-quran-en-ayah b{
  width:22px;
  height:22px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--green-soft);
  color:var(--green);
  font-size:9px;
}


/* Raha V5.14 — Quran-style inline ayah flow */
.quran-inline-ar{
  display:block!important;
  direction:rtl;
  text-align:justify;
  text-align-last:right;
  font-family:"Amiri Quran","Amiri","Noto Naskh Arabic",serif;
  font-size:20px;
  line-height:2.05;
}
.adhkar-inline-ayah{
  display:inline;
}
.adhkar-inline-basmala{
  display:block;
  text-align:center;
  margin:2px 0 5px;
  color:var(--green-dark);
}
.adhkar-ayah-marker{
  display:inline-grid;
  place-items:center;
  width:27px;
  height:27px;
  margin:0 3px;
  vertical-align:middle;
  border:1.4px solid rgba(46,107,88,.38);
  border-radius:50%;
  color:var(--green-dark);
  background:transparent;
  font-family:"IBM Plex Sans Arabic",sans-serif;
  font-size:9px;
  font-weight:700;
  line-height:1;
}
.adhkar-ayah-marker span{
  transform:translateY(.2px);
}
.quran-inline-en{
  display:block!important;
  direction:ltr;
  text-align:left;
  line-height:1.7;
}
.adhkar-en-ayah{
  display:inline;
}
.adhkar-en-ayah b{
  display:inline-grid;
  place-items:center;
  min-width:19px;
  height:19px;
  padding:0 4px;
  margin:0 3px;
  border-radius:999px;
  background:var(--green-soft);
  color:var(--green);
  font-size:8px;
  vertical-align:middle;
}


/* Raha V5.15 — use the actual Qur'anic end-of-ayah rosette */
.mushaf-ayah-end{
  display:inline;
  margin:0 .12em;
  color:inherit;
  background:none;
  border:0;
  border-radius:0;
  padding:0;
  font-family:"Amiri Quran","Amiri","Noto Naskh Arabic",serif;
  font-size:1em;
  font-weight:400;
  line-height:inherit;
  vertical-align:baseline;
  white-space:nowrap;
}
.adhkar-ayah-marker{
  display:none!important;
}


/* Raha V5.18 — stable mobile navigation
   The app itself owns the scroll container so iOS visual-viewport changes
   cannot make the bottom navigation slide up/down with page scrolling. */
html,
body{
  height:100%;
  min-height:100%;
  overflow:hidden;
}

body{
  min-height:100dvh;
}

.app{
  height:100dvh;
  min-height:100dvh;
  max-height:100dvh;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  padding-bottom:0!important;
}

.app-header{
  position:relative!important;
  top:auto!important;
  flex:0 0 auto;
}

.content{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:contain;
  padding-bottom:calc(92px + var(--safe-bottom))!important;
}

.bottom-nav{
  position:absolute!important;
  inset-inline:0;
  bottom:0!important;
  width:100%!important;
  flex:0 0 auto;
  transform:none!important;
  will-change:auto;
  z-index:80;
}

/* Keep the nav visually attached to the device safe area. */
@supports (padding-bottom: env(safe-area-inset-bottom)){
  .bottom-nav{
    padding-bottom:calc(7px + env(safe-area-inset-bottom))!important;
  }
  .content{
    padding-bottom:calc(92px + env(safe-area-inset-bottom))!important;
  }
}

/* Raha V5.19: opaque, sharp header, orbiting sun/moon illustration and stable feed */
.app-header{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  background:#f7f3ec!important;
  box-shadow:0 1px 0 rgba(26,60,50,.05);
  transform:none!important;
  -webkit-font-smoothing:antialiased;
}
:root[data-theme="dark"] .app-header{background:#101612!important}
.app-header .brand-button,.app-header .raha-mark{filter:none!important;transform:none!important}
.orbit-hero{
  position:relative;isolation:isolate;overflow:hidden;
  min-height:260px;
  padding:14px 12px 13px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  background:#1c4e61!important;
  box-shadow:0 18px 38px rgba(24,62,62,.16)!important;
  display:flex;flex-direction:column;justify-content:space-between;gap:14px;
}
.orbit-hero .orbit-scene{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.orbit-scene svg{width:100%;height:100%;display:block}
.orbit-hero:after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;
  background:linear-gradient(180deg,rgba(12,46,53,.20) 0%,rgba(12,46,53,.08) 36%,rgba(5,36,39,.57) 100%);
}
.orbit-night-shade{opacity:0;transition:opacity .8s ease}
.orbit-stars{opacity:.12;transition:opacity .8s ease}
#orbitSunV519,#orbitMoonV519{transition:transform 1.1s linear,opacity .6s ease}
#orbitMoonV519{opacity:0}
.orbit-hero[data-orbit-period="night"] .orbit-night-shade{opacity:.88}
.orbit-hero[data-orbit-period="night"] .orbit-stars{opacity:.92}
.orbit-hero[data-orbit-period="night"] #orbitSunV519{opacity:0}
.orbit-hero[data-orbit-period="night"] #orbitMoonV519{opacity:1}
.orbit-hero .date-row{
  position:relative;z-index:1;
  width:100%;color:#fff;
  padding:8px 10px!important;
  border:0;background:transparent;text-align:start;
  text-shadow:0 1px 5px rgba(0,0,0,.18);
}
.orbit-hero .date-weekday{color:#f7e6c9;font-size:12px}
.orbit-hero .date-primary{color:#fff;font-size:clamp(16px,4.3vw,21px)}
.orbit-hero .date-secondary{color:rgba(255,255,255,.82);font-size:10px;margin-top:4px}
.orbit-hero .calendar-glyph{color:#f9e8c7;font-size:20px}
.orbit-hero .next-context-grid{
  position:relative;z-index:1;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;
  border:0!important;margin-top:auto!important;padding:0!important;
}
.orbit-hero .next-context-item{
  background:rgba(10,46,49,.56)!important;
  border:1px solid rgba(255,255,255,.25);border-radius:13px;
  padding:10px 7px 9px;
  color:#fff;
  min-width:0;
  backdrop-filter:none!important;
  text-align:start;
}
.orbit-hero .next-context-item .label{color:#d9e7df;opacity:.93;font-size:9px}
.orbit-hero .next-context-item strong{color:#fff;font-size:clamp(10px,3vw,13px);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.orbit-hero .next-context-item .context-time{color:#f7d690;font-size:10px}
.orbit-hero .next-context-item:focus-visible{outline:2px solid #f7d690;outline-offset:2px}
.orbit-hero .next-prayer{
  position:relative;z-index:1;margin-top:auto;padding:11px!important;
  background:rgba(9,48,46,.7);border-radius:12px;border:1px solid rgba(255,255,255,.18);
}
.orbit-hero .next-prayer .label{color:#eee}
.orbit-hero .next-prayer strong{color:#fff;font-size:14px}
.orbit-hero .next-prayer button{background:#f5e7c7!important;color:#1e4c40!important;font-size:11px}
:root[data-theme="dark"] .orbit-hero{border-color:rgba(255,255,255,.18)}
.feed-warning{padding:12px 13px;margin:10px 0;border-radius:13px;background:var(--gold-soft);color:var(--ink2);font-size:12px;line-height:1.5}
.feed-warning button{border:0;border-radius:9px;background:var(--green);color:#fff;padding:8px 12px;font-weight:700;margin-inline-start:8px}
.feed-next-time{font-weight:700;margin-top:4px;color:var(--green)}
@media(max-width:390px){
  .orbit-hero{min-height:248px}
  .orbit-hero .next-context-grid{gap:5px}
  .orbit-hero .next-context-item{padding:8px 5px}
  .orbit-hero .next-context-item .label{font-size:8px}
  .orbit-hero .next-context-item strong{font-size:10px}
}

/* Raha V5.20 — sharp app chrome, non-overlapping true-solar orbit, fast paint */
html,body{height:100%;overscroll-behavior:none;}
.app{isolation:isolate;transform:none!important;}
.app-header{
  position:relative!important;flex:0 0 auto;z-index:25;
  background:#f7f3ec!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  filter:none!important;-webkit-filter:none!important;
  opacity:1!important;contain:layout style;
  box-shadow:0 1px 0 rgba(26,60,50,.10)!important;
}
.app-header *{filter:none!important;-webkit-filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
.app-header .brand-button,.app-header #brandName,.app-header #brandSub{opacity:1!important;transform:none!important;will-change:auto!important;}
:root[data-theme="dark"] .app-header{background:#101612!important;}
.bottom-nav{background:#fffdf9!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
:root[data-theme="dark"] .bottom-nav{background:#101612!important;}
.content{scroll-behavior:auto!important;contain:layout style;}
.orbit-hero-v520{
  display:flex;flex-direction:column;gap:0!important;
  padding:0!important;min-height:0!important;
  background:#193e4e!important;overflow:hidden;isolation:isolate;
}
.orbit-hero-v520:after{display:none!important;}
.orbit-hero-v520 .orbit-date-v520{
  flex:0 0 auto;min-height:91px;
  border:0!important;border-radius:0!important;
  padding:13px 17px 10px!important;
  background:linear-gradient(145deg,#204c54,#193f4b)!important;
  text-shadow:none!important;
  position:relative;z-index:3;
}
.orbit-hero-v520 .date-weekday{color:#f8e5c1;font-size:12px;}
.orbit-hero-v520 .date-primary{font-size:clamp(17px,4.6vw,22px);line-height:1.3;}
.orbit-hero-v520 .date-secondary{font-size:11px;color:#e0ece8;}
.orbit-visual-v520{
  position:relative;flex:0 0 135px;height:135px;
  overflow:hidden;isolation:isolate;z-index:1;
}
.orbit-hero-v520 .orbit-scene-v520{
  position:absolute;inset:0;z-index:0;
  overflow:hidden;pointer-events:none;
}
.orbit-scene-v520 svg{display:block;width:100%;height:100%;}
.orbit-sky-night-v520,.orbit-stars-v520{transition:opacity .9s ease;}
.orbit-sky-night-v520{opacity:0}
.orbit-stars-v520{opacity:.06}
.orbit-hero-v520[data-orbit-period="night"] .orbit-sky-night-v520{opacity:.93}
.orbit-hero-v520[data-orbit-period="night"] .orbit-stars-v520{opacity:1}
#orbitSunV520,#orbitMoonV520{transition:transform .8s ease,opacity .7s ease;}
#orbitMoonV520{opacity:0}
.orbit-hero-v520[data-orbit-period="night"] #orbitMoonV520{opacity:1}
.orbit-sun-glow-v520{opacity:var(--sun-glow,.7)}
.orbit-hero-v520[data-orbit-lighting="dawn"] .orbit-scene-v520{filter:sepia(.17) saturate(1.12);}
.orbit-hero-v520[data-orbit-lighting="bright"] .orbit-scene-v520{filter:brightness(1.14) saturate(1.05);}
.orbit-hero-v520 .next-context-grid{
  position:relative;z-index:2;flex:0 0 auto;
  background:linear-gradient(145deg,#163b45,#12353d);
  margin:0!important;padding:10px!important;
  border:0!important;gap:7px;
}
.orbit-hero-v520 .next-context-item{background:rgba(255,255,255,.09)!important;}
.orbit-hero-v520 .next-prayer{
  position:relative;z-index:2;flex:0 0 auto;
  margin:0!important;border-radius:0!important;
  background:linear-gradient(145deg,#183f49,#11353c)!important;
}
@media(max-width:390px){
  .orbit-visual-v520{height:120px;flex-basis:120px;}
  .orbit-hero-v520 .orbit-date-v520{padding:11px 14px 9px!important;}
  .orbit-hero-v520 .next-context-grid{padding:7px!important;gap:5px!important;}
}
@media(prefers-reduced-motion:reduce){
  #orbitSunV520,#orbitMoonV520,.orbit-sky-night-v520{transition:none!important;}
}

/* Raha V5.21 — viewport-safe header, truly hidden Quran dialog, approved scenic composition. */
:root{
  --raha-top-inset:env(safe-area-inset-top,0px);
  --raha-status-gap:0px;
  --raha-header-height:calc(66px + var(--raha-top-inset) + var(--raha-status-gap));
}
/* Native iOS status-bar blur can extend below the safe area; this is spacing, not another blur filter. */
:root.ios-status-guard{--raha-status-gap:min(22px,calc(var(--raha-top-inset) * 1000));}
.app-header{
  position:fixed!important;top:0!important;left:0;right:0;bottom:auto;
  margin-inline:auto;width:min(100%,520px);height:var(--raha-header-height);
  padding:calc(12px + var(--raha-top-inset) + var(--raha-status-gap)) 18px 12px!important;
  contain:none!important;isolation:auto;transform:none!important;will-change:auto;
  opacity:1;z-index:90;background:var(--bg)!important;
  filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
:root[data-theme="dark"] .app-header{background:var(--bg)!important;}
.app{padding-top:var(--raha-header-height)!important;}
/* Crisp vector brand and native text; remove surrounding glow, not just backdrop filtering. */
.app-header .raha-mark{box-shadow:none!important;}
.app-header .brand-button,.app-header .header-actions{position:relative;flex-shrink:0;}
.app-header #brandName{text-shadow:none;}
.app-header #brandSub{line-height:1.4;}
/* Account for the same status-bar protection in the separate full-screen reader. */
.reader-header{
  height:calc(68px + var(--raha-top-inset) + var(--raha-status-gap))!important;
  padding-top:calc(10px + var(--raha-top-inset) + var(--raha-status-gap))!important;
}
.reader-body{padding-top:calc(72px + var(--raha-top-inset) + var(--raha-status-gap))!important;}
.reader-edge{top:calc(74px + var(--raha-top-inset) + var(--raha-status-gap));}
/* Legacy transformed drawer cannot render at all; current translation panel is a separate sibling. */
.reader-translation-panel{display:none!important;}
.reader-translation-panel-v521[hidden],.reader-translation-backdrop-v521[hidden]{display:none!important;}
.reader-translation-backdrop-v521{
  position:absolute;inset:0;z-index:15;background:rgba(10,30,24,.22);
}
.reader-translation-panel-v521{
  position:absolute;z-index:16;left:10px;right:10px;
  bottom:calc(76px + var(--safe-bottom));
  max-height:min(55dvh,480px);border:1px solid var(--line);border-radius:22px;
  background:var(--surface);color:var(--ink);box-shadow:0 12px 38px rgba(10,30,24,.18);
  display:flex;flex-direction:column;overflow:hidden;transform:none;
}
.reader-translation-header-v521{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 15px;border-bottom:1px solid var(--line);flex-shrink:0;
}
.reader-translation-header-v521 h2{font-size:14px;line-height:1.4;margin:0;}
.reader-translation-header-v521 button{
  border:0;display:grid;place-items:center;min-width:40px;height:40px;
  border-radius:12px;background:var(--surface2);color:var(--ink);font-size:25px;line-height:1;
}
.reader-translation-text-v521{
  padding:4px 16px 15px;overflow-y:auto;min-height:0;overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;touch-action:pan-y;
}
.reader-toolbar{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
.reader-translation-panel-v521:focus{outline:none;}

/* Continuous landscape: no separated date strip or colour-block bands. */
.orbit-hero-v521{
  position:relative;overflow:hidden;isolation:isolate;
  padding:0 10px 11px!important;border:1px solid rgba(245,223,182,.3)!important;
  border-radius:24px!important;background:#173e4c!important;
  box-shadow:0 14px 34px rgba(21,59,57,.14)!important;
  --night-opacity:0;--warmth-opacity:.65;
}
.orbit-backdrop-v521{position:absolute;inset:0;z-index:-1;pointer-events:none;}
.landscape-art-v521{display:block;width:100%;height:100%;}
.horizon-warm-v521{opacity:var(--warmth-opacity);transition:opacity 3s linear;}
.night-wash-v521{opacity:var(--night-opacity);transition:opacity 3s linear;}
.sky-stars-v521{opacity:var(--night-opacity);}
.orbit-sky-v521{position:relative;height:179px;}
.orbit-countdown-v521{
  position:absolute;right:5px;top:13px;z-index:2;display:flex;align-items:center;gap:7px;
  text-align:right;color:#fff8e9;max-width:76%;text-shadow:0 1px 3px rgba(0,0,0,.2);
}
.orbit-countdown-v521 strong{display:block;font-size:11px;font-weight:600;line-height:1.5;}
.orbit-countdown-v521 small{display:block;font-size:8px;line-height:1.45;color:#e3e8dc;}
.orbit-countdown-moon-v521{font-size:30px;line-height:1;color:#77b698;}
.orbit-orientation-v521{position:absolute;top:19px;left:6px;font-size:8px;color:#ebeddf;opacity:.66;direction:ltr;}
.orbit-path-space-v521{position:absolute;top:59px;bottom:8px;left:0;right:0;direction:ltr;}
.orbit-path-v521{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.orbit-waypoints-v521{position:absolute;inset:0;}
.orbit-waypoints-v521 i{
  position:absolute;width:7px;height:7px;border-radius:50%;transform:translate(-50%,-50%);
  background:#f8e8cf;border:1px solid #fff6e6;box-shadow:0 0 10px rgba(253,225,171,.45);
}
.orbit-sun-v521{
  position:absolute;width:58px;height:58px;transform:translate(-50%,-50%) scale(var(--sun-scale,1));
  transform-origin:center;color:var(--sun-color,#ffcf70);z-index:2;
  transition:left 15s linear,top 15s linear,transform 15s linear,opacity 2s linear,color 15s linear;
}
.orbit-sun-v521 svg{display:block;width:100%;height:100%;position:relative;}
.orbit-sun-aura-v521{
  position:absolute;inset:-60%;border-radius:50%;opacity:var(--sun-aura,.8);
  background:radial-gradient(circle,rgba(255,238,163,.73) 0%,rgba(255,210,99,.23) 28%,rgba(255,205,100,.05) 53%,transparent 70%);
}
.orbit-moon-v521{position:absolute;width:28px;height:28px;transform:translate(-50%,-50%);opacity:0;transition:opacity 2s;}
.orbit-moon-v521 svg{width:100%;height:100%;}
.orbit-west-v521,.orbit-east-v521{position:absolute;bottom:1px;font-size:8px;color:#f0e8d4;opacity:.76;}
.orbit-west-v521{left:1px;}.orbit-east-v521{right:1px;}
.orbit-info-v521{position:relative;display:grid;grid-template-columns:1.16fr 1fr 1fr 1fr;gap:5px;z-index:3;}
.orbit-hero-v521 .orbit-info-card-v521{
  border:1px solid rgba(236,235,206,.35)!important;border-radius:13px;
  background:linear-gradient(145deg,rgba(31,67,71,.64),rgba(22,53,59,.78))!important;
  color:#fff;padding:10px 5px 9px!important;min-width:0;min-height:112px;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1);margin:0;
}
.orbit-info-icon-v521{display:grid;place-items:center;flex:0 0 22px;width:23px;height:22px;color:#e3ecda;margin-bottom:5px;}
.orbit-info-icon-v521 svg{display:block;width:21px;height:21px;}
.orbit-hero-v521 .orbit-info-card-v521 .label{
  font-size:8px;line-height:1.4;color:#d5e0d7;margin:0 0 3px;font-weight:400;white-space:normal;
}
.orbit-hero-v521 .orbit-info-card-v521 strong{
  font-size:11.5px;line-height:1.5;color:#fff;white-space:normal;font-weight:600;
  overflow:visible;text-overflow:clip;
}
.orbit-hero-v521 .orbit-info-card-v521 .context-time{
  font-size:10.5px;line-height:1.5;color:#f9edce;margin-top:4px;font-weight:500;
}
.orbit-hero-v521 .orbit-prayer-highlight-v521{
  border-color:#f3d27d!important;
  background:linear-gradient(180deg,rgba(53,72,60,.76) 0%,rgba(67,78,57,.8) 62%,rgba(185,151,67,.82) 100%)!important;
  box-shadow:inset 0 0 0 1px rgba(254,217,132,.25),0 0 13px rgba(237,190,80,.18);
}
.orbit-prayer-highlight-v521 .orbit-info-icon-v521{color:#ffda75;}
.orbit-hero-v521 .orbit-date-v521{width:100%;cursor:pointer;}
.orbit-date-v521 .date-weekday{font-size:11px;color:#fff;line-height:1.5;margin:0 0 3px;}
.orbit-date-v521 .date-primary{font-size:9.3px;color:#f3f1e5;line-height:1.6;font-weight:500;letter-spacing:0;}
.orbit-date-v521 .date-secondary{font-size:8.4px;color:#cadbcf;line-height:1.5;margin-top:3px;}
.orbit-info-v521.needs-location-v521{grid-template-columns:1fr 2.7fr;}
.orbit-location-v521{display:flex;flex-direction:column;gap:7px;border:1px solid rgba(255,255,255,.3);border-radius:13px;margin:0!important;padding:11px!important;background:rgba(17,54,58,.76);color:white;text-align:center;}
.orbit-location-v521 .label{font-size:9px;color:#e5e9dc;}
.orbit-location-v521 strong{font-size:12px;line-height:1.5;}
.orbit-location-v521 .primary-button{height:36px;font-size:11px;background:#eddbad;color:#163e34;}
.orbit-info-card-v521:focus-visible{outline:2px solid #fff1bb;outline-offset:-4px;}
@media(min-width:450px){
 .orbit-sky-v521{height:192px;}
 .orbit-countdown-v521 strong{font-size:13px;}.orbit-countdown-v521 small{font-size:9px;}
 .orbit-hero-v521 .orbit-info-card-v521 strong{font-size:13px;}
 .orbit-date-v521 .date-primary{font-size:11px;}.orbit-date-v521 .date-secondary{font-size:9px;}
}
@media(max-width:350px){
 .orbit-hero-v521{padding-inline:8px!important;}
 .orbit-info-v521{gap:4px;grid-template-columns:1.12fr 1fr 1fr 1fr;}
 .orbit-hero-v521 .orbit-info-card-v521{padding-inline:3px!important;}
 .orbit-hero-v521 .orbit-info-card-v521 strong{font-size:10.5px;}
 .orbit-date-v521 .date-primary{font-size:8.5px;}
 .orbit-date-v521 .date-secondary{font-size:8px;}
}
@media(prefers-reduced-motion:reduce){
 .orbit-sun-v521,.orbit-moon-v521,.night-wash-v521,.horizon-warm-v521{transition:none!important;}
}
/* The backdrop is prepared from the user's approved artwork; the sun, route and labels are live DOM elements. */
.landscape-photo-v521{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:fill;pointer-events:none;}
.landscape-night-v521{position:absolute;inset:0;opacity:var(--night-opacity);background:linear-gradient(180deg,rgba(4,19,39,.88),rgba(8,31,47,.81) 58%,rgba(5,30,37,.75));transition:opacity 3s linear;}
.landscape-warm-v521{position:absolute;inset:0;opacity:var(--warmth-opacity);background:radial-gradient(ellipse at var(--solar-x,50%) 49%,rgba(255,221,145,.28),transparent 52%);}
.landscape-stars-v521{position:absolute;top:14px;left:18%;letter-spacing:16px;font-size:9px;color:#fff3cf;opacity:var(--night-opacity);}
.landscape-photo-v521{object-fit:cover;object-position:center center;}

/* Raha V5.22 — clean copy, edge gestures, layout, and page-turning */
.orbit-west-v521,.orbit-east-v521,.orbit-orientation-v521{display:none!important;}
.orbit-countdown-v521 small:empty,.ramadan-ribbon small:empty{display:none!important;}
#todayContent>.page-title p:empty{display:none!important;}
.reader-edge{width:31px!important;max-width:31px!important;background:transparent!important;opacity:1!important;}
.reader-edge span{display:none!important;}
.reader-body{touch-action:pan-y!important;}
.reader-turn-stage-v522{position:absolute;z-index:4;pointer-events:none;perspective:1050px;transform-style:preserve-3d;overflow:visible;}
.reader-turn-under-v522,.reader-turn-leaf-v522{position:absolute;inset:0;width:100%;height:100%;background:var(--bg);overflow:hidden;}
.reader-turn-under-v522{z-index:1;opacity:.62;box-shadow:inset -11px 0 35px rgba(12,29,22,.08);}
.reader-turn-leaf-v522{z-index:2;transform-origin:100% 50%;backface-visibility:hidden;box-shadow:none;}
.reader-turn-under-v522 .mushaf-page,.reader-turn-leaf-v522 .mushaf-page{height:100%;overflow:hidden;}
.reader-turn-under-v522 .mushaf-marker,.reader-turn-leaf-v522 .mushaf-marker{pointer-events:none;}
.prayer-countdown-v522{display:block;margin-top:auto;direction:ltr;unicode-bidi:isolate;white-space:nowrap;letter-spacing:.04em;font-size:12px;font-weight:700;color:#ffe7a0;line-height:1.45;font-variant-numeric:tabular-nums;}
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="prayer"]{min-height:119px;}
/* Consistent card widths inside Today, including tall reward content. */
#todayContent{min-width:0;max-width:100%;}
#todayContent .reward-card{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden;}
#todayContent .reward-top{min-width:0;max-width:100%;flex-wrap:wrap;align-items:flex-start;}
#todayContent .reward-top>div{min-width:0;flex:1 1 120px;overflow-wrap:anywhere;}
#todayContent .reward-badge{min-width:0;max-width:100%;flex:0 1 auto;white-space:normal;overflow-wrap:anywhere;}
#todayContent .reward-section,#todayContent .suggestion-chips{max-width:100%;min-width:0;box-sizing:border-box;flex-wrap:wrap;overflow-wrap:anywhere;}
#todayContent .reward-item{min-width:0;max-width:100%;}
.counter strong,.progress-ring,.postcard-score,.prayer-countdown-v522{unicode-bidi:isolate;direction:ltr;}
.mushaf-marker.bookmarked{box-shadow:0 0 0 2px var(--gold)!important;background:var(--gold-soft)!important;color:var(--green-dark)!important;}
@media(prefers-reduced-motion:reduce){.reader-turn-stage-v522{display:none!important;}}

/* The reader is a single non-scrollable page: let its gesture handler own horizontal swipes on iOS. */
.reader-body,.reader-body .mushaf-page,.reader-body .mushaf-text{touch-action:none!important;}

/* Subtle reference to the saved verse when its page is opened. */
.mushaf-marker.continue-focus-v522{outline:2px solid var(--gold)!important;outline-offset:3px;}

/* V5.23 — rebalanced sunrise landscape and information-first dashboard */
.orbit-hero-v521{
  padding:0 10px 10px!important;
  min-height:0!important;
  border-radius:24px!important;
  background:#163e4b!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
}
.orbit-hero-v521 .orbit-sky-v521{
  height:98px!important;
  min-height:98px!important;
  flex:none!important;
}
.orbit-hero-v521 .orbit-path-space-v521{
  top:24px!important;bottom:5px!important;
}
.orbit-hero-v521 .orbit-countdown-v521{
  top:8px!important;right:11px!important;
  left:auto!important;max-width:55%!important;
}
.orbit-hero-v521 .orbit-countdown-v521 strong{font-size:10px!important;}
.orbit-hero-v521 .orbit-countdown-v521 small{font-size:8px!important;}
.orbit-hero-v521 .orbit-countdown-moon-v521{font-size:20px!important;}
.orbit-hero-v521 .orbit-sun-v521{width:41px!important;height:41px!important;}
.orbit-hero-v521 .orbit-moon-v521{width:23px!important;height:23px!important;}
.orbit-hero-v521 .orbit-waypoints-v521 i{width:5px;height:5px;}
.orbit-hero-v521 .orbit-info-v521{
  display:grid!important;
  direction:inherit!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
  min-width:0!important;
  position:relative!important;
  z-index:4!important;
}
.orbit-hero-v521 .orbit-info-card-v521{
  box-sizing:border-box!important;
  width:100%!important;
  min-height:0!important;
  margin:0!important;
  border-radius:16px!important;
  padding:9px 12px!important;
  background:linear-gradient(155deg,rgba(20,54,58,.86),rgba(19,54,61,.77))!important;
  border:1px solid rgba(250,245,222,.30)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.08)!important;
  text-align:start!important;
  align-items:start!important;
}
.orbit-hero-v521 .orbit-date-v521{
  grid-column:1/-1!important;
  min-height:64px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:13px!important;
  background:linear-gradient(110deg,rgba(25,64,66,.89),rgba(22,65,70,.69))!important;
}
.orbit-hero-v521 .orbit-date-v521>div{min-width:0;flex:1}
.orbit-hero-v521 .orbit-date-v521 .orbit-info-icon-v521{margin:0!important;width:28px!important;height:28px!important;flex:0 0 28px!important}
.orbit-hero-v521 .orbit-date-v521 .date-weekday{font-size:11px!important;line-height:1.3!important;margin:0 0 1px!important;color:#faedcf!important}
.orbit-hero-v521 .orbit-date-v521 .date-primary{font-size:clamp(13px,3.4vw,17px)!important;line-height:1.45!important;font-weight:650!important;color:white!important}
.orbit-hero-v521 .orbit-date-v521 .date-secondary{font-size:10px!important;line-height:1.4!important;color:#d8e6df!important;margin-top:1px!important}
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="prayer"]{
  grid-column:1/-1!important;
  min-height:86px!important;
  display:grid!important;
  grid-template-columns:31px minmax(0,1fr) minmax(118px,auto)!important;
  grid-template-rows:auto auto!important;
  column-gap:10px!important;
  row-gap:2px!important;
  align-items:center!important;
  background:linear-gradient(115deg,rgba(48,85,76,.90),rgba(112,100,57,.86))!important;
  border-color:rgba(254,222,140,.72)!important;
}
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="prayer"] .orbit-info-icon-v521{
  grid-column:1;grid-row:1/3;margin:0!important;width:29px!important;height:29px!important;color:#ffdb8c!important;
}
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="prayer"] .label{
  grid-column:2;grid-row:1;font-size:10px!important;
}
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="prayer"] strong{
  grid-column:2;grid-row:2;font-size:17px!important;line-height:1.4!important;
}
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="prayer"] .context-time{
  grid-column:3;grid-row:1;text-align:end!important;font-size:11px!important;white-space:nowrap!important;
}
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="prayer"] .prayer-countdown-v522{
  grid-column:3;grid-row:2;min-width:0!important;
  display:flex!important;flex-direction:column!important;
  align-items:flex-end!important;
  margin:0!important;padding:0!important;gap:1px!important;
  white-space:nowrap!important;
  width:auto!important;font-size:12px!important;
  line-height:1.15!important;
  color:#ffe7a0!important;
}
.orbit-hero-v521 .prayer-countdown-v522 small{
  color:#dce9dc!important;font-size:8.5px!important;font-weight:500!important;
}
.orbit-hero-v521 .prayer-countdown-v522 b{
  font-weight:750!important;font-size:clamp(13px,3.5vw,17px)!important;
  font-variant-numeric:tabular-nums!important;direction:ltr!important;
  unicode-bidi:isolate!important;
}
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="sunnah"],
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="adhkar"]{
  min-height:90px!important;display:grid!important;
  grid-template-columns:26px minmax(0,1fr)!important;
  grid-template-rows:auto auto auto!important;
  column-gap:9px!important;row-gap:2px!important;
}
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="sunnah"] .orbit-info-icon-v521,
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="adhkar"] .orbit-info-icon-v521{
  grid-column:1;grid-row:1/4;margin:0!important;align-self:center!important;
}
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="sunnah"] .label,
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="adhkar"] .label{
  grid-column:2;grid-row:1;font-size:9px!important;
}
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="sunnah"] strong,
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="adhkar"] strong{
  grid-column:2;grid-row:2;font-size:13px!important;line-height:1.3!important;
}
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="sunnah"] .context-time,
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="adhkar"] .context-time{
  grid-column:2;grid-row:3;font-size:10px!important;margin:0!important;
}
.orbit-hero-v521 .orbit-info-v521.needs-location-v521{
  grid-template-columns:1fr!important;
}
.orbit-hero-v521 .orbit-info-v521.needs-location-v521>*{grid-column:1!important;}
@media(max-width:365px){
  .orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="prayer"]{grid-template-columns:24px minmax(0,1fr) minmax(104px,auto)!important;column-gap:6px!important}
  .orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="prayer"] strong{font-size:15px!important}
  .orbit-hero-v521 .prayer-countdown-v522 b{font-size:12.5px!important}
  .orbit-hero-v521 .orbit-date-v521 .date-primary{font-size:12px!important}
}

/* V5.23 — page-faithful Quran; SVG pages fit as complete physical sheets */
.reader{
  background:#f9f6ef!important;
  color:#1f3d35!important;
  -webkit-font-smoothing:antialiased;
}
:root[data-theme="dark"] .reader{background:#1c211e!important;color:#e8e6dd!important}
.reader-header{
  border:0!important;background:#f9f6ef!important;
  box-shadow:none!important;backdrop-filter:none!important;
  grid-template-columns:48px minmax(0,1fr) 84px!important;
  z-index:12!important;
}
:root[data-theme="dark"] .reader-header{background:#1c211e!important}
.reader-heading strong{font-size:15px!important;font-weight:650!important;letter-spacing:.01em!important}
.reader-heading small{display:block!important;font-size:9px!important;color:#97836d!important}
.reader-page-indicator{font-size:11px!important;font-weight:600!important;color:#988a7e!important;white-space:nowrap}
.reader-header #readerBack{border:0!important;background:transparent!important;font-size:25px!important;color:#265a47!important}
.reader-body{
  z-index:1!important;
  direction:ltr!important;
  padding:calc(75px + var(--raha-top-inset) + var(--raha-status-gap)) 9px calc(71px + var(--safe-bottom))!important;
  overflow:hidden!important;touch-action:none!important;
  transition:none!important;transform:none!important;
  box-shadow:none!important;outline:0!important;
  background:transparent!important;
}
.reader-body.page-out-left,.reader-body.page-out-right,.reader-body.page-in-right,.reader-body.page-in-left{
  transform:none!important;opacity:1!important;
}
.v523-reader-canvas,.v523-active-sheet{width:100%;height:100%;position:relative;overflow:hidden}
.v523-sheet{width:100%;height:100%;position:relative;overflow:hidden;display:flex;justify-content:center;align-items:stretch}
.v523-print{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.v523-page-svg{display:block;width:100%!important;height:100%!important;max-height:100%!important;max-width:100%!important;flex:none}
.v523-page-svg .ayahPolygon{cursor:pointer;pointer-events:all}
.v523-loading{font-size:12px;color:#a48e76;display:flex;justify-content:center;align-items:center;width:100%;height:100%;text-align:center;padding:20px}
.v523-sliding-track{
  position:absolute;left:0;top:0;width:300%;height:100%;
  transform:translate3d(calc(-33.333333% + var(--drag,0px)),0,0);
  will-change:transform;
  backface-visibility:hidden;
}
.v523-sliding-track.v523-snap{transition:transform .29s cubic-bezier(.18,.78,.24,1)}
.v523-slide{width:33.333333%;height:100%;top:0;position:absolute;overflow:hidden;background:#f9f6ef}
.v523-slide-next{left:0}
.v523-slide-current{left:33.333333%}
.v523-slide-prev{left:66.666666%}
.v523-slide-current:before,.v523-slide-next:before,.v523-slide-prev:before{
  position:absolute;content:"";top:2%;bottom:2%;width:1px;z-index:2;
  background:rgba(82,70,45,.04);pointer-events:none;
}
.v523-slide-current:before,.v523-slide-next:before{right:0}
:root[data-theme="dark"] .v523-slide{background:#1c211e}
.reader-edge,.reader-pager{display:none!important;pointer-events:none!important}
.reader-toolbar{
  border:0!important;display:flex!important;justify-content:center!important;
  background:#f9f6ef!important;box-shadow:none!important;
  min-height:calc(58px + var(--safe-bottom))!important;
  padding:6px 12px calc(9px + var(--safe-bottom))!important;
}
:root[data-theme="dark"] .reader-toolbar{background:#1c211e!important}
.reader-toolbar #translationToggle{
  border:1px solid rgba(87,106,89,.17)!important;
  border-radius:999px!important;padding:0 22px!important;
  height:38px!important;font-size:11px!important;
  background:rgba(255,255,255,.72)!important;color:#275b47!important;
  box-shadow:0 3px 12px rgba(51,60,45,.06)!important;
}
.v523-verse-popover{
  position:absolute;z-index:30;left:50%;transform:translateX(-50%);
  display:flex;align-items:center;gap:11px;padding:9px 11px;
  max-width:calc(100% - 24px);white-space:nowrap;
  border:1px solid rgba(122,116,96,.22);border-radius:17px;
  background:#fffef9;color:#224536;box-shadow:0 10px 40px rgba(15,35,28,.17);
}
.v523-verse-popover strong{font-size:12px;direction:ltr;unicode-bidi:isolate}
.v523-verse-popover button{border:0;border-radius:11px;background:#eaf2e8;color:#205942;font-weight:700;font-size:11px;min-height:37px;padding:0 10px}
.v523-verse-popover button:last-child{font-size:22px;background:transparent;color:#8d8980;padding:0 6px}
.v523-fallback-page{width:100%;height:100%;overflow:auto;padding:8px 13px;display:flex;flex-direction:column}
.v523-fallback-heading{font-size:11px;color:#8a7763;text-align:center;margin-bottom:8px}
.v523-fallback-calligraphy{flex:1;font-family:'Amiri Quran','Amiri',serif;text-align:justify;text-align-last:center;font-size:clamp(18px,5.3vw,28px);line-height:1.92;overflow:auto}
.v523-fallback-verse{display:inline}
.v523-ayah-rosette{font-size:.75em;color:#957b4c;white-space:nowrap}
.v523-surah-flourish{text-align:center;border:1px solid #c4aa85;border-radius:14px;padding:5px;margin-bottom:8px;font-size:1.1em}
.v523-basmalah{text-align:center;font-size:1em;margin:4px 0}
.v523-fallback-note{font-size:10px;line-height:1.5;color:#967d60;text-align:center;margin:0}

/* V5.23 — the Quran library takes its cues from Ayah's calm contents layout. */
.v523-contents{padding:8px 0 12px;}
.v523-contents-top{margin:4px 0 18px;}
.v523-contents-top h1{font-size:clamp(27px,6.6vw,35px);letter-spacing:-.04em;line-height:1.2;margin:18px 3px 6px;color:var(--ink)}
.v523-contents-top p{font-size:11px;color:var(--muted);line-height:1.5;margin:0 3px 20px}
.v523-tabs{display:flex;width:max-content;margin-inline:auto;gap:3px;background:#eae5df;padding:4px;border-radius:13px}
.v523-tabs button{border:0;background:transparent;color:#706a62;border-radius:10px;padding:8px 19px;font-weight:700;font-size:12px}
.v523-tabs button.active{background:white;color:#245644;box-shadow:0 1px 6px rgba(35,39,34,.08)}
.v523-resume{width:100%;display:flex;align-items:center;gap:12px;text-align:start;background:#e8f1eb;border:1px solid #dce9df;border-radius:19px;padding:17px;color:#265d47;margin:0 0 14px;min-width:0}
.v523-resume-mark{width:37px;height:37px;display:grid;place-items:center;border:1px solid #bfd3c6;border-radius:12px;font-size:24px}
.v523-resume>span:nth-child(2){min-width:0;flex:1}
.v523-resume small{display:block;font-size:10px;color:#6a8976;margin-bottom:4px}
.v523-resume strong{font-size:14px;white-space:normal;overflow-wrap:anywhere}
.v523-resume-icon{font-size:20px;color:#356b55}
.v523-surah-search{display:block;margin-bottom:14px}
.v523-surah-search input{width:100%;height:43px;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:10px 15px;color:var(--ink);font-size:11px;outline:0}
.v523-index-list{display:grid;gap:0}
.v523-index-row{display:grid;grid-template-columns:39px minmax(0,1fr) auto;align-items:center;gap:15px;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:start;padding:15px 6px 15px 2px;min-height:70px}
.v523-index-row[hidden]{display:none!important}
.v523-index-number{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--surface2);color:var(--ink);font-size:12px;font-weight:650}
.v523-index-row strong{display:block;font-size:15px;line-height:1.3}
.v523-index-row small{display:block;font-size:10px;color:var(--muted);margin-top:5px}
.v523-index-ar{font-family:'Amiri',serif;font-size:17px;color:var(--ink2)}
.v523-index-chevron{font-size:21px;color:var(--green)}
.v523-empty-index{padding:25px;font-size:12px;text-align:center;color:var(--muted)}


/* Raha V5.24 — calmer, consistent orbit card typography and hierarchy */
.orbit-hero-v521{
  gap:9px!important;padding:0 11px 11px!important;
  border-radius:25px!important;
  box-shadow:0 12px 30px rgba(12,41,40,.14)!important;
}
.orbit-hero-v521 .orbit-sky-v521{height:91px!important;min-height:91px!important}
.orbit-hero-v521 .orbit-info-v521{gap:8px!important}
.orbit-hero-v521 .orbit-info-card-v521{
  border-radius:17px!important;
  border:1px solid rgba(237,246,239,.24)!important;
  background:rgba(14,52,53,.76)!important;
  backdrop-filter:none!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
  overflow:hidden!important;
  text-align:start!important;
}
.orbit-hero-v521 .orbit-date-v521{
  padding:12px 13px!important;min-height:75px!important;
  gap:12px!important;align-items:center!important;
  background:linear-gradient(110deg,rgba(17,58,59,.92),rgba(17,61,62,.83))!important;
}
.orbit-hero-v521 .orbit-date-v521 .orbit-info-icon-v521{
  width:35px!important;height:35px!important;flex:0 0 35px!important;
  display:grid;place-items:center;border-radius:11px;
  color:#f1e7c9!important;background:rgba(255,255,255,.08)!important;
}
.orbit-hero-v521 .orbit-date-v521 .date-weekday{
  color:#d8e7db!important;font-size:10.5px!important;line-height:1.2!important;
  font-weight:600!important;margin:0 0 3px!important;
}
.orbit-hero-v521 .orbit-date-v521 .date-primary{
  color:#fffdf3!important;font-size:clamp(14px,3.75vw,18px)!important;
  line-height:1.3!important;letter-spacing:0!important;font-weight:750!important;
  text-wrap:balance;
}
.orbit-hero-v521 .orbit-date-v521 .date-secondary{
  font-size:10.5px!important;line-height:1.3!important;
  color:#cfe0d8!important;margin-top:4px!important;
}
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="prayer"]{
  min-height:104px!important;padding:12px 13px!important;
  column-gap:9px!important;row-gap:3px!important;
  grid-template-columns:32px minmax(0,1fr) minmax(110px,auto)!important;
  grid-template-rows:auto 1fr!important;
  border:1px solid rgba(240,214,142,.65)!important;
  background:linear-gradient(115deg,rgba(39,78,65,.96),rgba(104,98,54,.90))!important;
}
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="prayer"] .orbit-info-icon-v521{
  width:31px!important;height:31px!important;
  color:#f8dc8e!important;
}
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="prayer"] .label{
  color:#d4e7db!important;font-size:10px!important;font-weight:550!important;
  line-height:1.2!important;
}
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="prayer"] strong{
  font-size:clamp(17px,4.5vw,21px)!important;line-height:1.2!important;
  font-weight:750!important;letter-spacing:-.02em!important;
}
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="prayer"] .context-time{
  font-size:12px!important;font-weight:600!important;
  color:#ffebbe!important;align-self:start!important;
}
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="prayer"] .prayer-countdown-v522{
  align-self:end!important;gap:3px!important;
}
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="prayer"] .prayer-countdown-v522 small{
  font-size:9.5px!important;line-height:1.3!important;
  color:#ecf0dd!important;
}
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="prayer"] .prayer-countdown-v522 b{
  font-size:clamp(17px,4.35vw,21px)!important;
  font-weight:780!important;letter-spacing:-.018em!important;
  font-variant-numeric:tabular-nums!important;
}
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="sunnah"],
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="adhkar"]{
  padding:12px 10px!important;min-height:98px!important;
  grid-template-columns:23px minmax(0,1fr)!important;
  grid-template-rows:auto minmax(29px,auto) auto!important;
  column-gap:9px!important;row-gap:3px!important;
}
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="sunnah"] .orbit-info-icon-v521,
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="adhkar"] .orbit-info-icon-v521{
  grid-row:1/4!important;width:22px!important;height:22px!important;
  align-self:center!important;
}
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="sunnah"] .label,
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="adhkar"] .label{
  color:#c5ded4!important;font-size:10px!important;font-weight:500!important;
  line-height:1.3!important;
}
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="sunnah"] strong,
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="adhkar"] strong{
  font-size:clamp(11px,3.4vw,14px)!important;
  line-height:1.32!important;font-weight:750!important;
  display:-webkit-box!important;-webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;overflow:hidden!important;
  overflow-wrap:anywhere!important;
}
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="sunnah"] .context-time,
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="adhkar"] .context-time{
  color:#ffdd98!important;font-size:11px!important;font-weight:650!important;
  line-height:1.35!important;
}
@media(max-width:370px){
 .orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="prayer"]{
  grid-template-columns:25px minmax(0,1fr) minmax(102px,auto)!important;
  column-gap:6px!important;padding:11px 9px!important;
 }
 .orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="prayer"] .prayer-countdown-v522 b{font-size:15px!important}
 .orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="sunnah"],
 .orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="adhkar"]{column-gap:6px!important;padding:10px 8px!important}
}
/* The only swipe-settle animation is the current reader's Web Animation.
   Prevent legacy spring classes from adding a second delayed transition. */
.v523-sliding-track,.v523-sliding-track.v523-snap{transition:none!important}

/* Raha V5.25 — flat Prayer, mirrored countdown, direct navigation */
.orbit-hero-v521 .orbit-info-card-v521[data-orbit-card="prayer"]{
  background:rgba(16,61,59,.95)!important;
  background-image:none!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.orbit-hero-v521 .orbit-prayer-highlight-v521{
  background:rgba(16,61,59,.95)!important;
  background-image:none!important;
}
/* Logical placement follows the selected interface language rather than the
   countdown's hard-coded LTR digit direction. */
.orbit-hero-v521 [data-orbit-card="prayer"] .prayer-countdown-v522{
  direction:inherit!important;
  justify-self:end!important;
  align-items:flex-end!important;
  text-align:end!important;
  margin-inline-start:auto!important;
}
.orbit-hero-v521 [data-orbit-card="prayer"] .prayer-countdown-v522 small{
  display:block!important;
  direction:inherit!important;
  text-align:end!important;
  align-self:flex-end!important;
  width:100%!important;
}
.orbit-hero-v521 [data-orbit-card="prayer"] .prayer-countdown-v522 b{
  direction:ltr!important;
  text-align:end!important;
  align-self:flex-end!important;
}
/* Arabic countdown is pinned to the leftmost edge of its left column. */
html[dir="rtl"] .orbit-hero-v521 [data-orbit-card="prayer"] .prayer-countdown-v522{
  justify-self:end!important;
  margin-inline-start:auto!important;
  text-align:left!important;
}
html[dir="rtl"] .orbit-hero-v521 [data-orbit-card="prayer"] .prayer-countdown-v522 small,
html[dir="rtl"] .orbit-hero-v521 [data-orbit-card="prayer"] .prayer-countdown-v522 b{
  align-self:flex-end!important;text-align:left!important;
}
.v525-link-card{cursor:pointer;touch-action:manipulation;transition:background-color .12s ease}
.v525-link-card:active{filter:brightness(1.12)}
.v525-link-card:focus-visible{outline:2px solid #ffe4a3!important;outline-offset:-3px}
#raha-prayer-times-target,#raha-sunnah-target{scroll-margin-top:15px}
/* Instant settling: no post-release animation remains. */
.v523-sliding-track{transition:none!important}
/* Bookmarking the actual printed ayah number: no intrusive popover. */
.v525-bookmark-layer,.v525-ayah-selected{pointer-events:none!important}
.v523-ayah-rosette[role="button"]{cursor:pointer}
.v523-ayah-rosette.bookmarked{background:rgba(38,117,90,.14);color:#237456;border-radius:999px;outline:1px solid #27785e;outline-offset:1px}

/* Raha V5.26 — contextual copy cleanup and unified verse bookmarking */
.v523-fallback-verse[role="button"]{cursor:pointer;-webkit-tap-highlight-color:transparent;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.v523-fallback-verse.bookmarked{background:rgba(35,131,104,.24);border-radius:.18em;box-shadow:0 0 0 1px rgba(35,131,104,.13) inset;color:inherit}
.v523-fallback-verse.bookmarked .v523-ayah-rosette{background:rgba(35,131,104,.20);border-radius:50%;color:#167355;box-shadow:0 0 0 1.3px rgba(35,131,104,.58)}
/* These are presentation-only strings; no category or post metadata is removed. */
.sughra-banner,.azkar-method{display:none!important}
