.open-book { max-width:56rem; margin:3rem auto; padding:0 1.25rem; }
.open-book header { padding-block:2rem; border-block-end:1px solid var(--border-strong); margin-bottom:1.5rem; }
.open-book h1 { font-size:clamp(2rem,5vw,3rem); line-height:1.6; }
.open-book p { line-height:1.9; }
.source-note { padding:1rem; margin-block:1rem; background:var(--surface-alt); border:1px solid var(--border); border-radius:12px; }
.source-note summary { cursor:pointer; min-height:44px; display:flex; align-items:center; }
.source-note p { font-size:.9rem; }
.chapter-link { display:block; padding:.6rem; }
.open-text { font-family:'Amiri',serif; font-size:1.5rem; line-height:2.2; overflow-wrap:break-word; }
.open-text h2 { padding-top:2rem; font-size:1.6rem; }
.open-text p { margin-block:1rem; scroll-margin-top:2rem; }
.open-text :target { background:var(--highlight); outline:2px solid var(--border-strong); border-radius:8px; }
.open-cards { display:grid; gap:1rem; margin-block:2rem; }
.open-card { display:block; padding:1.5rem; background:var(--surface); border:1px solid var(--border-strong); border-radius:16px; text-decoration:none; }
.open-card h2 { font-size:1.6rem; }
.open-card small { color:var(--gold-ink); }
.open-book ~ footer { padding:2rem; text-align:center; }
