.reading-page{--header-height:75px;--dock-height:142px}
.reading-page [hidden]{display:none!important}
.reading-page button,.reading-page input{font:inherit}
.reading-page button,.reading-page summary{cursor:pointer}
.reading-page :focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.reading-page .page-hero{padding:45px 0 42px}
.story-intro{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:52px;align-items:center;max-width:960px}
.story-heading .eyebrow{margin-top:26px;font-size:11px}
.story-heading h1{font-size:clamp(40px,5.4vw,62px);max-width:690px;letter-spacing:-.025em}
.story-author{font-size:16px;color:#e1cda5;margin:18px 0 12px}
.story-deck{font-size:16px;line-height:1.75;color:#d7e0db;margin:0 0 15px}
.edition-length{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:#d6bc8b}
.manuscript-preview{margin:0;text-align:center}
.manuscript-preview a{display:block;text-decoration:none}
.manuscript-preview img{display:block;width:160px;height:210px;object-fit:cover;object-position:top;margin:auto;border:6px solid #fffaf0;box-shadow:0 10px 25px #0005;transform:rotate(2deg);transition:transform .2s}
.manuscript-preview a:hover img{transform:rotate(0)}
.manuscript-preview a>span{display:block;font-size:13px;line-height:1.5;color:#f1e5d0;margin-top:17px;text-decoration:underline;text-underline-offset:4px}
.manuscript-preview figcaption{font-size:11px;color:#c2cfc7;margin-top:6px}
.story-experience{max-width:920px;padding-top:24px;min-width:0}
.narration-dock{position:sticky;top:var(--header-height);z-index:30;background:rgba(255,250,240,.98);border:1px solid var(--line);border-radius:10px;padding:15px 20px;box-shadow:0 7px 24px #20302b10;scroll-margin-top:100px}
.player-row{display:flex;align-items:center;gap:26px}
.listen-label{font-family:var(--serif);font-size:19px;font-weight:700;line-height:1.35;flex:0 0 155px}
.listen-label span{display:block;font:12px/1.6 var(--sans);color:var(--muted);margin-top:3px}
.player-row audio{display:block;width:100%;min-width:0;flex:1;height:46px;color-scheme:light}
.follow-row{display:flex;align-items:center;gap:10px 15px;flex-wrap:wrap;margin-top:10px;font-size:12px;min-height:25px}
.follow-switch{display:flex;align-items:center;gap:8px;font-weight:650;cursor:pointer;min-height:32px}
.follow-switch input{accent-color:var(--forest);width:17px;height:17px;margin:0}
#resume-following{background:var(--forest);color:var(--paper);border:0;border-radius:20px;padding:7px 12px;font-size:12px}
#follow-status{margin-right:auto}
.audio-download{color:#665132;font-size:12px;text-underline-offset:3px;margin-left:auto}
#narration-loading{margin:6px 0 0;font-size:11px}
#narration-note{max-width:760px;margin:17px auto 35px;font-size:12px;line-height:1.7;color:#65716a;text-align:center;padding:0 12px}
.reading-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;max-width:780px;margin:0 auto 22px}
.reading-heading h2{font:700 27px/1.2 var(--serif);margin:0}
.reading-heading a{font-size:12px;color:#735528;text-underline-offset:4px}
.approved-copy{max-width:780px;margin:auto;padding:36px 42px 22px;background:var(--paper)}
.approved-copy p{position:relative;font:20px/1.85 var(--serif);margin:0 -13px 1.15em;padding:6px 13px;border-radius:4px;border-left:3px solid transparent;overflow-wrap:break-word;transition:background-color .3s,border-color .3s}
.approved-copy p.is-narrated{background:#efe7d3;border-left-color:var(--gold)}
.approved-copy p:last-child{margin-bottom:0}
.reading-end{max-width:780px;margin:18px auto 0;text-align:right;font:italic 18px var(--serif);padding-right:22px;color:#736548}
.reading-download{max-width:780px;margin:20px auto 45px}
.supporting-archive{border-top:1px solid var(--line);padding:36px 0 10px;scroll-margin-top:calc(var(--header-height) + var(--dock-height) + 20px)}
.supporting-archive>.eyebrow{color:#8b6a39;font-size:11px}
.supporting-archive>h2{font:700 32px var(--serif);margin:9px 0}
.supporting-archive>p{font-size:14px;color:var(--muted)}
.provenance{font-size:13px;margin:24px 0}
.archive-section{border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--header-height) + var(--dock-height) + 25px)}
.archive-section>summary{font-family:var(--serif);font-size:20px;padding:19px 6px}
.archive-section>summary>span{display:block;font:12px var(--sans);color:var(--muted);margin:5px 0 0 23px}
.archive-content{padding:8px 0 24px}
.archive-links{padding-left:22px;line-height:2.3;font-size:14px}
.archive-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:25px}
.archive-details .side-card{margin:0;font-size:13px}
.archive-details .side-card h3{font-size:20px}
.reading-page .manuscript-grid{grid-template-columns:repeat(3,1fr)}
#manuscript-dialog{width:min(1100px,96vw);max-width:96vw;height:94dvh;max-height:94dvh;padding:0;border:1px solid #b4a283;border-radius:10px;background:var(--cream);color:var(--ink);overflow:hidden;box-shadow:0 20px 80px #0007}
#manuscript-dialog[open]{display:flex;flex-direction:column}
#manuscript-dialog::backdrop{background:rgba(13,25,20,.85)}
.gallery-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 22px 12px;border-bottom:1px solid var(--line)}
.gallery-bar h2{font:700 23px var(--serif);margin:0}
#gallery-position{font-size:12px;color:var(--muted);margin:4px 0 0}
#manuscript-dialog button{border:1px solid #b9a888;border-radius:22px;background:var(--paper);color:var(--ink);min-height:40px;padding:7px 14px;font-size:13px}
#manuscript-dialog button:disabled{opacity:.4;cursor:default}
#gallery-close{white-space:nowrap}
.gallery-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 18px;flex-wrap:wrap}
.zoom-controls{display:flex;gap:5px}
#manuscript-viewport{flex:1;min-height:0;overflow:auto;background:#ded8cb;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}
#manuscript-viewport figure{margin:0;min-width:100%;width:max-content;min-height:100%;padding:18px;text-align:center}
#manuscript-image{display:block;margin:auto;max-width:none;height:auto;box-shadow:0 4px 17px #0002}
.gallery-help{font-size:11px;color:var(--muted);text-align:center;margin:9px 15px}
@media(max-width:900px){.reading-page{--header-height:75px}.story-intro{gap:30px}}
@media(max-width:620px){.reading-page{--header-height:67px}.reading-page .page-hero{padding:30px 0 26px}.story-intro{grid-template-columns:1fr;gap:24px}.story-heading .eyebrow{margin-top:22px}.story-heading h1{max-width:450px}.manuscript-preview{width:190px;justify-self:center}.manuscript-preview img{width:112px;height:147px;border-width:4px}.manuscript-preview a>span{font-size:12px;margin-top:11px}.manuscript-preview figcaption{font-size:10px}.story-experience{padding-top:14px}.narration-dock{padding:10px 12px;border-radius:7px}.player-row{gap:0}.listen-label{display:none}.follow-row{gap:5px 10px;margin-top:5px}.follow-switch{font-size:12px}.audio-download{font-size:11px}#follow-status{display:none}#narration-loading{font-size:10px;line-height:1.35}#narration-note{font-size:11px;margin:15px auto 27px}.reading-heading{padding:0 8px}.reading-heading h2{font-size:24px}.reading-heading a{font-size:11px}.approved-copy{padding:20px 23px 18px}.approved-copy p{font-size:18px;line-height:1.8;padding:5px 10px;margin-left:-11px;margin-right:-11px}.reading-download{padding-left:6px}.archive-details{grid-template-columns:1fr}.reading-page .manuscript-grid{grid-template-columns:repeat(2,1fr)}.archive-section>summary{font-size:18px}.gallery-bar{padding:12px}.gallery-bar h2{font-size:19px}.gallery-tools{padding:8px;gap:5px}#manuscript-dialog button{padding:7px 10px;font-size:12px;min-height:42px}.zoom-controls{gap:3px}#manuscript-dialog{height:96dvh;max-height:96dvh;width:98vw;max-width:98vw}.gallery-help{font-size:10px}.supporting-archive>h2{font-size:29px}}
@media(max-height:500px){.reading-page .site-header{position:static}.reading-page{--header-height:0px}.narration-dock{padding:6px 10px}.follow-row{margin-top:0}#narration-loading{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.approved-copy p,.manuscript-preview img{transition:none}}

#follow-status.timing-error{display:block!important}
