/* Theme-aware chrome only. Font size, measure, padding and pagination remain user-controlled. */
#readerView{--reader-measure:min(var(--reader-v2-measure,64ch),720px)}
#readerView[data-reader-view="single"] .page-controls button{top:auto;bottom:0;height:44px;width:44px;opacity:.7;background:transparent}
#readerView[data-reader-view="single"] .page-controls button:first-child{left:calc(50% - 110px)}
#readerView[data-reader-view="single"] .page-controls button:last-child{right:calc(50% - 110px)}
#readerMemoryDrawer .reader-return-card{position:static;transform:none;width:auto;max-width:none;box-shadow:none;margin-top:24px;background:transparent;border-top:1px solid var(--reader-border);border-radius:0}
.reader-extra-controls{display:flex;gap:12px;padding:22px 0;border-top:1px solid var(--reader-border)}
.reader-extra-controls[hidden]{display:none}
#readerView .reader-extra-controls button{width:auto;min-width:52px;min-height:48px;color:var(--reader-text)}
#readerView[data-theme="paper"]{--reader-page:#faf8f2;--reader-text:#282b2c;--reader-border:#deddd5;background:#f2f0e9}
#readerView[data-theme="paper"] .reader-topbar,#readerView[data-theme="paper"] .reader-footer{background:#faf8f2;color:#282b2c;border-color:#deddd5}
#readerView[data-theme="paper"] .reader-topbar button{color:#282b2c}
#readerView .reader-topbar{box-shadow:none;backdrop-filter:none}
#readerView.controls-hidden:not(.reading-focus) .reader-topbar{opacity:.6;transform:none;pointer-events:auto}
#readerView.controls-hidden .reader-topbar:hover,#readerView .reader-topbar:focus-within{opacity:1}
#readerView .chapter-pill{background:transparent;border:0}
#readerView .reader-tools-dock{backdrop-filter:none;background:var(--reader-page);border:1px solid var(--reader-border);border-radius:6px;box-shadow:0 3px 14px #0000000d}
#readerView .reader-tools-dock button{min-height:40px;border-radius:3px}
#readerView .drawer-header h2,#readerView .reader-v2-drawer h2{font-family:var(--store-serif);font-weight:400}
#readerView .reader-v2-drawer,#readerView .drawer{border-radius:0;background:var(--reader-page);color:var(--reader-text)}
#readerView .chapter-heading{letter-spacing:-.03em;font-weight:400}
#readerView .page-sheet .chapter-heading{width:100%;max-width:var(--reader-measure)}
#readerView .page-sheet .part-label{font:600 10px/1.5 var(--store-sans);letter-spacing:.12em;max-width:none;max-inline-size:none;margin-inline:0}
#readerView .page-sheet .chapter-label{font:400 11px/1.5 var(--store-sans);letter-spacing:.08em;max-width:none;max-inline-size:none;margin-inline:0}
#readerView #gestureToast{top:auto;bottom:18px;left:50%;transform:translateX(-50%);padding:5px 12px;background:var(--reader-page);color:var(--reader-text);border:1px solid var(--reader-border);border-radius:2px;box-shadow:none;font:12px/1.5 var(--store-sans);pointer-events:none}
#readerView .reader-block-chapter-heading{width:100%;max-width:var(--reader-measure);margin-inline:auto;text-align:left}
#readerView .reader-block-chapter-heading :is(h1,.part-label,.chapter-label){max-width:none;margin-inline:0;text-align:left}
#readerView .page-sheet{box-shadow:none}
#readerView .flipbook-left-page{border-radius:3px 0 0 3px}
#readerView .flipbook-right-page{border-radius:0 3px 3px 0}
#readerView .flipbook-spread::before{border-radius:4px}

/* The table of contents is a reading tool, not another long page. Keep the
   chapter list permanently visible inside its own scroll region and keep saved
   pages below it so bookmarks can never push chapters out of view. */
#readerView .toc-drawer{position:fixed;z-index:120;top:0;bottom:0;left:0;width:min(460px,94vw);height:100dvh;display:flex;flex-direction:column;overflow:hidden;padding:calc(24px + var(--safe-top)) 24px calc(22px + var(--safe-bottom));transform:translateX(-105%);box-shadow:18px 0 54px #1c130f24}
#readerView .toc-drawer.open{transform:translateX(0)}
#readerView .toc-drawer .drawer-header{flex:0 0 auto;align-items:flex-start}
#readerView .toc-drawer .drawer-header h2{margin-bottom:16px}
#readerView .toc-drawer .toc-search{flex:0 0 auto;margin-bottom:10px}
#readerView .toc-list{flex:1 1 auto;min-height:220px;overflow-y:auto;overscroll-behavior:contain;padding:2px 7px 16px 0;scrollbar-gutter:stable}
#readerView .toc-item{grid-template-columns:42px minmax(0,1fr) 22px;min-height:54px;padding:10px 8px;border-radius:6px;border-bottom:1px solid var(--reader-border)}
#readerView .toc-item .toc-title{min-width:0;white-space:normal;line-height:1.3}
#readerView .toc-item.active{background:color-mix(in srgb,var(--reader-text) 7%,transparent);color:var(--reader-text);box-shadow:inset 3px 0 0 var(--accent)}
#readerView .toc-item.active .toc-number{color:var(--accent);font-weight:800}
#readerView .toc-part{position:sticky;top:0;z-index:1;margin:0;padding:14px 8px 8px;background:var(--reader-page)}
#readerView .toc-saved-pages{flex:0 0 auto;max-height:min(34dvh,300px);overflow-y:auto;margin-top:12px;padding-top:14px;padding-bottom:4px}
#readerView .toc-chapter-summary{flex:0 0 auto;margin:0 0 10px;color:var(--reader-muted);font:600 10px/1.4 var(--store-sans);letter-spacing:.06em;text-transform:uppercase}

/* Scroll mode removes the chapter-edge grid cells; the viewport must not fall into their zero-width column. */
#readerView[data-reading-mode="scroll"] .reader-stage{display:block}
#readerView[data-reading-mode="scroll"] .pages-viewport{width:100%;height:100%;padding:0 0 72px}
#readerView[data-reading-mode="scroll"] .pages-track{width:min(976px,100%)!important;gap:0}
#readerView[data-reading-mode="scroll"] .page-sheet{height:auto!important;min-height:0!important;overflow:visible;padding-block:28px;box-shadow:none}
#readerView.controls-hidden:not(.reading-focus) .reader-tools-dock{opacity:.4;pointer-events:auto;transition:opacity var(--motion-normal) var(--ease-standard)}
#readerView.controls-hidden:not(.reading-focus) .reader-tools-dock:hover,#readerView .reader-tools-dock:focus-within{opacity:1}
/* Interruptible physical cue, no mirrored prose or half-second rotating sheets. */
#readerView[data-reader-view="single"] .single-page-turn-leaf{width:100%!important;transform-origin:center!important;right:0;left:0;background:var(--reader-page);box-shadow:0 3px 12px #0001}
#readerView[data-reader-view="single"] .single-page-turn-face{width:100%!important;left:0;right:0;animation:none}
#readerView[data-reader-view="single"] .single-page-turn-back,#readerView[data-reader-view="single"] .single-page-turn-leaf::after{display:none}
@keyframes aastaSinglePageTurnNext{from{opacity:1;transform:translateX(0) rotateY(0)}to{opacity:0;transform:translateX(-20px) rotateY(-2deg)}}
@keyframes aastaSinglePageTurnPrevious{from{opacity:1;transform:translateX(0) rotateY(0)}to{opacity:0;transform:translateX(20px) rotateY(2deg)}}

/* Desktop book pages previously reserved 126px of vertical chrome plus large
   page padding. On common laptop viewports that could leave only a handful of
   prose lines. Use compact chrome and make the hidden measurement page match
   the visible page exactly so pagination consumes the available height. */
@media (min-width:900px){
 #readerView{--reader-page-block-padding:clamp(18px,2.8vh,34px)}
 #readerView .reader-topbar{min-height:calc(58px + var(--safe-top));padding:calc(7px + var(--safe-top)) calc(14px + var(--safe-right)) 7px calc(14px + var(--safe-left))}
 #readerView[data-reader-view="single"] .reader-stage{inset:calc(58px + var(--safe-top)) 0 calc(38px + var(--safe-bottom))}
 #readerView[data-reader-view="single"] .measure-page{height:calc(100dvh - 58px - 38px - var(--safe-top) - var(--safe-bottom));padding-block:var(--reader-page-block-padding)}
 #readerView .reader-footer{min-height:calc(38px + var(--safe-bottom));padding:4px calc(24px + var(--safe-right)) calc(4px + var(--safe-bottom)) calc(24px + var(--safe-left))}
 #readerView .progress-track{margin-top:2px}
 #readerView .page-number{bottom:9px}
}
@media (min-width:900px) and (max-height:700px){
 #readerView{--reader-page-block-padding:16px}
 #readerView .reader-topbar{min-height:calc(52px + var(--safe-top));padding:calc(4px + var(--safe-top)) calc(12px + var(--safe-right)) 4px calc(12px + var(--safe-left))}
 #readerView[data-reader-view="single"] .reader-stage{inset:calc(52px + var(--safe-top)) 0 calc(30px + var(--safe-bottom))}
 #readerView[data-reader-view="single"] .measure-page{height:calc(100dvh - 52px - 30px - var(--safe-top) - var(--safe-bottom));padding-block:16px}
 #readerView .reader-footer{min-height:calc(30px + var(--safe-bottom));padding:2px calc(20px + var(--safe-right)) calc(2px + var(--safe-bottom)) calc(20px + var(--safe-left))}
 #readerView .reader-page-summary{font-size:10px}
 #readerView .progress-track{margin-top:0}
}

@media(max-width:760px){
 #readerView #gestureToast{bottom:70px}
 #readerView[data-reader-view="single"] .page-controls button{top:auto;bottom:0;height:44px;width:44px;opacity:.7;background:transparent}
 #readerView[data-reader-view="single"] .page-controls button:first-child{left:12px}
 #readerView[data-reader-view="single"] .page-controls button:last-child{right:12px}
 #readerView .reader-topbar{gap:8px;padding-inline:12px}
 #readerView .topbar-actions{gap:2px;flex-shrink:0}
 #readerView .chapter-pill{flex:1;min-width:0;overflow:hidden}
 #readerView .chapter-pill strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
 #readerView .reader-tools-dock{bottom:max(8px,env(safe-area-inset-bottom));padding:3px;gap:1px;max-width:calc(100vw - 24px)}
 #readerView .reader-tools-dock button{min-width:38px;min-height:38px;padding:4px}
 #readerView .reader-tools-dock small{font-size:9px}
 #readerView .reader-topbar .icon-button{width:40px;min-width:40px;min-height:44px}
 #readerView .reader-topbar .chapter-pill strong{font-size:11px}
 #readerView .toc-list{min-height:180px}
 #readerView .toc-saved-pages{max-height:28dvh}
}
@media(prefers-reduced-motion:reduce){#readerView .single-page-turn-leaf{display:none!important}#readerView .reader-tools-dock{transition:none!important}}
