:root{--bg:#f7f4ee;--ink:#193a32;--muted:#747971;--line:#dfdfd4;--accent:#daddbb;--paper:#fffdf8;--font:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a.primary,select{cursor:pointer}button{border:0;background:none;color:inherit}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ad8150;outline-offset:4px}[hidden]{display:none!important}.top{max-width:1280px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:28px 48px;border-bottom:1px solid var(--line)}.brand{font-size:14px;letter-spacing:2px;line-height:1.4}.brand strong{font-weight:800}.brand span{display:block;color:var(--muted);font-size:9px;letter-spacing:3px;margin-top:5px}.top nav{display:flex;gap:24px;font-size:13px}main{max-width:1184px;margin:0 auto;padding:0 28px 160px}.intro{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:52px 0 42px}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:700}.intro h1{font-family:Georgia,serif;font-size:clamp(34px,4vw,58px);line-height:1.12;font-weight:400;max-width:750px;margin:14px 0 18px}.muted{color:var(--muted);font-size:14px}.book{flex:0 0 140px;min-height:175px;background:var(--ink);color:#f1edd9;padding:19px 18px;box-shadow:-6px 0 0 #102820,8px 10px 20px #193a3220;border-radius:1px 5px 5px 1px;display:flex;flex-direction:column;justify-content:space-between;transform:rotate(5deg)}.book span{font-size:9px;letter-spacing:2px;line-height:1.3}.book strong{font-family:Georgia,serif;font-weight:400;line-height:1.12;font-size:22px;margin:12px 0}.book i{font-size:8px;letter-spacing:2px;font-style:normal}.library{display:grid;grid-template-columns:280px minmax(0,1fr);border:1px solid var(--line);border-radius:16px;overflow:hidden;min-height:550px}.library aside{padding:28px 16px;background:#efeee5;border-right:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:center;padding:0 12px}.section-head h2{font-size:16px;margin:0}.section-head span{font-size:12px;color:var(--muted)}#chapter-note{padding:0 12px;font-size:12px}#chapters{list-style:none;padding:0;margin:18px 0}#chapters li{margin-bottom:6px}#chapters button{width:100%;display:flex;text-align:left;align-items:center;gap:14px;padding:15px 12px;border-radius:9px;font-size:13px;line-height:1.4}#chapters button:hover{background:#e4e6d5}#chapters button[aria-current=true]{background:var(--ink);color:#fff}#chapters button .num{font-size:11px;opacity:.6;min-width:20px}#chapters button .chapter-detail{flex:1}#chapters button small{display:block;margin-top:5px;font-size:10px;opacity:.6}.reading{padding:28px 46px 34px;background:var(--paper)}.reader-toolbar{display:flex;justify-content:space-between;align-items:center;padding-bottom:38px}.tabs{background:#eeeee5;border-radius:9px;padding:4px;display:flex;gap:4px}.tabs button{padding:7px 22px;font-size:12px;border-radius:6px}.tabs button[aria-selected=true]{background:var(--paper);box-shadow:0 1px 5px #193a320e}.reading h2{font-family:Georgia,serif;font-weight:400;line-height:1.25;font-size:34px;margin:14px 0 26px}.reading article{font-family:Georgia,serif;font-size:var(--font);line-height:1.85;color:#333d34;overflow-wrap:anywhere}.reading article img{max-width:100%;height:auto}.reading article a{text-decoration:underline}.reading article p{margin:0 0 1.15em}.reading article h2,.reading article h3{font-size:1.25em}#listen-view{text-align:center;padding:24px 0 60px}.sound-mark{font-size:80px;color:#a8ae86}.chapter-nav{border-top:1px solid var(--line);margin-top:35px;padding-top:24px;display:flex;justify-content:space-between;font-size:12px}.primary{display:inline-block;background:var(--ink);color:#fff;border-radius:9px;padding:14px 25px;font-size:14px}.gate{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:48px;max-width:820px}.gate h2{font-family:Georgia,serif;font-size:34px;font-weight:400}.gate p{max-width:570px}.actions{margin-top:24px}.message{font-size:13px;min-height:1.6em}.install-help{color:var(--muted);font-size:11px}.player{position:fixed;bottom:0;left:0;right:0;background:var(--ink);color:#fff;display:flex;align-items:center;gap:26px;padding:20px max(28px,calc((100vw - 1128px)/2)) calc(20px + env(safe-area-inset-bottom));box-shadow:0 -8px 40px #193a320c;z-index:5}.track{display:flex;align-items:center;gap:14px;min-width:200px;flex:1}.track-icon{background:#314e43;padding:8px 13px;border-radius:9px;color:var(--accent)}.track .eyebrow{font-size:8px;color:var(--accent);display:block}.track strong{font-size:13px;display:block;max-width:250px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.track #save-state{font-size:10px;opacity:.6;display:block}.transport{display:flex;align-items:center;gap:10px;white-space:nowrap}.transport button{color:var(--accent);font-size:12px;width:42px;height:42px}.transport .play{background:var(--accent);color:var(--ink);border-radius:50%;font-size:16px;width:46px;height:46px}.timeline{width:250px}.timeline input{width:100%;accent-color:var(--accent);height:3px;cursor:pointer}.timeline div{display:flex;justify-content:space-between;font-size:9px;opacity:.6}.speed select{background:#314e43;color:#fff;border:0;border-radius:6px;padding:6px;font-size:11px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:800px){.top{padding:22px 24px}main{padding:0 22px 200px}.intro{padding:35px 0}.book{flex-basis:100px;min-height:145px;padding:14px}.book strong{font-size:18px}.library{grid-template-columns:220px minmax(0,1fr)}.reading{padding:24px}.reading h2{font-size:29px}.player{gap:14px;flex-wrap:wrap;padding:16px 22px calc(16px + env(safe-area-inset-bottom))}.track{min-width:170px}.timeline{order:4;width:100%}.gate{padding:28px}}@media(max-width:580px){.brand{font-size:11px;letter-spacing:1px}.top nav{gap:12px;font-size:11px}.intro h1{font-size:34px}.intro .muted{font-size:12px;max-width:200px}.book{flex-basis:85px;min-height:125px}.book span{font-size:7px}.book strong{font-size:16px}.library{display:block}.library aside{padding:20px 12px 14px;border-right:0;border-bottom:1px solid var(--line)}#chapters{display:flex;overflow:auto;gap:6px;margin:12px 0 0;padding:2px}#chapters li{flex:0 0 185px;margin:0}#chapters button{height:76px;font-size:12px;padding:10px}#chapter-note{margin:5px 0}.reading{padding:22px}.reader-toolbar{padding-bottom:24px}.reading article{font-size:calc(var(--font) - 2px)}.reading h2{font-size:28px}.track{min-width:100px}.track-icon{display:none}.track strong{max-width:150px;font-size:11px}.transport{gap:0}.transport button{width:33px;font-size:10px}.transport .play{width:39px;height:39px}.speed select{padding:4px}.player{gap:8px}.gate h2{font-size:29px}.gate{padding:24px}.primary{padding:13px 18px}.install-help{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.library{overflow:clip}.reader-toolbar{position:sticky;top:0;z-index:2;background:var(--paper);padding-top:12px;padding-bottom:12px;margin-bottom:24px}

#audio-version-choice{display:block;font-size:12px;margin:0 auto 24px}#audio-version-choice select{display:block;max-width:100%;margin:8px auto;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}

.timeline input{display:block;height:44px;margin:0;padding:0;appearance:none;-webkit-appearance:none;background:transparent;touch-action:none}
.timeline input::-webkit-slider-runnable-track{height:4px;background:#6e8073;border-radius:4px}
.timeline input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin-top:-7px;background:var(--accent);border:2px solid var(--ink);border-radius:50%;box-shadow:0 0 0 1px var(--accent)}
.timeline input::-moz-range-track{height:4px;background:#6e8073;border-radius:4px}
.timeline input::-moz-range-thumb{width:14px;height:14px;background:var(--accent);border:2px solid var(--ink);border-radius:50%}

.book-photo{margin:36px 0 42px;clear:both}.book-photo-open{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.book-photo img{display:block;width:100%;height:auto;border-radius:3px}.book-photo-portrait{max-width:420px;margin:40px auto}.book-photo figcaption{font-family:var(--sans,Arial,sans-serif);font-size:14px;line-height:1.6;color:#687267;padding:12px 0;border-bottom:1px solid #dddcd2}.book-photo figcaption span{display:block;font-size:11px;letter-spacing:.04em;color:#81897e}.photo-viewer{border:0;padding:52px 20px 24px;background:#f4f1e9;border-radius:8px;max-width:min(1000px,94vw);max-height:92dvh}.photo-viewer::backdrop{background:rgba(15,27,20,.88)}.photo-viewer img{display:block;max-width:100%;max-height:70dvh;width:auto;height:auto;margin:auto;object-fit:contain}.photo-viewer .photo-caption{margin:14px 0 0;text-align:center;font-size:14px;color:#526052}.photo-viewer .photo-close{position:absolute;right:12px;top:10px;background:transparent;border:1px solid #b7c0b1;border-radius:24px;padding:6px 16px;cursor:pointer}.book-photo-open:focus-visible{outline:3px solid #b8a064;outline-offset:5px}

.seek-control{--seek-position:0%;position:relative;width:100%;height:52px;min-height:52px;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}
.seek-track{position:absolute;left:12px;right:12px;top:24px;height:5px;border-radius:5px;background:#718277;pointer-events:none}
.seek-progress{display:block;width:var(--seek-position);height:100%;border-radius:5px;background:var(--accent);pointer-events:none}
.seek-thumb{position:absolute;left:var(--seek-thumb-position,12px);top:17px;width:20px;height:20px;border-radius:50%;background:var(--accent);border:2px solid var(--ink);box-shadow:0 0 0 1px var(--accent);transform:translateX(-50%);pointer-events:none}
.seek-control[aria-disabled=true]{opacity:.45}.seek-control:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}

.timeline .seek-control{display:block;opacity:1}

/* Room for touch controls and a full-width timeline on every screen. */
.player{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"track transport speed" "timeline timeline timeline";gap:8px 24px;padding:16px max(28px,calc((100vw - 1128px)/2)) calc(16px + env(safe-area-inset-bottom))}
.track{grid-area:track;min-width:0}.track>div{min-width:0}.track strong{font-size:16px;max-width:none}.track .eyebrow{font-size:10px}.track #save-state{font-size:12px;opacity:.8}
.transport{grid-area:transport;gap:12px}.transport button{width:48px;height:48px;font-size:15px}.transport .play{width:60px;height:60px;font-size:24px}
.timeline{grid-area:timeline;width:100%;min-width:0;order:initial}.timeline>div:last-child{font-size:13px;opacity:.85;padding:0 12px}
.speed{grid-area:speed}.speed select{min-height:44px;min-width:68px;font-size:14px;padding:8px}
.seek-track{height:6px}.seek-thumb{width:24px;height:24px;top:15px}
main{padding-bottom:220px}
@media(max-width:580px){
.player{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"track speed" "timeline timeline" "transport transport";gap:6px 12px;padding:14px 18px calc(16px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0}
.track-icon{display:none}.track strong{font-size:16px;white-space:normal;line-height:1.35}.track .eyebrow{display:none}.track #save-state{font-size:11px;margin-top:3px}
.transport{justify-content:center;gap:30px}.transport button{width:52px;height:52px;font-size:16px}.transport .play{width:68px;height:68px;font-size:27px}
.timeline>div:last-child{font-size:14px}.speed select{font-size:15px;min-width:64px}
main{padding-bottom:290px}
}

.player{grid-template-columns:minmax(0,1fr) auto auto auto;grid-template-areas:"track transport speed sleep" "timeline timeline timeline timeline"}
.sleep{grid-area:sleep;display:flex;align-items:center;gap:6px}.sleep-icon{font-size:24px;color:var(--accent)}.sleep select{background:#314e43;color:#fff;border:0;border-radius:6px;min-height:44px;font-size:14px;padding:8px;max-width:160px}
@media(max-width:800px){.player{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"track track track" "timeline timeline timeline" "sleep transport speed";gap:6px 10px}.transport{justify-content:center;gap:10px}.sleep select{max-width:120px}.sleep-icon{display:none}main{padding-bottom:300px}}
@media(max-width:580px){.player{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"track track" "timeline timeline" "transport transport" "sleep speed";gap:6px 12px}.transport{gap:30px}.speed{justify-self:end}.sleep select{max-width:180px;font-size:14px}.track strong{font-size:16px}main{padding-bottom:340px}}

.book-cover{display:block;width:120px;flex:0 0 120px;height:auto;min-height:0;padding:0}.intro{padding:32px 0}.intro h1{font-size:clamp(32px,4vw,48px)}.intro .muted{max-width:none}.library{overflow:visible;align-items:start}.library aside{position:sticky;top:18px;max-height:calc(100dvh - 36px);overflow:auto;border-radius:16px 0 0 16px}.reading{min-width:0;border-radius:0 16px 16px 0}.reading h2{overflow-wrap:anywhere}#chapters button .num{min-width:24px}#chapters button small{display:none}#chapters button .chapter-detail{overflow-wrap:anywhere}.blank-paragraph{margin:0!important;height:.6em}.chapter-nav button{min-height:48px;font-size:14px}#toc-toggle{display:none}#listen-tab{opacity:.4}.install-help{max-width:850px;margin:24px auto}main{padding-bottom:50px}
@media(max-width:800px){#toc-toggle{display:block;position:static;z-index:4;min-height:46px;padding:10px 18px;background:#193a32;color:#fff;border-radius:8px;margin-bottom:0;font-size:14px;text-align:left;box-shadow:0 2px 12px #193a3220}.reader-toolbar{gap:12px}.reader-toolbar .tabs{display:none}.library{display:block}.library:not(.toc-open) aside{display:none}.library aside{position:static;max-height:55dvh;border-radius:16px 16px 0 0;border-right:0;border-bottom:1px solid var(--line)}#chapters{display:block;overflow:visible}#chapters li{margin-bottom:6px}#chapters button{height:auto;min-height:52px;padding:12px;font-size:14px}.reading{border-radius:16px}.book-cover{flex-basis:90px;width:90px}.intro{gap:16px}.intro h1{font-size:30px}.intro .muted{max-width:none}.chapter-nav{gap:14px}.chapter-nav button{text-align:left}main{padding-bottom:50px}}
.manuscript-note{max-width:680px;font-size:13px;color:var(--muted);line-height:1.65}.chapter-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}.chapter-photos .book-photo{margin:0;align-self:center}.chapter-photos .book-photo img{width:100%;max-height:480px;object-fit:contain;background:#eeeee5}.chapter-photos .book-photo-open{border-radius:5px;overflow:hidden}.chapter-photos:has(>figure:only-child){grid-template-columns:1fr}@media(max-width:580px){.chapter-photos{grid-template-columns:1fr}}
.personal-welcome{margin:24px 0 36px;padding-bottom:24px;border-bottom:1px solid var(--line);font-family:Georgia,serif;font-size:var(--font);line-height:1.8}.personal-welcome p{margin:0 0 1em}#listen-tab{opacity:1}.reader-toolbar .tabs{display:flex}#listen-tab:disabled{opacity:.4;cursor:default}#save-state{display:none}.player [hidden],[hidden]{display:none!important}
@media(max-width:800px){.reader-toolbar{display:flex;flex-wrap:wrap}.reader-toolbar .tabs{display:flex}.tabs button{min-height:44px}.intro .muted{max-width:none}}

#welcome-play{background:#193a32;color:#fffdf8;border-radius:8px;padding:12px 20px;margin:0 0 18px;min-height:44px}
.gate{max-width:560px;margin:24px auto;padding:28px;background:var(--paper);border:1px solid var(--line);border-radius:16px}.gate input{width:100%;padding:14px;border:1px solid var(--line);border-radius:8px;margin:8px 0 18px}.gate button,.device-row button{padding:12px 18px;border-radius:8px;background:var(--ink);color:var(--paper)}.gate label{display:block}.device-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:14px 0}.device-row button{font-size:13px}.access-tools{display:flex;gap:20px;flex-wrap:wrap;margin-top:28px;font-size:14px}#access-status{min-height:24px}dialog.devices{max-width:560px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:16px;padding:24px;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#0007}
.personal-welcome{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;padding:20px 24px;margin:0 0 24px;background:var(--paper);border:1px solid var(--line);border-radius:12px}.personal-welcome>div{flex:1;min-width:180px}.personal-welcome p{margin:0;font-size:14px}.personal-welcome .eyebrow{font-size:10px;margin-bottom:6px}.personal-welcome button{background:var(--ink);color:var(--paper);padding:12px 18px;border-radius:8px;min-height:48px;font-size:14px}.personal-welcome audio{width:100%;flex-basis:100%}

.reading .personal-welcome{display:block;background:transparent;border:0;border-radius:0;padding:0;margin:20px 0 40px}.personal-welcome .welcome-copy p{font-family:Georgia,serif;font-size:var(--font);line-height:1.8;margin:0 0 20px}.personal-welcome #welcome-note{font-size:13px;margin:8px 0}.personal-welcome audio{margin-top:12px}.personal-welcome .welcome-copy:empty{display:none}

.book-further-reading{display:none;margin-top:2em;border-top:1px solid #dfdfd4;padding-top:1em}.book-links-enabled .book-further-reading{display:block}.book-further-reading li{font-size:.85em;margin:.6em 0}
