
:root{--ink:#18212a;--muted:#5f6b76;--paper:#fffdfa;--brand:#8c2430;--brand2:#caa56b;--line:#e7dfd5;--soft:#f5eee6;--shadow:0 12px 34px rgba(45,32,24,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#eee9e2;color:var(--ink);font:18px/1.72 Georgia,'Times New Roman',serif}
.topbar{position:sticky;top:0;z-index:20;background:rgba(255,253,250,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);box-shadow:0 4px 18px rgba(0,0,0,.06)}
.tools{max-width:1180px;margin:auto;padding:.75rem 1rem;display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.brand{font:700 1rem system-ui;color:var(--brand);margin-right:auto;text-decoration:none}.choice{display:flex;gap:.25rem;background:var(--soft);padding:.25rem;border-radius:999px}.choice label{font:600 .78rem system-ui;padding:.42rem .7rem;border-radius:999px;cursor:pointer}.choice input{position:absolute;opacity:0}.choice label:has(input:checked){background:var(--brand);color:white}.tools select,.tools input[type=range]{font:inherit;font-family:system-ui;font-size:.8rem}.tool-label{font:600 .75rem system-ui;color:var(--muted)}
.layout{max-width:1180px;margin:1.5rem auto;display:grid;grid-template-columns:230px minmax(0,760px);gap:2rem;padding:0 1rem;justify-content:center}.side{position:sticky;top:88px;align-self:start;max-height:calc(100vh - 110px);overflow:auto}.side a{display:block;color:var(--muted);font:600 .78rem/1.35 system-ui;text-decoration:none;padding:.45rem .6rem;border-left:3px solid transparent}.side a:hover{color:var(--brand);border-color:var(--brand2)}
main{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);padding:clamp(1.25rem,4vw,3.5rem);min-height:80vh}.eyebrow{font:700 .75rem system-ui;text-transform:uppercase;letter-spacing:.16em;color:var(--brand)}h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.05;margin:.35rem 0 1.2rem}h2,h3{line-height:1.2;color:#342722;scroll-margin-top:100px}h2{font-size:1.75rem;margin:3rem 0 1rem;border-top:1px solid var(--line);padding-top:1.2rem}h3{font-size:1.2rem;margin:2rem 0 .7rem}.page{font:600 .7rem system-ui;color:#9a8e83;text-align:right;margin:2.2rem 0 .3rem}.para{margin:0 0 1.12rem}.sentence{display:inline}.speak{border:0;background:transparent;color:var(--brand);cursor:pointer;padding:.12rem .22rem;margin-left:.08rem;vertical-align:baseline;border-radius:50%;font-size:.82em}.speak:hover,.speak.playing{background:var(--soft);outline:1px solid var(--brand2)}figure{margin:1.5rem auto;text-align:center}figure img{max-width:100%;max-height:560px;object-fit:contain;border-radius:3px}figcaption{font:italic .76rem/1.4 system-ui;color:var(--muted);margin-top:.4rem}.audio-box{border:1px solid var(--line);background:var(--soft);padding:1rem 1.2rem;margin:1.5rem 0 2.5rem}.audio-box h2{border:0;margin:0 0 .7rem;padding:0;font:700 1rem system-ui}.audio-box audio{width:100%;margin:.3rem 0}.chapters{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:2rem}.card{display:block;background:white;border:1px solid var(--line);padding:1.2rem;text-decoration:none;color:var(--ink);box-shadow:var(--shadow)}.card strong{display:block;color:var(--brand);font:700 .75rem system-ui;text-transform:uppercase;letter-spacing:.1em}.card span{font-size:1.25rem}.note{font:italic .9rem system-ui;color:var(--muted)}
@media(max-width:850px){body{font-size:17px}.layout{display:block;margin:.7rem auto}.side{position:static;display:flex;overflow:auto;margin-bottom:.7rem}.side a{white-space:nowrap;border-left:0;border-bottom:3px solid transparent}main{padding:1.2rem}.tool-label.voice-label,#voice{display:none}}
@media print{.topbar,.side,.speak{display:none}.layout{display:block;margin:0;padding:0}main{box-shadow:none;border:0;max-width:none}.page{break-before:page}body{background:white}}
