/* reader.css - CSS bersama Reader Mushaf hamba.id (T4/G123, 19 Sep 2026)
   ====================================================================
   DIBANGKITKAN skrip/bangun_reader_css_g123.py dari Reader-Mushaf-Juz02.html.
   JANGAN disunting tangan tanpa memperbarui pembangkitnya.

   Berkas ini menggantikan 14 blok <style> yang dulu disalin ke tiap
   Reader-Mushaf-JuzNN.html. Urutan blok di bawah = urutan aslinya di
   halaman (12 blok dari <head>, lalu 2 blok yang semula di ekor <body>);
   mengubah urutannya mengubah kaskade.

   ⚠ Setiap kali isi berkas ini berubah, NAIKKAN ?v= pada tag <link> di
   ke-30 juz - CDN Hostinger meng-cache URL tanpa query, dan sw.js akan
   menyimpan ulang salinan lamanya.
   ⚠ reader.css WAJIB punya barisnya sendiri di .htaccess; tanpa itu
   penjaga.php menjawabnya dengan halaman masuk.php dan seluruh tampilan
   Reader hilang bagi pengunjung yang belum punya akun.
*/

/* ===== T4/G126 - sorot kata berjalan saat murattal diputar ============
   Ditambahkan LANGSUNG ke berkas ini (bukan lewat pembangkitnya - lihat
   catatan "SEKALI PAKAI" di skrip/bangun_reader_css_g123.py).
   Warna sengaja latar tipis, bukan blok pekat: yang dibaca mata tetap
   hurufnya, bukan kotaknya. */
.w.g126-baca{background:rgba(27,94,63,.13);border-radius:5px;
  box-shadow:0 0 0 2px rgba(27,94,63,.13)}
html[data-tema="gelap"] .w.g126-baca{background:rgba(127,211,166,.20);
  box-shadow:0 0 0 2px rgba(127,211,166,.20)}
@media(prefers-reduced-motion:no-preference){
  .w.g126-baca{transition:background .12s linear,box-shadow .12s linear}}

/* ===== blok 00 - <style id="g53css"> ===== */

/* T4/G53 — pembereskan CLS. Keduanya bergerbang #view:empty / kelas .g53,
   jadi berhenti berlaku sendiri begitu isi digambar — tak ada JS yang bisa gagal.
   Selektor saudara umum (~) dipakai, BUKAN :has(), supaya dukungan lebih luas. */
html.g53 #view:empty{min-height:80vh}
html.g53 #view:empty ~ #foot,
html.g53 #view:empty ~ #panel{display:none}

/* ===== blok 01 - <style> ===== */

/* T4/G6 — baris ۞ + font KFGQPC + nomor ayat Arab (26 Jul 2026) — font resmi Mushaf Madinah. Berkas dipakai APA ADANYA;
   lisensi KFGQPC membolehkan pakai/salin/sebar gratis tetapi MELARANG diubah
   atau di-subset. Amiri Quran di bawah tetap jadi cadangan. */
@font-face{font-family:'KFGQPC HAFS Uthmanic Script';font-display:swap;src:url(hafs.18.woff2?v=1) format('woff2')}
/* G100 — Scheherazade New (SIL OFL), disubset ke 98 titik-kode yang dipakai
   paket ini: 79.368 -> 24.528 bita. Berkas LUAR: satu unduhan dipakai bersama
   ke-30 Reader, nol bita tambahan di tiap berkas HTML. */
@font-face{font-family:'Scheherazade New';font-display:swap;src:url(scheherazade.woff2?v=1) format('woff2')}
/* G100 — CACAT YANG DITAMBAL: subset Amiri Quran yang tertanam di bawah ini
   KEHILANGAN 8 tanda Qur'an (U+065E, 06D7, 06D8, 06DB, 06E7, 06E8, 06EA,
   06EC) — terukur dengan fontTools 16 Sep 2026. Ia hanya terpakai bila
   hafs.18.woff2 gagal diambil, tapi justru di saat itulah tandanya lenyap
   tanpa pemberitahuan. Berkas luar yang LENGKAP (Fontsource, disubset ke 98
   titik-kode; kurang 1: U+065E) dicoba lebih dulu; base64 lama tetap jadi
   cadangan terakhir supaya pemakaian luring tak berubah. */
@font-face{font-family:'Amiri Quran';font-display:swap;src:url(amiriquran.woff2?v=1) format('woff2'),url(data:font/woff2;base64,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) format('woff2');}
:root{
  --bg:#faf7f0; --paper:#fffdf7; --ink:#2b2620; --muted:#8a8170; --line:#e6dfcf;
  --accent:#1b5e3f; --accent2:#0d4a30; --panel:#fffdf7; --shadow:0 6px 28px rgba(60,50,30,.18);
  --t1:#1b7837; --t2:#5aa02c; --t3:#c69214; --t4:#d97706; --t5:#c2410c; --t6:#b1331c; --tn:#7a7163;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;}
/* G100 — keluarga huruf Arab jadi variabel; nilai bawaannya PERSIS tumpukan
   lama, jadi tanpa pilihan apa pun tampilannya tak berubah sebita pun. */
.arb{font-family:var(--fontar,"KFGQPC Uthmanic Script HAFS","KFGQPC HAFS Uthmanic Script","KFGQPC Uthman Taha Naskh","me_quran","Amiri Quran","Amiri","Scheherazade New","Traditional Arabic","Geeza Pro","Arial",serif);
  direction:rtl; line-height:2.35;}
header{position:sticky;top:0;z-index:30;background:rgba(250,247,240,.96);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);padding:10px 14px;}
.hrow{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;max-width:1000px;margin:0 auto;}
.brand{font-weight:700;color:var(--accent2);font-size:15px;margin-right:auto;}
.brand small{display:block;font-weight:400;color:var(--muted);font-size:11px;}
select,button{font-family:inherit;font-size:13px;border:1px solid var(--line);background:var(--paper);
  color:var(--ink);border-radius:8px;padding:6px 10px;cursor:pointer;}
button.seg{padding:6px 12px;}
button.seg.on{background:var(--accent);color:#fff;border-color:var(--accent);}
.pj{display:inline-flex;gap:4px;align-items:center}
#pgNum{width:64px;text-align:center}
/* T4/G7 — navigasi "pergi ke" lintas juz */
#ayatNum{width:56px;text-align:center}
#navToast{position:fixed;left:50%;transform:translateX(-50%);bottom:78px;z-index:60;
  max-width:min(92vw,430px);background:var(--panel);color:var(--ink);border:1px solid var(--line);
  border-radius:10px;padding:9px 14px;font-size:13px;line-height:1.4;box-shadow:var(--shadow);
  text-align:center;opacity:0;pointer-events:none;transition:opacity .18s ease;}
#navToast.on{opacity:1}
.legend{max-width:1000px;margin:8px auto 0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11px;color:var(--muted);align-items:center;}
.lg{display:inline-flex;align-items:center;gap:4px;}
.dot{width:11px;height:11px;border-radius:3px;display:inline-block;}
main{max-width:1000px;margin:0 auto;padding:18px 14px 140px;}
/* ---- bersambung ---- */
.surah-head{text-align:center;margin:26px 0 10px;padding:14px;border:1px solid var(--line);
  border-radius:14px;background:linear-gradient(180deg,#fffefb,#f6f0e3);}
.surah-head .nm{font-size:26px;color:var(--accent2);font-weight:700;}
.surah-head .meta{font-size:12px;color:var(--muted);margin-top:2px;}
.basmalah{text-align:center;font-size:24px;color:var(--accent2);margin:6px 0 14px;}
.flow{font-size:calc(30px * var(--skala,1));text-align:justify;}
.w{cursor:pointer;padding:0 .06em;border-radius:5px;transition:background .12s;}
.w:hover{background:#efe7d4;}
.w.sel{background:#ffe9a8;}
/* T4/G6 — baris ۞ + font KFGQPC + nomor ayat Arab (26 Jul 2026) — angka Arab berornamen dari font mushaf; lingkaran hijau
   dibuang karena fontnya sendiri sudah menggambar bingkai ornamen. */
/* G100 */.num{font-family:"KFGQPC Uthmanic Script HAFS","KFGQPC HAFS Uthmanic Script","KFGQPC Uthman Taha Naskh","me_quran","Amiri Quran","Amiri","Traditional Arabic","Geeza Pro","Arial",serif;color:var(--accent);cursor:pointer;display:inline-block;padding:0 .05em;margin:0 .04em;border-radius:.3em;line-height:1;transition:background .12s,color .12s;}
.num:hover{background:rgba(27,94,63,.16);}
.ay-actions{display:inline-flex;gap:4px;vertical-align:middle;margin:0 .15em;}
.mini{font-size:11px;padding:2px 7px;border-radius:20px;border:1px solid var(--line);
  background:#fff;color:var(--muted);direction:ltr;cursor:pointer;}
.trans-inline{direction:ltr;text-align:left;font-size:calc(14px * var(--tskala,1));color:#4a4336;background:#f3eee1;
  border-radius:10px;padding:8px 12px;margin:6px 0 12px;line-height:1.55;display:none;}
.trans-inline.show{display:block;}
/* T4/G12 */ .translit-inline{direction:ltr;text-align:left;font-size:calc(13.5px * var(--tskala,1));font-style:italic;
  color:#5b5240;background:#faf5e6;border-radius:10px;padding:7px 12px;margin:6px 0 10px;
  line-height:1.6;display:none;}
.translit-inline.show{display:block;}
/* ===== T4/G43 - kartu per ayat (1 Agu 2026) =================================
   Hanya menata; tidak satu pun aturan di sini menyentuh mode Mushaf 15-baris
   (.page/.page-line) atau ukuran huruf mushaf (--mfs/--mlh). */
.g43k{border:1px solid var(--line);border-radius:14px;background:var(--paper);
  padding:12px 10px 10px;margin:0 0 12px;}
.g43k .flow{margin:0;}
.g43k .trans-inline,.g43k .translit-inline{margin:9px 0 0;}
/* nomor ayat G40 di dalam kartu jadi mubazir (sudah ada lencana) - bisa
   dihidupkan lagi lewat G43_AYNO=true */
body:not(.g43ayno) .g43k .ayno{display:none;}
.g43b{display:flex;align-items:center;gap:8px;margin-top:9px;padding-top:8px;
  border-top:1px dashed var(--line);direction:ltr;}
.g43sp{flex:1 1 auto;}
.g43no{min-width:44px;min-height:34px;border:1px solid var(--line);border-radius:20px;
  background:transparent;color:var(--accent);font-weight:700;font-size:13px;cursor:pointer;
  padding:0 12px;font-variant-numeric:tabular-nums;}
.g43no:hover{background:rgba(27,94,63,.10);}
.g43ik{min-width:44px;min-height:34px;border:1px solid var(--line);border-radius:20px;
  background:transparent;color:var(--muted);font-size:15px;line-height:1;cursor:pointer;padding:0 10px;}
.g43ik:hover{background:rgba(27,94,63,.08);}
.g43ik.main{border-color:var(--accent);color:var(--accent);background:rgba(27,94,63,.10);}
.g43t.tanda{border-color:currentColor;}
.g43t.tanda.t1{color:#1b5e3f;background:rgba(27,94,63,.14);}
.g43t.tanda.t2{color:#96660a;background:rgba(150,102,10,.14);}
.g43t.tanda.t3{color:#1f4e9c;background:rgba(31,78,156,.14);}
.g43tp{display:none;}
.g43tp.buka{display:flex;gap:6px;margin-top:8px;}
.g43ket{font-size:12px;color:var(--muted);}
html[data-tema="gelap"] .g43k{background:#16211c;}
html[data-tema="gelap"] .g43t.tanda.t1{color:#7fd6a8;background:rgba(76,175,125,.20);}
html[data-tema="gelap"] .g43t.tanda.t2{color:#e8bd5e;background:rgba(217,160,33,.20);}
html[data-tema="gelap"] .g43t.tanda.t3{color:#9dc0ff;background:rgba(111,159,242,.20);}

/* ---- mushaf ---- */
.page{background:var(--paper);border:1px solid var(--line);border-radius:10px;
  box-shadow:0 2px 10px rgba(60,50,30,.06);max-width:var(--pgw,680px);margin:0 auto 26px;padding:22px 26px 14px;}
.page-line{font-size:var(--mfs,27px);text-align:justify;text-align-last:justify;min-height:1.6em;margin:0;}
.page-line.center{text-align:center;text-align-last:center;}
.pl-surah{text-align:center;color:var(--accent2);font-size:22px;font-weight:700;border:1px solid var(--line);
  border-radius:8px;background:#f6f0e3;padding:4px;margin:6px 0;}
.pl-bas{text-align:center;color:var(--accent2);font-size:22px;}
.page-foot{text-align:center;color:var(--muted);font-size:12px;margin-top:8px;border-top:1px dashed var(--line);padding-top:6px;}
/* T4/G13 — kepala halaman: nama surat & juz (27 Jul 2026) --------------------
   Ikut MASUK ke dalam kartu .page (bukan bilah terpisah) supaya menyatu dengan
   halaman seperti mushaf cetak. Dibuat setipis mungkin: di HP tinggi layar
   adalah sumber daya termahal (lihat catatan G8 & G10). Nama surat memakai
   ellipsis dan TIDAK PERNAH melipat — kalau melipat, tinggi kartu berubah dan
   penggalan 15 baris ikut terganggu. */
.page-head{display:flex;align-items:center;gap:8px;margin:0 0 8px;padding-bottom:6px;
  border-bottom:1px dashed var(--line);font-size:12px;line-height:1.35;}
.page-head span{background:#f1ebdd;border-radius:20px;padding:2px 10px;color:#5c5443;}
.page-head .ph-su{flex:0 1 auto;min-width:0;margin-right:auto;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.page-head .ph-jz{flex:0 0 auto;}
/* T4/G14 — tanda batas juz (27 Jul 2026) ------------------------------------
   Pita setipis mungkin di antara baris mushaf; hanya muncul di 30 halaman dari
   604, jadi ongkos tingginya nyaris nol untuk halaman lain. Kata pertama juz
   (kalau juz mulai di tengah baris) ditandai `box-shadow`, BUKAN border —
   border akan menambah lebar kata dan menggeser perataan baris mushaf. */
.jz-mula{display:flex;align-items:center;gap:8px;margin:5px 0 3px;
  font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--accent2);}
.jz-mula::before,.jz-mula::after{content:"";flex:1 1 auto;height:1px;
  background:var(--accent2);opacity:.45;}
.arb [data-jz]{box-shadow:2px 0 0 var(--accent2);border-radius:1px;}
/* ---- coloring ---- */
.c1{color:var(--t1)} .c2{color:var(--t2)} .c3{color:var(--t3)} .c4{color:var(--t4)}
.c5{color:var(--t5)} .c6{color:var(--t6)} .cn{color:var(--tn);border-bottom:2px dotted var(--tn);}
/* T4/G65 — tanda mushaf (۞): tetap berkelas .w supaya lebar baris tak berubah
   sedikit pun, tapi bukan kata — tak bergaris titik, tak berkursor tangan. */
.w.mk{cursor:default;color:var(--ink);border-bottom:none;}
body.muted .w.mk,body.plain .w.mk,body.tajwid .w.mk{color:var(--ink)!important;border-bottom:none!important;opacity:1!important;}
body.muted .known{color:var(--ink)!important;border-bottom:none!important;opacity:.55;}
body.plain .w{color:var(--ink)!important;border-bottom:none;}
/* ---- panel ---- */
#panel{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--panel);
  border-top:1px solid var(--line);box-shadow:var(--shadow);transform:translateY(110%);
  transition:transform .22s ease;max-height:64vh;overflow:auto;border-radius:16px 16px 0 0;}
#panel.show{transform:translateY(0);}
.pn-in{max-width:1000px;margin:0 auto;padding:14px 18px 22px;}
.pn-top{display:flex;align-items:flex-start;gap:12px;}
.pn-ar{font-size:34px;color:var(--accent2);}
.pn-x{margin-left:auto;border:none;background:none;font-size:22px;color:var(--muted);cursor:pointer;}
.pn-arti{font-size:18px;font-weight:600;margin-top:2px;}
.pn-tr{color:var(--muted);font-style:italic;font-size:14px;}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0;}
.chip{font-size:12px;background:#f0ead c;background:#f1ebdd;border-radius:20px;padding:3px 10px;color:#5c5443;}
.chip b{color:var(--ink);}
.chip b.arb{font-size:20px;vertical-align:-3px;line-height:1;}
.sect{margin-top:12px;border-top:1px solid var(--line);padding-top:10px;}
.sect h4{margin:0 0 6px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);}
.gharib .ar{font-size:19px;line-height:1.9;color:#33302a;}
.gharib .qpc-hafs{color:var(--accent2);font-weight:700;}
.tnote{font-size:11px;color:var(--muted);margin-top:4px;}
/* T3-SAMBUNG-READER */
.t3{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.t3-btn{display:inline-block;border:1px solid var(--accent);color:var(--accent);border-radius:8px;padding:5px 11px;font-size:12px;cursor:pointer;text-decoration:none;min-height:24px;box-sizing:border-box}
.t3-mati{font-size:12px;color:var(--muted)}
.t3-kunci{font-size:11px;opacity:.85}
.fb-note{font-size:11px;color:#a9711a;background:#fdf4e3;border-radius:6px;padding:2px 7px;display:inline-block;margin-top:6px;}.ks-note{color:#2f5d4a;background:#e8f2ec;}.dh-note{color:#25486e;background:#e6eef8;}.dv-note{color:#6b3f14;background:#f6ecdf;}.dp-note{color:#4a3566;background:#f0eaf6;}.dz-note{color:#14555e;background:#e3f1f3;}.dk-note{color:#1f4d2e;background:#e6f2ea;}
.foot{max-width:1000px;margin:30px auto 0;padding:14px;border-top:1px solid var(--line);
  font-size:12px;color:var(--muted);line-height:1.6;}
/* ---- P0#2 tanda tilawah (bookmark eksplisit) ---- */
/* ===== T4/G4 — pengayaan (25 Jul 2026) ===== */
.num.bercatat{background:rgba(27,94,63,.20);}
html[data-tema="gelap"] .num.bercatat{background:rgba(127,211,166,.28);}
.cat-teks{width:100%;box-sizing:border-box;font:inherit;font-size:13.5px;line-height:1.6;padding:9px 10px;
  border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);resize:vertical;min-height:74px;}
.cat-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:7px;}
.cat-b{font:inherit;font-size:13px;padding:7px 12px;border-radius:9px;cursor:pointer;
  border:1px solid var(--line);background:var(--bg);color:var(--ink);}
.cat-b.utama{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600;}
.cat-b[disabled]{opacity:.45;cursor:default;}
.cat-ket{font-size:11.5px;color:var(--muted);}
.cat-ket.galat{color:#b0413e;}
html[data-tema="gelap"] .cat-ket.galat{color:#e08886;}
/* ===== GB (2 Sep 2026) - panel ayat ditata ulang ===== */
.pn-judul{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 auto;}
.pn-nav{border:1px solid var(--line);background:var(--bg);color:var(--accent);
  border-radius:9px;min-width:34px;min-height:34px;font-size:19px;line-height:1;
  cursor:pointer;padding:0 6px;flex:0 0 auto;}
.pn-nav[disabled]{opacity:.35;cursor:default;color:var(--muted);}
.pn-aksi{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px;}
.pn-aksi button{font:inherit;font-size:12px;padding:6px 11px;border-radius:8px;
  min-height:32px;cursor:pointer;border:1px solid var(--line);background:var(--bg);color:var(--ink);}
.pn-aksi button:hover{border-color:var(--accent);}
.pn-salin{display:flex;flex-wrap:wrap;gap:6px;}
/* .cat-b bawaan setinggi 31 px - di bawah ambang sasaran ketuk 32 px yang
   dipakai pagar; diukur di 390 px, bukan ditebak. */
.pn-salin .cat-b{min-height:34px;}
.pn-kuasai{font-size:12.5px;color:var(--ink);line-height:1.7;}
.pn-kuasai b{color:var(--accent2);}
.pn-kecil{font-size:11px;color:var(--muted);line-height:1.6;margin-top:5px;}

.jzbar{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin:16px auto 4px;max-width:1000px;}
.jzbar a{text-decoration:none;font-size:13.5px;padding:9px 14px;border-radius:10px;border:1px solid var(--line);
  background:var(--paper);color:var(--accent);font-weight:600;}
.jzbar a:hover{border-color:var(--accent);}
/* ===== T4/G5 — kata & akar (26 Jul 2026) ===== */
.g5-pel{font-size:12.5px;line-height:1.65;margin-top:7px;color:var(--muted);}
.g5-pel a{color:var(--accent);font-weight:600;text-decoration:none;}
.g5-pel a:hover{text-decoration:underline;}
.g5-akar{margin-top:9px;}
.g5-akar button{font:inherit;font-size:12.5px;padding:6px 12px;border-radius:9px;cursor:pointer;
  border:1px solid var(--accent);background:none;color:var(--accent);font-weight:600;}
.g5-akar button:hover{background:var(--accent);color:#fff;}
.w.seakar{box-shadow:0 0 0 3px rgba(191,138,44,.30);border-radius:3px;}
html[data-tema="gelap"] .w.seakar{box-shadow:0 0 0 3px rgba(226,178,84,.32);}
.g5-cat{font-size:11px;color:var(--muted);margin-top:8px;line-height:1.55;}
/* ===== G5-a — tajwid berwarna (26 Jul 2026) =====
   .tj TIDAK boleh punya padding/margin/border: apa pun yang mengubah lebar akan
   merusak auto-fit baris G1 (15 baris utuh di HP). Hanya warna yang berubah. */
.tj{padding:0;margin:0;border:0;}
body.tajwid .w{color:var(--ink)!important;border-bottom:none!important;opacity:1!important;}
.tj-mad{color:#b3261e;}
.tj-mad2{color:#cf7a72;}
.tj-dengung{color:#1b7a45;}
.tj-idgham{color:#b3730c;}
.tj-qalqalah{color:#1f6aa8;}
.tj-gugur{color:#9b9b9b;}
html[data-tema="gelap"] .tj-mad{color:#ff7a70;}
html[data-tema="gelap"] .tj-mad2{color:#e3a49d;}
html[data-tema="gelap"] .tj-dengung{color:#4fd18b;}
html[data-tema="gelap"] .tj-idgham{color:#f0b45c;}
html[data-tema="gelap"] .tj-qalqalah{color:#6fb6f2;}
html[data-tema="gelap"] .tj-gugur{color:#a8a8a8;}
.tj-hukum{border:1px solid var(--line);border-radius:11px;padding:9px 11px;margin-bottom:10px;
  background:rgba(0,0,0,.02);}
html[data-tema="gelap"] .tj-hukum{background:rgba(255,255,255,.04);}
.tj-nama{font-weight:700;font-size:14px;margin-bottom:3px;}
.tj-baris{font-size:12.5px;line-height:1.65;color:var(--muted);}
.tj-baris b{color:var(--ink);font-weight:600;}
.tj-cat{font-size:11px;color:var(--muted);margin-top:8px;line-height:1.55;}
.lg .dot.kotak{border-radius:3px;}
/* ===== G5-c — tanda waqaf (26 Jul 2026) =====
   .wq TIDAK boleh mengubah lebar atau warna: rupa mushaf harus tetap sama persis.
   Sasaran ketuk diperbesar lewat ::after yang di-position:absolute — pseudo-element
   berposisi absolut tidak ikut menghitung tata letak baris, jadi auto-fit G1 aman. */
.wq{cursor:pointer;position:relative;padding:0;margin:0;border:0;}
.wq::after{content:'';position:absolute;left:-.35em;right:-.35em;top:-.55em;bottom:-.15em;}
.wq-nama{font-weight:700;font-size:14px;margin-bottom:2px;}
.wq-lambang{font-size:26px;line-height:1;color:var(--accent2);margin-left:8px;}
.wq-hukum{display:inline-block;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:20px;margin:6px 0 2px;}
.wq-h1{background:#f6d9d7;color:#8c2019;} .wq-h2{background:#f7e6cf;color:#8a5a10;}
.wq-h3{background:#dcecdd;color:#1b5e2a;} .wq-h4{background:#dde7f3;color:#1d4e80;}
html[data-tema="gelap"] .wq-h1{background:#4a2320;color:#ffb3ab;}
html[data-tema="gelap"] .wq-h2{background:#4a3a1c;color:#f2c98a;}
html[data-tema="gelap"] .wq-h3{background:#22412a;color:#9ad9a6;}
html[data-tema="gelap"] .wq-h4{background:#22374a;color:#a5c8ea;}
.wq-baris{font-size:12.5px;line-height:1.65;color:var(--muted);margin-top:5px;}
.wq-baris b{color:var(--ink);font-weight:600;}
.wq-msi{margin-top:10px;border-top:1px dashed var(--line);padding-top:9px;}
.wq-msi summary{cursor:pointer;font-size:12px;color:var(--accent);font-weight:600;}
.wq-tab{width:100%;border-collapse:collapse;font-size:11.5px;margin-top:8px;}
.wq-tab th,.wq-tab td{border:1px solid var(--line);padding:4px 6px;text-align:center;}
.wq-tab th{background:rgba(0,0,0,.04);font-weight:600;}
html[data-tema="gelap"] .wq-tab th{background:rgba(255,255,255,.06);}
.wq-tab td:first-child{text-align:right;}
.wq-cat{font-size:11px;color:var(--muted);margin-top:8px;line-height:1.55;}
.num.tanda{background:rgba(176,65,62,.22);color:#b0413e;}
.page-line.tanda-baris{border-left:4px solid #b0413e;padding-left:8px;margin-left:-12px;background:rgba(176,65,62,.06);}
.btn-tanda{margin-top:6px;border:1px solid #b0413e;background:none;color:#b0413e;font-weight:600;
  font-size:12.5px;padding:5px 12px;border-radius:20px;cursor:pointer;}
.btn-tanda.aktif{background:#b0413e;color:#fff;}
/* ===== T4/G32 — tiga penanda (31 Jul 2026) =====
   Warna & nama slot sama persis dengan beranda (patch_beranda_g32.py) — satu
   sumber keputusan. Kuning #96660a, bukan #a8730a: yang terang kontrasnya cuma
   4,03 (ambang WCAG 4,5). Tombol dibuat 44 px karena sasaran sentuh 12-14 px
   itulah cacat yang melahirkan G32. */
.g32tr{display:flex;gap:6px;margin-top:9px;}
.g32tb{flex:1 1 0;min-width:0;min-height:44px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--cw);background:none;color:var(--cw);font-family:inherit;font-weight:700;
  font-size:12px;line-height:1.2;padding:6px 4px;border-radius:11px;cursor:pointer;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.g32tb.terisi{background:var(--cl);}
.g32tb.aktif{background:var(--cw);color:#fff;}
.g32-1{--cw:#1b5e3f;--cl:rgba(27,94,63,.10);}
.g32-2{--cw:#96660a;--cl:rgba(150,102,10,.12);}
.g32-3{--cw:#1f4e9c;--cl:rgba(31,78,156,.10);}
/* ===== T4/G64 - daftar Ayat Pilihan (18 Agu 2026) =====
   Ungu SENGAJA berbeda dari ketiga warna penanda: penanda menjawab "sampai mana
   saya membaca", daftar pilihan menjawab "ayat mana yang saya kumpulkan" - dua
   hal berbeda, jadi jangan sewarna. #7a4fb0 kontrasnya 5,88 terhadap putih
   (ambang WCAG 4,5); yang lebih terang gagal, persis seperti kuning di G32.
   Tombolnya sebaris penuh, bukan kolom keempat: empat kolom membuat tiap tombol
   lebih sempit dari 70 px dan namanya terpotong di layar 320 px. */
.g64tr{margin-top:6px;}
.g64tb{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;gap:7px;
  border:1px solid #7a4fb0;background:none;color:#7a4fb0;font-family:inherit;font-weight:700;
  font-size:12.5px;line-height:1.25;padding:6px 10px;border-radius:11px;cursor:pointer;}
.g64tb.aktif{background:#7a4fb0;color:#fff;}
.g64ket{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.5;}
.g64ket.tolak{color:#b0413e;font-weight:600;}
.g64ket a{color:#7a4fb0;font-weight:600;}
/* Tanda di nomor ayat: CINCIN, bukan latar - latar sudah dipakai ketiga penanda,
   dan satu ayat bisa sekaligus bertanda DAN terpilih. */
[data-ay].g64pil{box-shadow:inset 0 0 0 2px #7a4fb0;}
html[data-tema="gelap"] .g64tb{border-color:#b79ae6;color:#b79ae6;}
html[data-tema="gelap"] .g64tb.aktif{background:#b79ae6;color:#11131a;}
html[data-tema="gelap"] .g64ket a{color:#b79ae6;}
html[data-tema="gelap"] [data-ay].g64pil{box-shadow:inset 0 0 0 2px #b79ae6;}
.num.tanda.t1{background:rgba(27,94,63,.20);color:#1b5e3f;}
.num.tanda.t2{background:rgba(150,102,10,.22);color:#96660a;}
.num.tanda.t3{background:rgba(31,78,156,.20);color:#1f4e9c;}
.page-line.tanda-baris.tb1{border-left-color:#1b5e3f;background:rgba(27,94,63,.06);}
.page-line.tanda-baris.tb2{border-left-color:#96660a;background:rgba(150,102,10,.07);}
.page-line.tanda-baris.tb3{border-left-color:#1f4e9c;background:rgba(31,78,156,.06);}
.g16-mk.td1{background:#1b5e3f;}
.g16-mk.td2{background:#96660a;}
.g16-mk.td3{background:#1f4e9c;}
/* Mode gelap ditulis di sini juga (bukan di blok gelap yang jauh di bawah)
   supaya seluruh gelombang bisa dicabut dengan membuang SATU blok. Kekhususan
   selektornya sengaja lebih tinggi daripada aturan .num.tanda gelap yang lama. */
html[data-tema="gelap"] .g32-1{--cw:#4caf7d;--cl:rgba(76,175,125,.14);}
html[data-tema="gelap"] .g32-2{--cw:#d9a021;--cl:rgba(217,160,33,.14);}
html[data-tema="gelap"] .g32-3{--cw:#6f9ff2;--cl:rgba(111,159,242,.14);}
html[data-tema="gelap"] .g32tb.aktif{color:#10221a;}
html[data-tema="gelap"] .num.tanda.t1{background:rgba(76,175,125,.30);color:#7fd6a8;}
html[data-tema="gelap"] .num.tanda.t2{background:rgba(217,160,33,.30);color:#e8bd5e;}
html[data-tema="gelap"] .num.tanda.t3{background:rgba(111,159,242,.30);color:#9dc0ff;}
html[data-tema="gelap"] .page-line.tanda-baris.tb1{border-left-color:#4caf7d;background:rgba(76,175,125,.07);}
html[data-tema="gelap"] .page-line.tanda-baris.tb2{border-left-color:#d9a021;background:rgba(217,160,33,.07);}
html[data-tema="gelap"] .page-line.tanda-baris.tb3{border-left-color:#6f9ff2;background:rgba(111,159,242,.07);}
html[data-tema="gelap"] .g16-mk.td1{background:#4caf7d;}
html[data-tema="gelap"] .g16-mk.td2{background:#d9a021;}
html[data-tema="gelap"] .g16-mk.td3{background:#6f9ff2;}
/* ===== T4/G1 — optimasi HP (25 Jul 2026) ===== */
.ukur-l{display:inline-block;white-space:nowrap;font-size:40px;line-height:1.6;}
.tlg{display:inline;}
/* ===== T4/G2 — pencarian global (25 Jul 2026) ===== */
/* Sorotan memakai box-shadow SEBARAN 3px berwarna sama dengan latarnya: celah
   antar kata (yang melebar karena text-align:justify) ikut tertutup sehingga
   satu ayat terbaca sebagai SATU pita utuh, bukan deretan kotak terpisah. */
.w.tuju{background:#f7e7b6;box-shadow:0 0 0 3px #f7e7b6;border-radius:2px;}
.num.tuju{background:#f0dd93;color:#5a4a10;}
html[data-tema="gelap"] .w.tuju{background:#4a471c;box-shadow:0 0 0 3px #4a471c;}
html[data-tema="gelap"] .num.tuju{background:#8a8434;color:#f6f2d8;}
.ikon{padding:5px 9px!important;}
.jzsm{display:none;font-weight:700;color:var(--accent2);font-size:13px;white-space:nowrap;}
.hrow2{margin-top:8px;}
header{transition:transform .22s ease;}
header.sembunyi{transform:translateY(-100%);}
button[disabled]{opacity:.45;cursor:default;}
.page-line{line-height:var(--mlh,2.35);}
/* mode halaman: satu halaman mushaf mengisi persis satu layar */
body.hal main{padding:6px 6px 0;max-width:none;display:flex;flex-direction:column;justify-content:center;}
body.hal .page{max-width:var(--pgw,none);margin:0 auto;border:none;border-radius:0;box-shadow:none;
  background:transparent;padding:2px 5px 0;}
/* T4/G8 — CACAT ukuran huruf mushaf (26 Jul 2026) ---------------------------
   #view & main ber-display:flex, sedangkan .page memakai margin:0 auto. Pada
   flex arah kolom, auto-margin MEMBATALKAN stretch, sehingga saat renderMushaf()
   dan terapkanUkuran() melepas --pgw untuk mengukur pada "lebar wadah PENUH",
   kartu justru MENCIUT ke lebar isinya sendiri (224px dari 360px). Ukuran huruf
   lalu dihitung dari kartu ciut itu dan terkunci kecil: 11,7px alih-alih 18,7px.
   Gejalanya tampak berubah-ubah karena begitu font masuk cache peramban,
   kunjungan berikutnya menghitung ulang dari kartu yang sudah lebar.
   Obat: kartu WAJIB memakai lebar wadah saat diukur; --pgw (max-width) tetap
   memangkasnya SESUDAH ukuran huruf ditetapkan, jadi pasLebar() tak berubah.
   border-box: supaya padding 2px/5px tidak menambah lebar di luar 100%. */
body.hal .page{width:100%;box-sizing:border-box;}
/* T4/G10 — huruf besar saat HP dimiringkan (27 Jul 2026) --------------------
   Di lanskap HP, memaksa 15 baris muat satu layar menekan ukuran huruf sampai
   mentok lantai 9px. Kelas .lskp melepas paksaan itu: halaman boleh lebih
   tinggi daripada layar dan digulir, sehingga ukuran huruf ditentukan oleh
   LEBAR saja (auto-fit yang sudah ada) — 44,3px, bukan 9,1px.
   justify-content:flex-start wajib: tanpa itu 'center' pada flex membuat bagian
   ATAS halaman terpotong dan tak bisa digulir naik. */
body.hal.lskp main{justify-content:flex-start;}
/* T4/G10b — baris terakhir tertutup bilah bawah (27 Jul 2026) ---------------
   #pgbar position:fixed tidak ikut alur dokumen. Sebelum G10 itu tak apa-apa
   karena mode halaman tak bisa digulir; sesudah G10 halaman lanskap BISA
   digulir, dan baris terakhir berakhir persis di balik bilah itu (terukur:
   587 dari 604 halaman, rata 42,9px dari bilah setinggi 46px).
   --barh ditetapkan paskanTinggi() dari tinggi bilah yang SUNGGUHAN (di layar
   sempit tulisannya bisa melipat jadi dua baris). Penahannya kelas .lskp, jadi
   ruang ini hilang sendiri saat keluar dari lanskap — potret tak tersentuh. */
body.hal.lskp main{padding-bottom:var(--barh,56px);}
body.hal.lskp #view{min-height:0!important;}

body.hal .page-foot,body.hal .foot{display:none;}
/* T4/G13 — di mode 1-halaman-1-layar kaki disembunyikan, kepala TIDAK: justru
   di sanalah pembaca kehilangan konteks surat. Dikecilkan sedikit supaya
   ongkos tingginya minimal. */
body.hal .page-head{font-size:11px;margin-bottom:5px;padding-bottom:4px;}
/* T4/G14 */ body.hal .jz-mula{font-size:10.5px;margin:3px 0 2px;}
/* Judul surah & basmalah ikut menyusut bersama ukuran huruf halaman. Kalau tetap
   22px, halaman yang memuat 2-3 awal surah (mis. akhir Juz 30) kehabisan tinggi dan
   ukuran huruf ayat terpaksa turun sampai ±10px. */
body.hal .pl-surah{font-size:calc(var(--mfs,22px)*1.3);padding:2px 4px;margin:3px 0;}
body.hal .pl-bas{font-size:calc(var(--mfs,22px)*1.25);line-height:1.9;}
body.hal .w{padding:0 .03em;}
body.hal .surah-head{margin:8px 0 6px;}
/* T4/G15 — layar bersih: bilah mengapung & sembunyi otomatis (28 Jul 2026) ---
   Kenapa position:fixed WAJIB: header sticky ikut alur dokumen, jadi kelas
   'sembunyi' (translateY -100%) menyembunyikan tampaknya tapi ruangnya tetap
   termakan — halaman mushaf terdorong lalu terpotong (cacat yang dulu ditambal
   G1-fix dengan MEMAKSA bilah terlihat). Sesudah keluar dari alur, tinggi layar
   dipakai penuh oleh halaman dan tata letak tak bergantung bilah terlihat atau
   tidak: memunculkan/menyembunyikan bilah = nol reflow, nol hitung ulang huruf.
   CATATAN: di potret ruang tinggi ini TIDAK bisa jadi huruf lebih besar
   (pengikatnya LEBAR) — yang bertambah jarak baris. Huruf hanya naik dari
   pengurangan padding di bawah. */
body.hal header{position:fixed;left:0;right:0;top:0;}
body.hal header.sembunyi{transform:translateY(-100%);}
/* Selama bilah TERLIHAT ia menutupi baris mushaf paling atas & paling bawah
   (itu memang harga lapisan mengapung — sama seperti aplikasi pembaca lain).
   Tingginya dipangkas supaya yang tertutup sesedikit mungkin; ini GRATIS
   karena bilah sudah keluar dari alur, jadi tak mengubah tata letak halaman. */
body.hal header{padding:5px 8px;}
body.hal #pgbar{padding:4px 8px;}
body.hal #pgbar button{padding:5px 9px;}
/* di layar lebar auto-hide mode Bersambung sengaja dimatikan (aturan G1);
   di mode halaman ia justru diinginkan, jadi dipulihkan di sini. */
@media(min-width:761px){body.hal header.sembunyi{transform:translateY(-100%);}}
#pgbar{transition:transform .22s ease;}
#pgbar.sembunyi{transform:translateY(115%);}
/* Lebar = pengikat ukuran huruf di potret, jadi INI satu-satunya sumber huruf
   lebih besar yang tersisa: sisa 5px per sisi (2px main + 2px kartu + 1px
   pembulatan) dari 11px. TIDAK dinolkan supaya teks tak menempel tepi layar
   (HP berlayar melengkung) dan tanda ayat di ujung baris tak terpotong. */
/* T4/G28 (30 Jul 2026) — margin kiri/kanan 5 -> 14 px per sisi (12 di sini + 2
   di .page). Lebar yang dilepas TIDAK memangkas huruf: fsSeragam() di blok G18
   menghitung ukuran dari lebar LAMA lewat G28_LEBIH, lalu pampat() memepatkan
   baris terpadat ke lebar baru. Angka 14 px dipilih Omar dari sapuan G28. */
body.hal main{padding:2px 12px 0;}
body.hal .page{padding:0 2px 0;}
/* nomor halaman di kepala kartu: bilah bawah kini bisa tak terlihat, sedangkan
   kaki "Halaman N" memang disembunyikan di mode halaman. */
.page-head .ph-hl{flex:0 0 auto;font-variant-numeric:tabular-nums;}
body.hal .page-head .ph-hl{padding:2px 8px;}
/* nomor juz di bilah atas dibuang di mode Mushaf — sejak G13 ia sudah ada di
   kepala kartu. Mode Bersambung tak punya kepala kartu, jadi di sana tetap. */
body.mshf .jzsm{display:none;}
@media(max-width:760px),(max-height:520px){
  /* .jzsm dulu memegang margin-right:auto (pengganjal, sebab .brand
     disembunyikan di HP). Tanpa penggantinya tombol akan melompat ke tepi
     kiri — pengganjal kosong menjaga letak tombol persis seperti sebelumnya. */
  body.mshf .hrow:not(.hrow2)::before{content:"";flex:1 1 auto;}
}
#pgbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;gap:8px;
  padding:7px 10px;background:var(--paper);border-top:1px solid var(--line);
  box-shadow:0 -2px 10px rgba(60,50,30,.08);}
#pgbar button{flex:0 0 auto;font-size:12.5px;padding:7px 11px;}
#pgbar .ket{flex:1 1 auto;text-align:center;font-size:11.5px;color:var(--muted);line-height:1.3;}
/* T4/G120 — beri tahu peramban skema warnanya, supaya scrollbar,
   kotak isian dan menu bawaan ikut gelap (bukan kotak putih menyilaukan) */
:root{color-scheme:light}
html[data-tema="gelap"]{color-scheme:dark}
/* mode gelap — pola situs: html[data-tema="gelap"], kunci localStorage hambaTema */
html[data-tema="gelap"]{
  --bg:#101a15; --paper:#16211c; --ink:#e8efe9; --muted:#9db3a6; --line:#2a3d33;
  --accent:#4caf7d; --accent2:#7fd3a6; --panel:#16211c; --shadow:0 6px 28px rgba(0,0,0,.55);
  --t1:#63c98a; --t2:#8fd45f; --t3:#e0b64a; --t4:#eb9a4a; --t5:#e87a52; --t6:#e06a54; --tn:#93a89b;
}
html[data-tema="gelap"] header{background:rgba(16,26,21,.96);}
html[data-tema="gelap"] .surah-head{background:linear-gradient(180deg,#1c2b23,#16211c);}
html[data-tema="gelap"] .pl-surah{background:#1b2a22;}
/* T4/G13 */ html[data-tema="gelap"] .page-head span{background:#1b2a22;color:#cfe3d8;}
html[data-tema="gelap"] .trans-inline{background:#1c2a23;color:#cfe0d5;}
/* T4/G12 */ html[data-tema="gelap"] .translit-inline{background:#23261c;color:#d8dcc6;}
html[data-tema="gelap"] .chip{background:#22322a;color:#c6d8cc;}
html[data-tema="gelap"] .chip b{color:var(--ink);}
html[data-tema="gelap"] .mini{background:#1c2a23;}
html[data-tema="gelap"] .w:hover{background:#24352c;}
html[data-tema="gelap"] .w.sel{background:#4a4a1e;}
html[data-tema="gelap"] .gharib .ar{color:#dbe7de;}
html[data-tema="gelap"] .fb-note{background:#33290f;color:#e2bc6b;}html[data-tema="gelap"] .ks-note{background:#17332a;color:#8fc9ae;}html[data-tema="gelap"] .dh-note{background:#152738;color:#9cc0e8;}html[data-tema="gelap"] .dv-note{background:#2e2213;color:#e0b98a;}html[data-tema="gelap"] .dp-note{background:#2a2036;color:#c7b0e0;}html[data-tema="gelap"] .dz-note{background:#10303a;color:#a8d8e0;}html[data-tema="gelap"] .dk-note{background:#12301f;color:#a8d8b8;}
html[data-tema="gelap"] .num.tanda{background:rgba(201,82,79,.34);color:#ff9c99;}
html[data-tema="gelap"] .btn-tanda{border-color:#e08886;color:#e08886;}
html[data-tema="gelap"] .btn-tanda.aktif{background:#b0413e;color:#fff;}
/* layar sempit (HP portrait & HP lanskap): bilah ringkas, ruang baca maksimal */
@media(max-width:760px),(max-height:520px){
  .brand{display:none;}
  .tlg{display:none;}
  .jzsm{display:inline-block;margin-right:auto;}
  header{padding:7px 10px;}
  .hrow{gap:6px 8px;}
  button.seg{padding:5px 10px;font-size:12.5px;}
  .hrow2,.legend{display:none;}
  header.buka .hrow2{display:flex;}
  header.buka .legend{display:flex;}
  main{padding:10px 6px 120px;}
  .page{padding:12px 8px 8px;}
  .flow{font-size:calc(26px * var(--skala,1));}
  .surah-head{margin:14px 0 8px;padding:10px;}
  .surah-head .nm{font-size:22px;}
}
@media(min-width:761px){header.sembunyi{transform:none;}}
/* ===== T4/G2 — pencarian global: bilah atas bertambah tombol 🔍 ===== */
/* Rapatkan tombol sedikit supaya bilah atas di HP tetap SATU baris (patokan G1:
   tinggi bilah < 60px). HARUS berada sesudah media query G1 agar tidak tertimpa. */
@media(max-width:760px),(max-height:520px){
  .hrow{gap:5px 6px;}
  button.seg{padding:5px 8px;font-size:12.5px;}
  .ikon{padding:5px 7px!important;}
}

.qw{color:var(--accent2);font-weight:700}.grow{margin:4px 0;padding:3px 0;border-bottom:1px dashed var(--line)}.gw{color:var(--accent2);font-weight:700;margin-left:4px}.gt{font-size:14px}.gar{color:var(--muted);font-size:14px}.irrow{margin:3px 0;font-size:14px;line-height:1.55}.arbblk{direction:rtl;text-align:right;font-size:17px;line-height:1.9}.irnote{font-size:11px;color:var(--muted);margin-top:6px}
/* ===== T4/G16 — lembar "Loncat" satu pintu (28 Jul 2026) =====================
   Lapisan mengambang; tidak satu pun aturan lama disentuh. */
#g16Lapis{position:fixed;inset:0;z-index:110;display:none;background:rgba(20,28,22,.45)}
#g16Lapis.buka{display:block}
#g16Sheet{position:absolute;left:0;right:0;bottom:0;max-height:92%;background:var(--panel);
  border-radius:16px 16px 0 0;box-shadow:var(--shadow);display:flex;flex-direction:column;
  overflow:hidden;padding-bottom:env(safe-area-inset-bottom,0px)}
#g16Peg{width:38px;height:4px;border-radius:2px;background:var(--line);margin:7px auto 2px;flex:none;cursor:pointer}
#g16Hasil{flex:1;overflow-y:auto;display:flex;flex-direction:column-reverse;padding:4px 0;min-height:0;
  -webkit-overflow-scrolling:touch}
.g16-row{display:flex;gap:10px;align-items:center;padding:9px 14px;border:0;background:transparent;
  width:100%;text-align:start;font:inherit;color:inherit;cursor:pointer}
.g16-row:hover,.g16-row.pilih{background:rgba(27,94,63,.10)}
html[data-tema="gelap"] .g16-row:hover,html[data-tema="gelap"] .g16-row.pilih{background:rgba(127,211,166,.16)}
.g16-ik{width:33px;height:33px;flex:none;border-radius:9px;background:rgba(27,94,63,.10);display:flex;
  align-items:center;justify-content:center;font-size:14px;color:var(--accent);font-weight:700}
html[data-tema="gelap"] .g16-ik{background:rgba(127,211,166,.16)}
.g16-in{flex:1;min-width:0}
.g16-jd{font-weight:600;font-size:14px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.g16-sb{font-size:11.5px;color:var(--muted);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.g16-sb mark{background:rgba(198,146,20,.35);color:inherit;border-radius:2px}
.g16-en{font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:1px 4px;flex:none}
.g16-gp{padding:8px 14px 3px;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.g16-ks{padding:20px 16px;text-align:center;color:var(--muted);font-size:13px}
#g16Ket{font-size:11px;color:var(--muted);padding:2px 14px 6px;line-height:1.45}
#g16Ket:empty{display:none}
#g16Rel{border-top:1px solid var(--line);padding:8px 14px 4px;flex:none}
.g16-rj{display:flex;justify-content:space-between;font-size:10.5px;color:var(--muted);margin-bottom:2px}
#g16Track{position:relative;height:44px;touch-action:none;user-select:none;-webkit-user-select:none;cursor:ew-resize}
.g16-gr{position:absolute;top:24px;left:0;right:0;height:6px;border-radius:3px;background:var(--line)}
.g16-is{position:absolute;top:24px;height:6px;border-radius:3px;background:var(--accent);opacity:.32;right:0}
.g16-tk{position:absolute;top:18px;width:1px;height:18px;background:var(--line)}
.g16-tk.bs{top:14px;height:26px;background:var(--muted);opacity:.5}
.g16-tl{position:absolute;top:2px;font-size:9px;color:var(--muted);transform:translateX(-50%)}
.g16-mk{position:absolute;top:12px;width:8px;height:8px;border-radius:50%;transform:translateX(-50%);
  border:1.5px solid var(--panel)}
.g16-mk.td{background:#c69214}
.g16-mk.kn{background:#2f6fd0}
#g16Knob{position:absolute;top:15px;width:24px;height:24px;border-radius:50%;background:var(--accent);
  border:3px solid var(--panel);box-shadow:0 2px 8px rgba(0,0,0,.25);transform:translateX(-50%)}
#g16Bub{position:absolute;bottom:48px;transform:translateX(-50%);background:var(--ink);color:var(--bg);
  border-radius:10px;padding:6px 12px;font-size:12px;white-space:nowrap;box-shadow:var(--shadow);
  opacity:0;transition:opacity .12s;pointer-events:none;text-align:center;z-index:5}
#g16Bub.on{opacity:1}
#g16Bub b{font-size:16px;display:block}
.g16-rk{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}
#g16Batal{text-align:center;font-size:11px;color:#b1331c;height:13px}
#g16Chips{display:flex;gap:6px;padding:7px 12px 0;overflow-x:auto;scrollbar-width:none;flex:none}
#g16Chips::-webkit-scrollbar{display:none}
.g16-cp{border:1px solid var(--line);background:transparent;color:inherit;border-radius:999px;
  padding:5px 11px;font-size:12.5px;white-space:nowrap;font:inherit;cursor:pointer}
.g16-cp.ut{background:rgba(27,94,63,.10);border-color:var(--accent);color:var(--accent);font-weight:600}
#g16Isi{display:flex;gap:8px;align-items:center;padding:8px 12px 10px;flex:none}
#g16Q{flex:1;min-width:0;border:1px solid var(--line);background:var(--bg);color:var(--ink);
  border-radius:11px;padding:11px 13px;font-size:16px;outline:none;font-family:inherit}
#g16Q:focus{border-color:var(--accent)}
#g16Tutup{background:transparent;border:0;font:inherit;font-size:14px;color:var(--muted);padding:6px;cursor:pointer}
/* angka besar saat seret bebas — di sepertiga atas layar, di ATAS lapisan */
#g16Hud{position:fixed;left:0;right:0;top:0;height:46%;z-index:115;display:none;
  align-items:center;justify-content:center;flex-direction:column;gap:4px;pointer-events:none}
#g16Hud.on{display:flex}
#g16Hud b{font-size:72px;font-weight:800;color:var(--accent);text-shadow:0 2px 20px rgba(0,0,0,.28)}
#g16Hud span{font-size:15px;color:var(--ink);background:var(--panel);border-radius:9px;padding:4px 12px;
  box-shadow:var(--shadow)}
body.g16seret,body.g16seret #view{user-select:none;-webkit-user-select:none}
body.g16seret #g16Hasil,body.g16seret #g16Chips,body.g16seret #g16Isi,body.g16seret #g16Ket,
body.g16seret #g16Bub{display:none}
/* tahan-lama di mode halaman dipakai G16, jadi menu salin bawaan iOS dimatikan
   HANYA di sana (mode Bersambung tak tersentuh) */
body.hal #view{-webkit-touch-callout:none}
@media(min-width:761px){
  #g16Sheet{left:50%;transform:translateX(-50%);width:640px;bottom:5vh;border-radius:16px;max-height:80vh}
}
/* ===== akhir T4/G16 ======================================================== */

/* ===== T4/G17 — geser halaman + efek pindah (28 Jul 2026) ===================
   #view SENDIRI yang mengklip; yang digeser adalah ANAK-anaknya (kartu .page),
   supaya tak satu pun elemen position:fixed (header, #pgbar, #navToast, panel,
   lembar G16) terkurung oleh containing block baru akibat transform. */
body.hal #view{overflow-x:clip;touch-action:pan-y}
@supports not (overflow:clip){ body.hal #view{overflow-x:hidden} }
body.g17seret,body.g17seret #view{user-select:none;-webkit-user-select:none}
body.g17seret #view>*{will-change:transform}
@media(prefers-reduced-motion:reduce){ body.g17gerak #view>*{transition:none!important} }
/* --- lapisan bayangan: halaman tetangga yang menyusul di belakang jari -------
   Sengaja di LUAR #view (anak <body>): kalau kartu tetangga ada di dalam #view,
   ia ikut terbaca oleh adaTerlipat(view) dan document.querySelector('.page')
   milik paskanTinggi() — auto-fit halaman kini akan salah ukur. Letak & ukuran
   lapisan disalin dari getBoundingClientRect() #view tiap kali dipakai. */
#g17bay{position:fixed;overflow:hidden;pointer-events:none;z-index:1;display:none;contain:paint}
#g17bay .g17-sl{position:absolute;left:0;top:0;right:0;bottom:0;box-sizing:border-box;
  display:flex;flex-direction:column;justify-content:center;
  background:var(--bg);visibility:hidden;will-change:transform}
body.lskp #g17bay .g17-sl{justify-content:flex-start}
/* T4/G61 (9 Agu 2026) — slot bayangan meniru KOTAK halaman sungguhan.
   Dulu `bottom:0` memaksa slot setinggi lapisan (= tinggi #view halaman KINI) dan
   isinya dipusatkan di situ. Dengan terjemah menyala tinggi halaman tidak seragam
   (842–1.902 px), jadi kartu tetangga dipusatkan di kotak yang salah dan melompat
   ±170 px begitu lapisan disingkap. Sekarang tinggi slot = max(min-height #view,
   tinggi kartu) — aturan yang sama dengan `body.hal main`. */
body.g61 #g17bay .g17-sl{bottom:auto}
#g17bay .page{width:100%;box-sizing:border-box;max-width:var(--pgw,none);margin:0 auto;
  border:none;border-radius:0;box-shadow:none}
/* ===== akhir T4/G17 ======================================================== */

/* ===== blok 02 - <style id="g18css"> ===== */
body.g18on .page-line.arb{white-space:nowrap}
/* ===== blok 03 - <style id="g20css"> ===== */

/* 1) tombol cari — mubazir sejak G16 (lembar Loncat memakai mesin yang sama) */
#btnCari{display:none!important}
/* 2) bilah bawah — isinya dipindah, bukan dibuang (lihat docstring tambalan) */
#pgbar{display:none!important}
/* 3) bilah atas rata KIRI; 🌙 ⚙ menempel kanan. Pengganjal G15 dimatikan. */
body.mshf .hrow:not(.hrow2)::before{content:none!important}
.hrow:not(.hrow2) #tGelap{margin-left:auto}
/* 3b) supaya tujuh tombol sungguh MUAT satu baris di HP. Angka ini hasil
      kalibrasi, bukan selera: pada 360px kelonggaran tinggal 9,5px dengan
      padding 6px & jarak 4px; dengan padding 7px sudah melipat lagi.
      Di layar <=350px (mis. 320px) bilah memang tetap melipat 2 baris —
      tidak ada yang rusak, hanya lebih tinggi. */
@media(max-width:760px),(max-height:520px){
  .hrow:not(.hrow2){gap:6px 4px}
  .hrow:not(.hrow2) button.seg{padding-left:6px;padding-right:6px}
  body.hal header{padding-left:6px;padding-right:6px}
}
/* 4) nomor halaman di TENGAH kepala kartu. position:absolute supaya tinggi
      baris kepala tidak bergerak sama sekali — tinggi kartu mengikat
      penggalan 15 baris. Nama surat dibatasi supaya tak menabrak nomor. */
.page-head{position:relative}
.page-head .ph-hl{position:absolute;left:50%;transform:translateX(-50%);
  white-space:nowrap}
.page-head .ph-su{max-width:calc(50% - 42px)}
.page-head .ph-jz{margin-left:auto}

/* ================= T4/G37 — bilah ke bawah, halaman rata atas =================
   Bilah TETAP position:fixed (warisan G15: nol reflow, panel ⚙ tak bisa lagi
   menggeser halaman). Yang berubah: ia menempel ke BAWAH, tak pernah sembunyi
   lagi di mode halaman, dan tinggi tersedia dikurangi sendiri lewat G37BAR. */
body.hal header{top:auto;bottom:0;
  padding-bottom:calc(5px + env(safe-area-inset-bottom,0px))}
/* auto-hide dipensiunkan di mode halaman — bilah yang menyembunyikan diri tak
   bisa dibedakan dari bilah yang tidak ada. Kelasnya dibiarkan ada supaya
   G15_APUNG=false tetap memulihkan perilaku lama. */
body.hal header.sembunyi{transform:none}
/* panel ⚙ & legenda mengembang KE ATAS, bukan menutupi tombol utama */
body.hal header{display:flex;flex-direction:column-reverse}
/* halaman dirapatkan ke atas; sisa ruang berkumpul di atas bilah */
body.hal main{justify-content:flex-start}
/* sasaran sentuh: tinggi tombol 27 -> 45 px. Padding VERTIKAL saja — menambah
   padding mendatar akan melipat baris (kalibrasi G20: kelonggaran di 360 px
   cuma 9,5 px untuk 7 tombol). */
/* !important WAJIB: `.ikon{padding:5px 9px!important}` (baris ~279) akan
   mengalahkan selektor apa pun tanpa itu, sehingga 🌙 dan ⚙ tetap 27 px
   sementara tombol lain membesar — pincang dan justru lebih sulit dikenai. */
body.hal .hrow .seg{padding-top:14px!important;padding-bottom:14px!important}
body.hal .hrow2 .seg,body.hal .hrow2 select,body.hal .hrow2 label{
  padding-top:8px!important;padding-bottom:8px!important}
/* layar 320 px: baris tombol memang melipat jadi dua (kalibrasi G20), jadi
   pembesarannya dikurangi supaya bilah tidak memakan 106 px dari 640. */
@media(max-width:345px){body.hal .hrow .seg{padding-top:7px!important;padding-bottom:7px!important}}

/* ================= T4/G38 — kepala besar, nomor halaman di bilah =================
   Berlaku HANYA di mode halaman (body.hal). Di mode Bersambung tidak ada nomor
   halaman sama sekali, jadi di sana tombol nomor disembunyikan dan "⤓ Loncat"
   kembali tampil apa adanya. */
body.hal .page-head{font-size:17px}
body.hal .page-head .ph-hl{display:none}
/* batas G20 hanya ada karena nomor dipaku di tengah; nomor sudah pindah. */
body.hal .page-head .ph-su{max-width:none}

#g38no{display:none;flex:0 0 auto;align-items:center;justify-content:center;
  font-family:inherit;font-size:19px;font-weight:700;line-height:1;
  font-variant-numeric:tabular-nums;min-width:58px;padding:12px 10px;
  border-radius:10px;cursor:pointer;border:1px solid var(--line);
  background:var(--bg);color:var(--ink)}
body.hal #g38no{display:flex}
#g38no small{font-size:10px;font-weight:600;opacity:.7;margin-right:3px}
/* Loncat digantikan tombol nomor — hanya di mode halaman. */
body.hal #btnLoncat{display:none}
/* Tombol mode jadi ikon supaya nomor muat satu baris. aria-label sudah
   ditambahkan ke HTML-nya, jadi pembaca layar tetap mendapat namanya. */
body.hal #mBersambung,body.hal #mMushaf{font-size:0;min-width:44px}
body.hal #mBersambung::before{content:"\1F4DC";font-size:18px}
body.hal #mMushaf::before{content:"\1F4D6";font-size:18px}
body.hal #mMushaf .tlg{display:none}
@media(max-width:345px){#g38no{min-width:50px;padding:8px 7px;font-size:17px}}

/* ================= T4/G40 — nomor ayat di blok terjemah & transliterasi =====
   Satu kelas dipakai kedua blok supaya nomornya SEJAJAR ketika 🇮🇩 dan 🔤
   menyala bersamaan. `font-style:normal` wajib: .translit-inline miring, dan
   angka miring terbaca seperti bagian dari kata pertama.
   SAKLAR MUNDUR: display:inline -> display:none. */
.ayno{display:inline;font-weight:700;color:var(--accent);font-style:normal;
  font-variant-numeric:tabular-nums;letter-spacing:.01em;
  -webkit-user-select:none;user-select:none;}

/* ===== blok 04 - <style id="g44css"> ===== */

/* ---------- 1 & 2. ikon garis monokrom + label teks ID/Latin ----------
   Emoji digambar oleh sistem HP (warna & ketebalannya di luar kendali kita),
   dan 🇮🇩 menandai NEGARA, bukan bahasa. Ikon dipasang sebagai MASK supaya
   mewarisi `currentColor` — jadi ia ikut berubah di mode gelap & saat aktif.
   Selektor 2 kelas + 1 id sengaja dipakai supaya mengalahkan aturan G38
   `body.hal #mMushaf::before{content:"\1F4D6"}` tanpa perlu !important. */
html.g44ikon body.hal #mBersambung,html.g44ikon body.hal #mMushaf,
html.g44ikon body.hal #mTrans,html.g44ikon body.hal #mLatin,
html.g44ikon body.hal #tGelap,html.g44ikon body.hal #btnSet{font-size:0}
html.g44ikon body.hal #mTrans .tlg,html.g44ikon body.hal #mLatin .tlg{display:none}
html.g44ikon body.hal #mBersambung::before,html.g44ikon body.hal #mMushaf::before,
html.g44ikon body.hal #mTrans::before,html.g44ikon body.hal #mLatin::before,
html.g44ikon body.hal #tGelap::before,html.g44ikon body.hal #btnSet::before{
  content:"";display:block;width:22px;height:22px;background:currentColor;
  -webkit-mask:var(--i) center/22px 22px no-repeat;mask:var(--i) center/22px 22px no-repeat}
html.g44ikon body.hal #mBersambung::before{--i:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'><path d='M4 6h16M4 10h16M4 14h16M4 18h10'/></svg>")}
html.g44ikon body.hal #mMushaf::before{--i:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M12 6.6C10.6 5.2 8.6 4.6 5.6 4.6H3.2v13h2.4c3 0 5 .6 6.4 2 1.4-1.4 3.4-2 6.4-2h2.4v-13h-2.4c-3 0-5 .6-6.4 2z'/><path d='M12 6.6v13'/></svg>")}
html.g44ikon body.hal #mTrans::before{--i:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'><circle cx='12' cy='12' r='8.6'/><path d='M3.4 12h17.2'/><path d='M12 3.4c2.5 2.7 2.5 14.5 0 17.2'/><path d='M12 3.4c-2.5 2.7-2.5 14.5 0 17.2'/></svg>")}
html.g44ikon body.hal #mLatin::before{--i:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'><path d='M4.5 7.5V5.2h15v2.3M12 5.2v13.6M9 18.8h6'/></svg>")}
html.g44ikon body.hal #tGelap::before{--i:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M20.2 14.6A8.6 8.6 0 0 1 9.4 3.8a8.6 8.6 0 1 0 10.8 10.8z'/></svg>")}
html.g44ikon body.hal #btnSet::before{--i:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'><path d='M3.5 7.5h9M17 7.5h3.5M3.5 16.5h3.5M11.5 16.5h9'/><circle cx='14.8' cy='7.5' r='2.3'/><circle cx='9.2' cy='16.5' r='2.3'/></svg>")}
html.g44label body.hal #mTrans::before,html.g44label body.hal #mLatin::before{
  -webkit-mask:none;mask:none;background:none;width:auto;height:auto;
  font-size:14px;font-weight:700;line-height:22px;letter-spacing:.02em}
html.g44label body.hal #mTrans::before{content:"ID"}
html.g44label body.hal #mLatin::before{content:"Latin"}
html.g44label body.hal #mTrans,html.g44label body.hal #mLatin{font-size:0}
html.g44label body.hal #mTrans .tlg,html.g44label body.hal #mLatin .tlg{display:none}

/* ---------- 3. satu warna hijau ---------- */
html.g44hijau .page-head span{background:rgba(27,94,63,.07);color:#4d4738}
html.g44hijau .pl-surah{background:rgba(27,94,63,.06);border-color:rgba(27,94,63,.20);color:var(--accent)}
html.g44hijau .page-line.tanda-baris.tb1{border-left-color:var(--accent);background:rgba(27,94,63,.05)}
html.g44hijau body.hal #g38no{border-color:rgba(27,94,63,.22)}
html[data-tema="gelap"].g44hijau .page-head span{background:rgba(76,175,125,.12);color:#cfe6da}
html[data-tema="gelap"].g44hijau .pl-surah{background:rgba(76,175,125,.10);border-color:rgba(76,175,125,.22)}

/* ---------- 4. tanda aktif halus ---------- */
html.g44aktif body.hal .hrow:not(.hrow2) button.seg.on{
  background:transparent;color:var(--accent);border-color:var(--line);position:relative}
html.g44aktif body.hal .hrow:not(.hrow2) button.seg.on::after{
  content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:7px;
  width:16px;height:2px;border-radius:2px;background:var(--accent)}
html[data-tema="gelap"].g44aktif body.hal .hrow:not(.hrow2) button.seg.on{color:#7fd6a8}
html[data-tema="gelap"].g44aktif body.hal .hrow:not(.hrow2) button.seg.on::after{background:#7fd6a8}

/* ---------- 5. bilah 7 -> 5 kelompok ----------
   Mode Mushaf disembunyikan karena ia SEDANG aktif; yang tersisa satu tombol
   "keluar ke Bersambung". Terjemah & Latin pindah ke lembar Aa (2 ketukan). */
html.g44bilah5 body.hal #mMushaf{display:none}
html.g44bilah5 body.hal #mTrans,html.g44bilah5 body.hal #mLatin{display:none}
#g44aa{display:none}
html.g44bilah5 body.hal #g44aa{display:flex;align-items:center;justify-content:center;
  font-size:15px;font-weight:700;min-width:44px;line-height:1}
#g44sheet{position:fixed;left:8px;right:8px;z-index:41;display:none;
  background:var(--panel);border:1px solid var(--line);border-radius:14px;
  box-shadow:var(--shadow);padding:10px 12px}
#g44sheet.on{display:block}
#g44sheet .r{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:9px 2px;font-size:14px;border-bottom:1px solid var(--line)}
#g44sheet .r:last-child{border-bottom:0}
#g44sheet button{padding:8px 14px}
#g44sheet .sw{min-width:64px;text-align:center}
#g44sheet .sw.on{background:var(--accent);color:#fff;border-color:var(--accent)}
#g45tslot select{font-size:13px;max-width:170px}

/* ---------- 6. garis kemajuan juz ----------
   position:absolute WAJIB: <header> memakai flex-direction:column-reverse (G37),
   jadi anak biasa akan muncul di BAWAH, bukan di tepi atas bilah. Karena ia
   diangkat dari aliran, tinggi .hrow — sumber G37BAR — tidak berubah 1 px pun. */
#g44prog{position:absolute;left:0;right:0;top:0;height:2px;display:none;
  background:rgba(27,94,63,.12);overflow:hidden}
html.g44progres body.hal #g44prog{display:block}
#g44prog i{display:block;height:100%;width:0;background:var(--accent);transition:width .25s ease}
html[data-tema="gelap"] #g44prog i{background:#4caf7d}

/* ---------- 8. bingkai halaman ----------
   Digambar di tepi `main`, DI DALAM zona padding 12 px milik G28 → tidak
   menyentuh satu huruf pun dan tidak mengubah lebar baris. */
html.g44bingkai body.hal main{position:relative}
html.g44bingkai body.hal main::before{content:"";position:absolute;
  left:2px;right:2px;top:2px;bottom:2px;pointer-events:none;border-radius:4px;
  border:1px solid rgba(27,94,63,.28);
  box-shadow:inset 0 0 0 2px transparent,inset 0 0 0 3px rgba(27,94,63,.14)}
html[data-tema="gelap"].g44bingkai body.hal main::before{
  border-color:rgba(76,175,125,.26);box-shadow:inset 0 0 0 2px transparent,inset 0 0 0 3px rgba(76,175,125,.12)}

/* ---------- 9. garis kepala kartu ---------- */
html.g44kepala .page-head{border-bottom:1px solid rgba(43,38,32,.09)}
html[data-tema="gelap"].g44kepala .page-head{border-bottom-color:rgba(232,227,217,.12)}
html.g44kepala .page-foot{border-top:1px solid rgba(43,38,32,.08)}

/* ---------- 10. pita sorot lebih lembut ---------- */
html.g44sorot .page-line.tanda-baris{border-radius:8px;border-left-width:3px;
  padding-left:7px;margin-left:-10px;padding-right:4px;margin-right:-4px}
html.g44sorot .page-line.tanda-baris.tb1{background:rgba(27,94,63,.045)}
html[data-tema="gelap"].g44sorot .page-line.tanda-baris.tb1{background:rgba(76,175,125,.055)}

/* ---------- 11. mode malam hangat ----------
   Kontras maksimum membuat harakat halus "berpendar" dan melelahkan mata. */
html[data-tema="gelap"].g44malam{--bg:#12100e;--paper:#17140f;--ink:#e8e3d9;
  --muted:#9a9182;--line:#2e2a23;--panel:#1b1712}
html[data-tema="gelap"].g44malam header{background:rgba(18,16,14,.96)}

/* ---------- 12. kepala 15 px & halaman diturunkan ----------
   Batas 17 px di G38 itu batas ATAS. Turun ke 15 px + padding-atas 10 px
   TERUKUR tidak mengubah ukuran huruf sedikit pun di ketiga layar uji. */
html.g45kepala15 body.hal .page-head{font-size:15px}
html.g45kepala15 body.hal main{padding-top:10px}

/* ---------- 13. ‹ 163 › ----------
   ARAH MUSHAF: panah KIRI = halaman SELANJUTNYA (nomor bertambah), sama dengan
   papan ketik ArrowLeft dan usapan jari yang sudah berlaku sejak G7/G17. */
.g45grp{display:flex;align-items:center;flex:0 0 auto}
body:not(.hal) .g45grp{display:none}
.g45arr{display:none}
html.g45nav body.hal .g45arr{display:flex;align-items:center;justify-content:center;
  min-width:34px;font-size:19px;line-height:1;padding-left:4px;padding-right:4px}
html.g45nav body.hal #g45maju{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:-1px}
html.g45nav body.hal #g45mundur{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}
html.g45nav body.hal #g38no{border-radius:0}
/* 320 px: kelonggaran tinggal ±24 px untuk 4 jarak antar-tombol (kalibrasi
   G20). Terukur: 5 kelompok memakai 272 px dari ±308 px yang tersedia. */
@media(max-width:345px){
  html.g45nav body.hal .g45arr{min-width:24px;padding-left:0;padding-right:0;font-size:17px}
  html.g45nav body.hal #g38no{min-width:44px;padding-left:5px;padding-right:5px}
}

/* ---------- 14. bilah sunyi ----------
   RUANGNYA DIBEKUKAN (keputusan Omar): G37BAR tidak disentuh & paskanTinggi()
   tidak dipanggil, jadi ukuran huruf TIDAK melompat tiap kali layar diketuk.
   Ini juga membuat pesan lama `g15Petunjuk()` benar kembali. */
html.g45sunyi body.hal header{transition:transform .22s ease}
html.g45sunyi body.hal.g45off header{transform:translateY(115%)}

/* ---------- 17. halaman diseimbangkan atas-bawah ----------
   Mengembalikan `justify-content:center` yang memang setelan asli baris 320;
   G37 mengubahnya jadi flex-start supaya sisa ruang berkumpul di atas bilah.
   Terukur di 360×800: sisa 48 px atas / 49 px bawah, huruf & --mlh tak berubah. */
html.g46seimbang body.hal main{justify-content:center}

/* ================= T4/G47 — bilah bawah di mode gulir =======================
   Semua aturan digerbangi `html.g47bawah` + `body:not(.hal)` supaya mode halaman
   (yang sudah diurus G37/G38/G44/G45) tidak tersentuh satu piksel pun. */

/* --- 1. bilah menempel ke bawah, tidak lagi ikut alur dokumen ---
   position:fixed (bukan sticky): ia tak menambah tinggi apa pun, jadi tak ada
   reflow saat muncul/sunyi — kaidah yang sama dipakai G15 dan G37. */
html.g47bawah header{position:fixed;left:0;right:0;top:auto;bottom:0;
  display:flex;flex-direction:column-reverse;transition:transform .22s ease;
  padding-bottom:calc(5px + env(safe-area-inset-bottom,0px))}
/* auto-hide LAMA (bilah atas) tak berlaku lagi.
   T4/G49 (Omar, 1 Agu 2026): perilaku bilah mode gulir jadi TIGA PILIHAN yang
   bisa diganti pembaca sendiri di panel ⚙ — `tetap` / `gulir` / `turun`.
   Kelasnya `g49off`, BUKAN `g45off` milik mode halaman: dipisah dengan sengaja
   supaya ketukan di mode halaman tak bisa lagi menyeret bilah mode gulir ikut
   sunyi (cacat yang dulu menghabiskan waktu paling banyak). */
html.g47bawah header.sembunyi{transform:none}
html.g47bawah body:not(.hal):not(.g49off) header{transform:none}
html.g47bawah body:not(.hal).g49off header{transform:translateY(115%)}
/* panel ⚙ & legenda mengembang KE ATAS, bukan menutupi tombol utama */
html.g47bawah header.buka .hrow2{margin-top:0;margin-bottom:8px}

/* --- 2. ruang bawah setinggi bilah supaya baris terakhir & #foot tak tertutup.
   Ruang ini diambil dari <body>, BUKAN dari tinggi kartu halaman, jadi rumus
   ukuran huruf tidak menerima masukan baru. --- */
html.g47bawah body:not(.hal){padding-bottom:calc(var(--g47bar,64px) + 12px)}

/* --- 3. sasaran sentuh 44 px (aturan G37).
   !important WAJIB: `.ikon{padding:5px 9px!important}` mengalahkan selektor apa
   pun tanpa itu, sehingga 🌙 dan ⚙ akan tetap 27 px sementara yang lain besar. */
html.g47bawah body:not(.hal) .hrow:not(.hrow2) .seg{
  padding-top:14px!important;padding-bottom:14px!important}
html.g47bawah body:not(.hal) .hrow2 .seg,
html.g47bawah body:not(.hal) .hrow2 select,
html.g47bawah body:not(.hal) .hrow2 label{
  padding-top:8px!important;padding-bottom:8px!important}
@media(max-width:345px){
  html.g47bawah body:not(.hal) .hrow:not(.hrow2) .seg{
    padding-top:7px!important;padding-bottom:7px!important}}

/* --- 4. lima kelompok, sama seperti mode Mushaf ---
   Mode yang SEDANG aktif disembunyikan; Terjemah & Latin pindah ke lembar Aa;
   "⤓ Loncat" digantikan tombol nomor halaman (ketuk nomor = buka Loncat). */
/* Bersambung: yang aktif = Bersambung -> yang tampil tombol Mushaf.
   Mushaf-digulir: yang aktif = Mushaf   -> yang tampil tombol Bersambung. */
html.g47bawah body:not(.hal):not(.mshf) #mBersambung{display:none}
html.g47bawah body.mshf:not(.hal) #mMushaf{display:none}
html.g47bawah body:not(.hal) #mTrans,
html.g47bawah body:not(.hal) #mLatin{display:none}
html.g47bawah body:not(.hal) #btnLoncat{display:none}
/* nomor juz kembar di bilah dilepas; pengganjal fleksibel menggantikannya —
   persis trik `body.mshf .hrow:not(.hrow2)::before` milik G15. */
html.g47bawah body:not(.hal) .jzsm{display:none}
html.g47bawah body:not(.hal) .hrow:not(.hrow2)::before{content:"";flex:1 1 auto}

/* --- 5. ikon garis monokrom (bentuk G44) untuk tiga tombol yang tampak ---
   Dipasang sebagai MASK supaya mewarisi currentColor: ikut berubah di mode
   gelap dan saat tombol aktif. */
html.g47bawah.g44ikon body:not(.hal) #mMushaf,
html.g47bawah.g44ikon body:not(.hal) #mBersambung,
html.g47bawah.g44ikon body:not(.hal) #tGelap,
html.g47bawah.g44ikon body:not(.hal) #btnSet{font-size:0}
/* min-width HANYA untuk tombol mode — persis seperti mode halaman (G38). 🌙 & ⚙
   dibiarkan 38 px di sana; menaikkannya jadi 44 px MELIPATKAN baris di layar
   320 px (terukur: 5 kelompok jadi 300,3 px dari 300 px yang tersedia). */
html.g47bawah.g44ikon body:not(.hal) #mMushaf,
html.g47bawah.g44ikon body:not(.hal) #mBersambung{min-width:44px}
html.g47bawah.g44ikon body:not(.hal) #mMushaf .tlg{display:none}
html.g47bawah.g44ikon body:not(.hal) #mMushaf::before,
html.g47bawah.g44ikon body:not(.hal) #mBersambung::before,
html.g47bawah.g44ikon body:not(.hal) #tGelap::before,
html.g47bawah.g44ikon body:not(.hal) #btnSet::before{
  content:"";display:block;width:22px;height:22px;background:currentColor;
  -webkit-mask:var(--i) center/22px 22px no-repeat;mask:var(--i) center/22px 22px no-repeat}
html.g47bawah.g44ikon body:not(.hal) #mMushaf::before{--i:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M12 6.6C10.6 5.2 8.6 4.6 5.6 4.6H3.2v13h2.4c3 0 5 .6 6.4 2 1.4-1.4 3.4-2 6.4-2h2.4v-13h-2.4c-3 0-5 .6-6.4 2z'/><path d='M12 6.6v13'/></svg>")}
html.g47bawah.g44ikon body:not(.hal) #mBersambung::before{--i:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'><path d='M4 6h16M4 10h16M4 14h16M4 18h10'/></svg>")}
html.g47bawah.g44ikon body:not(.hal) #tGelap::before{--i:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M20.2 14.6A8.6 8.6 0 0 1 9.4 3.8a8.6 8.6 0 1 0 10.8 10.8z'/></svg>")}
html.g47bawah.g44ikon body:not(.hal) #btnSet::before{--i:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'><path d='M3.5 7.5h9M17 7.5h3.5M3.5 16.5h3.5M11.5 16.5h9'/><circle cx='14.8' cy='7.5' r='2.3'/><circle cx='9.2' cy='16.5' r='2.3'/></svg>")}

/* --- 6. tombol Aa (terjemah · latin · ukuran huruf · pewarnaan tajwid) ---
   Di mode gulir A−/A+ SUNGGUH berfungsi (di mode halaman ia memang dimatikan
   karena huruf mengikuti lebar halaman), jadi lembar ini lebih berguna di sini. */
html.g47bawah body:not(.hal) #g44aa{display:flex;align-items:center;
  justify-content:center;font-size:15px;font-weight:700;min-width:44px;line-height:1}

/* --- 7. ‹ Hlm N › --- */
html.g47bawah body:not(.hal) .g45grp{display:flex;align-items:center;flex:0 0 auto}
html.g47bawah body:not(.hal) #g38no{display:flex}
html.g47bawah.g45nav body:not(.hal) .g45arr{display:flex;align-items:center;
  justify-content:center;min-width:34px;font-size:19px;line-height:1;
  padding-left:4px;padding-right:4px}
html.g47bawah.g45nav body:not(.hal) #g45maju{
  border-top-right-radius:0;border-bottom-right-radius:0;margin-right:-1px}
html.g47bawah.g45nav body:not(.hal) #g45mundur{
  border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}
html.g47bawah.g45nav body:not(.hal) #g38no{border-radius:0}
@media(max-width:345px){
  html.g47bawah.g45nav body:not(.hal) .g45arr{
    min-width:24px;padding-left:0;padding-right:0;font-size:17px}
  html.g47bawah.g45nav body:not(.hal) #g38no{
    min-width:44px;padding-left:5px;padding-right:5px}}

/* --- 8b. "Hlm" DIGANTI lambang kecil ▾ di BELAKANG angka (T4/G48) ------------
   Dipilih Omar dari `pratinjau-lambang-g48.html` (12 calon dicoba di HP).
   Maknanya: "angka ini bisa diketuk untuk pindah" -- dan memang begitu, ketuk
   nomor = membuka lembar Loncat.

   SENGAJA CSS SAJA, tidak menyentuh satu baris JS pun. Isi tombol tetap
   ditulis `<small>Hlm</small>N` oleh DUA penulis yang berbeda -- `salin()`
   milik G38 untuk mode halaman dan `segarNo()` milik G47 untuk mode gulir --
   jadi mengubahnya di CSS membetulkan keduanya sekaligus, tanpa risiko
   memancing MutationObserver yang mengintai #view (pelajaran G38: menulis
   nilai yang sama tetap memicu mutasi -> loop tak berujung).

   `title` & `aria-label` tombolnya TIDAK diubah -- masih berbunyi "Halaman
   mushaf - ketuk untuk Loncat" -- jadi pembaca layar tetap mendengar kata
   "halaman" walau matanya tak lagi melihat tulisan "Hlm".

   Lambangnya ▾ (U+25BE), BUKAN lambang empat-arah: ✥ ✜ ✛ ✚ ✟ semuanya
   menyerupai salib dan tidak pantas di aplikasi Al-Qur'an. ▾ juga 13 px lebih
   sempit dari "Hlm" di 360 px -- kelonggaran yang berharga karena di 320 px
   bilah lima kelompok cuma bersisa ±0,3 px.
   Lambangnya ditulis sebagai AKSARA LANGSUNG (▾), bukan escape CSS `\25BE`:
   blok CSS ini hidup di dalam untaian Python, dan di sana `\25` terbaca
   sebagai escape OKTAL Python -> yang tertulis ke berkas jadi U+0015 + "BE".
   Terbukti di uji: `content` terbaca "\15 BE" dan yang tampil bukan ▾.
   SAKLAR MUNDUR: buang kelas `g48tanda` dari tag <html> -> "Hlm" kembali. */
html.g48tanda #g38no small{display:none}
html.g48tanda #g38no::after{content:"▾";margin-left:3px;font-size:12px;
  font-weight:400;opacity:.6;line-height:1;flex:0 0 auto}
@media(max-width:345px){
  html.g48tanda #g38no::after{font-size:11px;margin-left:2px}}

/* --- 9. tinggi tombol bilah DISERAGAMKAN — berlaku di KEDUA mode ---
   Warisan G44: tombol ikon 52 px, "Aa" 45 px, kelompok ‹ Hlm N › 49 px. Titik
   tengahnya sejajar sehingga tak tampak melipat, tapi tepi atas-bawahnya tidak
   rata. Diperbaiki dengan `align-items:stretch`, BUKAN `min-height`: tinggi
   barisnya tetap ditentukan oleh tombol TERTINGGI, jadi `G37BAR` tidak berubah
   satu piksel pun dan rumus ukuran huruf mode halaman tidak menerima masukan
   baru. (Dibuktikan di uji banding: huruf & --mlh sama persis.)
   Saklar mundurnya sendiri: buang kelas `g47rata` dari tag <html>. */
html.g47rata .hrow:not(.hrow2){align-items:stretch}
html.g47rata .hrow:not(.hrow2) > .brand,
html.g47rata .hrow:not(.hrow2) > .jzsm,
html.g47rata .hrow:not(.hrow2) > .legend{align-self:center}
html.g47rata .hrow:not(.hrow2) .g45grp{align-items:stretch}
/* tombol nomor & panah sudah flex sejak G38/G45; yang perlu ditegaskan hanya
   perataan tegaknya supaya isinya tetap di tengah setelah diregangkan. */
html.g47rata .hrow:not(.hrow2) #g38no,
html.g47rata .hrow:not(.hrow2) #g44aa,
html.g47rata .hrow:not(.hrow2) .g45arr{align-items:center}

/* --- 8. garis kemajuan juz 2 px di tepi atas bilah ---
   absolute WAJIB: <header> memakai column-reverse, anak biasa akan jatuh ke
   BAWAH. Karena diangkat dari aliran, tinggi .hrow tidak berubah 1 px pun. */
html.g47bawah.g44progres body:not(.hal) #g44prog{display:block}

/* ===== blok 05 - <style id="g52css"> ===== */

/* T4/G52 — penanda "sedang memuat" untuk #view yang belum digambar.
   render() baru berjalan di ~76 % berkas, jadi bidang tengah kosong lama.
   :empty berhenti cocok sendiri begitu innerHTML diisi -> tak perlu JS.
   Saklar mundur: buang kelas g52memuat dari <html>. */
html.g52memuat #view:empty{min-height:60vh;position:relative}
html.g52memuat #view:empty::before{
  content:"Memuat…";
  position:absolute;left:0;right:0;top:38%;
  text-align:center;font-size:15px;line-height:1.5;
  color:var(--muted);letter-spacing:.02em;
}

/* T4/G52b — selama #view masih kosong, tombol nomor halaman baru berisi "▾"
   saja (angkanya ditulis JS yang belum jalan). Disembunyikan sementara supaya
   bilah tidak menampilkan tombol setengah jadi. :has() tak didukung peramban
   lama -> aturan diabaikan, tak ada kerusakan. Saklar mundur sama: buang
   kelas g52memuat dari <html>. */
html.g52memuat body:has(#view:empty) #g38no{visibility:hidden}

/* ===== blok 06 - <style id="g54css"> ===== */

/* ================= T4/G54 — bilah bawah ditata ulang + kepala lengket =======
   Semua bergerbang kelas pada <html>: `g54` (bilah) dan `g54lengket` (kepala).
   Blok ini SENGAJA diletakkan paling akhir di <head>: kekhususan selektornya
   dibuat SAMA PERSIS dengan aturan G44/G47 yang dilawan (1 id, 2 kelas, 2
   elemen), jadi yang menentukan adalah urutan sumber — bukan `!important`.
============================================================================ */

/* --- 1. tukar letak: [🌙 ⚙] ‹ N › [☰ Aa ID] --------------------------------
   `order` saja; DOM tidak disentuh. Pengganjal ::before milik G47 ber-order 0
   sehingga tetap di paling kiri dan bilah tetap terpusat seperti sebelumnya. */
html.g54 .hrow:not(.hrow2) #tGelap{order:1}
html.g54 .hrow:not(.hrow2) #btnSet{order:2}
html.g54 .hrow:not(.hrow2) .g45grp{order:3}
html.g54 .hrow:not(.hrow2) #mBersambung,
html.g54 .hrow:not(.hrow2) #mMushaf{order:4}
html.g54 .hrow:not(.hrow2) #g44aa{order:5}
html.g54 .hrow:not(.hrow2) #mTrans{order:6}

/* --- 2. tombol "ID" berdiri sendiri di pojok kanan --------------------------
   Wujud "ID" adalah bentuk yang SUDAH dipilih Omar di G44 (html.g44label);
   di sini ia hanya diberlakukan juga untuk mode gulir, yang dulu tak perlu
   karena tombolnya memang disembunyikan. Padding mendatar dipangkas dari 12 px
   menjadi 7 px: itulah yang membuat kelompok keenam muat. */
html.g54 body.hal #mTrans,
html.g54 body:not(.hal) #mTrans{
  display:flex;align-items:center;justify-content:center;
  min-width:38px;font-size:0;padding-left:7px;padding-right:7px}
html.g54 body.hal #mTrans .tlg,
html.g54 body:not(.hal) #mTrans .tlg{display:none}
html.g54 body.hal #mTrans::before,
html.g54 body:not(.hal) #mTrans::before{
  content:"ID";display:block;-webkit-mask:none;mask:none;background:none;
  width:auto;height:auto;font-size:14px;font-weight:700;
  line-height:22px;letter-spacing:.02em}
/* baris kembarnya di lembar Aa dilepas — kalau tidak, satu saklar punya dua
   tempat dan pembaca bisa melihat keduanya tak sinkron sesaat. */
html.g54 #g54trow{display:none}

/* --- 3. tangga lebar layar -------------------------------------------------
   TERUKUR di Chromium (deviceScaleFactor 1, isMobile) dengan uji_g54.mjs.
   Lebar DALAM <header> = lebar layar - 20 px (padding 7px 10px 5px).
   Enam kelompok ukuran penuh memakai 350,7 px; versi padat memakai 320,7 px.
     * >= 375 px : enam kelompok ukuran penuh muat (350,7 dari >=355).
     * >= 345 px : muat setelah panah ‹ › & nomor dipadatkan (320,7 dari >=325)
                   — aturan padat yang sudah ada di G45 (@media max-width:345px)
                   dipinjam ke sini dengan ambang dinaikkan ke 374 px.
     * <  345 px : TIDAK muat (di 344 px hanya tersedia 324 px). Tombol ID
                   ditarik kembali ke lembar Aa; bilah kembali lima kelompok.
                   Ini jujur: lebih baik dua ketukan daripada bilah melipat
                   jadi dua baris. Ambang diberi kelonggaran ±4 px supaya
                   pembulatan lebar huruf di HP lain tidak menjatuhkannya. */
@media(max-width:374px){
  html.g54.g45nav .hrow:not(.hrow2) .g45arr{
    min-width:24px;padding-left:0;padding-right:0;font-size:17px}
  html.g54.g45nav .hrow:not(.hrow2) #g38no{
    min-width:44px;padding-left:5px;padding-right:5px}
}
@media(max-width:344px){
  html.g54 body.hal #mTrans,
  html.g54 body:not(.hal) #mTrans{display:none}
  html.g54 #g54trow{display:flex}
}

/* --- 4. kepala kartu lengket (mode gulir saja) -----------------------------
   HANYA `body:not(.hal)`: di mode satu-halaman-satu-layar tidak ada gulir sama
   sekali, jadi aturan ini tak punya pekerjaan di sana dan sengaja tak dipasang.
   `background` wajib — kepala kartu aslinya tembus pandang, dan tanpa itu
   huruf Arab akan terbaca menembus kepala yang sedang menempel.
   Rok 8 px `box-shadow:0 8px 0` menambal celah `margin-bottom:8px` TANPA
   mengubah tata letak satu piksel pun (bayangan tidak menempati ruang) —
   kalau celah itu ditambal dengan padding, garis putus-putusnya ikut turun.
   Nomor halaman dilepas (pilihan Omar): ia sudah hidup di bilah bawah. */
html.g54lengket body:not(.hal) .page-head{
  position:sticky;top:0;z-index:6;
  background:var(--paper);
  box-shadow:0 8px 0 0 var(--paper)}
html.g54lengket body:not(.hal) .page-head .ph-hl{display:none}

/* ===== blok 07 - <style id="g55css"> ===== */

/* ============== T4/G55 — kepala berjalan mode Bersambung ====================
   Bentuknya sengaja MENIRU `.page-head` milik mode Mushaf supaya pembaca
   melihat satu bahasa yang sama, tetapi KELASNYA sendiri — lihat alasannya di
   kepala patch_reader_g55.py (tiga fungsi hidup menanyai `#view .page-head`).
   Tergambar HANYA di mode Bersambung (`:not(.hal):not(.mshf)`).
============================================================================ */
.g55kepala{display:none}
html.g55 body:not(.hal):not(.mshf) .g55kepala{
  display:flex;align-items:center;gap:8px;
  margin:0 0 8px;padding-bottom:6px;
  border-bottom:1px dashed var(--line);
  font-size:12px;line-height:1.35}
.g55kepala span{background:#f1ebdd;border-radius:20px;padding:2px 10px;color:#5c5443}
html[data-tema="gelap"] .g55kepala span{background:#1b2a22;color:#cfe3d8}
/* warna hijau tunggal G44 — nilainya disalin dari aturan `.page-head span`
   supaya kedua mode benar-benar sewarna, bukan sekadar mirip. */
html.g44hijau .g55kepala span{background:rgba(27,94,63,.07);color:#4d4738}
html[data-tema="gelap"].g44hijau .g55kepala span{background:rgba(76,175,125,.12);color:#cfe6da}
.g55kepala .g55su{flex:0 1 auto;min-width:0;margin-right:auto;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.g55kepala .g55jz{flex:0 0 auto}

/* --- lengket: DIGERBANG `g54lengket`, kelas yang sama dengan kepala kartu
   mushaf. Satu saklar di ⚙ mengurus keduanya; tak ada gerbang kedua yang bisa
   jatuh tak sinkron. Rok 8 px menambal celah `margin-bottom:8px` tanpa
   menempati ruang — kaidah yang sama dipakai G54. */
html.g55.g54lengket body:not(.hal):not(.mshf) .g55kepala{
  position:sticky;top:0;z-index:6;
  background:var(--bg);box-shadow:0 8px 0 0 var(--bg)}

/* ===== blok 08 - <style id="g56css"> ===== */

/* ============ T4/G56 — kepala kartu lengket juga di MODE HALAMAN ============
   G54 menggerbangi kepala lengket dengan `body:not(.hal)` karena mode halaman
   memang tak bisa digulir. Itu berhenti benar begitu terjemah/transliterasi
   dinyalakan: blok terjemah disisipkan di antara baris dan halaman menjadi
   2,2x tinggi layar (terukur 1.861 px di 390x844). Pengecualian itu dicabut.

   Tidak ada pendeteksi "sedang bisa digulir atau tidak" — `position:sticky`
   memang tidak berbuat apa-apa bila tak ada yang digulir. Terukur: tanpa
   terjemah, mode halaman tetap pas satu layar dan kepalanya tak bergeser.

   Latar `var(--bg)` (BUKAN `--paper`): `body.hal .page` sengaja bening, jadi
   yang ada di belakang kepala adalah latar body. Rok 5 px mengikuti
   `body.hal .page-head{margin-bottom:5px}` — di mode gulir marginnya 8 px.

   Digerbang `g54lengket` supaya saklar ⚙ milik G55 mengurus yang ini juga.
============================================================================ */
html.g56.g54lengket body.hal .page-head{
  position:sticky;top:0;z-index:6;
  background:var(--bg);box-shadow:0 5px 0 0 var(--bg)}

/* ===== blok 09 - <style id="g57css"> ===== */

/* ========== T4/G57 — nomor tepat di tengah, bilah 2 lawan 2 ================
   kiri  🌙 44 + 4 + ⚙ 44  = 92 px      kanan  Aa 44 + 4 + ID 44 = 92 px
   Dua pengganjal `flex:1 1 0` mengapit kelompok nomor; karena rel kiri dan
   kanan sama lebar, pusat nomor jatuh TEPAT di pusat layar.
=========================================================================== */

/* --- 1. tombol ganti mode turun ke panel ⚙ (jadi kotak-centang, lihat g57js) */
html.g57 .hrow:not(.hrow2) #mBersambung,
html.g57 .hrow:not(.hrow2) #mMushaf{display:none}

/* --- 2. `.hrow` selebar penuh; pemusatan diambil alih pengganjal ----------
   Dulu `.hrow` menyusut-pas dan dipusatkan `margin:auto` — cara itu memusatkan
   SELURUH gugus tombol, bukan nomornya. */
html.g57 .hrow:not(.hrow2){width:100%;margin-left:0;margin-right:0}

/* --- 3. pengganjal lama G47 dinolkan ------------------------------------
   `html.g47bawah body:not(.hal) .hrow::before{flex:1 1 auto}` masih hidup di
   mode Bersambung dan akan MENELAN seluruh ruang sisa pada tahap flex-grow —
   yaitu sebelum margin auto sempat bekerja. Di mode mushaf ia sudah dimatikan
   sendiri oleh G38 (`body.mshf ...::before{content:none!important}`), jadi yang
   perlu dinolkan hanya yang di mode Bersambung. Cukup `flex:0 0 0`; isinya
   memang kosong sehingga lebarnya jatuh ke 0 tanpa perlu melawan `!important`. */
html.g57.g47bawah body:not(.hal) .hrow:not(.hrow2)::before{content:none}
/* `flex:0 0 0` saja TIDAK cukup: lebarnya memang jadi 0, tetapi JARAK
   ANTAR-ITEM 4 px di sebelahnya tetap dihitung, dan itu menggeser nomor
   tepat +2 px (terukur di keenam lebar layar). Pengganjalnya harus benar-benar
   ditiadakan, bukan sekadar dikempiskan. */

/* --- 3c. di layar lebar, judul Reader mengambil barisnya sendiri ----------
   Di >=761 px `.brand` (212,8 px) muncul di baris yang SAMA dan membuat rel
   kiri 3,4x lebih lebar dari rel kanan -> nomor melenceng 139 px. Diberi
   `flex:0 0 100%` supaya ia memakai satu baris penuh dan baris tombol di
   bawahnya bisa dipusatkan dengan benar. Hanya berlaku di layar lebar; di HP
   `.brand` memang sudah display:none. */
@media(min-width:761px){
  html.g57 .hrow:not(.hrow2) > .brand{flex:0 0 100%}
}

/* --- 3b. nomor dipusatkan SEPASANG margin auto, bukan pengganjal ----------
   Ruang sisa satu baris dibagi RATA ke kiri dan kanan kelompok nomor (kaidah
   flexbox: margin auto menyerap sisa ruang, dan bila ada dua, dibagi sama).
   Karena rel kiri (44+4+44) dan rel kanan (44+4+44) sama persis, titik tengah
   ruang sisa = titik tengah layar. Nol elemen baru, nol `!important`.
   Urutan tombolnya sendiri sudah benar sejak G54 (1,2,3,[4 tersembunyi],5,6). */
html.g57 .hrow:not(.hrow2) .g45grp{margin-left:auto;margin-right:auto}
/* WAJIB: G38 memasang `.hrow:not(.hrow2) #tGelap{margin-left:auto}` sebagai
   pendorong ke kanan waktu bilah masih di ATAS. Margin auto KETIGA itu ikut
   kebagian ruang sisa (terukur: 49,3 px dibagi TIGA = 16,42 px per margin),
   sehingga nomor melenceng +9,5 px. Dinolkan supaya sisa ruang dibagi DUA. */
html.g57 .hrow:not(.hrow2) #tGelap{margin-left:0}

/* --- 4. empat tombol diseragamkan 44 px ----------------------------------
   Sasaran sentuh yang memang dituju G37. Penolakan G47 atas 44 px berlaku
   untuk lima kelompok; sekarang tinggal empat. */
html.g57 .hrow:not(.hrow2) #tGelap,
html.g57 .hrow:not(.hrow2) #btnSet,
html.g57 .hrow:not(.hrow2) #g44aa,
html.g57 .hrow:not(.hrow2) #mTrans{min-width:44px;padding-left:8px;padding-right:8px}
/* Padding mendatar dipakukan 8 px supaya lebar ALAMI keempatnya selalu di bawah
   44 px, sehingga `min-width` yang menentukan dan keempatnya persis sama lebar
   di setiap lebar layar. Tanpa ini, di >=761 px `.seg` memakai padding 12 px dan
   "Aa" melar jadi 45,2 px -> rel kanan 1,2 px lebih lebar -> nomor melenceng
   0,6 px. (`.ikon{padding:5px 9px!important}` milik 🌙 & ⚙ tetap menang atas
   baris ini, dan itu tidak apa-apa: 22 px ikon + 18 px padding = 40 px < 44.) */

/* --- 5. tangga G54 dipensiunkan ------------------------------------------
   Empat tombol memakai 320,7 px di 390 px dan 285,9 px di 320 px, jadi dua
   pagar darurat G54 tak punya pekerjaan lagi. Aturan padat ASLI milik G45
   (<=345 px) sengaja dibiarkan hidup. */
@media(max-width:344px){
  html.g57 body.hal #mTrans,
  html.g57 body:not(.hal) #mTrans{display:flex}
  html.g57 #g54trow{display:none}
}
@media(min-width:346px) and (max-width:374px){
  html.g57.g45nav .hrow:not(.hrow2) .g45arr{
    min-width:34px;padding-left:4px;padding-right:4px;font-size:19px}
  html.g57.g45nav .hrow:not(.hrow2) #g38no{
    min-width:auto;padding-left:10px;padding-right:10px}
}

/* --- 6. kotak-centang mode di panel ⚙ ------------------------------------ */
#g57wrap{display:none}
html.g57 #g57wrap{display:inline-flex}

/* ===== blok 10 - <style id="g58css"> ===== */

/* ============ T4/G58 — RALAT G57: pemusatan bilah di layar lebar ===========
   G57 menulis `margin-left:0;margin-right:0` pada `.hrow` untuk mematikan
   pemusatan lama. Itu benar selama `width:100%` mengikat — tetapi `.hrow` juga
   punya `max-width:1000px`, dan di atas ~1.028 px max-width-lah yang mengikat,
   sehingga kotak 1.000 px merapat ke tepi kiri (terukur: meleset -254 px di
   1.536 px). Margin auto dikembalikan; di layar sempit ia tetap 0 karena tak
   ada ruang sisa, jadi pemusatan nomor 0,0 px di HP tidak tersentuh.
=========================================================================== */
html.g58 .hrow:not(.hrow2){margin-left:auto;margin-right:auto}

/* ===== blok 11 - <style id="frasaV24css"> ===== */

/* ===== FRASA-V24 - lapisan potongan (chunk) ================================
   Percobaan pertama memberi latar pada TIAP KATA lalu mencoba menutup celah
   antar-kata dengan `padding .16em; margin -.16em`. Potret peramban
   membuktikannya GAGAL: baris mushaf di-`text-align:justify`, jadi spasi antar
   kata MELAR mengikuti lebar baris - jauh lebih lebar daripada 0,195em spasi
   asli font. Hasilnya bukan satu pita, melainkan kotak-kotak terpisah.
   ([[kaidah-uji-dan-metrik]]: potret peramban menangkap yang uji teks tak bisa.)

   Karena itu potongan dibungkus SATU elemen sungguhan (`.frW`) yang juga
   memuat spasi di dalamnya, dengan `box-decoration-break:clone` supaya tetap
   utuh saat potongannya pecah ke baris berikutnya. */
/* --- Pilihan cakupan: "B - garis tipis" (keputusan Omar, 24 Agu 2026) -------
   Versi pertama memakai ISIAN (stabilo) `rgba(230,160,20,.16)` + sudut bulat.
   Diukur & dipotret: di level T4 pita menutup 54 % halaman mushaf (28 pita,
   68 dari 126 kata) - separuh halaman jadi stabilo, dan "menandai semuanya
   sama dengan tidak menandai apa pun".

   Yang DIPILIH bukan mempersempit cakupannya, melainkan MERINGANKAN BOBOTNYA:
   cakupan tetap ikut level (semua potongan yang sudah terbuka untuk pelajar,
   sehingga tabel payoff tetap sahih dan sinyal kemajuan tidak hilang), tetapi
   pitanya digambar sebagai GARIS TIPIS tanpa isian. Bandingannya ada di
   `_kerja-frasa/banding-cakupan-pita.png`.

   PENTING - padding mendatar WAJIB dibatalkan margin negatif yang sama besar.
   `.frW` berada di dalam baris mushaf; lebar yang bertambah akan menggeser
   perataan baris. (Bahaya yang sama sudah ditulis di `.tj{padding:0}` dan di
   kelas `.w` pada [[tanda-mushaf-g65]].) .18em - .18em = 0. */
/* ⚠ 12 Sep 2026 — KEDIPAN GARIS (laporan Omar: pita berkedip saat halaman
   digeser naik/turun, mode Mushaf). Sebabnya BUKAN tebalnya, melainkan CARA
   menggambarnya. `box-shadow` kotaknya DIBULATKAN Chrome ke baris
   piksel-perangkat utuh, jadi tingginya melompat ±1 baris tiap kali posisi
   sub-pikselnya berubah — dan itulah kedipannya.
   Terukur (Chromium 390x844, DPR 2,75, 10 posisi sub-piksel, tinta emas saja):
       box-shadow .085em : ayunan tinta 19,4 %   <- berkedip
       border-bottom 2px : ayunan tinta  0,2 %   <- diam
   Tepi (border) di-anti-alias mulus dan TIDAK dibulatkan; itu satu-satunya
   bedanya. Diuji juga di DPR 2 / 2,625 / 3 dan di --mfs 20,7px & 26px.
   ⚠ Tebal DIPATOK 2px, BUKAN em: Chrome MEMBULATKAN KE BAWAH border-width
   pecahan (.085em pada 20,7px -> 1px; pada 26px -> 2px), jadi em justru
   membuat garisnya beda tebal antar mode.
   ⚠ Tata letak TIDAK bergerak: border pada kotak INLINE tidak menambah tinggi
   baris — terukur 29 dari 29 kata `.w` bergeser 0,000 px, --mfs & tinggi
   dokumen sama persis. Kaidah margin negatif -.18em di bawah tetap berlaku. */
body.frOn .frW{
  background:none;
  padding:.02em .18em;margin:0 -.18em;
  border-bottom:2px solid var(--frln,rgba(200,130,10,.55));
  -webkit-box-decoration-break:clone;box-decoration-break:clone;
  cursor:pointer;}
html.gelap body.frOn .frW{
  border-bottom-color:rgba(255,205,90,.5);}
/* potongan yang PECAH ke baris lain: tak ada sudut yang perlu diluruskan lagi
   karena pitanya tidak berisian - aturan ini disisakan sebagai jangkar uji. */
body.frOn .frW.frLanjut{border-start-start-radius:0;border-end-start-radius:0}
/* ===== T4/G144 — MUTASYABIHAT (frasa berulang) ==============================
   Sengaja DIBEDAKAN dari .frW di atas: garis frasa kurikulum itu UTUH dan
   keemasan, garis mutasyabihat PUTUS-PUTUS dan kebiruan. Keduanya bisa
   menyala bersamaan (dua saklar terpisah di panel ⚙), jadi bedanya harus
   terbaca tanpa legenda.
   Tebal DIPATOK 2px dengan alasan yang sama persis seperti .frW: Chrome
   membulatkan ke bawah border-width pecahan, sehingga satuan em membuat
   garisnya beda tebal antar ukuran huruf. Padding/margin saling menghapus
   (+.18em / -.18em) supaya tata letak tidak bergeser satu piksel pun. */
body.msyOn .msyW{
  background:none;
  padding:.02em .18em;margin:0 -.18em;
  border-bottom:2px dotted var(--msyln,rgba(20,110,150,.62));
  -webkit-box-decoration-break:clone;box-decoration-break:clone;
  cursor:pointer;}
html.gelap body.msyOn .msyW{
  border-bottom-color:rgba(120,205,240,.55);}
/* ===== T4/G152 — LENCANA "ayat ke-N dari M" pada frasa mutasyabihat =======
   Gagasan D: yang dibutuhkan penghafal dari lapisan mutasyabihat bukan
   sorotan kedua (frasanya sudah disorot lapisan kurikulum) melainkan jawaban
   "ada berapa dan ini yang keberapa". Karena itu angkanya dipajang, bukan
   garis lagi.
   ⚠ M = jumlah AYAT yang memuat frasa itu, BUKAN jumlah kemunculan; 36 ayat
   memuat frasa yang sama lebih dari sekali. Lihat mutasyabihat.js.
   ⚠ TATA LETAK: lencana WAJIB position:absolute. Elemen inline biasa akan
   menambah lebar dan menggeser perataan baris mushaf — kaidah yang sama
   sudah berlaku untuk .frW dan .w (lihat blok G144 di atas). Kotak penahannya
   adalah `.msyW[data-urut]` yang dibuat position:relative; `position` pada
   kotak inline tidak mengubah alirannya.
   Lencana hanya pada frasa yang memang berulang (M > 1) dan hanya pada
   PENGGAL TERAKHIR frasa, supaya satu frasa tidak memajang dua angka. */
body.msyOn .msyW[data-urut]{position:relative}
body.msyOn .msyW[data-urut]::after{
  content:attr(data-urut);
  /* ⚠ Ditambatkan ke TEPI BAWAH, bukan tepi atas: dicoba tiga letak dan
     dipotret di 390 px — di atas frasa angkanya melayang di celah antar baris
     dan bisa terbaca milik baris DI ATASNYA; tepat di garis ia bertumpuk
     dengan garis itu sendiri. -1,02em menaruhnya persis di bawah ujung garis,
     menempel pada frasanya sendiri dan tidak menyentuh apa pun.
     Ukuran .40em = 10,4 px saat huruf mushaf 26 px (terukur). */
  position:absolute;inset-block-end:-1.02em;inset-inline-end:-.10em;
  font-size:.40em;line-height:1;letter-spacing:.02em;
  font-family:system-ui,-apple-system,sans-serif;font-weight:600;
  color:var(--msyln,rgba(20,110,150,.62));
  pointer-events:none;white-space:nowrap}
html.gelap body.msyOn .msyW[data-urut]::after{color:rgba(120,205,240,.72)}
/* ===== T4/G151 — BOBOT saat kedua lapisan menandai kata yang sama ==========
   Terukur 21 Sep 2026: dari 4.683 frasa kurikulum yang panjangnya >=3 kata,
   2.714 (58 %) juga mutasyabihat. Di layar Juz 30 (390 px) 22 dari 22 `.msyW`
   berada DI DALAM `.frW`. Dengan aturan lama keduanya sama-sama 2px dan
   dipisah .16em (terukur 3,64 px), jadi satu kata memakai DUA garis setara
   yang saling berebut — itulah yang dikeluhkan.
   Sekarang garis mutasyabihat pada kata bertindih diturunkan bobotnya jadi
   RAMBUT 1px dan ditempelkan PERSIS di bawah garis emas (jarak 1 px terukur),
   sehingga terbaca sebagai SATU hiasan bersusun, bukan dua garis.
   Yang TIDAK berubah: mutasyabihat yang berdiri sendiri tetap 2px putus-putus
   (potret sebelum/sesudah IDENTIK piksel demi piksel untuk keadaan itu).
   Jadi ketiga keadaan kini bisa dibedakan tanpa legenda:
       emas utuh saja            -> frasa kurikulum, bukan mutasyabihat
       emas utuh + rambut biru   -> frasa kurikulum yang juga mutasyabihat
       putus-putus biru 2px saja -> mutasyabihat di luar kurikulum (1.030)
   Pagar tata letak: terukur 40 dari 40 kata `.w` bergeser 0,000 px dan tinggi
   dokumen tetap 2.287 px (sebelum = sesudah). */
body.frOn.msyOn .frW .msyW,
body.frOn.msyOn .msyW .frW{
  padding-bottom:calc(.02em + 2px);
  border-bottom-width:1px;
  border-bottom-color:var(--msyln2,rgba(20,110,150,.8));}
html.gelap body.frOn.msyOn .frW .msyW,
html.gelap body.frOn.msyOn .msyW .frW{border-bottom-color:rgba(120,205,240,.72)}
/* blok panel ayat */
#msySect .msy-b{padding:8px 0;border-top:1px solid var(--garis,rgba(0,0,0,.08))}
#msySect .msy-b:first-of-type{border-top:0}
#msySect .msy-ar{font-size:1.28em;line-height:2;direction:rtl;text-align:right}
#msySect .msy-ket{font-size:12px;opacity:.75;margin-top:2px}
#msySect .msy-l{margin-top:4px;font-size:12.5px;line-height:1.9}
#msySect .msy-l a{display:inline-block;margin-inline-end:6px;padding:1px 7px;
  border:1px solid var(--accent);border-radius:999px;color:var(--accent);
  text-decoration:none}
#msySect .msy-sisa{font-size:12px;opacity:.7}
/* ===== T4/G145 — AYAT SERUPA & KEMBARAN DEKAT ==============================
   Lapisan KETIGA di atas teks, sesudah frasa kurikulum (.frW, garis emas utuh)
   dan mutasyabihat (.msyW, garis biru putus-putus). Supaya tidak jadi tiga
   garis yang sulit dibedakan, lapisan ini TIDAK memakai garis bawah: kata
   PEMBEDA diberi latar tipis, dan nomor ayat yang punya kembaran diberi
   lencana. Jadi ketiganya bisa menyala bersamaan tanpa saling menyamar.
   Latar dipilih, bukan tepi, juga karena alasan tata letak: latar tidak
   menambah tinggi baris sama sekali. */
body.srpOn .srpW{
  background:var(--srpbg,rgba(20,110,150,.13));
  border-radius:.25em;padding:.02em .16em;margin:0 -.16em;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;}
html.gelap body.srpOn .srpW{background:rgba(120,205,240,.2)}
body.srpOn .num.srpNum{position:relative}
body.srpOn .num.srpNum::after{
  content:"\2261";                     /* ≡ tiga garis = "ada kembarannya" */
  position:absolute;inset-block-start:-.35em;inset-inline-end:-.55em;
  font-size:.5em;line-height:1;opacity:.85;
  color:var(--srpln,#0e6f96);font-family:system-ui,sans-serif}
body.srpOn .num.srpNum[data-srp="0"]::after{color:#b3541e}
html.gelap body.srpOn .num.srpNum::after{color:#7fd0ef}
html.gelap body.srpOn .num.srpNum[data-srp="0"]::after{color:#ffb27a}
/* blok panel ayat */
#srpSect .srp-b{padding:9px 0;border-top:1px solid var(--garis,rgba(0,0,0,.08))}
#srpSect .srp-b:first-of-type{border-top:0}
#srpSect .srp-jd{font-size:12.5px;opacity:.85;margin-bottom:3px}
#srpSect .srp-ar{font-size:1.28em;line-height:2;direction:rtl;text-align:right}
#srpSect .srp-beda{background:rgba(190,70,20,.16);border-radius:.25em;padding:.02em .14em}
html.gelap #srpSect .srp-beda{background:rgba(255,150,90,.24)}
#srpSect .srp-tanwin{border-bottom:1px dotted currentColor;opacity:.85}
#srpSect .srp-sini{font-size:12.5px;opacity:.8;margin-top:2px;direction:rtl;text-align:right}
#srpSect .srp-sini .arb{font-size:1.12em}
#srpSect .srp-l{margin-top:4px;font-size:12.5px}
#srpSect .srp-l a{display:inline-block;padding:1px 9px;border:1px solid var(--accent);
  border-radius:999px;color:var(--accent);text-decoration:none}
#srpSect .srp-l a{margin:2px 4px 2px 0}
#srpSect .srp-lagi{font-size:12.5px;opacity:.75}
/* ===== T4/G147 — FAWASIL (penutup ayat) ====================================
   Hanya blok panel; gelombang ini sengaja TIDAK menandai apa pun di teks
   (48 % ayat akan tertandai — itu kebisingan, bukan keterangan). */
#fwsSect .fws-pola{font-size:1.32em;line-height:2;direction:rtl;text-align:right}
#fwsSect .fws-ket{font-size:12.5px;opacity:.8;margin-top:2px}
#fwsSect .fws-panjang{margin-top:5px;opacity:.95}
#fwsSect .fws-l{margin-top:5px;font-size:12.5px;line-height:2}
#fwsSect .fws-l a{display:inline-block;margin:2px 5px 2px 0;padding:1px 8px;
  border:1px solid var(--accent);border-radius:999px;color:var(--accent);
  text-decoration:none}
#fwsSect .fws-sisa{font-size:12px;opacity:.7}
#fwsSect .fws-awas{margin-top:9px;padding:7px 9px;border-radius:8px;
  font-size:12.5px;line-height:1.7;
  background:var(--fwsbg,rgba(190,110,20,.10));
  border-inline-start:3px solid var(--fwsln,rgba(190,110,20,.5))}
html.gelap #fwsSect .fws-awas{background:rgba(255,190,110,.13);
  border-inline-start-color:rgba(255,190,110,.5)}
#fwsSect .fws-tuks{margin-top:4px;display:flex;flex-wrap:wrap;gap:4px 12px}
#fwsSect .fws-tuk{display:inline-flex;align-items:baseline;gap:5px}
#fwsSect .fws-tuk .arb{font-size:1.18em;direction:rtl}
#fwsSect .fws-n{font-size:11.5px;opacity:.7}
/* ===== T4/G148 — blok panel TERLIPAT + penanda penutup ayat ================
   Panel ayat kini bisa memuat TIGA lapisan sekaligus; terukur 2.002 px untuk
   ayat yang punya ketiganya (366 + 283 + 271 px di antaranya milik lapisan
   baru). Ketiganya dilipat: judul + ringkasan satu baris, isinya dibuka saat
   diketuk. Memakai <details>/<summary> bawaan peramban — nol JavaScript, dan
   tetap bisa dibuka keyboard. */
.sect details.lipat{margin:0}
.sect details.lipat>summary{
  list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:8px;
  padding:2px 0;font-size:15px;line-height:1.6}
.sect details.lipat>summary::-webkit-details-marker{display:none}
.sect details.lipat>summary::after{
  content:"\203A";margin-inline-start:auto;font-size:20px;line-height:1;
  opacity:.55;transform:rotate(90deg);transition:transform .15s}
.sect details.lipat[open]>summary::after{transform:rotate(-90deg)}
.sect details.lipat>summary .lipat-r{font-size:12.5px;opacity:.72;font-weight:400}
.sect details.lipat .lipat-isi{padding-top:6px}
@media (prefers-reduced-motion:reduce){
  .sect details.lipat>summary::after{transition:none}}

/* Penanda penutup ayat — lapisan KEEMPAT, jadi bentuknya harus beda lagi:
   frasa = garis bawah emas utuh · mutasyabihat = garis biru putus-putus ·
   kata pembeda = latar biru tipis · penutup ayat = garis bawah GANDA.
   Sengaja hanya pada irisan paling rawan (1.101 ayat, ±1,8 per halaman). */
body.fwsOn .fwsW{
  border-bottom:3px double var(--fwsln2,rgba(150,90,20,.6));
  padding:.02em .14em;margin:0 -.14em;
  -webkit-box-decoration-break:clone;box-decoration-break:clone}
html.gelap body.fwsOn .fwsW{border-bottom-color:rgba(255,200,130,.55)}
/* ===== T4/G149 — baris tombol "lihat daftar ayat" =========================
   Muncul di dua tempat: panel kata (tepat di bawah tombol "Semua turunan
   akar" milik G5) dan toast frasa. Gayanya sengaja MENIRU tombol akar itu,
   karena keduanya membuka lembar yang sama dan melakukan hal yang sama. */
.jj-baris{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 2px}
.jj-b{font:inherit;font-size:12.5px;line-height:1.5;cursor:pointer;
  padding:4px 10px;border-radius:999px;background:none;
  border:1px solid var(--accent);color:var(--accent)}
.jj-b:active{opacity:.7}
#frToast .jj-baris{margin-top:8px}
#frToast .jj-b{border-color:rgba(255,255,255,.55);color:#fff}
html.gelap .jj-b{border-color:var(--accent)}
#frToast{position:fixed;left:50%;transform:translateX(-50%);bottom:96px;z-index:60;
  max-width:86vw;padding:9px 14px;border-radius:12px;font-size:14px;line-height:1.5;
  background:rgba(20,20,20,.92);color:#fff;box-shadow:0 6px 22px rgba(0,0,0,.3);
  opacity:0;pointer-events:none;transition:opacity .16s;text-align:center}
#frToast.show{opacity:1}
#frToast b{font-size:19px;font-family:inherit;line-height:1.9}
/* ===== T4-FRASA-KATA - toast frasa yang bisa disentuh =====
   Hanya saat toast memuat tombol (kelas .aksi) ia menerima pointer; tanpa itu
   perilakunya persis seperti semula: lewat begitu saja dan hilang sendiri. */
/* ⚠ Toast asal MENGKERUT ke lebar isinya (position:fixed + translateX(-50%)),
   jadi `max-width` saja TIDAK cukup: tombol jadi bertumpuk 3 baris di 390 px.
   Yang menentukan adalah `width`. */
#frToast.aksi{pointer-events:auto;text-align:start;padding-inline-end:30px;
  width:92vw;max-width:420px;max-height:52vh;overflow-y:auto;bottom:80px}
/* Kepala frasa memakai 19px/1.9 - di layar 390 px itu memakan separuh toast.
   Hanya dalam mode .aksi ia dikecilkan; tampilan toast biasa tidak berubah. */
#frToast.aksi b{font-size:16px;line-height:1.5}
#frToast .frT-hr{border:0;border-top:1px solid rgba(255,255,255,.22);margin:9px 0 8px}
#frToast .frT-kata{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}
#frToast .frT-ar{font-size:19px;line-height:1.9}
#frToast .frT-arti{font-size:13px;opacity:.85}
#frToast .frT-x{position:absolute;top:2px;inset-inline-end:4px;background:none;border:0;
  color:#fff;opacity:.72;font-size:20px;line-height:1;cursor:pointer;padding:6px 8px}
#frToast .t3{margin-top:8px}
#frToast .t3-btn{border-color:#ffd77a;color:#ffd77a;min-height:24px}
#frToast .t3-mati{color:rgba(255,255,255,.75)}
@media (max-width:430px){
  #frToast .t3-btn{padding:5px 9px;font-size:12px}
  #frToast .frT-ar{font-size:17px;line-height:1.7}
}

/* ===== blok 12 - <style id="g101css"> ===== */

/* ===== G101-qcf — baris glif halaman ====================================== */
/* G105: @font-face nama surah v4 dicabut. G106: nama surah surah-name-v2 (dimuat lewat FontFace). */
/* T4/G121 - kepala surah berkaligrafi juga di luar mode QCF (Bersambung &
   mode halaman non-QCF). Glif hanya tampil sesudah font QCFSN2 benar-benar
   termuat (kelas body.qcfsn2); kalau gagal, nama Arab teks tetap tampil. */
.surah-head .sn2-glif{display:none;font-family:'QCFSN2';font-weight:400;
  direction:ltr;font-size:44px;line-height:1.1;color:var(--accent2)}
body.qcfsn2 .surah-head.g121 .sn2-glif{display:block}
body.qcfsn2 .surah-head.g121 .nm{position:absolute;width:1px;height:1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:760px){.surah-head .sn2-glif{font-size:36px}}
@media(min-width:1000px){.surah-head .sn2-glif{font-size:56px}}
.qcf-sn2 .sn2-glif{display:none;font-family:'QCFSN2';font-weight:400;direction:ltr;
  font-size:2.2em;line-height:1;vertical-align:middle}
body.qcfsn2 .qcf-sn2 .sn2-glif{display:inline-block}
body.qcfsn2 .qcf-sn2 .sn2-teks{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body.qcfsn2 .qcf-sn2{padding:0 4px}
/* ukuran kotak mengikuti huruf baris QCF (--qfs), bukan --mfs mode biasa:
   terukur di desktop 1280 --mfs membuat kotak 216 px untuk baris 30 px. */
body.qcfon .qcfpage .pl-surah.qcf-sn2{font-size:var(--qfs,28px)}
/* cacat warisan G101 yang tertangkap di sini: basmalah kartu QCF juga ikut
   --mfs (desktop 1280: huruf basmalah ±2x baris ayat). */
body.qcfon .qcfpage .pl-bas{font-size:var(--qfs,28px)}
.qcf-line{direction:rtl;margin:0;white-space:nowrap;
  font-size:var(--qfs,28px);line-height:var(--qlh,2.0);
  text-align:justify;text-align-last:justify}
.qcf-line.center{text-align:center;text-align-last:center}
/* G111: baju ukur. Dipakai hanya selama beberapa mikrodetik di dalam
   qcfPas() - perataan dimatikan supaya lebar baris yang terbaca adalah lebar
   NATURAL teksnya, bukan lebar kartu; overflow dikunci supaya baris yang
   (sementara) lebih lebar dari kartu tidak memunculkan gulir mendatar. */
.qcfpage.qcf-ukur{overflow:hidden}
.qcfpage.qcf-ukur .qcf-line,.qcfpage.qcf-ukur .qcf-line.center{
  text-align:right;text-align-last:right}
.qcf-nm{direction:rtl;text-align:center;margin:2px 0 4px;
  font-size:calc(var(--qfs,28px) * .92);line-height:1.9}
/* glif kata: jangan diberi padding tambahan — jarak antar kata sudah bagian
   dari rancangan barisnya. Latar sorot tetap ada supaya ketuk-kata terasa. */
body.qcfon .qcf-line .w{padding:0;border-radius:4px}
/* penanda yang mustahil di mode ini disembunyikan, bukan dibiarkan salah:
   warna tajwid & penanda frasa milik kita bekerja per HURUF. */
body.qcfon .legend,body.qcfon #wrapFrasa{display:none}
/* G103 — glif QCF hanya sahih dengan font halamannya sendiri. Sebelum font
   itu siap, barisnya disembunyikan (bukan digambar dengan font cadangan,
   yang menghasilkan huruf acak di layar mushaf). */
/* G108: JANGAN memaksa 'visible' — keturunan yang memaksa visible akan
   membatalkan visibility:hidden slot bayangan G17, sehingga halaman
   tetangga tembus menimpa halaman yang dibaca selama geseran
   (terukur: 15 dari 15 baris slot tersembunyi tetap tergambar).
   Cukup sembunyikan yang BELUM siap; yang siap mewarisi induknya. */
body.qcfon .qcf-line:not(.qcfsiap){visibility:hidden}
body.qcfon:not(.qcfnmsiap) .qcf-nm{visibility:hidden}   /* G108, kaidah yang sama */

/* ===== blok 13 - <style id="g97css"> ===== */

/* G97 — kaki catatan dilipat. Ringkas saja: .foot sudah punya warna & ukurannya. */
.foot details.g97nota>summary{cursor:pointer;font-weight:700;list-style:none;
  padding:4px 0;user-select:none;}
.foot details.g97nota>summary::-webkit-details-marker{display:none}
.foot details.g97nota>summary::before{content:"\25B8\00A0";font-weight:700}
.foot details.g97nota[open]>summary::before{content:"\25BE\00A0"}
.foot details.g97nota>.g97isi{padding-top:4px}
/* G99 — kalimat tautan milik G9-b dirapikan ke dalam lipatan; beri jarak
   sedikit supaya tak menempel paragraf terakhir catatan. */
.foot details.g97nota .g97isi>a[href="sumber-teks.html"]{display:inline-block;margin-top:2px}

/* ===== T4/G130 (20 Sep 2026) — bilah pemutar berlanjut =====================
   Bilah muncul HANYA saat sesi simak berjalan (JS menyetel [hidden] dan
   body.g130on). Ditaruh di z-index 45: DI ATAS #pgbar (40) supaya keduanya
   bertumpuk rapi, tetapi DI BAWAH #panel (50) — panel ayat adalah lembar
   penuh, dan menaruh bilah di atasnya akan menutupi tombol panel.
   Saat bilah tampil, #pgbar dan kedua toast diangkat setinggi bilah supaya
   tidak ada yang bertumpuk. */
:root{ --g130h:58px; }
.g130bar{position:fixed;left:0;right:0;bottom:0;z-index:45;
  display:flex;align-items:center;gap:8px;flex-wrap:nowrap;
  padding:7px 10px;padding-bottom:calc(7px + env(safe-area-inset-bottom,0px));
  background:var(--paper);border-top:1px solid var(--line);
  box-shadow:0 -2px 10px rgba(60,50,30,.16);font-size:13px;}
.g130bar[hidden]{display:none;}
.g130ref{flex:1 1 auto;min-width:0;text-align:left;border:0;background:none;
  color:var(--accent);font-weight:600;font-size:13px;cursor:pointer;
  padding:4px 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.g130mid{display:flex;gap:4px;flex:0 0 auto;}
.g130ik{min-width:38px;min-height:36px;border:1px solid var(--line);border-radius:18px;
  background:var(--paper);color:inherit;cursor:pointer;font-size:14px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;}
.g130ik:hover{background:rgba(27,94,63,.08);}
.g130ik.on{border-color:var(--accent);color:var(--accent);background:rgba(27,94,63,.10);}
.g130pp{min-width:44px;border-color:var(--accent);color:var(--accent);}
.g130sel{flex:0 0 auto;font-size:12px;padding:6px 4px;border-radius:8px;
  border:1px solid var(--line);background:var(--paper);color:inherit;max-width:106px;}
/* T4/G132 — bilah kembali muncul HANYA saat sesi berjalan (pintu masuk pindah
   ke tombol ▶ di bilah nav), jadi pengangkatan ini kembali bersyarat. */
body.g130on #pgbar{bottom:calc(var(--g130h) + var(--g132navh,0px));}
body.g130on #navToast{bottom:calc(78px + var(--g130h) + var(--g132navh,0px));}
body.g130on #frToast{bottom:calc(96px + var(--g130h) + var(--g132navh,0px));}
body.g130on .foot{margin-bottom:calc(var(--g130h) + var(--g132navh,0px));}
/* T4/G132 — saat nav duduk di tepi bawah (html.g47bawah), bilah kendali naik
   setinggi nav itu supaya tidak menimpanya. --g132navh diukur runtime oleh
   g132Offset(), dan jadi 0 px saat nav sedang menyembunyikan diri. */
.g130bar{bottom:var(--g132navh,0px);}
/* T4/G132 — tombol pintu di bilah nav */
.g132go.on{border-color:var(--accent);color:var(--accent);background:rgba(27,94,63,.12);}
html[data-tema="gelap"] .g132go.on{background:rgba(127,211,166,.20);}
html[data-tema="gelap"] .g130bar{box-shadow:0 -2px 10px rgba(0,0,0,.45);}
html[data-tema="gelap"] .g130ik:hover{background:rgba(127,211,166,.12);}
html[data-tema="gelap"] .g130ik.on{background:rgba(127,211,166,.18);}
@media(prefers-reduced-motion:reduce){ .g130bar{transition:none} }
/* 320 px: bilah TIDAK boleh meluber (kaidah proyek — ukur, jangan kira) */
@media(max-width:379px){
  .g130bar{gap:5px;padding-left:6px;padding-right:6px;}
  .g130ik{min-width:34px;}
  .g130pp{min-width:40px;}
  .g130sel{max-width:76px;font-size:11px;}
  .g130ref{font-size:12px;}
}
/* ===== T4/G135 — tombol bilah + dua lembar (qari & rentang) ===============
   Lembar memakai pola yang sudah ada di Reader (#g44sheet, #g16Sheet):
   lapisan gelap + panel dari bawah. z-index di atas bilah (45) dan di atas
   panel ayat (50) karena lembar ini memang lapisan paling depan. */
.g135btn{flex:0 0 auto;min-height:36px;border:1px solid var(--line);border-radius:18px;
  background:var(--paper);color:inherit;cursor:pointer;font-size:12px;padding:6px 10px;
  max-width:104px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.g135btn:hover{background:rgba(27,94,63,.08);}
body.g135siap .g130pp{border-width:2px;}
.g135lapis{position:fixed;inset:0;z-index:70;background:rgba(20,28,22,.45);}
.g135sheet{position:fixed;left:8px;right:8px;bottom:8px;z-index:71;max-height:78vh;overflow:auto;
  background:var(--paper);border:1px solid var(--line);border-radius:16px;
  box-shadow:var(--shadow);padding:12px 12px 14px;}
.g135sheet[hidden],.g135lapis[hidden]{display:none;}
.g135kep{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;}
.g135x{min-width:36px;min-height:36px;border:1px solid var(--line);border-radius:18px;
  background:none;color:inherit;cursor:pointer;font-size:16px;line-height:1;}
.g135qlist{display:flex;flex-direction:column;gap:6px;}
.g135qitem{display:flex;align-items:center;justify-content:space-between;gap:10px;
  border:1px solid var(--line);border-radius:12px;background:var(--paper);color:inherit;
  cursor:pointer;padding:9px 11px;text-align:left;font-size:13px;}
.g135qitem:hover{background:rgba(27,94,63,.07);}
.g135qitem.on{border-color:var(--accent);color:var(--accent);background:rgba(27,94,63,.10);font-weight:600;}
.g135qnm{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.g135qtag{flex:0 0 auto;font-size:11px;color:var(--muted);}
.g135qitem.on .g135qtag{color:var(--accent);}
.g135pra{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;}
.g135baris{display:flex;align-items:center;gap:10px;margin:7px 0;font-size:13px;}
.g135baris>span{flex:0 0 62px;color:var(--muted);}
.g135baris>select{flex:1 1 auto;min-width:0;font-size:13px;padding:8px;border-radius:10px;
  border:1px solid var(--line);background:var(--paper);color:inherit;}
.g135ket{margin:10px 0 12px;font-size:13px;line-height:1.5;}
.g135kecil{font-size:11.5px;color:var(--muted);}
.g135ok{width:100%;min-height:42px;border:1px solid var(--accent);border-radius:12px;
  background:var(--accent);color:#fff;font-weight:600;font-size:14px;cursor:pointer;}
.g135ok:hover{background:var(--accent2);}
html[data-tema="gelap"] .g135qitem:hover{background:rgba(127,211,166,.10);}
html[data-tema="gelap"] .g135qitem.on{background:rgba(127,211,166,.18);}
html[data-tema="gelap"] .g135btn:hover{background:rgba(127,211,166,.12);}
/* T4/G135 — bilah kini memuat qari + rentang, jadi di layar sempit label
   rentang turun ke barisnya sendiri. Diukur 20 Sep 2026: tanpa ini isi bilah
   408 px di layar 390 px dan 354 px di layar 320 px — meluber. */
@media(max-width:439px){
  /* bilah dasarnya flex-wrap:nowrap (G130); tanpa membukanya di sini label
     tidak pernah turun dan isi bilah tetap meluber. */
  .g130bar{flex-wrap:wrap;}
  .g130bar .g130ref{flex:1 0 100%;order:-1;text-align:left;
    padding-bottom:2px;border-bottom:1px solid var(--line);margin-bottom:2px;}
}
@media(max-width:379px){
  .g135btn{font-size:11px;padding:6px 8px;max-width:76px;}
  .g135ik{padding:6px;}
  .g135baris>span{flex-basis:52px;}
  .g135sheet{left:4px;right:4px;}
}
