/* Reader finishing touches; keep the compact publication masthead and navigator. */
.book-view{position:relative}
.book-view .book-stage{min-height:0}
.book-view .book{touch-action:pan-y pinch-zoom}
.book-view .book.is-zoomed{touch-action:pan-x pan-y pinch-zoom;overscroll-behavior:contain}
.book-view :is(.book-edge,button,select,a,input):focus-visible{outline:2px solid var(--book-accent);outline-offset:3px}
.book-view .book:focus-visible{outline-offset:-3px}
.book-view #book-position{white-space:nowrap;direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums}
.book-view .book-controls{bottom:max(12px,env(safe-area-inset-bottom));max-width:calc(100% - 20px)}
.book-view .book-header{padding-top:max(5px,env(safe-area-inset-top));padding-inline-start:max(10px,env(safe-area-inset-left));padding-inline-end:max(10px,env(safe-area-inset-right))}
.book-view .book-wrap{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
/* Quiet publication furniture: one hairline, consistent controls, real paper depth. */
.book-view .book-header{column-gap:12px;border-bottom-color:color-mix(in srgb,var(--book-text) 10%,transparent);background:color-mix(in srgb,var(--book-surface) 20%,transparent)}
.book-view .book-header strong{font-size:16px;line-height:1.35;letter-spacing:-.015em}
.book-view .book-header :is(button,select),.book-view .book-brand-logo{border-width:1px;border-color:color-mix(in srgb,var(--book-text) 18%,transparent);box-shadow:none}
.book-view .book-header :is(button,select){transition:background-color .15s,border-color .15s}
.book-view .book-header :is(button,select):hover{border-color:color-mix(in srgb,var(--book-text) 32%,transparent)}
.book-view .book-controls{border:1px solid color-mix(in srgb,var(--book-text) 18%,transparent);border-radius:7px;background:var(--book-surface);box-shadow:0 3px 12px #0001}
.book-view .book-nav{gap:6px}
.book-view #book-position{min-width:58px;font-size:11px;color:var(--book-muted)}
body[data-book-theme] .book-view .book-controls :is(button.page-turn-button,select){border:0;box-shadow:none;border-radius:4px}
body[data-book-theme] .book-view .book-controls select{min-width:54px;text-align:center;padding-inline-start:8px}
.book-view .book-controls select:hover{background:var(--book-hover)}
.book-view .book-spread{box-shadow:0 12px 24px #0002,1px 1px #fbf8ee,2px 2px #c2bcae,3px 3px #f7f2e6,4px 4px #aaa596}
.book-load-status{position:absolute;z-index:8;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:max-content;max-width:calc(100% - 28px);padding:10px 14px;border:1px solid var(--book-border);border-radius:6px;background:var(--book-surface);color:var(--book-text);box-shadow:0 3px 16px #0002;text-align:center;font:500 13px/1.5 system-ui,sans-serif;pointer-events:none}
.book-load-status[hidden]{display:none}
.book-view .book-spread img[data-load-state=error]{visibility:hidden}
@media(max-width:650px){
 .book-view .book-header{column-gap:6px}
 .book-view .book-header-actions{min-width:0;flex-wrap:wrap;gap:5px}
 .book-view .book-spread{box-shadow:0 12px 24px #0002,1px 1px #fbf8ee,2px 2px #bdb7a9,3px 3px #f7f2e6}
 .book-view .book-wrap{padding-bottom:calc(58px + env(safe-area-inset-bottom))}
}
@media(pointer:coarse){
 .book-view .book-header{min-height:54px}
 .book-view .book-header :is(button,select),.book-view .magazine-edition-links a{min-height:44px}
 .book-view .book-header #book-fullscreen,.book-view .book-header #book-share,.book-view .magazine-edition-links a{width:44px;min-width:44px}
 .book-view .book-header .book-brand{min-width:44px;min-height:44px}
 body[data-book-theme] .book-view .book-controls :is(button.page-turn-button,select){min-width:44px;min-height:44px;height:44px}
 .book-view .book-controls{min-height:48px}
 .book-view .book-wrap{padding-bottom:calc(74px + env(safe-area-inset-bottom))}
}
@media(max-height:500px){
 .book-view .book-wrap{padding-top:4px;padding-bottom:calc(50px + env(safe-area-inset-bottom))}
}
@media(pointer:coarse) and (max-height:500px){.book-view .book-wrap{padding-bottom:calc(64px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.book-view .book-header :is(button,select){transition:none}}
