/* The timeline follows the reading column. */
#site-header{display:flex;gap:0;padding-left:var(--timeline-left,24px);padding-right:var(--timeline-right,24px)}
#section-progress{position:relative;flex:1;width:100%;max-width:none;grid-column:1/-1}
#section-progress .progress-track{display:block;position:relative;padding:0}
#section-progress .progress-segment{position:absolute;top:0;left:var(--segment-left,0%);width:var(--segment-width,0%);height:100%;min-width:0;opacity:.5;transition:left .36s ease,width .36s ease,opacity .25s ease}
#section-progress .progress-segment[aria-current=location],#section-progress .progress-segment:hover,#section-progress .progress-segment:focus-visible{opacity:1}
/* A quiet, scrollable atlas sits below the already-read section tiles. */
.reading-location{position:fixed;left:14px;top:var(--browser-top,160px);bottom:88px;width:186px;height:max(0px,calc(100svh - var(--browser-top,160px) - 88px));min-height:0;align-self:stretch;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;z-index:24;opacity:0;transition:opacity .18s ease}
.reading-location:hover,.reading-location:focus-within,.reading-location.is-browsing{opacity:1}
.location-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;width:100%;min-height:28px;padding:0 2px;border:0;background:none;color:var(--muted);font:400 10px/1.4 'DM Sans',sans-serif;text-align:left;letter-spacing:.02em}
.location-toggle:focus-visible{outline:1px solid var(--muted);outline-offset:3px}
.location-picker{position:relative;min-height:0;flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior:auto;scrollbar-width:none;padding:4px;scroll-padding:4px}
.location-picker[hidden]{display:none}
.location-picker::-webkit-scrollbar{display:none}
.episode-boxes{display:grid;gap:14px}
.episode-box{aspect-ratio:1;min-width:0;min-height:0;align-self:start;display:flex;flex-direction:column;gap:9px;padding:12px;border:1px solid #cbd0d6;background:none;color:var(--muted)}
.episode-box[data-current-episode]{border-color:#7d8795}
.episode-box-title{flex:none;align-self:flex-start;padding:0;border:0;background:none;font:500 11px/1.2 'DM Sans',sans-serif;font-variant-numeric:tabular-nums;color:inherit}
.episode-box-sections{display:grid;grid-template-columns:repeat(var(--section-columns,4),minmax(0,1fr));gap:5px;align-content:start;min-height:0}
.episode-section-tile{aspect-ratio:1;min-width:0;padding:0;border:1px solid color-mix(in srgb,var(--tile-color) 24%,#e6e8eb);border-radius:0;background:none;color:var(--tile-color);font:400 10px/1 'DM Sans',sans-serif;font-variant-numeric:tabular-nums}
.episode-section-tile[aria-current=location]{border-color:var(--tile-color);font-weight:700}
.episode-section-tile:hover,.episode-section-tile:focus-visible{border-color:var(--tile-color);background:color-mix(in srgb,var(--tile-color) 6%,transparent)}
.episode-section-tile:focus-visible,.episode-box-title:focus-visible{outline:1px solid currentColor;outline-offset:2px}
.episode-box-message,.episode-box-retry{grid-column:1/-1;align-self:center;border:0;background:none;padding:12px 0;color:var(--muted);font:11px/1.6 'DM Sans',sans-serif;text-align:left}
@media(hover:hover){.reading-location:not(:hover):not(:focus-within):not(.is-browsing){opacity:0}}

/* The gradient is clipped inside the rail; the thumb stays flat and moves freely. */
.zoom-control{--zoom-color:#793bd1;--zoom-position:16.6667%;position:relative;width:44px;height:190px;margin-left:8px}
.zoom-track{position:relative;height:100%;border-radius:40px;overflow:hidden;background:radial-gradient(ellipse 50px 110px at 50% var(--zoom-position),color-mix(in srgb,var(--zoom-color) 34%,white),#fff 78%)}
.zoom-thumb{position:absolute;top:calc(10px + (100% - 48px)*var(--zoom-fraction,.166667));left:8px;width:28px;height:28px;border-radius:50%;background:#fff;border:1px solid color-mix(in srgb,var(--zoom-color) 38%,white);pointer-events:none}
.zoom-control.is-snapping .zoom-thumb{transition:top .14s ease-out}
#reading-zoom{position:absolute;inset:10px 0;width:44px;height:calc(100% - 20px);margin:0;writing-mode:vertical-lr;direction:ltr;opacity:0;cursor:ns-resize;touch-action:none}
.zoom-control:has(input:focus-visible) .zoom-track{outline:1px solid color-mix(in srgb,var(--zoom-color) 55%,white);outline-offset:4px}
.zoom-level{position:absolute;left:50%;top:calc(100% + 10px);transform:translateX(-50%);font:500 12px/1.4 'DM Sans',sans-serif;color:var(--zoom-color);white-space:nowrap;pointer-events:none}
.side-tools .reader-extras{margin:0}
.side-tools{top:62px;margin-top:24px;min-height:calc(100svh - 110px);display:flex;flex-direction:column}
.side-tools>.zoom-control{margin-top:auto;margin-bottom:18px}
.reading-context{position:relative;flex:1;min-height:0;margin:32px 0;width:max(100%,calc(100% + (100vw - 1336px)/2));max-width:280px;outline:none;color:var(--paragraph)}
.reading-context[data-mode=section]{color:var(--section)}
.reading-context>span,.reading-context>p{opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s}
.reading-context-label{position:absolute;top:0;left:0;font:500 11px/1.4 'DM Sans',sans-serif;letter-spacing:.04em;font-variant-numeric:tabular-nums}
/* Preserve native wheel chaining: the margin must never trap page scrolling. */
.reading-context p{position:absolute;inset:26px 0 0;margin:0;padding:0 4px 0 0;overflow-y:auto;overscroll-behavior:auto;scrollbar-width:none;font:400 13px/1.8 'DM Sans',sans-serif;color:inherit;background:none}
.reading-context p::-webkit-scrollbar{display:none}
.side-tools:hover .reading-context>*,.side-tools:focus-within .reading-context>*,.reading-context[data-preview]>*{opacity:1;visibility:visible}
.reading-context:focus-visible{outline:1px solid var(--line);outline-offset:10px}
body.page-map-open .reading-context,body.section-overview .reading-context,body.paragraph-overview .reading-context{visibility:hidden}
body.page-map-open .reading-context>*,body.section-overview .reading-context>*,body.paragraph-overview .reading-context>*{visibility:hidden}

/* Previews fit into the existing line gap without moving the text. */
.reading-preview{position:fixed;z-index:14;pointer-events:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:'DM Sans',sans-serif;font-weight:400;color:var(--word-ink);padding:0;margin:0;border:0;background:none}
.reading-preview[data-level=phrase]{color:var(--purple)}
.reading-preview[data-level=sentence]{color:var(--sentence)}
/* One faint wash per sentence: nested words never multiply the tint. */
.sentence-preview:not(.sentence-active){background:color-mix(in srgb,var(--sentence) 5%,transparent);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.sentence-preview .phrase-group:hover{background:transparent}
.sentence-preview .phrase-group:hover .word:not(.selected):not(.in-phrase){color:inherit;background:transparent}
.sentence-active{background:color-mix(in srgb,var(--sentence) 7%,transparent);color:inherit;box-shadow:none}
.sentence-active .phrase-group,.sentence-active .word.in-sentence{border-color:color-mix(in srgb,var(--sentence) 25%,transparent)}
.passage:has(.sentence-preview){cursor:pointer}
@media print{.reading-preview{display:none!important}}
body.section-pages{overflow-x:clip;--reader-sheet-radius:30px 30px 18px 18px}
/* Screen sheets share the original text's coordinates. Only the stationary
   back sheet is copied; the approaching page is always the real, live text. */
.screen-page-paper{display:none;position:absolute;left:-52px;right:-52px;z-index:-1;border:1px solid #ffffffcc;border-radius:var(--reader-sheet-radius);background:var(--paper);box-shadow:0 -14px 36px #31405c0b;pointer-events:none}
body.screen-pages .screen-page-paper{display:block}
body.screen-pages .section-page-glass{display:none}
body.screen-pages:not(.section-overview):not(.paragraph-overview) #text>.episode-section{z-index:2;opacity:1;pointer-events:auto}
body.screen-pages #text>.episode-section.screen-page-covered{opacity:0!important;pointer-events:none}
.screen-page-back{position:fixed;overflow:clip;z-index:1;background:var(--paper);border-radius:var(--reader-sheet-radius);box-shadow:inset 0 0 0 1px #2934470a;isolation:isolate}
/* Outside the text clip, the leading edge can cast its shadow onto the back
   page. This sheet moves in document flow with the incoming text. */
.screen-page-edge{position:absolute;z-index:3;pointer-events:none;border-radius:var(--reader-sheet-radius);box-shadow:0 -12px 28px #29344726,0 -1px 0 #ffffff,inset 0 1px 0 #29344712}
.screen-page-edge[hidden]{display:none}
body.section-pages .screen-page-back .screen-page-copy{position:relative;left:52px;top:0;min-height:0;padding:0;margin:0;opacity:1;transform:none;isolation:auto}
.screen-page-copy .section-source{position:relative;margin:0;padding:0}
body.screen-pages .screen-page-copy .paragraph-block .passage{opacity:1!important;filter:none!important}
.screen-page-copy .section-opening::before{animation:none}
@media print{.screen-page-back,.screen-page-paper,.screen-page-edge{display:none!important}#text>.episode-section{clip-path:none!important;visibility:visible!important}}
.section-page-start{display:none}
.section-page-glass{display:block;position:absolute;inset:-72px -52px -28px;z-index:-1;border:1px solid #ffffffcc;border-radius:var(--reader-sheet-radius);background:var(--paper);box-shadow:0 -18px 50px #31405c0c,0 18px 48px #31405c10;opacity:0;pointer-events:none}
body.section-pages:not(.section-overview):not(.paragraph-overview) .reader-body{padding-top:24px}
body.section-pages:not(.section-overview):not(.paragraph-overview) .episode-section{position:relative;min-height:70svh;padding-bottom:80px;opacity:1;isolation:isolate;transition:none}
body.section-pages:not(.section-overview):not(.paragraph-overview) .episode-section+.section-page-start+.episode-section{margin-top:100px}
body.section-pages:not(.section-overview):not(.paragraph-overview) .episode-section.is-departed-section{opacity:0;pointer-events:none}
body.section-pages:not(.section-overview):not(.paragraph-overview) .episode-section.is-reading-section{z-index:2}
body.section-pages:not(.section-overview):not(.paragraph-overview) .episode-section.is-departed-section{z-index:1}
body.section-pages:not(.section-overview):not(.paragraph-overview) .episode-section.is-page-pinned .passage{opacity:1;filter:none}
body.section-pages:not(.section-overview):not(.paragraph-overview) .episode-section.is-approaching-section{z-index:3}
body.section-pages:not(.section-overview):not(.paragraph-overview) .episode-section:is(.is-reading-section,.is-departed-section,.is-approaching-section) .section-page-glass{opacity:1}
body.section-pages:not(.section-overview):not(.paragraph-overview) .section-opening{min-height:clamp(180px,28svh,280px);display:flex;align-items:center;padding:48px 0 56px;margin:0 0 36px}
body.section-pages:not(.section-overview):not(.paragraph-overview) .section-opening h2{width:100%}
body.section-pages:not(.section-overview):not(.paragraph-overview) .section-opening::before{inset:-40px -40px;animation-duration:22s}
body.section-pages:not(.section-overview):not(.paragraph-overview) .section-source::before{background:none}
.page-tray{position:fixed;z-index:23;display:flex;gap:6px;flex-wrap:wrap;align-content:start;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding:10px;scroll-padding:10px}
.page-tray::-webkit-scrollbar{display:none}
.page-tray-past{top:40px;left:4px;width:186px;max-height:100px}
.page-tray-future{bottom:56px;right:14px;width:152px;max-height:min(30vh,282px);justify-content:flex-end}
.page-tile{flex:none;position:relative;width:28px;height:28px;padding:0;border:1px solid color-mix(in srgb,var(--tile-color) 28%,white);border-radius:5px;background:#fff;color:var(--tile-color);font:500 10px/1 'DM Sans',sans-serif;transition:transform .18s,border-color .18s,box-shadow .18s;box-shadow:0 2px 8px #25344c06}
.page-tile:hover,.page-tile:focus-visible{transform:translateY(-3px);outline:1px solid var(--tile-color);outline-offset:3px}
.page-map-open #text,.page-map-open .bottom-nav,.page-map-open .footer-coverage,.page-map-open .episode-end-nav,.page-map-open .page-tray{display:none}
body.page-map-open .reader-body{padding-top:36px}
.page-map-bar{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:24px}
.page-map-bar nav{display:flex;gap:12px}
.page-map-bar button{border:0;background:none;padding:8px 0;color:var(--muted);font:12px/1.4 'DM Sans',sans-serif}
.page-map-bar button[aria-current]{color:var(--word-ink)}
.page-map h1{font:500 20px/1.5 'DM Sans',sans-serif;margin:0 0 28px;color:var(--word-ink)}
.page-map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.page-map-card{min-width:0;padding:20px;border-radius:9px;background:#fff;border:1px solid color-mix(in srgb,var(--tile-color) 16%,white);min-height:220px;color:var(--tile-color);transition:background .24s ease,border-color .24s ease,transform .24s ease}
.page-map-card:hover,.page-map-card:focus-within{background:radial-gradient(ellipse at 8% 0%,color-mix(in srgb,var(--tile-color) 14%,transparent),transparent 82%),#fff;border-color:color-mix(in srgb,var(--tile-color) 34%,white);transform:translateY(-2px)}
.page-map-card[aria-current]{border-color:color-mix(in srgb,var(--tile-color) 42%,white)}
.page-map-card>button{border:0;padding:0;background:none;text-align:left;color:inherit;width:100%;font:500 14px/1.5 'DM Sans',sans-serif}
.page-map-card>button:hover strong{text-decoration:underline;text-underline-offset:4px}
.page-map-number{display:block;font-size:23px;margin-bottom:22px;font-weight:400}
.page-map-card p,.page-map-preview{font:13px/1.75 'DM Sans',sans-serif;color:color-mix(in srgb,var(--tile-color) 76%,#25272b);margin:15px 0 0}
.page-map-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.page-map-card:has(details[open]) .page-map-preview{display:none}
.page-map-card details{margin-top:15px;font:12px/1.5 'DM Sans',sans-serif}
.page-map-card summary{cursor:pointer;color:var(--tile-color)}
@media(min-width:901px) and (max-width:1100px){.page-map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media screen and (max-width:900px),screen and (pointer:coarse) and (max-width:1100px){
 body.section-pages{--reader-sheet-radius:20px 20px 0 0}
 .reading-location{position:sticky;top:var(--reader-header-height,44px);left:auto;bottom:auto;z-index:25;display:block;width:auto;height:44px;padding:4px 22px;margin:0;background:var(--paper);border:0;opacity:1}
 .location-toggle{width:auto;min-height:36px;gap:12px;font-size:11px}
 .location-picker{position:absolute;top:100%;left:12px;width:220px;max-width:calc(100vw - 24px);height:min(65svh,560px);padding:8px;background:var(--paper);box-shadow:0 10px 30px #25344c12}
 .episode-box{padding:14px}
 .episode-box-sections{gap:6px}
 .episode-section-tile{min-height:24px}
 .zoom-control{position:fixed;right:max(12px,env(safe-area-inset-right));top:calc(var(--reader-header-height,44px) + var(--reader-location-height,68px) + 64px);height:152px;width:36px;margin:0;z-index:17}
 #reading-zoom{width:36px}
 .zoom-thumb{left:6px;width:24px;height:24px;top:calc(10px + (100% - 44px)*var(--zoom-fraction,.166667))}
 .zoom-level{font-size:10px}
 .side-tools .reader-extras{margin:0;display:flex;justify-content:space-between;align-items:center;gap:8px}
 .side-tools{top:auto;margin:0;min-height:0;display:block;backdrop-filter:none;-webkit-backdrop-filter:none}
 .side-tools>.zoom-control{margin:0}
 .reading-context{display:none}
 .side-tools .recap-toggle{margin-top:0}
 .reader-body{padding-right:70px}
 body.section-pages:not(.section-overview):not(.paragraph-overview) .reader-body{padding-top:16px}
 body.section-pages:not(.section-overview):not(.paragraph-overview) .section-page-glass{margin-left:-40px;margin-right:-12px;border-radius:var(--reader-sheet-radius)}
 body.section-pages:not(.section-overview):not(.paragraph-overview) .section-opening{padding:44px 0 48px;min-height:220px;margin-bottom:24px}
 .paragraph-overview .reader-body,.section-overview .reader-body{padding-right:70px}
 .page-tray-past{top:calc(var(--reader-header-height,38px) - 4px);left:0;width:calc(100vw - 12px);max-height:52px}
 .page-tray-future{right:0;bottom:calc(var(--narration-bottom,84px) + 56px);width:74px;gap:4px;max-height:calc(25vh + 12px)}
 .page-tile{width:25px;height:25px}
 .page-map-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .page-map-card{padding:12px;min-height:180px}
 .page-map-card p{font-size:12px;line-height:1.6}
 .page-map-number{font-size:20px;margin-bottom:12px}
 .page-map-bar{flex-wrap:wrap;gap:0}
 body.page-map-open .reader-body{padding:20px 60px 140px 20px}
 .page-map h1{font-size:16px}
}
@media screen and (max-height:500px) and (max-width:1100px){.zoom-control{height:108px;top:calc(var(--reader-header-height,44px) + var(--reader-location-height,68px) + 28px)}}
@media(prefers-reduced-transparency:reduce){body.section-pages:not(.section-overview):not(.paragraph-overview) .section-page-glass{background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){.reading-location,.page-tile,.zoom-control.is-snapping .zoom-thumb{transition:none}.location-picker{scroll-behavior:auto}}
@media print{.reading-context,.page-tray,.page-fold,.page-map,.reading-location,.location-picker,.zoom-control,.section-page-start,.section-page-glass{display:none!important}body.section-pages:not(.section-overview):not(.paragraph-overview) .episode-section{position:relative;top:auto;min-height:0;padding-bottom:0;pointer-events:auto}body.section-pages:not(.section-overview):not(.paragraph-overview) .reader-body{padding:0}}

/* Full sheets have independent source clips and a real resting scroll interval. */
body.screen-pages #text>.episode-section>.section-opening,body.screen-pages #text>.episode-section>.section-source{opacity:0;pointer-events:none}
body.screen-pages #text>.episode-section{opacity:1!important;pointer-events:none}
body.screen-pages .screen-page-paper{visibility:hidden}
.screen-page-sheet{overflow:hidden;background:var(--paper);border-radius:var(--reader-sheet-radius);box-shadow:0 -12px 28px #2934471a,0 -1px 0 #fff,inset 0 1px 0 #2934470c;pointer-events:auto;transition:box-shadow .26s ease,border-radius .26s ease}
.screen-page-sheet.is-settled{box-shadow:0 -12px 28px #29344700,0 -1px 0 #ffffff00,inset 0 1px 0 #29344700}
.screen-page-back.is-settled{border-radius:0}
.page-note-slot{position:fixed;z-index:8;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;background:var(--paper);padding:7px 0 10px;scrollbar-width:thin}
.page-note-slot .reading-note{max-width:none}
body.screen-pages .reading-span{position:absolute;right:0;bottom:calc(100% + 12px);margin:0;background:var(--paper);padding:8px}
@media print{.page-note-slot{display:none!important}}
.screen-page-back{position:fixed;z-index:4}
.screen-page-front{position:absolute;z-index:5}
.screen-page-content{position:relative;overflow:hidden;width:100%}
body.screen-pages .screen-page-sheet .screen-page-copy{position:relative;left:52px;top:0;min-height:0;padding:0;margin:0;opacity:1;transform:none;isolation:auto}
.screen-page-sheet .paragraph-block::after{display:none!important}
.screen-page-sheet .paragraph-block .passage{opacity:1!important;filter:none!important}
.screen-page-sheet .section-opening::before{animation:none}
.screen-page-sheet .section-source{position:relative}

.reading-views{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0 0 12px;flex:none}
.reading-views button{border:0;background:none;padding:4px 0;font:11px/1.5 'DM Sans',sans-serif;color:var(--muted)}
.reading-views button[aria-current]{color:var(--word-ink)}
.reading-views button:hover{color:#111}
.narration-dock>.recap-toggle{position:absolute;right:calc(100% + 68px);top:0;display:grid;place-items:center;width:44px;height:48px;min-height:44px;margin:0;padding:10px;border:0;background:none;color:var(--muted)}
.narration-dock>.recap-toggle:hover,.narration-dock>.recap-toggle:focus-visible{color:var(--word-ink);background:none}
.narration-dock>.recap-toggle svg{width:20px;height:20px}
.reading-context{margin-bottom:56px}
/* Invisible hit areas remain reachable; keyboard and open panels stay usable. */
.narration-dock::before{content:'';position:absolute;inset:-22px -150px -24px}
@media(hover:hover) and (pointer:fine){
 .narration-dock>*{opacity:0;transition:opacity .18s ease}
 .narration-dock:hover>*,.narration-dock:focus-within>*,.narration-dock:has([aria-expanded=true])>*{opacity:1}
 .page-tray-future{opacity:0;transition:opacity .18s ease}
 .page-tray-future:hover,.page-tray-future:focus-within{opacity:1}
}

/* A quiet outline and a focused reading sit beside the actual source. */
body.page-map-open .workspace{display:block;max-width:1500px;padding:0 38px}
body.page-map-open .side-tools,body.page-map-open .reading-location{display:none}
body.page-map-open .reader-body{padding:26px 0 110px}
.page-map-bar{position:sticky;top:var(--reader-header-height,38px);z-index:8;background:var(--paper);padding:12px 0;margin:0;gap:24px}
.page-map-bar button{font-size:13px}
.overview-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:60px;align-items:start}
.overview-outline{position:sticky;top:110px;max-height:calc(100svh - 145px);overflow:auto;scrollbar-width:none;padding:4px}
.outline-chapters{display:flex;gap:18px;margin-bottom:18px}
.outline-chapters button{border:0;background:none;font:12px/1.5 'DM Sans',sans-serif;color:var(--muted);padding:4px 0}
.outline-chapters button[aria-current]{color:var(--word-ink)}
.overview-scene{--scene-opacity:.24;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;min-height:75svh;padding:60px 0;opacity:var(--scene-opacity);transition:opacity .24s;scroll-margin-top:100px}
.overview-scene:focus-within,.overview-scene:hover{opacity:1}
.overview-reading{position:relative;text-align:center;isolation:isolate;padding:20px 0}
.overview-reading::before{content:'';position:absolute;inset:-30px -28px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse,color-mix(in srgb,var(--tile-color) 12%,transparent),transparent 70%);filter:blur(20px)}
.overview-label{font:12px/1.5 'DM Sans',sans-serif;color:var(--tile-color);letter-spacing:.04em}
.page-map .overview-reading h1{font:500 19px/1.5 'DM Sans',sans-serif;margin:16px 0;color:var(--tile-color)}
.overview-description{font:400 18px/1.9 'DM Sans',sans-serif;color:color-mix(in srgb,var(--tile-color) 40%,#333);margin:0}
.overview-context{font:14px/1.8 'DM Sans',sans-serif;margin-top:18px;color:var(--muted)}
.overview-context summary{cursor:pointer;font-size:12px}
.overview-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px;margin-top:26px}
.overview-actions button{padding:6px 0;border:0;background:none;color:var(--tile-color);font:12px/1.5 'DM Sans',sans-serif}
.overview-source-label{font:11px/1.6 'DM Sans',sans-serif;color:var(--muted);margin:0 0 18px;letter-spacing:.02em}
.overview-text{max-height:55svh;overflow:auto;scrollbar-width:thin;scrollbar-color:#cbd0d6 transparent;padding:0 14px 20px 24px;font:16px/2 'Libre Caslon Text',Georgia,serif;color:#363a40;overscroll-behavior:auto}
.overview-text p{position:relative;margin:0 0 24px;white-space:pre-line;overflow-wrap:anywhere}
.overview-pnum{position:absolute;left:-24px;top:3px;font:9px/2 'DM Sans',sans-serif;color:#9498a0}
@media screen and (max-width:900px),screen and (pointer:coarse) and (max-width:1100px){
 .reading-views{margin:0;gap:14px;overflow:auto;white-space:nowrap;flex-wrap:nowrap}
 .reading-views button{font-size:11px;min-height:28px}
 .reading-location{height:76px;padding-top:0}
 .reading-location .location-toggle{min-height:36px}
 .side-tools .reader-extras{justify-content:center;gap:30px}
 .side-tools .recap-toggle{margin:0}
 .reader-body{padding-right:28px}
 body.page-map-open .workspace{padding:0 16px}
 body.page-map-open .reader-body{padding:12px 0 130px}
 .page-map-bar{top:var(--reader-header-height,38px);gap:8px;flex-wrap:wrap}
 .page-map-bar nav{gap:16px}
 .overview-layout{grid-template-columns:minmax(0,1fr);gap:16px}
 .overview-outline{position:relative;top:auto;max-height:210px;display:flex;gap:16px;overflow:auto;padding:4px}
 .outline-chapters{flex-direction:column;margin:0;gap:2px;position:sticky;left:0;background:var(--paper)}
 .overview-outline .episode-boxes{display:flex;gap:12px}
 .overview-outline .episode-box{width:166px;flex:none}
 .overview-scene{grid-template-columns:1fr;gap:26px;padding:36px 8px;min-height:65svh;opacity:1}
 .overview-description{font-size:16px;line-height:1.8}
 .overview-text{max-height:38svh;font-size:15px}
 .overview-source-label{font-size:10px}
}
@media(prefers-reduced-transparency:reduce){.overview-reading::before{display:none}.overview-scene{opacity:1}}
@media print{.screen-page-sheet,.reading-views{display:none!important}body.screen-pages #text>.episode-section>.section-opening,body.screen-pages #text>.episode-section>.section-source{opacity:1;pointer-events:auto}}

.position-view{margin-left:9px;opacity:.58;font-weight:400}
@media(prefers-reduced-motion:reduce){.screen-page-sheet{transition:none}}
