/* Fitur ibadah. Arah visual: lembar kitab kuning. Kertas kekuningan, tinta coklat tua,
   tinta merah (rubrik) untuk penanda bab dan nomor, bintang delapan khas mushaf untuk nomor urut.
   Warna aksen masjid (hijau) hanya untuk kontrol yang bisa ditekan. */
@font-face{font-family:'Scheherazade New';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/scheherazade-400-arabic.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'Scheherazade New';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/scheherazade-700-arabic.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'Amiri';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/amiri-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+1E00-1EFF,U+2000-206F,U+20AC,U+2122}
:root,[data-tema=terang]{--arfs:28px;--kt:#f6ecc9;--kt2:#efe2b4;--ki:#231a10;--km:#6b5a3b;--kr:#8b1e1e;--kg:#d6bf85}
[data-tema=gelap]{--kt:#17140d;--kt2:#211c12;--ki:#eee2c2;--km:#a8987a;--kr:#e58a78;--kg:#3b3322}
.ib{padding-bottom:28px;--ser:'Amiri',Georgia,'Times New Roman',serif;--arb:'Scheherazade New','Amiri',serif}
.ib .h1{font-family:var(--ser);font-weight:700;letter-spacing:0;font-size:30px;line-height:1.15}
.ib .inp{width:100%;min-height:48px;border:1px solid var(--kg);border-radius:6px;background:var(--kt);color:var(--ki);font:inherit;font-size:15px;padding:10px 12px}
.ib .inp::placeholder{color:var(--km)}
.ib .inp:focus{outline:2px solid var(--accent);outline-offset:1px}
.ib .full{width:100%}
.ib .card{background:var(--kt);color:var(--ki);border:1px solid var(--kg);border-radius:6px;padding:16px;box-shadow:none}
.ib .kep,.ib .h2{font-family:var(--ser);font-size:19px;font-weight:700;margin:24px 0 8px;color:var(--ink)}
.ib .loading{padding:30px 0;text-align:center;color:var(--muted);font-size:14px}
.ib .err{background:#fde8e8;color:#9b1c1c;border-radius:6px;padding:12px;font-size:14px}
.ib .note{display:block;font-size:13px;line-height:1.55;color:var(--km);border-left:3px solid var(--kr);padding:2px 0 2px 12px;margin:14px 0}
.ib .note i{display:none}
.ib .hint{font-size:12.5px;color:var(--km);margin:5px 0 0}
.ib .cnt{font-size:12.5px;color:var(--muted);margin:10px 0 6px}
.ib .src{font-size:12px;color:var(--muted);margin:16px 0 0;line-height:1.5}
.ib label{display:block;font-size:13px;font-weight:700;margin:12px 0 5px}
/* lembar kitab */
.lembar{background:var(--kt);color:var(--ki);border:1px solid var(--kg);border-radius:6px}
/* bintang delapan: nomor surat, ayat, dan urutan bacaan */
.bt{position:relative;flex:none;width:34px;height:34px;display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--kr);font-variant-numeric:tabular-nums;isolation:isolate}
.bt::before,.bt::after{content:'';position:absolute;inset:6px;border:1.5px solid var(--kr);z-index:-1}
.bt::after{transform:rotate(45deg)}
/* beranda ibadah */
.hari{padding:16px 16px 0;margin-top:4px}
.hari .tg1{margin:0;font-size:13.5px;color:var(--km)}
.hari .hj1{display:flex;align-items:baseline;gap:12px;margin:2px 0 12px;font-family:var(--ser);font-weight:700;font-size:22px;line-height:1.25}
.hari .hj1 span{font-family:var(--arb);font-size:46px;line-height:1;color:var(--kr);font-weight:700}
.ajak{list-style:none;margin:0 -16px;padding:0;border-top:1px solid var(--kg)}
.ajak li+li{border-top:1px solid var(--kg)}
.ajak a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:0 16px;color:var(--ki);font-weight:700;font-size:14.5px}
.ajak i{color:var(--kr)}
.daf a{display:flex;align-items:center;gap:14px;min-height:68px;padding:10px 16px;color:var(--ki)}
.daf a+a{border-top:1px solid var(--kg)}
.daf .nm{flex:1;min-width:0}.daf .nm b{display:block;font-size:15.5px}.daf .nm small{display:block;font-size:12.5px;color:var(--km);line-height:1.4}
.kl{flex:none;font-family:var(--arb);font-size:27px;line-height:1.2;color:var(--kr);max-width:44%;text-align:left}
.alat{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.alat a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:78px;padding:8px 2px;color:var(--ink);font-size:12px;font-weight:700;text-align:center;line-height:1.25}
.alat a+a{border-left:1px solid var(--line)}
.alat i{font-size:22px;color:var(--accent-text)}
.lanjut{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 14px;margin:0 0 12px;background:var(--kt);color:var(--ki);border:1px solid var(--kg);border-radius:6px;font-size:14px}
.lanjut>i:first-child{color:var(--kr)}.lanjut span{flex:1}.lanjut>i:last-child{color:var(--km)}
/* daftar (surat, sholawat, asmaul husna) */
.sl,.ahl{list-style:none;margin:10px 0 0;padding:0}
.sl li+li,.ahl li+li{border-top:1px solid var(--kg)}
.sl a{display:flex;align-items:center;gap:12px;padding:10px 14px;min-height:62px;color:var(--ki)}
.sl .nm{flex:1;min-width:0}.sl .nm b{display:block;font-size:15px}.sl .nm small{display:block;font-size:12.5px;color:var(--km)}
.sl .ar{flex:none;font-family:var(--arb);font-size:24px;color:var(--kr);line-height:1.3;max-width:42%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ahl li{display:flex;align-items:center;gap:12px;padding:10px 14px;min-height:64px}
.ahl .nm{flex:1;min-width:0}.ahl .nm b{display:block;font-size:15px}.ahl .nm small{display:block;font-size:12.5px;color:var(--km);line-height:1.4}
.ahl .ar{flex:none;font-size:27px;line-height:1.5;color:var(--kr)}
/* kontrol baca */
.tg{min-height:44px;padding:0 14px;border-radius:6px;border:1px solid var(--kg);background:var(--kt);color:var(--ki);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.tg[aria-pressed=true],.tg[aria-selected=true]{background:var(--ki);border-color:var(--ki);color:var(--kt)}
.tg.sq{width:44px;padding:0}
.tb{position:sticky;top:0;z-index:5;display:flex;gap:6px;align-items:center;padding:8px 0;margin:0 0 6px;background:var(--bg)}
.tb .sp{flex:1}
.seg,.seg4{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));margin:4px 0 12px}
.seg4{grid-template-columns:repeat(4,minmax(0,1fr))}
.seg .tg,.seg4 .tg{border-radius:0}.seg .tg+.tg,.seg4 .tg+.tg{border-left:0}
.seg .tg:first-child,.seg4 .tg:first-child{border-radius:6px 0 0 6px}.seg .tg:last-child,.seg4 .tg:last-child{border-radius:0 6px 6px 0}
.seg4 .tg{padding:0 4px;font-size:12.5px}
/* bacaan: lembar kitab */
#ibx:has(>.ay),#yt:has(>.ay),#dzx:has(>.ay){background:var(--kt);color:var(--ki);border:1px solid var(--kg);border-radius:6px;padding:0 16px}
.ar{font-family:var(--arb);font-size:var(--arfs);line-height:2.05;text-align:right;color:var(--ki);margin:0;word-spacing:2px}
.ae{font-size:.8em;color:var(--kr);white-space:nowrap}
.sh{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:3px double var(--kg)}
.sh div{flex:1;min-width:0}.sh b{display:block;font-family:var(--ser);font-size:20px}.sh small{font-size:12.5px;color:var(--km)}
.sh .kl{font-size:34px}
.ib audio{width:100%;margin:10px 0}
.jmp{display:flex!important;align-items:center;gap:8px;font-size:13px;margin:12px 0!important;color:var(--km)}
.jmp select{min-height:44px;border:1px solid var(--kg);border-radius:6px;background:var(--kt2);color:var(--ki);font:inherit;padding:0 8px}
.bsm{font-family:var(--arb);font-size:calc(var(--arfs) + 2px);text-align:center;margin:18px 0 6px;color:var(--ki)}
.bsm.s{font-size:var(--arfs);margin:4px 0}
.ay{padding:16px 0;border-bottom:1px solid var(--kg);scroll-margin-top:64px}
.ay:last-child{border-bottom:0}
.ay.hl{box-shadow:inset 3px 0 0 var(--kr);padding-left:12px}
.ay.sec{border-top:3px double var(--kg)}
.ah{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.ah .tt{flex:1;font-family:var(--ser);font-size:16.5px;color:var(--kr)}
.xx{flex:none;font-family:var(--ser);font-size:18px;font-weight:700;color:var(--kr)}
.mk{margin-left:auto;width:44px;height:44px;border:0;background:none;color:var(--km);font-size:18px;cursor:pointer;border-radius:6px}
.mk.on{color:var(--kr)}
.lt{font-size:14.5px;line-height:1.65;color:var(--km);font-style:italic;margin:10px 0 0}
.tr{font-size:14.5px;line-height:1.65;margin:6px 0 0;color:var(--ki)}
.nt{font-size:13px;line-height:1.55;color:var(--km);margin:8px 0 0;padding-left:10px;border-left:2px solid var(--kr)}
.rf{font-size:12px;color:var(--km);margin:6px 0 0;line-height:1.5}
.no-lt .lt,.no-tr .tr{display:none}
.th .ah:empty{display:none}
.pn{display:flex;justify-content:space-between;gap:8px;margin-top:16px}
.pn .btn{margin:0}
/* doa */
.dw{background:var(--kt);color:var(--ki);border:1px solid var(--kg);border-bottom-width:0}
.dw:first-of-type{border-radius:6px 6px 0 0}.dw:last-of-type{border-bottom-width:1px;border-radius:0 0 6px 6px}
.dw summary{list-style:none;cursor:pointer;padding:12px 16px;min-height:56px;display:flex;flex-direction:column;justify-content:center}
.dw summary::-webkit-details-marker{display:none}
.dw summary b{font-size:15px}.dw summary small{font-size:12.5px;color:var(--km)}
.dw[open] summary b{color:var(--kr)}
.dw>p{padding:0 16px}.dw>p.ar{padding-top:6px}.dw>p:last-child{padding-bottom:16px}
/* kiblat */
.kb{text-align:center}
.dial{position:relative;width:min(78vw,300px);aspect-ratio:1;margin:30px auto 14px;border-radius:50%;background:var(--kt);border:1px solid var(--kg);box-shadow:inset 0 0 0 10px var(--kt2),inset 0 0 0 11px var(--kg);transition:transform .25s ease-out}
.dial.ok{box-shadow:inset 0 0 0 10px #1f8a4c,inset 0 0 0 11px #1f8a4c}
.dial>span{position:absolute;font-family:var(--ser);font-weight:700;font-size:15px;color:var(--km)}
.dial .n{top:18px;left:50%;transform:translateX(-50%);color:var(--kr)}.dial .s{bottom:18px;left:50%;transform:translateX(-50%)}
.dial .e{right:20px;top:50%;transform:translateY(-50%)}.dial .w{left:20px;top:50%;transform:translateY(-50%)}
.nd{position:absolute;left:50%;top:12%;bottom:50%;width:0;transform-origin:50% 100%;transition:transform .25s ease-out}
.nd i{position:absolute;left:50%;top:-6px;transform:translateX(-50%);font-size:30px;color:var(--kr)}
.nd .kb-k{position:absolute;left:50%;top:22px;bottom:0;width:3px;margin-left:-1.5px;background:var(--kr)}
.nd::after{content:'';position:absolute;left:50%;bottom:-8px;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:var(--ki)}
.nd .kt{position:absolute;left:50%;top:-30px;transform:translateX(-50%);font-family:var(--ser);font-size:13px;font-weight:700;color:var(--kr);white-space:nowrap}
.kd{font-size:15px;margin:0}.kd b{font-family:var(--ser);font-size:34px;font-weight:700;color:var(--kr);margin-right:4px}
.ks{font-size:13px;color:var(--muted);margin:4px 0 12px}
.acts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.acts .btn{margin:0;font-size:13px;padding:0 8px}
/* kalender */
.today{padding:14px 16px;margin-bottom:14px;background:var(--kt);color:var(--ki);border:1px solid var(--kg);border-radius:6px}
.today small{display:block;font-size:12.5px;color:var(--km)}.today b{display:block;font-family:var(--ser);font-size:20px}.today span{font-size:13.5px;color:var(--km)}
.mnav{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.mnav div{flex:1;text-align:center}.mnav b{display:block;font-family:var(--ser);font-size:20px}.mnav small{font-size:12.5px;color:var(--km)}
.mnav .ibtn{background:var(--kt);color:var(--ki);border:1px solid var(--kg);box-shadow:none}
.kg{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--kt);border:1px solid var(--kg);border-radius:6px;overflow:hidden}
.kh{text-align:center;font-size:12px;font-weight:700;color:var(--km);padding:8px 0;border-bottom:1px solid var(--kg)}
.kh:nth-child(6){color:var(--kr)}
.kc{position:relative;min-height:60px;padding:6px 2px 4px;display:flex;flex-direction:column;align-items:center;gap:1px;border-bottom:1px solid var(--kg);color:var(--ki)}
.kc:not(:nth-child(7n+1)){border-left:1px solid var(--kg)}
.kc.x{background:var(--kt2)}
.kc b{font-size:15px;line-height:1.2;font-variant-numeric:tabular-nums}
.kc.jm b{color:var(--kr)}
.kc.ev b{text-decoration:underline 2px var(--kr);text-underline-offset:3px}
.kc.now{background:var(--ki);color:var(--kt)}.kc.now b,.kc.now .hj,.kc.now .ps{color:var(--kt)}
.hj{font-size:11px;color:var(--kr);font-weight:700;line-height:1.2}
.ps{font-size:10px;color:var(--km);line-height:1.2}
.pu{position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.lg{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--muted);margin:10px 0 0;align-items:center}
.lg>span{display:inline-flex;align-items:center;gap:5px}.lg .pu{position:static;display:inline-block}
.evl{list-style:none;margin:0;padding:0;background:var(--kt);border:1px solid var(--kg);border-radius:6px}
.evl li{display:flex;gap:12px;align-items:center;padding:10px 14px;color:var(--ki)}
.evl li+li{border-top:1px solid var(--kg)}
.evl li>b{flex:none;width:54px;font-family:var(--ser);font-size:15px;color:var(--kr)}
.evl li span{font-size:14px;font-weight:700}.evl small{display:block;font-size:12.5px;color:var(--km);font-weight:400}
/* tasbih */
.tsa{text-align:center;font-size:34px;margin:16px 0 4px}
.tap{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(74vw,270px);aspect-ratio:1;margin:6px auto 16px;border-radius:50%;border:0;background:var(--kt);color:var(--ki);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none}
.tap svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.tap circle{fill:none;stroke-width:5}
.tap .rg0{stroke:var(--kg);stroke-dasharray:.6 2.73;stroke-width:7;stroke-linecap:round}
.tap .rg1{stroke:var(--kr);stroke-dasharray:0 100;stroke-linecap:round;transition:stroke-dasharray .15s}
.tap:active{transform:scale(.985)}
.tap b{font-family:var(--ser);font-size:72px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.tap small{font-size:14px;color:var(--km);margin-top:4px}
.ib .btn.ghost{background:none;color:var(--muted);box-shadow:none}
/* zakat */
.zc{margin-bottom:12px}.zc label:first-child{margin-top:0}
.rpi{position:relative}.rpi span{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--km);font-weight:700;font-size:14px}.rpi .inp{padding-left:40px;font-variant-numeric:tabular-nums}
.zc .inp{background:var(--kt2)}
.res{margin-top:16px;padding-top:14px;border-top:3px double var(--kg)}
.res b{display:block;font-family:var(--ser);font-size:28px;color:var(--kr);font-variant-numeric:tabular-nums}.res span{display:block;font-size:13px;color:var(--km);margin-top:3px;line-height:1.5}
#ibtoast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));transform:translate(-50%,20px);opacity:0;background:var(--ki);color:var(--kt);font-size:13.5px;padding:10px 16px;border-radius:6px;transition:.2s;z-index:50;max-width:88vw;pointer-events:none}
#ibtoast.show{opacity:1;transform:translate(-50%,0)}
@media (min-width:720px){.ib{max-width:760px;margin:0 auto}.kc{min-height:76px}.kc b{font-size:17px}.ib .h1{font-size:36px}}
@media (prefers-reduced-motion:reduce){.dial,.nd,.tap .rg1,#ibtoast{transition:none}}
@media print{.tb,.mk,.pn,#play,.jmp,nav,header,footer{display:none!important}.ay{break-inside:avoid}#ibx,#yt,#dzx,.lembar{border:0!important;background:none!important}}

/* ornamen mushaf */
.hari{border:3px double var(--kg)}
.ib .kep::before{content:'\06DE';font-family:var(--arb);font-weight:400;color:var(--kr);margin-right:8px;font-size:20px}
