/* Komponen standar QIIORA */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 24px;border:0;border-radius:14px;background:var(--primary);color:#fff;font:700 18px/1.2 var(--font-isi);cursor:pointer;text-decoration:none;box-shadow:var(--shadow);transition:background .18s,transform .18s}
.btn:hover{background:var(--primary-dark)}
.btn:active{transform:translateY(1px)}
.btn--ghost{background:var(--green);color:#fff}   /* tombol sekunder = hijau */
.btn--ghost:hover{background:#2D9560;color:#fff}
.btn svg{width:20px;height:20px;flex:none}
.btn--sm{padding:8px 18px;font-size:16px}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed}

.side-box{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}
.side-box h3{font-size:20px;color:var(--primary-dark);margin-bottom:10px}
.side-box + .side-box{margin-top:16px}
.side-box ul{margin:0;padding:0;list-style:none}
.side-box li{padding:9px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:20px 1fr;gap:8px}
.side-box li:last-child{border-bottom:0}
.side-box li::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--sun);margin-top:9px}

.fact{background:var(--sun-soft);border-radius:var(--radius);padding:16px 18px;margin:20px 0;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}
.fact .lab{font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:#8A5A00;padding-right:14px;border-right:2px solid var(--sun)}
.fact p{margin:0}
.source-line{font-size:14px;color:var(--muted);margin-top:14px}

/* Komponen kuis bersama (index, bab) */
.opts{display:grid;gap:12px}
.opt{display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:center;width:100%;min-height:56px;padding:12px 16px;background:var(--card);border:2px solid var(--line);border-radius:14px;cursor:pointer;text-align:left;font-size:17px;transition:border-color .15s,background .15s}
.opt .letter{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--primary-soft);color:var(--primary-dark);font-weight:800;font-size:16px}
.opt:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft)}
.opt.correct{border-color:var(--ok);background:var(--green-soft)}
.opt.correct .letter{background:var(--ok);color:#fff}
.opt.wrong{border-color:var(--bad);background:var(--bad-soft)}
.opt.wrong .letter{background:var(--bad);color:#fff}
.opt:disabled{cursor:default}
.feedback,.pembahasan{display:none;margin-top:14px;padding:14px 18px;border-radius:14px;background:var(--primary-soft);border-left:6px solid var(--primary)}
.feedback.show,.pembahasan.show{display:block}
.feedback strong{display:block;font-weight:800;color:var(--primary-dark);margin-bottom:2px}

/* Mode baca: ukuran teks S/M/L + kontras tinggi (tersimpan di QIIORA.simpan) */
:root{--skala:1}
html[data-ukuran="m"]{--skala:1.15}
html[data-ukuran="l"]{--skala:1.3}
body{font-size:calc(16px*var(--skala))}
.opt{font-size:calc(17px*var(--skala))}
.page .lede,.materi-panel .lead{font-size:calc(18px*var(--skala))}
.hero-lede{font-size:calc(clamp(17px,1.6vw,20px)*var(--skala))}
.q-text,.pretest-q .q{font-size:calc(21px*var(--skala))}
html[data-kontras="tinggi"]{--text:#000;--muted:#1F2D3D;--bg:#FFFFFF;--primary:#0B4FB3;--primary-dark:#083A85;--line:#6F8AA6;--line-strong:#4A6580;--green:#1E7A4C;--ok:#1E7A4C;--bad:#B3261E;--shadow:0 0 0 2px #1F2D3D}
html[data-kontras="tinggi"] .hero,html[data-kontras="tinggi"] .section--tint{background:#fff}
html[data-kontras="tinggi"] .card,html[data-kontras="tinggi"] .opt{border-color:#1F2D3D}
.baca{position:relative;margin-left:auto;flex:none}
.head-in{gap:12px}
.baca-btn{min-width:48px;min-height:48px;border:0;border-radius:14px;background:var(--primary-soft);color:var(--primary-dark);font:800 18px/1 var(--font-judul);cursor:pointer}
.baca-panel{position:absolute;right:0;top:56px;width:240px;background:var(--card);border-radius:var(--radius);box-shadow:0 8px 24px rgba(31,45,61,.18);padding:14px;z-index:120}
.baca-panel[hidden]{display:none}
.baca-judul{font-weight:800;margin:0 0 8px}
.baca-baris{display:flex;gap:8px;margin-bottom:12px}
.baca-baris button,.baca-kontras{min-height:48px;border:2px solid var(--primary);border-radius:12px;background:var(--card);color:var(--primary-dark);font-weight:800;cursor:pointer}
.baca-baris button{flex:1}
.baca-baris button:nth-child(1){font-size:16px}.baca-baris button:nth-child(2){font-size:20px}.baca-baris button:nth-child(3){font-size:24px}
.baca-kontras{width:100%;font-size:16px}
.baca-panel button[aria-pressed="true"]{background:var(--primary);color:#fff}
@media(min-width:1101px){.baca{order:3;margin-left:0}}
@media(max-width:1100px){.baca{margin-left:auto}}

/* Tipe soal tambahan (isian, urutkan, jodohkan, hitung) */
.khusus{display:grid;gap:12px}
.khusus-input,.jodoh-baris select{width:100%;min-height:52px;border:2px solid var(--line);border-radius:12px;background:var(--card);padding:10px 14px;font-size:calc(17px*var(--skala))}
.khusus-input.ok,.jodoh-baris select.ok,.susun-hasil.ok{border-color:var(--ok);background:var(--green-soft)}
.khusus-input.salah,.jodoh-baris select.salah,.susun-hasil.salah{border-color:var(--bad);background:var(--bad-soft)}
.khusus-satuan{font-weight:800;color:var(--primary-dark)}
.khusus-petunjuk{margin:0;color:var(--muted)}
.susun-pilih{display:flex;flex-wrap:wrap;gap:10px}
.susun-item{min-height:48px;padding:8px 18px;border:2px solid var(--primary);border-radius:12px;background:var(--card);color:var(--primary-dark);font-weight:800;font-size:17px;cursor:pointer}
.susun-item:disabled{opacity:.4;cursor:default}
.susun-hasil{min-height:56px;margin:0;padding:12px 16px 12px 40px;border:2px dashed var(--line);border-radius:12px;background:var(--primary-soft)}
.susun-hasil:empty::before{content:"Urutanmu tampil di sini";color:var(--muted);margin-left:-24px}
.khusus-aksi{display:flex;gap:10px;flex-wrap:wrap}
.jodoh-baris{display:grid;grid-template-columns:minmax(110px,1fr) 2fr;gap:10px;align-items:center}
.jodoh-baris label{font-weight:800}
@media(max-width:520px){.jodoh-baris{grid-template-columns:1fr}}
