/*
 * at-tibyan.css — shared styles for Materi At-Tibyan pages
 * Linked from: materi-at-tibyan-pendahuluan.html, materi-at-tibyan-bab1.html
 * Design: modern-minimal · readable long-document · Arabic-first
 */

/* ─── Layout ─────────────────────────────────────────────────────────── */
.r{max-width:54rem;margin:auto;padding:var(--space-2xl) clamp(1rem,4vw,3rem) 5rem;font-family:var(--font-body);color:var(--color-ink)}
.r h1,.r h2,.r h3{font-family:var(--font-display)}
.mt-kicker{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-neutral)}
.mt-kicker a{color:inherit;text-decoration:none}
.mt-kicker a:hover,.mt-kicker a:focus-visible{color:var(--color-accent-strong)}
.r h1{font-size:clamp(2.1rem,5.2vw,3.1rem);font-weight:700;letter-spacing:-.01em;line-height:1.12;margin:.5rem 0 .7rem}
.muted{color:var(--color-muted)}
.lead{color:var(--color-muted);font-size:1.15rem;line-height:1.65;max-width:56ch;margin:0 0 2.2rem}

/* ─── Lock badge ─────────────────────────────────────────────────────── */
.mt-lock-badge{display:inline-flex;align-items:center;gap:.4em;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-strong);background:var(--color-accent-soft);border-radius:999px;padding:.3rem .8rem;margin-bottom:.8rem}

/* ─── Gate ───────────────────────────────────────────────────────────── */
.mt-gate-card{background:linear-gradient(180deg,var(--color-accent-soft),var(--color-surface) 65%);border:1px solid color-mix(in oklab,var(--color-accent) 30%,var(--color-rule));border-radius:1.25rem;padding:1.8rem clamp(1.1rem,4vw,2.2rem) 2rem;margin-bottom:2rem}
.mt-gate-card h2{margin:.2rem 0 .8rem;font-size:1.3rem}
.mt-gate-card p{line-height:1.7;font-size:.96rem;margin:0 0 1rem}
.mt-gate-cta{display:inline-flex;align-items:center;gap:.5em;background:var(--color-accent);color:var(--color-accent-ink);font-weight:600;font-size:.92rem;padding:.65rem 1.2rem;border-radius:10px;text-decoration:none;margin-bottom:.3rem;transition:filter var(--dur-short) var(--ease-out)}
.mt-gate-cta:hover{filter:brightness(1.08)}
.mt-gate-barakallah{font-family:var(--font-arabic);direction:rtl;text-align:center;font-size:1.25rem;line-height:2;margin-top:1rem;color:var(--color-ink)}

/* ─── Login form ─────────────────────────────────────────────────────── */
.mt-login{background:var(--color-surface);border:1px solid var(--color-rule);border-radius:1.1rem;padding:1.3rem 1.4rem 1.5rem;margin-bottom:2rem}
.mt-login h3{margin:0 0 .3rem;font-size:1rem}
.mt-login p{margin:0 0 .9rem;font-size:.85rem;color:var(--color-muted)}
.mt-login label{display:block;font-size:.8rem;font-weight:600;margin:.7rem 0 .3rem}
.mt-login input{width:100%;box-sizing:border-box;padding:.65rem .85rem;border:1px solid var(--color-rule);border-radius:.6rem;font:inherit;background:var(--color-paper);transition:border-color var(--dur-short)}
.mt-login input:focus{outline:none;border-color:var(--bc,var(--color-accent))}
.mt-login-err{display:none;color:#b91c1c;font-size:.8rem;margin-top:.6rem}
.mt-login-go{margin-top:1rem;width:100%;padding:.75rem;border:0;border-radius:10px;background:var(--color-accent);color:var(--color-accent-ink);font:inherit;font-weight:600;cursor:pointer;transition:filter var(--dur-short) var(--ease-out)}
.mt-login-go:hover:not(:disabled){filter:brightness(1.08)}
.mt-login-go:disabled{opacity:.6;cursor:default}

/* ─── Content area ───────────────────────────────────────────────────── */
#mt-content{display:none}

/* ─── User bar ───────────────────────────────────────────────────────── */
.mt-user-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:.9rem;padding:.9rem 1.2rem;margin-bottom:1.2rem;font-size:.92rem}
.mt-logout{border:1px solid var(--color-rule);background:var(--color-surface);border-radius:.5rem;padding:.35rem .8rem;font:inherit;font-size:.8rem;cursor:pointer;transition:background var(--dur-short),border-color var(--dur-short)}
.mt-logout:hover{background:var(--color-paper-2);border-color:color-mix(in oklab,var(--color-ink) 30%,var(--color-rule))}

/* ─── Progress bar ───────────────────────────────────────────────────── */
.mt-progress{background:var(--color-surface);border:1px solid var(--color-rule);border-radius:1rem;padding:.9rem 1.2rem;margin-bottom:1.6rem}
.mt-progress-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.65rem}
.mt-progress-label{font-size:.9rem;color:var(--color-muted)}
.mt-progress-label b{color:var(--color-ink);font-variant-numeric:tabular-nums}
.mt-progress-pct{font-family:var(--font-mono);font-size:.78rem;color:var(--bc,var(--color-accent));font-weight:700;background:color-mix(in oklab,var(--bc,var(--color-accent)) 10%,transparent);border-radius:999px;padding:.15rem .55rem}
.mt-progress-track{height:8px;border-radius:999px;background:color-mix(in oklab,var(--bc,var(--color-accent)) 12%,var(--color-paper-2));overflow:hidden}
.mt-progress-fill{height:100%;width:0%;background:var(--bc,var(--color-accent));border-radius:999px;transition:width .5s cubic-bezier(.4,0,.2,1)}

/* ─── Accent bar + intro ─────────────────────────────────────────────── */
.mt-bab-accent{height:3px;width:3.5rem;background:var(--bc,var(--color-accent));border-radius:2px;margin:0 0 1.8rem}
.mt-bab-intro{background:var(--color-paper-2);border-left:4px solid var(--bc,var(--color-accent));border-radius:0 1rem 1rem 0;padding:1.1rem 1.5rem;margin-bottom:2.4rem;font-size:.97rem;line-height:1.75;color:var(--color-ink)}

/* ─── TOC ────────────────────────────────────────────────────────────── */
.mt-toc{background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:1.1rem;padding:1.1rem 1.4rem 1.3rem;margin-bottom:2.6rem}
.mt-toc h2{margin:0 0 .8rem;font-family:var(--font-mono);font-size:.73rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-neutral);font-weight:600}
.mt-toc ol{margin:0;padding-left:1.4rem;display:flex;flex-direction:column;gap:.2rem}
.mt-toc li{font-size:.92rem}
.mt-toc a{color:var(--color-ink);text-decoration:none;border-bottom:1px solid transparent;transition:color var(--dur-short),border-color var(--dur-short)}
.mt-toc a:hover{color:var(--bc,var(--color-accent));border-bottom-color:color-mix(in oklab,var(--bc,var(--color-accent)) 35%,transparent)}

/* ─── Articles ───────────────────────────────────────────────────────── */
.mt-entri{margin-bottom:3.5rem;scroll-margin-top:5.5rem;padding-bottom:3rem;border-bottom:1px solid var(--color-rule-soft,color-mix(in oklab,var(--color-rule) 55%,transparent))}
.mt-entri:last-of-type{border-bottom:none}
.mt-entri h3{font-size:1.18rem;font-weight:700;margin:0 0 1.1rem;color:var(--color-ink);line-height:1.35;display:flex;align-items:baseline;gap:.6rem}
.mt-entri h3::before{content:attr(data-num);flex:0 0 auto;font-family:var(--font-mono);font-size:.72rem;font-weight:700;color:var(--bc,var(--color-accent));background:color-mix(in oklab,var(--bc,var(--color-accent)) 12%,transparent);border-radius:.4rem;padding:.2rem .55rem;margin-top:.05rem;white-space:nowrap}

/* ─── Body text ──────────────────────────────────────────────────────── */
.mt-inti{line-height:1.8;color:var(--color-ink);margin:0 0 1.1rem;font-size:1rem}
.mt-inti-list{margin:.5rem 0 1.2rem;padding-left:1.6rem;display:flex;flex-direction:column;gap:.5rem;line-height:1.75;font-size:1rem}

/* ─── Tautan silang antar-materi (inline) ────────────────────────────── */
/* Hanya di wadah teks yang BUKAN flex-container: .mt-inti, .mt-inti-list li,
   .mt-dalil-tr, .mt-matan-tr, dan .mt-faedah li (sejak badge nomornya jadi
   absolut). Yang masih TERLARANG: .mt-dalil-ref & .mt-matan-ref, keduanya
   display:flex -> <a> di dalamnya jadi flex item & memecah baris. */
.mt-inti a,.mt-inti-list a,.mt-dalil-tr a,.mt-matan-tr a,.mt-faedah li a{
  color:var(--bc,var(--color-accent-strong));
  text-decoration:underline;
  text-decoration-color:color-mix(in oklab,var(--bc,var(--color-accent)) 35%,transparent);
  text-underline-offset:2px;
  transition:text-decoration-color var(--dur-short);
}
.mt-inti a:hover,.mt-inti-list a:hover,.mt-dalil-tr a:hover,.mt-matan-tr a:hover,.mt-faedah li a:hover,
.mt-inti a:focus-visible,.mt-inti-list a:focus-visible,.mt-dalil-tr a:focus-visible,.mt-matan-tr a:focus-visible,.mt-faedah li a:focus-visible{
  text-decoration-color:var(--bc,var(--color-accent));
}

/* ─── Dalil card ─────────────────────────────────────────────────────── */
.mt-dalil{background:color-mix(in oklab,var(--bc,var(--color-accent)) 4%,var(--color-paper-2));border:1px solid color-mix(in oklab,var(--bc,var(--color-accent)) 22%,var(--color-rule));border-radius:1rem;padding:1.25rem 1.4rem 1.25rem 1.25rem;margin:1.2rem 0;position:relative;overflow:hidden}
.mt-dalil::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--bc,var(--color-accent));border-radius:4px 0 0 4px}
.mt-dalil-label{font-family:var(--font-mono);font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bc,var(--color-accent));font-weight:700;margin-bottom:.6rem;opacity:.85}
.mt-dalil-ar{font-family:var(--font-arabic);direction:rtl;text-align:right;font-size:1.55rem;line-height:2.2;margin:.3rem 0 .8rem;color:var(--color-ink);word-break:break-word}
.mt-dalil-sep{border:none;border-top:1px solid color-mix(in oklab,var(--bc,var(--color-accent)) 18%,var(--color-rule));margin:.5rem 0 .7rem}
.mt-dalil-tr{color:var(--color-muted);font-size:.96rem;line-height:1.7;margin:.3rem 0}
.mt-dalil-tr strong{color:var(--color-ink)}
.mt-dalil-ref{font-family:var(--font-mono);font-size:.73rem;color:color-mix(in oklab,var(--bc,var(--color-accent)) 65%,var(--color-muted));margin-top:.6rem;display:flex;align-items:center;gap:.3em}
.mt-dalil-ref::before{content:'📖';font-size:.7rem}

/* ─── Matan At-Tibyan (dalil asli — top zone) ───────────────────────── */
.mt-matan{background:color-mix(in oklab,var(--bc,var(--color-accent)) 5%,var(--color-paper-2));border:1.5px solid color-mix(in oklab,var(--bc,var(--color-accent)) 30%,var(--color-rule));border-radius:1.1rem 1.1rem 0 0;padding:1.4rem 1.5rem 1.3rem 1.4rem;position:relative;overflow:hidden;margin:0}
.mt-matan:not(:has(+.mt-syarah)){border-radius:1.1rem}
.mt-matan::before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--bc,var(--color-accent));border-radius:5px 0 0 5px}
.mt-matan-badge{font-family:var(--font-mono);font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--bc,var(--color-accent));margin-bottom:.9rem;display:flex;align-items:center;gap:.4rem;opacity:.85}
.mt-matan-badge::before{content:'📜';font-size:.8rem}
.mt-matan-ar{font-family:var(--font-arabic);direction:rtl;text-align:right;font-size:1.6rem;line-height:2.3;color:var(--color-ink);word-break:break-word;margin:.3rem 0 .7rem}
.mt-matan-sep{border:none;border-top:1px dashed color-mix(in oklab,var(--bc,var(--color-accent)) 25%,var(--color-rule));margin:.9rem 0}
.mt-matan-tr{font-style:italic;color:var(--color-muted);font-size:.97rem;line-height:1.72;margin:0}
.mt-matan-tr strong{color:var(--color-ink)}
.mt-matan-ref{font-family:var(--font-mono);font-size:.72rem;color:color-mix(in oklab,var(--bc,var(--color-accent)) 65%,var(--color-muted));margin-top:.75rem;display:flex;align-items:center;gap:.35em}
.mt-matan-ref::before{content:'📖';font-size:.7rem}

/* ─── Syarah (penjelasan pengajar — bottom zone) ────────────────────── */
.mt-syarah{background:var(--color-surface);border:1.5px solid color-mix(in oklab,var(--bc,var(--color-accent)) 30%,var(--color-rule));border-top:1px dashed color-mix(in oklab,var(--bc,var(--color-accent)) 25%,var(--color-rule));border-radius:0 0 1.1rem 1.1rem;padding:1.2rem 1.5rem 1.3rem;margin-bottom:0}
.mt-syarah-badge{font-family:var(--font-mono);font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--color-neutral);margin-bottom:.9rem;display:flex;align-items:center;gap:.4rem}
.mt-syarah-badge::before{content:'💡';font-size:.8rem}
.mt-entri:has(.mt-matan){padding-bottom:0}
.mt-syarah:last-child{margin-bottom:3rem}

/* ─── Matan/Syarah view toggle ───────────────────────────────────────── */
/* Default: syarah hidden — hanya matan tampil */
.mt-syarah{display:none}
body.syarah-on .mt-syarah{display:block}
/* Saat syarah hidden: matan rounded penuh di semua sisi */
body:not(.syarah-on) .mt-matan{border-radius:1.1rem!important}

/* Toggle pill */
.mt-view-toggle{display:flex;align-items:center;gap:.3rem;background:var(--color-surface);border:1.5px solid var(--color-rule);border-radius:999px;padding:.28rem .32rem;margin-bottom:1.3rem;width:fit-content}
.mt-view-toggle-btn{display:flex;align-items:center;gap:.35rem;font:inherit;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;font-weight:600;color:var(--color-muted);background:transparent;border:none;border-radius:999px;padding:.35rem .75rem;cursor:pointer;transition:background var(--dur-short),color var(--dur-short);white-space:nowrap;line-height:1}
.mt-view-toggle-btn.is-active{background:var(--bc,var(--color-accent));color:#fff}
.mt-view-toggle-btn:not(.is-active):hover{background:var(--color-paper-2);color:var(--color-ink)}
@media(max-width:30rem){.mt-view-toggle-btn{font-size:.67rem;padding:.3rem .6rem}}

/* ─── Faedah list ────────────────────────────────────────────────────── */
.mt-faedah-title{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bc,var(--color-accent));font-weight:700;margin:1.3rem 0 .55rem;display:flex;align-items:center;gap:.5rem}
.mt-faedah-title::after{content:'';flex:1;height:1px;background:color-mix(in oklab,var(--bc,var(--color-accent)) 20%,var(--color-rule))}
/* <li> SENGAJA blok biasa (bukan flex): badge nomor dipasang absolut di gutter
   kiri, teks digeser lewat padding-left. Versi flex yang lama bikin setiap
   <em>/<strong>/<a> inline jadi flex item terpisah -> kalimat pecah jadi kolom
   ragged & terpotong keluar kartu di HP. Gutter 3.25rem = badge 40px + 12px
   (badge content-box: min-width 1.5rem + padding .5rem kiri-kanan). */
.mt-faedah{margin:.3rem 0 1.1rem;padding:0;list-style:none;display:flex;flex-direction:column;gap:.55rem;counter-reset:fa}
.mt-faedah li{position:relative;font-size:.96rem;line-height:1.7;padding:.45rem .6rem .45rem 3.25rem;border-bottom:1px solid color-mix(in oklab,var(--color-rule) 50%,transparent)}
.mt-faedah li:last-child{border-bottom:none}
.mt-faedah li::before{content:counter(fa);counter-increment:fa;position:absolute;left:0;top:.7rem;font-family:var(--font-mono);font-size:.73rem;font-weight:700;color:var(--bc,var(--color-accent));background:color-mix(in oklab,var(--bc,var(--color-accent)) 12%,transparent);border-radius:.5rem;padding:.2rem .5rem;min-width:1.5rem;text-align:center}

/* ─── Module images ──────────────────────────────────────────────────── */
.mt-fig{margin:1.4rem 0}
.mt-fig img{display:block;width:100%;height:auto;border:1px solid var(--color-rule);border-radius:1rem;background:#fff;box-shadow:0 2px 12px color-mix(in oklab,var(--bc,var(--color-accent)) 8%,transparent)}
.mt-fig figcaption{font-size:.8rem;color:var(--color-muted);margin-top:.5rem;text-align:center;font-style:italic;line-height:1.5}
.mt-fig--narrow img{max-width:28rem;margin-inline:auto}
.mt-fig--square img{max-width:32rem;margin-inline:auto}

/* ─── Poin checklist ─────────────────────────────────────────────────── */
.mt-poin{display:flex;align-items:flex-start;gap:1rem;background:var(--color-surface);border:1.5px solid var(--color-rule);border-radius:1rem;padding:1rem 1.1rem;margin:1.1rem 0;cursor:pointer;transition:border-color var(--dur-short),background var(--dur-short),box-shadow var(--dur-short);user-select:none}
.mt-poin:hover{border-color:color-mix(in oklab,var(--bc,var(--color-accent)) 45%,var(--color-rule));box-shadow:0 2px 8px color-mix(in oklab,var(--bc,var(--color-accent)) 8%,transparent)}
.mt-poin.checked{background:color-mix(in oklab,var(--bc,var(--color-accent)) 7%,var(--color-surface));border-color:color-mix(in oklab,var(--bc,var(--color-accent)) 40%,var(--color-rule))}
.mt-poin-box{flex:0 0 auto;width:1.2rem;height:1.2rem;border:2px solid color-mix(in oklab,var(--bc,var(--color-accent)) 40%,var(--color-rule));border-radius:.35rem;display:grid;place-items:center;margin-top:.1rem;transition:background var(--dur-short),border-color var(--dur-short)}
.mt-poin.checked .mt-poin-box{background:var(--bc,var(--color-accent));border-color:var(--bc,var(--color-accent))}
.mt-poin-box svg{opacity:0;transition:opacity var(--dur-short)}
.mt-poin.checked .mt-poin-box svg{opacity:1}
.mt-poin-text{font-size:.96rem;line-height:1.65;flex:1;color:var(--color-ink)}
.mt-poin.checked .mt-poin-text{color:var(--color-muted)}

/* ─── Notes ──────────────────────────────────────────────────────────── */
.mt-note{border-radius:1rem;padding:1.1rem 1.3rem;margin:1.2rem 0;font-size:.95rem;line-height:1.75}
.mt-ilustrasi{background:color-mix(in oklab,var(--bc,var(--color-accent)) 6%,var(--color-surface));border:1px solid color-mix(in oklab,var(--bc,var(--color-accent)) 18%,var(--color-rule))}
.mt-refleksi{background:var(--color-paper-2);border:1.5px dashed color-mix(in oklab,var(--bc,var(--color-accent)) 25%,var(--color-rule))}
.mt-note strong{display:flex;align-items:center;gap:.4em;font-size:.72rem;font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--bc,var(--color-accent));margin-bottom:.6rem;font-weight:700}

/* ─── Bab nav ────────────────────────────────────────────────────────── */
.mt-babnav{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:space-between;margin:3.2rem 0 1rem;padding-top:1.8rem;border-top:1px solid var(--color-rule)}
.mt-babnav a{display:flex;flex-direction:column;gap:.25rem;max-width:18rem;padding:.9rem 1.15rem;border:1.5px solid var(--color-rule);border-radius:1rem;text-decoration:none;color:var(--color-ink);font-size:.92rem;transition:border-color var(--dur-short),box-shadow var(--dur-short)}
.mt-babnav a:hover,.mt-babnav a:focus-visible{border-color:var(--bc,var(--color-accent));box-shadow:0 2px 12px color-mix(in oklab,var(--bc,var(--color-accent)) 10%,transparent)}
.mt-babnav a.next{margin-inline-start:auto;text-align:right;align-items:flex-end}
.mt-babnav .dir{font-family:var(--font-mono);font-size:.68rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.06em}
.mt-babnav .ttl{font-weight:600;line-height:1.35;color:var(--color-ink)}
.mt-babnav-all{display:block;text-align:center;margin-top:1.1rem;font-size:.87rem;color:var(--color-muted);text-decoration:none;transition:color var(--dur-short)}
.mt-babnav-all:hover{color:var(--color-ink)}

/* ─── Footer ─────────────────────────────────────────────────────────── */
footer{border-top:1px solid var(--color-rule);padding:2rem;color:var(--color-muted);font-size:.9rem}

/* ─── Responsive ─────────────────────────────────────────────────────── */
@media(max-width:30rem){
  .r{padding:var(--space-xl) 1rem 3.5rem}
  .mt-dalil-ar{font-size:1.3rem;line-height:2}
  .mt-entri h3::before{display:none}
  .mt-babnav a{max-width:100%}
}

/* ─── Dark mode --bc overrides ───────────────────────────────────────── */
/* Pendahuluan (warm red hue 25) */
.page-pendahuluan{--bc:oklch(54% 0.14 25)}
@media(prefers-color-scheme:dark){.page-pendahuluan{--bc:oklch(72% 0.12 25)}}

/* Bab 01 (blue hue 250) */
.page-bab1{--bc:oklch(52% 0.15 250)}
@media(prefers-color-scheme:dark){.page-bab1{--bc:oklch(72% 0.14 250)}}

/* Bab 02 (green hue 155) */
.page-bab2{--bc:oklch(52% 0.13 155)}
@media(prefers-color-scheme:dark){.page-bab2{--bc:oklch(72% 0.12 155)}}

/* Bab 03 (violet hue 300) */
.page-bab3{--bc:oklch(52% 0.15 300)}
@media(prefers-color-scheme:dark){.page-bab3{--bc:oklch(74% 0.13 300)}}
