
/* ---------- Color tokens (light / dark) ---------- */
:root{
  --paper:#FAFCFF; --surface:#FFFFFF; --ink:#12203A; --muted:#5B6B86;
  --blue:#1D4ED8; --blue-soft:#E7EEFC; --line:#DCE4F2; --amber:#A16207; --amber-soft:#FEF3C7;
  --shadow:0 1px 0 var(--line);
  --ui:"IBM Plex Sans Arabic",Tahoma,"Segoe UI",sans-serif;
  --quran:"Amiri Quran","Amiri","Traditional Arabic","Times New Roman",serif;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#0C1424; --surface:#111C31; --ink:#E4EBF7; --muted:#95A5C2;
    --blue:#86A8FF; --blue-soft:#18284A; --line:#223253; --amber:#F2C45A; --amber-soft:#2E2610;
  }
}
:root[data-theme="dark"]{
  --paper:#0C1424; --surface:#111C31; --ink:#E4EBF7; --muted:#95A5C2;
  --blue:#86A8FF; --blue-soft:#18284A; --line:#223253; --amber:#F2C45A; --amber-soft:#2E2610;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--ui);font-size:16px;line-height:1.75}
a{color:var(--blue)}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:6px}
.wrap{max-width:860px;margin:0 auto;padding:0 18px}

/* ---------- Top bar ---------- */
.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:12px;height:56px}
.brand{font-family:var(--quran);font-size:26px;color:var(--blue);text-decoration:none;line-height:1}
.brand small{font-family:var(--ui);font-size:13px;color:var(--muted);margin-inline-start:8px}
.top .sp{flex:1}
.icon-btn{background:none;border:1px solid var(--line);border-radius:10px;width:38px;height:38px;cursor:pointer;display:grid;place-items:center;font-size:17px}

/* ---------- Hero: the word itself is the hero ---------- */
.hero{padding:44px 0 30px;text-align:center;border-bottom:1px solid var(--line)}
.hero-label{font-size:14px;color:var(--muted)}
.hero-word{font-family:var(--quran);font-size:clamp(56px,16vw,108px);line-height:1.9;color:var(--blue);margin:6px 0 0;word-break:keep-all}
.hero-ref{font-size:14px;color:var(--muted);margin-top:4px}
.hero-mean{max-width:34em;margin:10px auto 16px;font-size:18px}
.hero-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.btn{border:1px solid var(--blue);background:var(--blue);color:#fff;border-radius:999px;padding:8px 18px;cursor:pointer;font-weight:600;font-size:15px;text-decoration:none}
.btn.ghost{background:transparent;color:var(--blue)}
.facts{display:flex;justify-content:center;gap:26px;margin-top:26px;font-size:14px;color:var(--muted);flex-wrap:wrap}
.facts b{display:block;font-size:22px;color:var(--ink);font-weight:700}

/* ---------- Controls ---------- */
.controls{position:sticky;top:56px;z-index:15;background:var(--paper);padding:14px 0 10px;border-bottom:1px solid var(--line)}
.search{display:flex;gap:8px}
.search input{flex:1;min-width:0;border:1.5px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 14px;font-size:16px}
.search input:focus{border-color:var(--blue);outline:none}
.search select{border:1.5px solid var(--line);background:var(--surface);border-radius:12px;padding:0 10px;max-width:42%}
.tabs{display:flex;gap:6px;margin-top:10px;overflow-x:auto;scrollbar-width:none}
.tab{border:0;background:none;padding:6px 12px;border-radius:999px;cursor:pointer;white-space:nowrap;color:var(--muted);font-weight:500}
.tab[aria-pressed="true"]{background:var(--blue-soft);color:var(--blue);font-weight:700}
.toggles{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;font-size:14px;color:var(--muted)}
.toggles label{display:flex;gap:6px;align-items:center;cursor:pointer}
.toggles input{accent-color:var(--blue);width:16px;height:16px}

/* ---------- Surah index ---------- */
.index{display:none;padding:18px 0;border-bottom:1px solid var(--line)}
.index.open{display:block}
.index-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:6px}
.sura-link{display:flex;gap:8px;align-items:baseline;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:6px 10px;cursor:pointer;text-align:start}
.sura-link .n{color:var(--muted);font-size:12px;min-width:22px}
.sura-link .c{margin-inline-start:auto;font-size:12px;color:var(--blue)}

/* ---------- Entries ---------- */
.status{font-size:14px;color:var(--muted);padding:14px 0 0}
.sura-head{display:flex;align-items:baseline;gap:10px;margin:34px 0 4px;padding-bottom:6px;border-bottom:2px solid var(--blue)}
.sura-head h2{margin:0;font-family:var(--quran);font-weight:400;font-size:30px;line-height:1.6}
.sura-head span{color:var(--muted);font-size:14px}
.entry{padding:16px 0 18px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;column-gap:16px}
.entry .w{font-family:var(--quran);font-size:30px;line-height:1.7;color:var(--blue);min-width:4.2em}
.entry .ref{font-size:13px;color:var(--muted)}
.entry .m{margin:2px 0 0;font-size:17px}
.entry .m.hidden{filter:blur(6px);cursor:pointer;user-select:none}
.flag{display:inline-block;font-size:12px;font-weight:600;color:var(--amber);background:var(--amber-soft);padding:1px 8px;border-radius:999px;margin-inline-start:6px;vertical-align:middle}
.ops{list-style:none;margin:10px 0 0;padding:0;border-inline-start:2px solid var(--amber);padding-inline-start:12px}
.ops li{margin:6px 0}
.ops .k{font-weight:700;color:var(--amber);font-size:13px;margin-inline-end:4px}
.ops .by{display:block;font-size:13px;color:var(--muted)}
.acts{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap}
.act{background:none;border:0;color:var(--muted);font-size:13px;cursor:pointer;padding:4px 8px;border-radius:8px;text-decoration:none}
.act:hover{background:var(--blue-soft);color:var(--blue)}
.act.on{color:var(--amber);font-weight:700}
.more{display:block;margin:24px auto}
.more[hidden]{display:none}
.empty{text-align:center;padding:50px 10px;color:var(--muted)}

/* ---------- About ---------- */
.about{margin:50px 0 30px;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--surface);font-size:15px}
.about h3{margin:0 0 6px;font-size:18px}
.about p{margin:6px 0}
footer{text-align:center;color:var(--muted);font-size:14px;padding:6px 0 44px}
.iksir-mark{font-family:var(--quran);font-size:24px;color:var(--blue);line-height:1.8}
.iksir p{margin:4px 0}
.iksir-small{font-size:12px}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:8px 16px;border-radius:999px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s}
.toast.show{opacity:1}
.notashkeel .w,.notashkeel .hero-word{font-family:var(--ui);font-weight:600}

@media (max-width:560px){
  .entry{grid-template-columns:1fr}
  .entry .w{font-size:32px;min-width:0}
  .facts{gap:18px}
  .controls{position:static}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

.surah-nav{display:flex;flex-wrap:wrap;gap:6px}
.surah-nav a{text-decoration:none;color:var(--ink)}
.browse{margin:44px 0 0}
.browse h2{font-size:20px;margin:0 0 12px}
.page-head{padding:34px 0 18px;border-bottom:1px solid var(--line)}
.page-head h1{margin:0;font-family:var(--quran);font-weight:400;font-size:clamp(34px,9vw,52px);line-height:1.7;color:var(--blue)}
.page-head p{margin:4px 0 0;color:var(--muted)}
.crumbs{font-size:14px;color:var(--muted);padding-top:14px}
.crumbs a{color:var(--muted)}
.pager{display:flex;justify-content:space-between;gap:10px;margin:28px 0}
.pager a{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 14px;text-decoration:none;color:var(--ink);font-weight:600}
.cta-row{margin:18px 0 0;display:flex;gap:10px;flex-wrap:wrap}
.entry .ops{margin-top:10px}
