@font-face{font-family:Inter;src:local("Inter");font-display:swap}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#050807;color:#f8f2e8;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-text-size-adjust:100%;touch-action:manipulation;overscroll-behavior:none}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 78% 10%,rgba(246,223,166,.24),transparent 28%),radial-gradient(circle at 8% 4%,rgba(167,215,197,.08),transparent 26%),linear-gradient(180deg,#10110b 0,#050807 30%,#050807 100%);z-index:-2}button,input,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}.app-shell{max-width:1180px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 22px) 16px 110px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.brand{display:flex;align-items:center;gap:14px;color:inherit;background:transparent;border:0;padding:0;text-align:left}.brand small{display:block;color:#a9b0bc;margin-top:3px}.logo{width:58px;height:58px;border-radius:21px;display:grid;place-items:center;background:rgba(246,223,166,.12);border:1px solid rgba(246,223,166,.28);font-weight:900;color:#f6dfa6}.pill{border:0;border-radius:999px;padding:13px 18px;background:linear-gradient(135deg,#f6dfa6,#bfe2c8);color:#08110d;font-weight:800}.ghost{background:rgba(255,255,255,.05);color:#f8f2e8;border:1px solid rgba(246,223,166,.22)}.hero{border:1px solid rgba(246,223,166,.18);border-radius:32px;padding:32px;min-height:330px;display:flex;flex-direction:column;justify-content:end;background:radial-gradient(circle at 78% 15%,rgba(246,223,166,.34),transparent 27%),linear-gradient(145deg,#111820,#090d13);box-shadow:0 22px 70px rgba(0,0,0,.32);overflow:hidden}.eyebrow{letter-spacing:.17em;text-transform:uppercase;color:#f6dfa6;font-size:13px;font-weight:900}.hero h1,.big-title{font-size:clamp(56px,9vw,106px);line-height:.9;margin:18px 0 18px;letter-spacing:-.07em}.hero p,.muted{color:#aeb6c4;line-height:1.7}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.grid{display:grid;gap:20px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:rgba(17,24,33,.86);border:1px solid rgba(246,223,166,.16);border-radius:26px;padding:26px;box-shadow:0 18px 54px rgba(0,0,0,.18)}.card h2,.card h3{margin:.35rem 0 1rem}.section{margin-top:22px}.mini-card{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:18px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.times{display:grid;gap:10px;margin-top:14px}.time-row{display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.045);border-radius:15px;padding:14px 16px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:7px 12px;background:rgba(167,215,197,.13);color:#bfe2c8;border:1px solid rgba(167,215,197,.22);font-weight:800;font-size:13px}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.tab{border:1px solid rgba(246,223,166,.18);background:rgba(255,255,255,.04);color:#f8f2e8;border-radius:999px;padding:12px 16px;font-weight:800}.tab.active{background:linear-gradient(135deg,#f6dfa6,#bfe2c8);color:#07100d}.select{width:100%;border:1px solid rgba(246,223,166,.16);background:#121820;color:#f8f2e8;border-radius:16px;padding:14px 16px}.reader-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:14px 0}.check{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);padding:10px 12px;border-radius:999px}.arabic{font-family:"Geeza Pro","Times New Roman",serif;font-size:30px;line-height:2.05;text-align:right;direction:rtl}.trans,.eng,.tafsir{color:#c4cad6;line-height:1.7}.verse{border-top:1px solid rgba(255,255,255,.08);padding:20px 0}.verse:first-child{border-top:0}.tafsir{margin-top:10px;padding:14px;border-radius:16px;background:rgba(246,223,166,.06);border:1px solid rgba(246,223,166,.12)}.bottom-nav{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 14px);transform:translateX(-50%);width:min(860px,calc(100% - 24px));height:78px;background:rgba(6,9,14,.88);backdrop-filter:blur(18px);border:1px solid rgba(246,223,166,.17);border-radius:28px;display:grid;grid-template-columns:repeat(6,1fr);padding:9px;z-index:50}.nav-item{border:0;background:transparent;color:#aab2c1;border-radius:21px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:12px;min-width:0}.nav-item span{font-size:18px}.nav-item b{font-size:12px;white-space:nowrap}.nav-item.active{background:linear-gradient(135deg,#f6dfa6,#bfe2c8);color:#07100d}.calendar-switch{display:flex;gap:10px;flex-wrap:wrap}.event{border-left:3px solid #f6dfa6}.qibla-dial{width:230px;height:230px;border-radius:50%;border:1px solid rgba(246,223,166,.2);margin:20px auto;display:grid;place-items:center;background:radial-gradient(circle,rgba(246,223,166,.12),transparent 58%);position:relative}.needle{position:absolute;width:8px;height:92px;background:linear-gradient(#f6dfa6,#bfe2c8);border-radius:99px;transform-origin:50% 86%;bottom:50%;left:calc(50% - 4px)}.compass-center{width:62px;height:62px;border-radius:50%;background:#111820;border:1px solid rgba(246,223,166,.2);display:grid;place-items:center;font-weight:900}.small{font-size:13px;color:#a9b0bc}.hidden{display:none!important}@media(max-width:760px){.app-shell{padding-left:12px;padding-right:12px}.grid.two,.grid.three{grid-template-columns:1fr}.hero{padding:28px 24px;min-height:470px}.card{padding:22px}.arabic{font-size:28px}.bottom-nav{height:76px;width:calc(100% - 18px);border-radius:24px}.nav-item b{font-size:11px}.nav-item span{font-size:17px}.topbar{padding:0 4px}.logo{width:52px;height:52px}.hero h1,.big-title{font-size:64px}}
.clean-hero{min-height:auto}
.select.compact{width:auto;min-width:150px;display:inline-block;margin:0}
.verse-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.iconbtn{border:1px solid var(--border);background:rgba(255,255,255,.04);color:var(--cream);border-radius:999px;padding:8px 12px;font-weight:800;margin-left:6px;touch-action:manipulation}
.iconbtn:active{transform:scale(.98)}
.hidden{display:none!important}
.actions{flex-wrap:wrap}
.reader-controls{align-items:center;gap:10px;flex-wrap:wrap}
@media(max-width:760px){.select.compact{width:100%;}.reader-controls .tab{flex:1}.verse-top{align-items:flex-start}.iconbtn{padding:8px 10px}}

:root{--cream:#f8f2e8;--border:rgba(246,223,166,.18)}
.brand-mark{width:58px;height:58px;border-radius:21px;display:grid;place-items:center;background:rgba(246,223,166,.12);border:1px solid rgba(246,223,166,.28);font-weight:900;color:#f6dfa6;font-size:22px;flex:0 0 auto}.install-btn{border:1px solid rgba(246,223,166,.22);border-radius:999px;padding:13px 18px;background:rgba(255,255,255,.05);color:#f8f2e8;font-weight:800}.home-arabic{font-size:26px;margin:12px 0;text-align:center}.small-arabic{font-size:22px;color:#f6dfa6}.tasbih-button{width:100%;min-height:120px;border-radius:26px;border:1px solid rgba(246,223,166,.24);background:radial-gradient(circle,rgba(246,223,166,.26),rgba(167,215,197,.09));color:#f8f2e8;font-size:26px;font-weight:900;margin:18px 0;touch-action:manipulation}.space-top{display:block;margin-top:14px;margin-bottom:6px}
@media(max-width:760px){.brand-mark{width:52px;height:52px}.home-arabic{font-size:24px}.tasbih-button{min-height:110px}}
.search-input{width:100%;border:1px solid rgba(246,223,166,.18);background:rgba(255,255,255,.045);color:#f8f2e8;border-radius:18px;padding:16px 18px;margin:18px 0 8px;font-size:16px;outline:none}.search-input:focus{border-color:rgba(246,223,166,.48);box-shadow:0 0 0 4px rgba(246,223,166,.08)}.dua-layout{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:18px;align-items:start}.dua-list{display:grid;gap:10px;max-height:72vh;overflow:auto;padding-right:4px}.dua-list-item{text-align:left;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.045);color:#f8f2e8;border-radius:18px;padding:14px 15px;display:grid;gap:5px}.dua-list-item strong{line-height:1.25}.dua-list-item small{color:#a9b0bc;line-height:1.35}.dua-list-item.active{border-color:rgba(246,223,166,.42);background:linear-gradient(135deg,rgba(246,223,166,.16),rgba(167,215,197,.08))}.dua-reader{min-width:0}.dua-heading{margin:22px 0 8px;color:#f6dfa6;font-weight:900;letter-spacing:.05em}.dua-note{padding:10px 0}.verse.compact{padding:12px 0}.category-scroll{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.category-scroll .tab{white-space:nowrap}@media(max-width:880px){.dua-layout{grid-template-columns:1fr}.dua-list{max-height:330px}.dua-archive .row{align-items:flex-start}.dua-archive h2{font-size:28px}.dua-list-item{padding:13px 14px}}
/* v0.7.5 dua reader polish */
.category-scroll{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px;}
.category-scroll::-webkit-scrollbar{display:none;}
.dua-reader .verse.compact{padding:18px 0;border-top:1px solid rgba(255,255,255,.08);}
.dua-reader .arabic{font-size:clamp(1.7rem,4vw,2.65rem);line-height:2.15;text-align:right;direction:rtl;letter-spacing:0;font-family:"Noto Naskh Arabic","Amiri","Scheherazade New",serif;}
.dua-reader .trans{font-size:1rem;line-height:1.75;color:#d9d4c8;margin-top:10px;}
.dua-reader .eng{font-size:1rem;line-height:1.75;color:#aeb8c5;margin-top:10px;}
.dua-list-item small{line-height:1.35;}

/* v0.7.6 dua archive refinement */
.dua-archive.refined { overflow: hidden; }
.featured-duas { margin: 1.2rem 0 1rem; padding: 1rem; border: 1px solid var(--border); border-radius: 22px; background: rgba(255,255,255,.025); }
.mini-row { margin-bottom: .7rem; }
.featured-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; }
.featured-dua { text-align: left; color: var(--text); border: 1px solid var(--border); background: rgba(255,255,255,.04); border-radius: 18px; padding: .85rem; cursor: pointer; min-height: 78px; }
.featured-dua strong { display:block; font-size: .98rem; line-height: 1.2; }
.featured-dua small { display:block; color: var(--muted); margin-top: .35rem; }
.featured-dua.active { border-color: var(--gold); background: linear-gradient(135deg, rgba(248,225,166,.18), rgba(167,215,197,.08)); }
.archive-tools { display: grid; grid-template-columns: 1fr auto; gap: .75rem; align-items: center; margin-top: 1rem; }
.filter-btn { white-space: nowrap; height: 100%; }
.filters-open { margin-top: .8rem; padding-bottom: .2rem; }
.category-scroll { scrollbar-width: none; }
.category-scroll::-webkit-scrollbar { display:none; }
.dua-list { max-height: 72vh; }
.dua-reader { max-height: 72vh; overflow:auto; }
.dua-reading { padding-top: .35rem; }
.dua-line { border-top: 1px solid rgba(255,255,255,.08); padding: 1.05rem 0; }
.dua-line:first-child { border-top: 0; }
.arabic { direction: rtl; unicode-bidi: plaintext; text-align: right; font-family: "Noto Naskh Arabic", "Amiri", "Scheherazade New", "Geeza Pro", "Times New Roman", serif; font-size: clamp(1.65rem, 4.8vw, 2.35rem); line-height: 2.05; letter-spacing: 0; word-spacing: .05em; font-weight: 500; }
.dua-heading { margin-top: 1.2rem; padding: .7rem .9rem; border-radius: 16px; background: rgba(248,225,166,.08); color: var(--gold); font-weight: 800; }
.trans, .eng { margin: .65rem 0 0; line-height: 1.75; color: var(--muted); }
.search-input:focus { outline: 2px solid rgba(248,225,166,.45); border-color: rgba(248,225,166,.55); }
.tab.tiny { padding: .45rem .75rem; font-size: .85rem; }
@media (max-width: 760px){
  .featured-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .archive-tools { grid-template-columns: 1fr; }
  .dua-layout { grid-template-columns: 1fr; }
  .dua-list { max-height: 320px; }
  .dua-reader { max-height: none; overflow: visible; }
  .arabic { font-size: clamp(1.75rem, 7.2vw, 2.6rem); line-height: 2.1; }
}

/* v0.7.7 Cloudflare + Duas & More UX */
.mode-switch{display:inline-flex;gap:.35rem;padding:.35rem;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.035);margin:.9rem 0 1rem;}
.mode-switch .tab{border-radius:999px;min-width:96px;justify-content:center;}
.header-clean{margin-bottom:.1rem;}
.clean-layout{grid-template-columns:minmax(270px,420px) 1fr;}
.dua-browse{min-width:0;}
.featured-grid.polished{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;}
.featured-grid.polished .featured-dua{min-height:86px;padding:1rem;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));}
.featured-grid.polished .featured-dua strong{font-size:1.03rem;}
.full-list{margin-top:.85rem;}
.filter-btn{margin-top:18px;height:54px;padding:0 1.1rem;}
.dua-reader h2{font-size:clamp(1.6rem,3vw,2.4rem);}
.dua-reader .row{gap:1rem;}
.dua-reader .arabic{font-size:clamp(1.9rem,5vw,3.05rem);line-height:2.05;}
.bottom-nav .nav-item[data-route="read"] span{font-size:1.25rem;}
@media(max-width:880px){
  .clean-layout{grid-template-columns:1fr;}
  .featured-grid.polished{grid-template-columns:repeat(2,minmax(0,1fr));}
  .mode-switch{display:flex;width:100%;}
  .mode-switch .tab{flex:1;}
  .dua-reader{margin-top:.4rem;}
}
@media(max-width:460px){
  .featured-grid.polished{grid-template-columns:1fr;}
  .featured-grid.polished .featured-dua{min-height:72px;}
  .dua-reader .arabic{font-size:2.05rem;}
}

/* v0.7.8 Cloudflare + smoother dua reader */
.book-glyph{display:inline-flex!important;align-items:center;justify-content:center;width:22px;height:22px;}
.book-glyph svg{width:22px;height:22px;fill:currentColor;display:block;}
.wide-browse{width:100%;}
.dua-archive.reader-mode{padding-bottom:1.2rem;}
.reader-sticky{position:sticky;top:8px;z-index:20;display:flex;gap:.6rem;align-items:center;padding:.55rem;margin:-.35rem -.35rem 1rem;background:rgba(8,12,18,.86);backdrop-filter:blur(14px);border:1px solid rgba(248,225,166,.12);border-radius:20px;}
.reader-title{margin:1rem 0 .3rem;}
.single-reader{max-height:none;overflow:visible;}
.dua-switcher{border:1px solid rgba(248,225,166,.14);background:rgba(255,255,255,.025);border-radius:22px;padding:.8rem;margin-bottom:1rem;}
.compact-search{margin:.2rem 0 .75rem!important;}
.switch-list{max-height:320px;overflow:auto;display:grid;gap:.55rem;}
.full-width{width:100%;margin-top:.7rem;}
.dua-list.full-list{max-height:60vh;}
.featured-grid.polished{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;}
.archive-tools{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:center;}
.archive-tools .search-input{margin:.6rem 0;}
.reader-mode .arabic{font-size:clamp(2rem,5vw,3.15rem);line-height:2.15;}
.reader-mode .dua-line{padding:1.25rem 0;}
@media(max-width:760px){
  .reader-sticky{top:6px;margin:-.4rem -.4rem 1rem;overflow-x:auto;}
  .reader-sticky .tab{white-space:nowrap;}
  .archive-tools{grid-template-columns:1fr;gap:.2rem;}
  .archive-tools .filter-btn{width:100%;}
  .featured-grid.polished{grid-template-columns:1fr 1fr;gap:.65rem;}
  .featured-dua{min-height:68px!important;padding:.8rem!important;}
  .dua-list.full-list{max-height:56vh;}
  .switch-list{max-height:280px;}
  .reader-mode .arabic{font-size:2.05rem;}
}

/* v0.7.9 fixes */
.nav-item .book-icon{display:grid;place-items:center;line-height:1}.nav-item .book-icon svg{display:block}.nav-item.active .book-icon svg{stroke:#07100d}.dua-list.full-list{contain:content}.featured-dua strong,.dua-list-item strong{word-break:normal;overflow-wrap:anywhere}


/* v0.8.4 cleanup */
.calendar-switch{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
  align-items:center;
}
.calendar-switch .tab{
  min-width:auto;
  padding:12px 16px;
}
@media (max-width: 640px){
  .calendar-card-row{
    display:block;
  }
  .calendar-switch{
    justify-content:flex-start;
    margin-top:14px;
  }
  .calendar-switch .tab{
    font-size:14px;
    padding:10px 13px;
  }
}
.hidden-controls{ display:none !important; }
.switch-hint{ margin-top:16px; }
.dua-switcher{ contain: content; }
.switch-list{ max-height:360px; overflow:auto; -webkit-overflow-scrolling:touch; }

/* v0.8.5 calendar + switcher polish */
.event .grid, .event .grid.three { display:none !important; }
.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.tag{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.05);border-radius:999px;padding:8px 12px;color:var(--muted);font-weight:700}
.calendar-switch{display:grid;grid-template-columns:repeat(3,max-content);gap:10px;align-content:start;justify-content:end}
.calendar-switch .tab{min-width:0;padding:11px 14px}
@media(max-width:700px){
  .calendar-switch{grid-template-columns:repeat(3,1fr);justify-content:stretch;width:100%;margin-top:16px}
  .calendar-switch .tab{font-size:13px;padding:10px 8px}
  .event h3{font-size:24px}
}
.dua-list.switch-list{max-height:300px}
.switch-list .dua-list-item:nth-child(n+13){display:none}

/* v0.8.6 cleaner calendar/search */
.calendar-controls{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:flex-end;
}
.calendar-nav,.calendar-mode{
  display:flex;
  gap:8px;
  align-items:center;
}
.calendar-nav .tab.icon{
  width:44px;
  min-width:44px;
  height:44px;
  padding:0;
  border-radius:50%;
}
.calendar-nav .tab.today{
  min-width:88px;
  height:44px;
  padding:0 14px;
}
.calendar-mode .tab{
  min-width:78px;
  height:44px;
  padding:0 14px;
}
@media(max-width:700px){
  .calendar-controls{
    width:100%;
    align-items:stretch;
    margin-top:16px;
  }
  .calendar-nav,.calendar-mode{
    display:grid;
    grid-template-columns:44px 1fr 44px;
    gap:8px;
  }
  .calendar-mode{
    grid-template-columns:1fr 1fr;
  }
  .calendar-nav .tab.today,.calendar-mode .tab{
    width:100%;
    min-width:0;
    font-size:14px;
  }
}
.search-empty{
  text-align:left;
}
.archive-tools{
  contain:content;
}
.dua-list.full-list,.dua-list.switch-list{
  contain:content;
}

/* v0.8.7 mobile calendar + dedupe */
.calendar-controls{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:stretch;
  min-width:190px;
}
.calendar-nav,.calendar-mode{
  display:grid;
  gap:8px;
}
.calendar-nav{grid-template-columns:44px minmax(78px,1fr) 44px}
.calendar-mode{grid-template-columns:1fr 1fr}
.calendar-nav .tab.icon,.month-head .tab.icon{
  width:44px;min-width:44px;height:44px;padding:0;border-radius:50%;
}
.calendar-nav .tab.today,.calendar-mode .tab,.month-toggle{
  min-width:0;height:44px;padding:0 10px;font-size:14px;white-space:nowrap;
}
.month-toggle{width:100%}
.month-panel{
  margin-top:18px;
  padding:16px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
  background:rgba(255,255,255,.035);
}
.month-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;
}
.month-head h3{margin:0;font-size:22px}
.weekdays,.month-grid{
  display:grid;grid-template-columns:repeat(7,1fr);gap:6px;
}
.weekdays span{
  text-align:center;color:var(--muted);font-weight:800;font-size:12px;padding:6px 0;
}
.cal-cell{
  min-height:58px;border-radius:16px;border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);color:var(--text);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  position:relative;padding:6px;font-family:inherit;
}
.cal-cell strong{font-size:16px}
.cal-cell small{font-size:10px;color:var(--muted);white-space:nowrap}
.cal-cell.today-cell{border-color:rgba(255,230,160,.75);background:rgba(255,230,160,.08)}
.cal-cell.event-cell{border-color:rgba(199,232,195,.45)}
.cal-cell .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);position:absolute;bottom:6px}
.muted-cell{opacity:.25}
@media(max-width:700px){
  .calendar-controls{margin-top:16px;width:100%}
  .cal-cell{min-height:48px;border-radius:14px}
  .cal-cell strong{font-size:14px}
  .cal-cell small{font-size:9px}
}
.dua-list-item[data-hidden="true"]{display:none!important}

/* v0.8.8 Mafatih clean archive */
.dua-list.full-list .dua-list-item,
.dua-list.switch-list .dua-list-item{
  min-height:72px;
}
.dua-list-item h3{letter-spacing:-.02em}
.source-pill{
  display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.12);
  border-radius:999px;padding:7px 10px;color:var(--muted);font-weight:800;font-size:12px;
}
.month-toggle{width:100%;justify-content:center}
.calendar-controls{min-width:210px}
.calendar-nav .tab.today{min-width:96px}
.calendar-mode .tab{min-width:92px}
.month-panel{
  margin-top:18px;padding:16px;border:1px solid rgba(255,255,255,.12);
  border-radius:28px;background:rgba(255,255,255,.035);
}
.month-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.month-head h3{margin:0;font-size:22px}
.weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.weekdays span{text-align:center;color:var(--muted);font-weight:800;font-size:12px;padding:6px 0}
.cal-cell{min-height:56px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;position:relative;padding:6px;font-family:inherit}
.cal-cell strong{font-size:16px}
.cal-cell small{font-size:10px;color:var(--muted);white-space:nowrap}
.cal-cell.today-cell{border-color:rgba(255,230,160,.75);background:rgba(255,230,160,.08)}
.cal-cell.event-cell{border-color:rgba(199,232,195,.45)}
.cal-cell .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);position:absolute;bottom:6px}
.muted-cell{opacity:.25}
@media(max-width:700px){
  .calendar-controls{width:100%;margin-top:16px;min-width:0}
  .calendar-nav{grid-template-columns:46px 1fr 46px}
  .calendar-mode{grid-template-columns:1fr 1fr}
  .calendar-nav .tab.today,.calendar-mode .tab,.month-toggle{font-size:14px;min-width:0}
  .cal-cell{min-height:48px;border-radius:14px}
  .cal-cell strong{font-size:14px}
  .cal-cell small{font-size:9px}
}

/* v0.8.9 HARD override */
.calendar-controls.clean-calendar-controls{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  align-items:stretch!important;
}
.calendar-controls.clean-calendar-controls .calendar-nav{
  display:grid!important;
  grid-template-columns:52px minmax(120px,1fr) 52px!important;
  gap:10px!important;
  width:100%!important;
}
.calendar-controls.clean-calendar-controls .calendar-mode{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  width:100%!important;
}
.calendar-controls.clean-calendar-controls .tab{
  box-sizing:border-box!important;
  width:auto!important;
  height:52px!important;
  min-width:0!important;
  max-width:none!important;
  white-space:nowrap!important;
  font-size:16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:0 12px!important;
}
.calendar-controls.clean-calendar-controls .tab.icon{
  width:52px!important;
  min-width:52px!important;
  padding:0!important;
  border-radius:50%!important;
}
.calendar-controls.clean-calendar-controls .tab.today{
  min-width:120px!important;
  width:100%!important;
}
.calendar-controls.clean-calendar-controls .month-toggle{
  width:100%!important;
  min-width:100%!important;
  margin-top:2px!important;
}
@media(max-width:700px){
  .calendar-controls.clean-calendar-controls .calendar-nav{grid-template-columns:50px minmax(128px,1fr) 50px!important}
  .calendar-controls.clean-calendar-controls .tab{height:50px!important;font-size:15px!important}
  .calendar-controls.clean-calendar-controls .tab.icon{width:50px!important;min-width:50px!important}
}

/* v0.9.0 iPhone width + clean reader */
html, body {
  max-width: 100%;
  overflow-x: hidden !important;
}
.app-shell, main, .card, .hero, .section, .month-panel {
  max-width: 100%;
}
.card, .hero, .month-panel {
  overflow: hidden;
}
.arabic {
  max-width: 100%;
  overflow-wrap: anywhere;
}
.source-pill {
  display: none !important;
}
@media(max-width:760px){
  .calendar-card-row{
    display: block !important;
  }
  .calendar-card-row > *{
    max-width: 100% !important;
    width: 100% !important;
  }
}
.calendar-controls.compact-calendar-controls{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  align-items:stretch!important;
}
.calendar-controls.compact-calendar-controls .calendar-nav{
  display:grid!important;
  grid-template-columns:46px minmax(96px,1fr) 46px!important;
  gap:8px!important;
  width:100%!important;
}
.calendar-controls.compact-calendar-controls .calendar-mode{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  width:100%!important;
}
.calendar-controls.compact-calendar-controls .tab{
  box-sizing:border-box!important;
  width:auto!important;
  height:48px!important;
  min-width:0!important;
  max-width:none!important;
  white-space:nowrap!important;
  font-size:15px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 10px!important;
}
.calendar-controls.compact-calendar-controls .tab.icon{
  width:46px!important;
  min-width:46px!important;
  padding:0!important;
  border-radius:50%!important;
}
.calendar-controls.compact-calendar-controls .tab.today{
  width:100%!important;
  min-width:96px!important;
}
.calendar-controls.compact-calendar-controls .month-toggle{
  width:100%!important;
  min-width:100%!important;
}
@media(max-width:420px){
  .calendar-controls.compact-calendar-controls .calendar-nav{
    grid-template-columns:44px minmax(98px,1fr) 44px!important;
  }
  .calendar-controls.compact-calendar-controls .tab{
    height:46px!important;
    font-size:14px!important;
  }
  .calendar-controls.compact-calendar-controls .tab.icon{
    width:44px!important;
    min-width:44px!important;
  }
}

/* v0.9.1 hard mobile containment */
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
}
.app-shell {
  width: min(100%, 980px) !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}
.card, .hero, .section, article, .dua-reader, .single-reader {
  max-width: 100% !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}
.calendar-card-row {
  display: block !important;
}
.calendar-card-row > * {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
.calendar-controls.mobile-calendar-controls,
.calendar-controls.compact-calendar-controls,
.calendar-controls.clean-calendar-controls {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  align-items: stretch !important;
  margin-top: 16px !important;
  box-sizing: border-box !important;
}
.calendar-controls.mobile-calendar-controls .calendar-nav,
.calendar-controls.mobile-calendar-controls .calendar-mode {
  display: grid !important;
  width: 100% !important;
  max-width: 100% !important;
  gap: 8px !important;
}
.calendar-controls.mobile-calendar-controls .calendar-nav {
  grid-template-columns: 44px minmax(0, 1fr) 44px !important;
}
.calendar-controls.mobile-calendar-controls .calendar-mode {
  grid-template-columns: 1fr 1fr !important;
}
.calendar-controls.mobile-calendar-controls .tab {
  height: 46px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 10px !important;
  font-size: 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}
.calendar-controls.mobile-calendar-controls .tab.icon {
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  padding: 0 !important;
  border-radius: 999px !important;
}
.calendar-controls.mobile-calendar-controls .month-toggle {
  width: 100% !important;
}
.month-panel {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.weekdays, .month-grid {
  width: 100% !important;
  max-width: 100% !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
}
.cal-cell {
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 4px !important;
}
.arabic {
  max-width: 100% !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  line-height: 2.25 !important;
  font-size: clamp(30px, 8vw, 46px) !important;
  text-align: right !important;
}
.dua-line {
  max-width: 100% !important;
  overflow-x: hidden !important;
}
.reader-sticky {
  max-width: 100% !important;
  overflow: hidden !important;
}
.source-pill {
  display: none !important;
}
@media(max-width: 420px) {
  .card, .hero, .section, .dua-reader {
    border-radius: 24px !important;
  }
  .arabic {
    font-size: clamp(28px, 7.5vw, 40px) !important;
  }
}

/* v0.9.2 clickable duas + event calendar */
.month-grid{
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
}
.cal-cell{
  min-height: 58px !important;
  gap: 0 !important;
  overflow: hidden !important;
}
.cal-cell strong{
  font-size: 17px !important;
  line-height: 1.1 !important;
}
.cal-cell small{
  display:block !important;
  font-size: 10px !important;
  line-height: 1.1 !important;
  color: var(--muted) !important;
  margin-top: 4px !important;
}
.cal-cell.event-cell{
  border-color: rgba(255,230,160,.75) !important;
  background: rgba(255,230,160,.06) !important;
}
.cal-cell .dot{
  width: 6px !important;
  height: 6px !important;
  border-radius: 999px !important;
  background: var(--gold) !important;
  position: absolute !important;
  bottom: 5px !important;
}
@media(max-width:420px){
  .cal-cell{min-height:52px!important}
  .cal-cell strong{font-size:15px!important}
  .cal-cell small{font-size:9px!important}
}
.dua-list-item, .featured-card, [onclick*="openDua"], [onclick*="loadDua"]{
  cursor:pointer;
  -webkit-tap-highlight-color: rgba(255,230,160,.18);
}

/* v0.9.3 hard fixes */
html, body { overflow-x:hidden !important; max-width:100% !important; }
.app-shell, main, .card, .hero, .section { max-width:100% !important; box-sizing:border-box !important; overflow-x:hidden !important; }
.tabs .tab, .reader-controls .tab { -webkit-user-select:none; user-select:none; }
.month-grid { display:grid !important; grid-template-columns:repeat(7,minmax(0,1fr)) !important; gap:7px !important; width:100% !important; }
.cal-cell { min-width:0 !important; min-height:58px !important; position:relative !important; display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:3px !important; padding:4px !important; overflow:hidden !important; }
.cal-cell strong { display:block !important; font-size:16px !important; line-height:1 !important; }
.cal-cell small { display:block !important; visibility:visible !important; opacity:1 !important; font-size:10px !important; line-height:1 !important; color:#c7e8c3 !important; min-height:11px !important; margin-top:3px !important; }
.cal-cell .dot { display:block !important; width:7px !important; height:7px !important; border-radius:999px !important; background:#f7df9a !important; position:absolute !important; bottom:5px !important; left:50% !important; transform:translateX(-50%) !important; }
.cal-cell.event-cell { border-color:rgba(247,223,154,.75) !important; box-shadow:0 0 0 1px rgba(247,223,154,.12) inset !important; }
.calendar-controls, .calendar-controls.mobile-calendar-controls, .calendar-controls.compact-calendar-controls { display:flex !important; flex-direction:column !important; gap:10px !important; width:100% !important; align-items:stretch !important; }
.calendar-nav { display:grid !important; grid-template-columns:48px minmax(110px,1fr) 48px !important; gap:8px !important; width:100% !important; }
.calendar-mode { display:grid !important; grid-template-columns:1fr 1fr !important; gap:8px !important; width:100% !important; }
.calendar-controls .tab { min-width:0 !important; max-width:100% !important; width:100% !important; height:48px !important; font-size:15px !important; white-space:nowrap !important; }
.calendar-controls .tab.icon { width:48px !important; min-width:48px !important; padding:0 !important; border-radius:999px !important; }
.month-toggle { width:100% !important; }
.empty-tafsir { opacity:.82; }
.tafsir.single:not(.hidden), .taf-card { display:block; }
@media(max-width:420px){
  .month-grid{ gap:6px !important; }
  .cal-cell{ min-height:52px !important; border-radius:14px !important; }
  .cal-cell strong{ font-size:15px !important; }
  .cal-cell small{ font-size:9px !important; }
  .calendar-nav{ grid-template-columns:44px minmax(105px,1fr) 44px !important; }
  .calendar-controls .tab.icon{ width:44px !important; min-width:44px !important; }
}

/* v0.9.4 calendar/quran click fixes */
button, .tab, .pill, .featured-dua, .dua-list-item, .cal-cell, .verse-head, .ayah {
  touch-action: manipulation;
}
.month-grid {
  display:grid !important;
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  gap:7px !important;
}
.cal-cell {
  min-height:60px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative !important;
  padding:4px !important;
  overflow:hidden !important;
}
.cal-cell strong {
  display:block !important;
  font-size:16px !important;
  line-height:1 !important;
}
.cal-cell small {
  display:block !important;
  min-height:12px !important;
  font-size:10px !important;
  line-height:1 !important;
  color:#c7e8c3 !important;
  opacity:1 !important;
  visibility:visible !important;
  margin-top:5px !important;
}
.cal-cell .dot {
  display:block !important;
  width:7px !important;
  height:7px !important;
  border-radius:999px !important;
  background:#f7df9a !important;
  position:absolute !important;
  bottom:5px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
}
.event-cell {
  border-color:rgba(247,223,154,.85) !important;
  background:rgba(247,223,154,.06) !important;
}
.tafsir-controls {
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
}
.tafsir-controls .tab,
.tafsir-controls .check {
  min-height:48px !important;
  justify-content:center !important;
}
.verse {
  cursor:pointer;
}
.verse.open {
  border-color:rgba(247,223,154,.36);
}
.verse-head {
  cursor:pointer;
}
.taf-card {
  margin-top:12px;
}
@media(max-width:420px){
  .month-grid{gap:6px!important}
  .cal-cell{min-height:54px!important;border-radius:14px!important}
  .cal-cell strong{font-size:15px!important}
  .cal-cell small{font-size:9px!important}
  .tafsir-controls{grid-template-columns:1fr!important}
}

/* v0.9.5 fixes */
html,body{overflow-x:hidden!important;overflow-y:auto!important;max-width:100%!important;height:auto!important}
body,.app-shell,main,#app{touch-action:auto!important}
button,.tab,.pill,.featured-dua,.dua-list-item,.cal-cell,.verse-head,.ayah{touch-action:manipulation;cursor:pointer}
.month-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:7px!important}
.cal-cell{min-height:60px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;position:relative!important;padding:4px!important;overflow:hidden!important}
.cal-cell strong{font-size:16px!important;line-height:1!important}
.cal-cell small{display:block!important;min-height:12px!important;font-size:10px!important;line-height:1!important;color:#c7e8c3!important;opacity:1!important;visibility:visible!important;margin-top:5px!important}
.cal-cell .dot{display:block!important;width:7px!important;height:7px!important;border-radius:999px!important;background:#f7df9a!important;position:absolute!important;bottom:5px!important;left:50%!important;transform:translateX(-50%)!important}
.event-cell{border-color:rgba(247,223,154,.85)!important;background:rgba(247,223,154,.06)!important}
.ayah-medallion{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;min-width:38px;border-radius:999px;border:1px solid rgba(247,223,154,.55);background:rgba(247,223,154,.08);color:#f7df9a;font-weight:800;font-size:14px}
.verse-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.verse-actions{display:flex;gap:8px;align-items:center}
.tafsir-controls{display:grid!important;grid-template-columns:1fr 1fr!important}
.tafsir-controls .tab,.tafsir-controls .check{min-height:48px!important;justify-content:center!important}
@media(max-width:420px){.month-grid{gap:6px!important}.cal-cell{min-height:54px!important;border-radius:14px!important}.cal-cell strong{font-size:15px!important}.cal-cell small{font-size:9px!important}.tafsir-controls{grid-template-columns:1fr!important}.ayah-medallion{width:34px;height:34px;min-width:34px;font-size:13px}}

/* v0.9.6 hotfix: keep app responsive with lazy Pooya */
html, body { overflow-y:auto!important; }
button, .tab, .pill, .featured-dua, .dua-list-item, .cal-cell, .verse-head, .ayah { touch-action:manipulation; cursor:pointer; }
.loading-tafsir { opacity:.8; }

/* v0.9.7 failsafe */
button,.tab,.pill,.nav-item,.featured-dua,.dua-list-item,.cal-cell,.verse-head,.ayah{pointer-events:auto!important;touch-action:manipulation;cursor:pointer}
html,body{overflow-y:auto!important}
pre.small{white-space:pre-wrap;opacity:.75}

/* v0.9.8 Quran options + dua crash fix */
.quran-options{margin:16px 0}
.option-panel{display:grid;gap:14px;margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.025)}
.option-group{display:grid;gap:10px}
.segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.segmented .tab{width:100%}
.quran-book-page{font-size:clamp(26px,5vw,44px);line-height:2.15;padding:24px;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.025)}
.book-ayah{cursor:pointer}
.ayah-medallion.mini{width:28px;height:28px;min-width:28px;font-size:11px;margin-inline:6px;vertical-align:middle}
.quran-card.indopak .ayah,.quran-card.indopak .quran-book-page{font-family:'Noto Naskh Arabic','Amiri','Scheherazade New',serif;letter-spacing:0}
.quran-card.uthmanic .ayah,.quran-card.uthmanic .quran-book-page{font-family:'Amiri Quran','Amiri','Noto Naskh Arabic',serif}
.quran-card.tajweed .ayah,.quran-card.tajweed .quran-book-page{font-family:'Amiri Quran','Amiri','Noto Naskh Arabic',serif;text-shadow:0 0 10px rgba(247,223,154,.12)}
.taf-card h3::after{content:' · tafsir';font-size:.72em;color:var(--muted);font-weight:600}
@media(max-width:520px){.segmented{grid-template-columns:1fr}.quran-book-page{padding:18px;font-size:30px}}

/* v0.9.10 book style spread */
.quran-book-spread{display:grid;gap:18px;margin-top:18px}
.quran-book-spread.two-page{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
.quran-book-spread.one-page{grid-template-columns:1fr}
.quran-book-page h3{margin:0 0 16px;font-size:16px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.english-page{font-size:18px;line-height:1.8}
.english-page .book-translation{margin:0 0 14px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08)}
.arabic-page{font-size:clamp(28px,4.8vw,46px);line-height:2.2;text-align:right}
.quran-book-spread.one-page .arabic-page{max-width:100%}
.quran-book-spread.one-page .english-page{max-width:860px}
@media(max-width:760px){.quran-book-spread.two-page{grid-template-columns:1fr}.english-page{order:2}.arabic-page{order:1}}

/* v0.9.12 Mafatih Arabic archive */
.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.tag-chip{border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);border-radius:999px;padding:9px 13px;font-weight:800}
.tag-chip.active{background:var(--grad);color:#07100b;border-color:transparent}
.tag-chip.small{font-size:12px;padding:6px 9px}
.tag-chip small{opacity:.72;margin-inline-start:4px}
.mafatih-layout{display:grid;grid-template-columns:minmax(250px,360px) minmax(0,1fr);gap:18px;margin-top:18px}
.mafatih-list{display:grid;gap:10px;max-height:70vh;overflow:auto;padding-inline-end:6px}
.mafatih-row{text-align:start;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.035);padding:14px;display:grid;gap:5px;color:var(--text)}
.mafatih-row.active{border-color:rgba(247,223,154,.65);background:rgba(247,223,154,.07)}
.mafatih-row strong{font-size:15px}
.mafatih-row span,.mafatih-row em{color:var(--muted);font-style:normal;font-size:12px}
.dua-reader-card{border:1px solid var(--line);border-radius:26px;background:rgba(255,255,255,.025);padding:22px}
.meta-line{color:var(--muted);font-size:13px;margin-bottom:12px}
.tag-row{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 18px}
.arabic-only-text{font-family:'Amiri Quran','Amiri','Noto Naskh Arabic',serif;font-size:clamp(30px,4.5vw,48px);line-height:2.25;text-align:right}
.arabic-only-text p{margin:0;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.arabic-only-text p:first-child{padding-top:0}
@media(max-width:860px){.mafatih-layout{grid-template-columns:1fr}.mafatih-list{max-height:360px}.arabic-only-text{font-size:31px;line-height:2.1}}

/* v0.9.13 Dua reset */
.kumayl-layout{grid-template-columns:290px minmax(0,1fr)}
.kumayl-only .arabic-only-text p:first-child{
  text-align:center;
  font-size:1.1em;
  color:#fff7e7;
}
.kumayl-only .arabic-only-text p{
  padding:24px 0;
}
.kumayl-only .meta-line{
  color:#cfe7cc;
}
@media(max-width:860px){.kumayl-layout{grid-template-columns:1fr}}

/* v0.9.15 clean user-facing Dua menu */
.clean-dua-section .row{align-items:center}
.clean-dua-layout{
  display:grid;
  grid-template-columns:minmax(230px,320px) minmax(0,1fr);
  gap:18px;
  margin-top:18px;
}
.dua-menu-card,.clean-dua-reader{
  border:1px solid var(--line);
  border-radius:26px;
  background:rgba(255,255,255,.025);
  padding:20px;
}
.dua-menu-list{display:grid;gap:10px;margin-top:14px}
.dua-menu-row{
  text-align:start;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.035);
  padding:16px;
  color:var(--text);
  display:grid;
  gap:5px;
}
.dua-menu-row.active{
  border-color:rgba(247,223,154,.65);
  background:rgba(247,223,154,.08);
}
.dua-menu-row strong{font-size:17px}
.dua-menu-row span{font-size:13px;color:var(--muted)}
.dua-titlebar{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:16px;
}
.dua-display-controls{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:10px 0 20px;
}
.dua-display-controls .check{
  border:1px solid var(--line);
  border-radius:999px;
  padding:10px 14px;
  background:rgba(255,255,255,.035);
  font-weight:800;
}
.clean-dua-text{display:grid;gap:0}
.dua-segment{
  border-bottom:1px solid rgba(255,255,255,.085);
  padding:22px 0;
}
.dua-segment:first-child{padding-top:4px}
.dua-arabic{
  margin:0;
  font-family:'Amiri Quran','Amiri','Noto Naskh Arabic',serif;
  font-size:clamp(30px,4.6vw,48px);
  line-height:2.05;
  text-align:right;
  color:#fff7ed;
}
.dua-trans{
  margin:12px 0 0;
  color:#c7d6f7;
  font-size:15px;
  line-height:1.7;
}
.dua-english{
  margin:12px 0 0;
  color:#dbe8d6;
  font-size:17px;
  line-height:1.75;
}
@media(max-width:860px){
  .clean-dua-layout{grid-template-columns:1fr}
  .dua-titlebar{flex-direction:column}
  .dua-arabic{font-size:32px}
}

/* v0.9.16 Duas & Ziyarat polish */
.full-bleed-reader{
  width:100%;
  max-width:none;
  padding-inline:0;
}
.clean-dua-section{
  margin-top:0;
}
.dua-topbar{
  max-width:1180px;
  margin:0 auto 14px;
  padding:0 18px;
}
.dua-topbar h2{
  margin:.15em 0 0;
  font-size:clamp(32px,5vw,62px);
}
.dua-search-card{
  max-width:1180px;
  margin:0 auto 18px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:28px;
  background:rgba(255,255,255,.025);
}
.dua-search-input{
  width:100%;
}
.dua-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:14px 0 18px;
}
.dua-category-block{
  display:grid;
  gap:12px;
}
.category-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.category-head h3{
  margin:0;
  font-size:24px;
}
.link-btn{
  border:1px solid var(--line);
  background:rgba(255,255,255,.035);
  color:var(--text);
  border-radius:999px;
  padding:10px 14px;
  font-weight:900;
}
.dua-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.dua-feature-card{
  min-height:132px;
  text-align:start;
  border:1px solid var(--line);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.018));
  padding:18px;
  color:var(--text);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:10px;
}
.dua-feature-card.active{
  border-color:rgba(247,223,154,.75);
  box-shadow:0 0 0 1px rgba(247,223,154,.14) inset;
  background:linear-gradient(145deg,rgba(247,223,154,.12),rgba(204,235,198,.055));
}
.dua-feature-card span{
  color:#f7df9a;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  font-weight:900;
}
.dua-feature-card strong{
  font-size:21px;
}
.dua-feature-card em{
  color:var(--muted);
  font-style:normal;
  font-size:13px;
}
.clean-dua-reader{
  width:100%;
}
.edge-reader{
  width:min(100%,1280px);
  margin:0 auto;
  border-radius:32px;
  padding:clamp(18px,4vw,44px);
}
.dua-reader-card .badge,
.clean-dua-card .badge{
  display:none!important;
}
.dua-titlebar{
  margin-bottom:8px;
}
.dua-titlebar h2{
  font-size:clamp(30px,5vw,58px);
}
.dua-display-controls{
  position:sticky;
  top:8px;
  z-index:5;
  backdrop-filter:blur(18px);
  background:rgba(9,13,15,.74);
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  padding:8px;
  width:max-content;
  max-width:100%;
}
.clean-dua-text{
  margin-top:18px;
}
.dua-segment{
  max-width:1120px;
  margin:0 auto;
  padding:clamp(20px,3.4vw,38px) 0;
}
.dua-arabic{
  font-size:clamp(34px,5.6vw,62px);
  line-height:2;
}
.dua-trans,.dua-english{
  max-width:760px;
}
.dua-english{
  font-size:18px;
}
@media(max-width:900px){
  .dua-feature-grid{grid-template-columns:1fr}
  .edge-reader{border-radius:24px}
  .dua-display-controls{width:100%;border-radius:22px}
}
@media(min-width:1200px){
  .edge-reader{
    width:calc(100vw - 48px);
    max-width:1480px;
  }
}

/* v0.9.17 Dua menu start polish */
.dua-hero-panel{
  width:min(100%,1180px);
  margin:0 auto 22px;
  border:1px solid var(--line);
  border-radius:36px;
  padding:clamp(22px,4vw,44px);
  background:
    radial-gradient(circle at 78% 8%, rgba(247,223,154,.20), transparent 34%),
    linear-gradient(135deg, rgba(20,28,36,.78), rgba(8,13,16,.92));
  box-shadow:0 28px 90px rgba(0,0,0,.25);
}
.dua-hero-copy h2{
  margin:.08em 0 .12em;
  font-size:clamp(48px,7vw,92px);
  letter-spacing:-.06em;
}
.dua-hero-copy p{
  color:var(--muted);
  font-size:18px;
  margin:0 0 24px;
}
.dua-search-card{
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.dua-search-input{
  max-width:420px;
  min-height:58px;
}
.dua-tabs{
  margin:18px 0 22px!important;
}
.dua-tabs .tab{
  min-height:58px;
  font-size:17px;
}
.category-head h3{
  font-size:clamp(26px,3vw,34px)!important;
}
.dua-feature-card em{
  display:none!important;
}
.empty-soft{
  border:1px dashed rgba(255,255,255,.12);
  border-radius:22px;
  padding:24px;
  color:var(--muted);
  background:rgba(255,255,255,.025);
}
.clean-dua-reader{
  margin-top:22px;
}
@media(max-width:760px){
  .dua-hero-panel{border-radius:28px;padding:22px}
  .dua-search-input{max-width:100%}
  .dua-tabs{grid-template-columns:1fr!important}
}

/* v0.9.18 Quran reading options/book spread fix */
.quran-options-toggle{
  cursor:pointer;
}
.quran-book-spread{
  display:grid;
  gap:20px;
  margin-top:20px;
}
.quran-book-spread.two-pages{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:start;
}
.quran-book-spread.single-page{
  grid-template-columns:1fr;
}
.quran-book-page{
  border:1px solid var(--line);
  border-radius:30px;
  background:rgba(255,255,255,.032);
  padding:clamp(18px,3vw,34px);
  min-height:240px;
}
.page-label{
  color:#f7df9a;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:900;
  font-size:12px;
  margin-bottom:18px;
}
.arabic-page{
  font-family:'Amiri Quran','Amiri','Noto Naskh Arabic',serif;
  font-size:clamp(28px,4vw,46px);
  line-height:2.15;
  text-align:right;
}
.english-page{
  font-size:18px;
  line-height:1.75;
}
.book-translation{
  margin:0 0 14px;
  padding:0 0 14px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.book-translation .ayah-medallion{
  margin-right:10px;
  vertical-align:middle;
}
.book-ayah{
  cursor:pointer;
}
@media(max-width:820px){
  .quran-book-spread.two-pages{
    grid-template-columns:1fr;
  }
  .english-page{order:2}
  .arabic-page{order:1}
}

/* v0.9.19 Quran book + tafsir fixes */
.book-tafsir-warning{
  margin:14px 0 18px;
  border:1px solid rgba(247,223,154,.28);
  background:rgba(247,223,154,.07);
  color:#f6e6b2;
  border-radius:18px;
  padding:12px 14px;
  font-weight:800;
}
.quran-book-spread{
  display:grid!important;
  gap:14px!important;
  margin-top:18px!important;
}
.quran-book-spread.two-pages{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
}
.quran-book-spread.single-page{
  grid-template-columns:1fr!important;
}
.quran-book-page{
  min-width:0!important;
  border:1px solid var(--line)!important;
  border-radius:30px!important;
  background:rgba(255,255,255,.032)!important;
  padding:clamp(14px,3vw,34px)!important;
}
.flowing-page{
  white-space:normal!important;
}
.arabic-page{
  font-family:'Amiri Quran','Amiri','Noto Naskh Arabic',serif!important;
  font-size:clamp(25px,4.2vw,46px)!important;
  line-height:2.05!important;
  text-align:right!important;
}
.english-page{
  font-size:clamp(17px,2.6vw,30px)!important;
  line-height:1.9!important;
}
.book-english-ayah{
  display:inline!important;
  margin-inline-end:.55em;
}
.book-ayah{
  display:inline!important;
}
.book-english-ayah .ayah-medallion,
.book-ayah .ayah-medallion{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  font-size:12px!important;
  margin-inline:8px!important;
  vertical-align:middle!important;
}
.page-label{
  color:#f7df9a!important;
  text-transform:uppercase!important;
  letter-spacing:.14em!important;
  font-weight:900!important;
  font-size:12px!important;
  margin-bottom:18px!important;
}
@media(max-width:760px){
  .quran-book-spread.two-pages{
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }
  .quran-book-page{
    padding:14px!important;
    border-radius:22px!important;
  }
  .arabic-page{
    font-size:clamp(20px,5.8vw,30px)!important;
    line-height:2!important;
  }
  .english-page{
    font-size:clamp(14px,3.8vw,18px)!important;
    line-height:1.75!important;
  }
  .book-english-ayah .ayah-medallion,
  .book-ayah .ayah-medallion{
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    font-size:10px!important;
    margin-inline:5px!important;
  }
}

/* v0.9.20 Pooya tafsir summary */
.taf-card.pooya-summary{
  border-color:rgba(204,235,198,.28);
  background:rgba(204,235,198,.045);
}
.taf-card.pooya-full{
  border-color:rgba(247,223,154,.24);
}
.taf-card.pooya-summary h3::after{
  content:' · summarized';
  font-size:.72em;
  color:var(--muted);
  font-weight:700;
}

/* v0.9.21 tafsir click hotfix */
.tafsir.single{
  margin-top:18px;
}
.taf-card{
  scroll-margin-top:120px;
}

/* v0.9.22 Pooya/Summary visibility */
.taf-card.pooya-summary{border-color:rgba(204,235,198,.34)!important;background:rgba(204,235,198,.055)!important}
.taf-card.pooya-full{border-color:rgba(247,223,154,.32)!important;background:rgba(247,223,154,.04)!important}

/* v0.9.24 stable home/prayer patch */
.minimal-home{padding-bottom:clamp(34px,7vw,86px)!important}
.minimal-home p,.minimal-home .actions{display:none!important}
.home-top-grid{margin-top:18px}
.daily-hadith-card .hadith-text{font-size:clamp(22px,3vw,34px);line-height:1.45}
.daily-notice{background:radial-gradient(circle at 78% 4%, rgba(247,223,154,.18), transparent 36%),linear-gradient(145deg, rgba(20,28,36,.70), rgba(8,13,16,.95))}
.notice-teaser{font-size:clamp(18px,2.4vw,25px);line-height:1.5;color:var(--text)}
.notice-details{margin-top:14px;border-top:1px solid rgba(255,255,255,.09);padding-top:12px}
.notice-details summary{cursor:pointer;font-weight:900;color:#f7df9a}
.prayer-date-controls{display:grid;grid-template-columns:54px 1fr 54px;gap:10px;margin:14px 0}
.full-width{width:100%}
.compact-events{display:grid;gap:10px;margin-top:14px}
.event-card{border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:13px;background:rgba(255,255,255,.03)}
.event-card strong{display:block;margin-bottom:6px}
.event-card p{margin:0;color:var(--muted)}
.prayer-calendar-card{background:radial-gradient(circle at 76% 6%, rgba(204,235,198,.12), transparent 35%),linear-gradient(145deg, rgba(20,28,36,.75), rgba(8,13,16,.94))}
@media(max-width:760px){.home-top-grid{grid-template-columns:1fr!important}}

/* v0.9.25 calculated prayer polish */
.location-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:10px}
.offset-card{border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:12px;background:rgba(255,255,255,.025);margin:8px 0 14px}
.offset-card input[type=range]{width:100%;margin-top:10px}
.space-top{display:block;margin-top:12px}
@media(max-width:760px){.location-row{grid-template-columns:1fr}}

/* v0.9.26 Prayer & Calendar fixes */
.prayer-date-controls{display:grid;grid-template-columns:54px 1fr 54px;gap:10px;margin:14px 0}
.location-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:10px}
.offset-card{border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:12px;background:rgba(255,255,255,.025);margin:8px 0 14px}
.offset-card input[type=range]{width:100%;margin-top:10px}
.space-top{display:block;margin-top:12px}
.event-card{width:100%;text-align:left;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:13px;background:rgba(255,255,255,.03);color:var(--text)}
.event-card strong{display:block;margin-bottom:6px}
.event-card p{margin:0;color:var(--muted)}
.qibla-dial .needle{transform-origin:center center}
.bottom-nav a,.bottom-nav button{font-size:clamp(10px,1.8vw,13px)}
@media(max-width:760px){.location-row{grid-template-columns:1fr}.bottom-nav a,.bottom-nav button{font-size:11px}}
