/* Responsive reading workspace. Book colors are independent of the app theme. */
body:has(dialog[open]){overflow:hidden}.heart{width:42px;height:42px;min-height:42px}
.ebook-reader{--reader-surface:#faf7ef;--reader-ink:#304435;--reader-muted:#7c806a;--reader-border:#ddd4bd;--reader-accent:#8e7540;padding:24px 27px 15px;width:min(1120px,calc(100vw - 32px));height:min(960px,calc(100vh - 30px));height:min(960px,calc(100dvh - 30px));max-width:1120px;max-height:calc(100dvh - 30px);overflow:hidden;background:var(--reader-surface);color:var(--reader-ink)}
.ebook-reader .close{z-index:10;right:12px;top:8px;min-width:42px;min-height:42px;color:var(--reader-muted)}.ebook-reader #modal-body{height:100%;min-height:0}.book-reader{height:100%;min-height:0;display:flex;flex-direction:column;gap:0;color:var(--reader-ink)}.reader-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:32px;flex:none}.reader-heading>div{min-width:0}.reader-heading h2{font:29px/1.1 var(--serif);margin:8px 0 14px;max-width:800px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--reader-ink)}.reader-heading .eyebrow{color:var(--reader-accent);font-size:8px;letter-spacing:1.8px}.reader-icon{border:1px solid var(--reader-border);border-radius:5px;background:transparent;color:var(--reader-ink);padding:8px 10px;min-height:42px;cursor:pointer;white-space:nowrap;font-size:12px}.reader-commandbar{display:flex;align-items:center;gap:8px;padding:7px 0 14px;flex:none;flex-wrap:wrap;border-bottom:1px solid var(--reader-border)}.reader-chip{border:1px solid var(--reader-border);border-radius:5px;background:transparent;color:var(--reader-ink);font-size:12px;min-height:42px;padding:8px 13px;cursor:pointer;line-height:1.35}.reader-chip:hover,.reader-chip[aria-expanded=true]{background:#ba9f5a20;border-color:var(--reader-accent)}.reader-workspace{position:relative;flex:1;min-height:0;display:flex;padding:12px 0;gap:15px}.ebook-reader #book-stage{height:auto;min-height:0;flex:1;width:0;overflow:auto;border:1px solid var(--reader-border);background:#fffdf6;border-radius:5px;text-align:left;padding:12px;overscroll-behavior:contain;touch-action:pan-x pan-y;scrollbar-gutter:stable}.ebook-reader #book-stage>p{padding:20px;font-size:14px}.ebook-reader #book-stage canvas{display:block;margin:0 auto;max-width:none;background:white;box-shadow:0 3px 15px #0002}.ebook-reader #book-stage iframe{display:block;border:0;width:100%;height:100%;min-height:0}.book-reader[data-reader-kind=epub] #book-stage{padding:0;overflow:hidden;scrollbar-gutter:auto}.ebook-reader #reader-panel{width:290px;flex:none;overflow:auto;background:var(--reader-surface);color:var(--reader-ink);border:1px solid var(--reader-border);border-radius:5px;padding:14px;overscroll-behavior:contain}.ebook-reader #reader-panel[hidden]{display:none}.reader-panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--reader-border);padding-bottom:10px;margin-bottom:14px}.reader-panel-head strong{font-size:13px;font-weight:500}.reader-panel-head .reader-icon{border:0;font-size:24px;padding:0 5px;min-width:36px}.reader-list{margin:10px 0;padding:0;list-style:none}.reader-list li{border-bottom:1px solid var(--reader-border)}.reader-list button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:13px 10px;color:var(--reader-ink);line-height:1.5;font-size:12px;min-height:44px;border-radius:4px}.reader-list button:hover,.reader-list button[aria-current]{background:#b49a6120}.reader-list button strong{display:block;font-weight:500;margin-bottom:5px}.reader-list button small{display:block;font-size:11px;color:var(--reader-muted)}.reader-field{font-size:11px;display:block;margin:16px 0;color:var(--reader-ink)}.reader-field input:not([type=checkbox]),.reader-field textarea,.reader-field select,.reader-inline input{display:block;width:100%;max-width:100%;border:1px solid var(--reader-border);border-radius:4px;min-height:42px;padding:9px;margin-top:7px;background:var(--reader-surface);color:var(--reader-ink);font:12px var(--sans)}.reader-field input[type=range]{padding:0;accent-color:var(--reader-accent);border:0;min-height:32px}.reader-field output{float:right;color:var(--reader-accent)}.reader-inline{display:flex;gap:8px;align-items:center;margin:10px 0}.reader-inline>*{min-width:0;flex:1}.reader-inline input{margin:0}.reader-check{display:flex;gap:9px;align-items:center;font-size:12px;margin-top:18px;min-height:44px}.reader-check input{accent-color:var(--reader-accent);width:17px;height:17px}.reader-hint{font-size:10px!important;line-height:1.7;color:var(--reader-muted)!important}.ebook-reader #reader-panel .muted{color:var(--reader-muted);font-size:11px;line-height:1.8}.reader-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none;padding-top:4px}.reader-nav{border:1px solid var(--reader-border);background:transparent;color:var(--reader-ink);border-radius:5px;min-height:44px;padding:9px 14px;font-size:12px;white-space:nowrap}.reader-nav:disabled{opacity:.35}.reader-location{display:grid;gap:5px;flex:1;text-align:center;max-width:380px}.reader-location>span:first-child{font-size:11px;color:var(--reader-ink)}#reading-progress{appearance:none;width:100%;height:3px;border:0;border-radius:3px;overflow:hidden;background:var(--reader-border)}#reading-progress::-webkit-progress-bar{background:var(--reader-border)}#reading-progress::-webkit-progress-value{background:#b49a61}#reading-progress::-moz-progress-bar{background:#b49a61}#reading-percent{font-size:9px;color:var(--reader-muted)}.reader-footnote{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:8px;flex:none;color:var(--reader-muted);font-size:9px}.reader-footnote .text-link{color:var(--reader-accent);font-size:10px;min-height:35px}.reader-bookmarks{list-style:none;padding:0;margin:15px 0}.reader-bookmarks li{border-top:1px solid var(--reader-border);padding:15px 0}.bookmark-go{border:0;background:transparent;color:var(--reader-ink);display:block;text-align:left;padding:8px 0;font-size:12px;line-height:1.6;min-height:42px}.reader-bookmarks .reader-field{margin:8px 0}.reader-bookmarks textarea{min-height:70px}.reader-bookmarks .text-link{font-size:10px;color:var(--reader-accent);min-height:36px}.pdf-readable-text{max-width:760px;margin:auto;padding:20px 32px 50px;overflow-wrap:anywhere;color:inherit;font:20px/1.8 Georgia,serif}.pdf-readable-text p{font:inherit;color:inherit!important;margin:0 0 .65em}.ebook-reader .notice{font-size:12px;margin:20px;padding:18px}.ebook-reader .notice p{color:inherit;font-size:12px}.reader-expanded{width:100vw!important;height:100vh!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;margin:0;border-radius:0}.ebook-reader:has(.book-reader[data-reader-theme=night]){--reader-surface:#19271e;--reader-ink:#dce1ce;--reader-muted:#9ba98e;--reader-border:#455239;--reader-accent:#ccb27a;background:var(--reader-surface);border-color:#756740}.ebook-reader:has(.book-reader[data-reader-theme=sepia]){--reader-surface:#eee2c9;--reader-ink:#51462f;--reader-muted:#8c7d5a;--reader-border:#d4c29a;--reader-accent:#94733e;background:var(--reader-surface)}
/* App navigation remains reachable on narrow screens and at large text sizes. */
.book-reader[data-position-marked=true] #book-stage::after{display:none}.page-bookmark{position:absolute;right:18px;top:12px;z-index:4;width:30px;height:44px;border:0;padding:3px 0 11px;text-align:center;color:#203729;background:#ceb474;clip-path:polygon(0 0,100% 0,100% 100%,50% 80%,0 100%);cursor:pointer;touch-action:manipulation}.page-bookmark[hidden]{display:none}.page-bookmark:focus-visible{outline:2px solid var(--reader-ink);outline-offset:3px}.reader-remove{display:block;width:100%;min-height:44px;margin:5px 0 14px;padding:10px;border:1px solid var(--reader-border);border-radius:5px;background:#b49a6115;color:var(--reader-ink);font-size:11px;text-align:left;cursor:pointer}.reader-remove:hover{border-color:var(--reader-accent);background:#b49a6128}.reader-bookmarks q{display:block;overflow-wrap:anywhere;font-size:12px;line-height:1.6;margin-top:8px}.reader-footnote #reader-feedback{line-height:1.4;max-width:65%}.reader-commandbar #annotation-count{font-variant-numeric:tabular-nums}
@media(max-width:780px){.book-reader[data-reader-kind=epub] .reader-commandbar{grid-template-columns:repeat(6,minmax(0,1fr))}.book-reader[data-reader-kind=epub] .reader-commandbar .reader-chip{grid-column:span 2}.book-reader[data-reader-kind=epub] .reader-commandbar [data-reader-panel=settings],.book-reader[data-reader-kind=epub] .reader-commandbar [data-reader-panel=annotations]{grid-column:span 3}.page-bookmark{right:12px;top:9px}.book-reader[data-reader-kind=epub] .reader-commandbar #bookmark-count{display:inline}}
@media(max-width:390px){.reader-commandbar #bookmark-count{display:block;font-size:8px;line-height:1.15}.reader-commandbar [data-reader-panel=marks]{white-space:normal}}
.ebook-reader:has(.book-reader[data-reader-theme=paper]){--reader-surface:#faf7ef;--reader-ink:#304435;--reader-muted:#7c806a;--reader-border:#ddd4bd;--reader-accent:#8e7540;background:var(--reader-surface);color:var(--reader-ink)}
.book-reader[data-position-marked=true] #book-stage::after{content:'★';position:absolute;right:18px;top:12px;z-index:2;width:26px;height:38px;padding-top:5px;text-align:center;color:#203729;background:#ceb474;clip-path:polygon(0 0,100% 0,100% 100%,50% 80%,0 100%);pointer-events:none}.book-reader[data-position-marked=true] #quick-bookmark{font-weight:600}.reader-footnote .text-link{min-height:44px}.reader-commandbar #bookmark-count{font-variant-numeric:tabular-nums}
img,svg{max-width:100%}main,section,.grid,.card,.shell{min-width:0}.card h3{overflow-wrap:anywhere}button,a,input,select,textarea{-webkit-tap-highlight-color:#b49a6133}.sidebar nav a,.button,.tab,.card-bottom button{min-height:44px}.sidebar nav a{display:flex;align-items:center}.top-actions{min-width:0}.account{min-height:44px}.theme-switch button{min-height:34px}.form-grid>*,.tools>*,.help-grid>*{min-width:0}.panel input,.panel select,.panel textarea{max-width:100%}.topbar{padding-inline:clamp(18px,3vw,42px)}.search{max-width:100%}.sidebar{overflow-y:auto}.sidebar-bottom{padding-top:28px}.demo-notice{overflow-wrap:anywhere}.hero h1{overflow-wrap:normal}
@media(max-width:900px){.ebook-reader #reader-panel{width:260px}.reader-heading h2{font-size:25px}.ebook-reader{padding:20px}.reader-heading .eyebrow{font-size:7px}.reader-commandbar{gap:6px}}
@media(max-width:780px){.sidebar{overflow:visible;padding:10px 14px 8px}.sidebar nav{display:flex;justify-content:space-between;gap:4px;overflow-x:auto;scrollbar-width:none}.sidebar nav::-webkit-scrollbar{display:none}.sidebar nav a,.sidebar nav a:last-child{display:flex;flex:0 0 auto;min-height:42px;font-size:10px;gap:5px;white-space:nowrap;padding:7px 8px}.sidebar nav a.active{padding:6px 7px}.brand small{letter-spacing:1.8px}.shell{width:100%}.topbar{padding:0 16px}.top-actions{gap:8px}.theme-switch button{min-height:36px}.hero-copy{min-width:0}.ebook-reader{padding:18px 14px 12px;width:calc(100vw - 12px);height:calc(100vh - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);border-radius:7px}.reader-heading h2{font-size:25px;margin-top:7px;margin-bottom:9px}.reader-heading{padding-right:30px}.reader-heading .reader-icon span{display:none}.reader-commandbar{padding:5px 0 10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.reader-chip{padding:8px 9px;font-size:11px}.reader-commandbar .reader-chip{padding:8px 3px;font-size:10px;white-space:nowrap;min-width:0}.reader-workspace{padding:9px 0}.ebook-reader #reader-panel{position:absolute;inset:9px 0 auto auto;z-index:3;width:min(315px,100%);max-height:calc(100% - 18px);box-shadow:0 8px 35px #0003;border-color:var(--reader-accent);border-radius:6px}.reader-navigation{gap:10px}.reader-nav{padding:8px 10px}.reader-location{gap:4px}.reader-footnote{font-size:8px;margin-top:5px}.reader-footnote .text-link{font-size:9px}.ebook-reader .close{top:4px;right:5px}.ebook-reader #book-stage{padding:7px;scrollbar-gutter:auto}.reader-heading .eyebrow{font-size:6.5px;letter-spacing:1.3px}.reader-heading>div{padding-right:2px}.reader-location>span:first-child{font-size:10px}}
@media(max-width:390px){main{padding-inline:15px}.brand{font-size:19px}.sidebar nav a,.sidebar nav a:last-child{font-size:9px;padding:6px;gap:4px}.sidebar nav a.active{padding:5px}.hero-copy{padding:26px 22px}.hero h1{font-size:46px}.eyebrow{letter-spacing:1.7px}.reader-commandbar .reader-chip{font-size:9px}.reader-nav span{display:none}.reader-nav{min-width:42px;font-size:17px}.reader-footnote>span{max-width:155px;line-height:1.5}.reader-heading h2{font-size:23px}.theme-switch button{padding-inline:9px}.card-body{padding:18px}.tabs{gap:5px}.tab{padding:7px 11px}}
@media(max-height:520px) and (orientation:landscape){.sidebar{position:relative}.ebook-reader{padding:8px 13px;width:calc(100vw - 8px);height:calc(100dvh - 8px);max-height:calc(100dvh - 8px)}.reader-heading .eyebrow,.reader-footnote{display:none}.reader-heading h2{font-size:20px;margin:0}.reader-heading{padding-right:32px;min-height:34px}.reader-commandbar{display:flex;padding:3px 0 5px;gap:7px}.reader-commandbar .reader-chip{font-size:10px;padding:5px 14px;min-height:34px}.reader-workspace{padding:5px 0}.reader-navigation{padding:0}.reader-nav{min-height:36px;font-size:11px}.reader-location{gap:2px}.ebook-reader #reader-panel{inset:5px 0 auto auto;max-height:calc(100% - 10px)}.reader-heading .reader-icon{min-height:30px;padding:3px 8px}.ebook-reader .close{min-height:32px;top:2px}.reader-location>span:first-child{font-size:9px}#reading-percent{font-size:8px}.ebook-reader #book-stage{padding:5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Edge-to-edge reading, with device cutouts kept outside the text and controls. */
.ebook-reader.reader-expanded{position:fixed;inset:0;margin:0;width:100vw;height:100vh;height:100dvh;max-width:100vw;max-height:100dvh;border:0;border-radius:0;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);box-shadow:none}
.ebook-reader.reader-expanded .reader-heading{padding:4px 48px 0 8px;gap:8px;min-height:48px}
.ebook-reader.reader-expanded .reader-heading h2{font-size:21px;margin:3px 0 6px}
.ebook-reader.reader-expanded .reader-heading .eyebrow{display:none}
.ebook-reader.reader-expanded .reader-commandbar{padding:4px 8px 6px}
.ebook-reader.reader-expanded .reader-workspace{padding:0}
.ebook-reader.reader-expanded #book-stage{border:0;border-radius:0;padding:0}
.ebook-reader.reader-expanded #reader-panel{margin:4px 8px}
.ebook-reader.reader-expanded .reader-navigation{padding:5px 8px 0}
.ebook-reader.reader-expanded .reader-footnote{margin:0;padding:0 8px}
.ebook-reader.reader-expanded #reader-focus{flex:none}
.ebook-reader .reader-focused .reader-heading>div,.ebook-reader .reader-focused #reader-expand,.ebook-reader .reader-focused .reader-commandbar,.ebook-reader .reader-focused .reader-footnote{display:none}
.ebook-reader .reader-focused .reader-heading{justify-content:flex-end}
.ebook-reader .reader-focused .reader-workspace{padding:0}
@media(max-width:780px){.ebook-reader.reader-expanded .reader-heading h2{font-size:17px}.ebook-reader.reader-expanded .reader-heading .reader-icon{padding:6px;font-size:11px}.ebook-reader.reader-expanded .reader-navigation{gap:6px}.ebook-reader.reader-expanded #reader-panel{inset:0 0 auto auto;max-height:calc(100% - 8px)}}
