:root{color-scheme:light dark;--bg:#fbf7f0;--fg:#1f1d1a;--muted:#6b665e;--line:#e3dcd0;--card:#fff;--accent:#9a4f2a;--gold:#b9831a;--mara:#9a4f2a;--noah:#2f6f8f;--lina:#7a4a8f}
@media (prefers-color-scheme:dark){:root{--bg:#171512;--fg:#ece8e1;--muted:#a39d92;--line:#35312b;--card:#1f1c18;--accent:#e0a079;--gold:#e0b04a;--mara:#e0a079;--noah:#7fc0de;--lina:#c9a0de}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.wrap,main{max-width:40rem;margin:0 auto;padding:0 16px}
header.top{border-bottom:1px solid var(--line);background:var(--card)}
header.top .wrap{display:flex;gap:10px;align-items:baseline;padding-top:12px;padding-bottom:10px}
.brand{font-weight:700}.tag{color:var(--muted);font-size:.9rem}.ver{margin-left:auto;color:var(--muted);font-size:.8rem}
main{padding-top:18px;padding-bottom:60px}
h1{font-size:1.6rem;margin:.2em 0}h2{font-size:1.3rem;margin:0}
.lead{color:var(--muted)}
.chapters{list-style:none;padding:0;margin:14px 0;display:grid;gap:10px}
.chapters button{width:100%;text-align:left;display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--fg);font:inherit;cursor:pointer}
.chapters .n{font-weight:700;color:var(--accent);min-width:2.2rem}
.chapters .t{flex:1}.chapters .s{color:var(--muted);font-size:.85rem}
.head{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.meta{color:var(--muted);font-size:.9rem}
.bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden;margin:6px 0 14px}
#bar{height:100%;width:0;background:var(--accent);transition:width .2s}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;min-height:11rem;display:flex;flex-direction:column;gap:10px}
.speaker{font-weight:700;font-size:.95rem}
.text{font-size:1.45rem;line-height:1.35;font-weight:600}
.text.locked{color:var(--muted);font-weight:500;font-size:1.1rem;font-style:italic}
.row{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
button{font:inherit;padding:9px 16px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--fg);cursor:pointer}
button:disabled{opacity:.4;cursor:not-allowed}
button.primary{background:var(--accent);border-color:var(--accent);color:#fff}
button.gold{background:var(--gold);border-color:var(--gold);color:#1b1500}
button.ghost{border:0;background:none;color:var(--accent);padding:6px 0}
kbd{font:.72rem ui-monospace,monospace;opacity:.65;margin-left:6px}
@media (pointer:coarse){kbd{display:none}}
.auto{display:block;color:var(--muted);font-size:.9rem;margin-top:6px}
