.book-reader-loading{position:fixed;inset:0;z-index:80;display:grid;place-content:center;background:rgb(var(--bg))}@keyframes reader-loading-breathe{50%{opacity:.65;transform:scale(.94)}}@media (prefers-reduced-motion:no-preference){.book-reader-loading>img{animation:reader-loading-breathe 1.8s ease-in-out infinite}}.dark .book-reader-loading{--bg:29 29 31}.book-reader>.book-reader-loading{position:absolute}.book-reader[data-reader-loading=true]>:not(.book-reader-loading){visibility:hidden}.book-reader[data-reader-mode]{position:relative;grid-template-areas:"header tools" "stage stage" "footer footer";grid-template-columns:minmax(44px,1fr) auto;grid-template-rows:auto minmax(0,1fr) auto;background:rgb(var(--bg))}.book-reader[data-reader-mode],[data-highlight-color=yellow]{--reader-highlight:#f3d478;--reader-highlight-ink:#231d0e;--reader-highlight-border:#80641e}[data-highlight-color=green]{--reader-highlight:#9be0b0;--reader-highlight-ink:#102418;--reader-highlight-border:#256e3f}[data-highlight-color=blue]{--reader-highlight:#9dd0fa;--reader-highlight-ink:#102030;--reader-highlight-border:#255c8c}[data-highlight-color=pink]{--reader-highlight:#f7b2be;--reader-highlight-ink:#2b1217;--reader-highlight-border:#8e3446}[data-highlight-color=purple]{--reader-highlight:#ccbbfd;--reader-highlight-ink:#1d1433;--reader-highlight-border:#553b9e}[data-highlight-color=underline]{--reader-highlight:transparent;--reader-highlight-ink:inherit;--reader-highlight-border:rgb(var(--brand))}.reader-tool-row{grid-area:tools;min-width:0;background:rgb(var(--bg))}.dark .book-reader[data-reader-mode]{--bg:29 29 31;--surface:47 47 49;--border:63 63 65;--muted:180 180 182}.book-reader[data-reader-mode] .book-reader-header{gap:14px;padding:calc(10px + env(safe-area-inset-top, 0px)) 12px 10px max(20px,env(safe-area-inset-left,0px));border-bottom:0}.book-reader[data-reader-mode] .book-reader-header .book-reader-control{border-radius:999px}.book-reader[data-reader-mode] .book-reader-back,.book-reader[data-reader-mode] .book-reader-focus{padding:6px 14px;border:1px solid rgb(var(--border));background:rgb(var(--surface)/.35);font-size:.8125rem}.reader-tools-bar{position:relative;z-index:10;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px 12px;padding:calc(10px + env(safe-area-inset-top, 0px)) max(20px,env(safe-area-inset-right,0px)) 10px 0;background:rgb(var(--bg))}.reader-mode-switch,.reader-notebook-tools{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid rgb(var(--border));border-radius:999px;background:rgb(var(--surface)/.38)}.reader-mode-switch button{min-height:44px;padding:6px 16px;border-radius:999px;color:rgb(var(--muted));font-size:.8125rem;font-weight:500;cursor:pointer}.reader-mode-switch [aria-pressed=true]{background:rgb(var(--surface));color:rgb(var(--fg));font-weight:600;box-shadow:0 1px 2px rgb(0 0 0/.14)}.reader-notebook-tools>button{min-height:44px;padding:6px 14px;border-radius:999px;background:transparent;font-size:.8125rem;font-weight:500;gap:6px}.reader-notebook-tools [aria-pressed=true]{background:rgb(var(--surface));color:rgb(var(--brand));font-weight:600}.reader-saved-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding-inline:6px;border-radius:999px;background:rgb(var(--surface));color:rgb(var(--fg));font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums}.reader-setting-zoom{display:grid;gap:8px;margin-block:16px;font-size:.875rem;font-weight:600}.reader-setting-zoom .book-reader-zoom{justify-content:space-between}.reader-notebook-tools>.book-reader-settings-trigger{min-width:44px;border-left:1px solid rgb(var(--border))}.book-reader[data-controls-hidden=true] .reader-tools-bar{display:none}.book-reader[data-reader-mode][data-controls-hidden=true]{position:fixed}.book-reader[data-reader-mode] .book-reader-footer{padding-bottom:max(6px,env(safe-area-inset-bottom,0px));border-top:0}.book-reader[data-reader-mode] .book-reader-navigation{justify-content:center;gap:16px;padding:4px max(20px,env(safe-area-inset-right,0px)) 0 max(20px,env(safe-area-inset-left,0px))}.book-reader[data-reader-mode] .book-reader-page-controls{gap:8px;border-radius:8px;background:rgb(var(--bg))}.book-reader[data-reader-mode] .book-reader-page-controls>button{background:transparent}.book-reader[data-reader-mode] .book-reader-page-controls>button:hover:not(:disabled){background:rgb(var(--surface))}.book-reader[data-reader-mode] .book-reader-page-picker{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:64px;min-height:44px;padding:0 8px;border-radius:8px;font-size:.75rem;font-variant-numeric:tabular-nums;cursor:pointer}.book-reader[data-reader-mode] .book-reader-page-picker:hover{background:rgb(var(--surface))}.book-reader[data-reader-mode] .book-reader-page-picker :is(select,.reads-select,.reads-select-trigger){min-width:0;min-height:44px;padding:0 2px;border:0;background:transparent;color:rgb(var(--fg));font-size:.75rem;font-weight:500;font-variant-numeric:tabular-nums;box-shadow:none}.book-reader[data-reader-mode] .book-reader-page-picker .reads-select-arrow{display:none}.book-reader[data-reader-mode] .book-reader-page-count{color:rgb(var(--fg));font-size:.75rem;font-variant-numeric:tabular-nums;pointer-events:none}.reader-text-flow{max-width:min(100%,calc(760px * var(--reader-zoom, 1)));margin-inline:auto;padding:36px 48px 96px}.reader-book-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:40px;padding-bottom:32px;border-bottom:1px solid rgb(var(--border))}.reader-book-intro>div{min-width:0}.reader-book-intro p{color:rgb(var(--muted));font-family:Georgia,Times New Roman,serif;font-style:italic}.reader-book-intro h2{margin:8px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:calc(1.6rem * var(--reader-zoom, 1));line-height:1.4;overflow-wrap:anywhere;text-wrap:balance}.reader-book-intro span{color:rgb(var(--muted));font-size:.8125rem}.reader-book-intro img{width:78px;height:108px;flex-shrink:0;-o-object-fit:contain;object-fit:contain}.reader-text-page{padding:20px 0 28px;scroll-margin-top:28px;overflow-wrap:anywhere}.reader-text-page+.reader-text-page{border-top:1px solid rgb(var(--border))}.reader-text-page[data-loaded=false]{min-height:600px;overflow-anchor:none}.reader-page-heading{margin-bottom:16px;color:rgb(var(--muted));font-size:.75rem}.reader-page-heading-main{display:grid;gap:8px}.reader-page-heading-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.reader-page-badges{display:inline-flex;align-items:center;gap:12px;min-width:0;max-width:100%}.reader-page-highlight-preview{display:inline-flex;align-items:center;gap:6px;min-height:28px;max-width:240px;padding:2px 8px;border:1px solid rgb(var(--border));border-radius:999px;background:rgb(var(--surface)/.5);color:rgb(var(--fg));font-size:.6875rem;cursor:pointer}.reader-page-preview-swatch{flex-shrink:0;width:8px;height:8px;border-radius:999px;background:var(--reader-highlight,rgb(var(--brand)));border:1px solid var(--reader-highlight-border,rgb(var(--brand)))}.reader-page-preview-swatch[data-highlight-color=underline]{border-radius:0;height:2.5px;background:rgb(var(--brand));border:0}.reader-page-highlight-snippet{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-page-bookmark{border-bottom:2px solid;color:rgb(var(--fg));font-weight:600}.reader-page-progress{height:2px;border-radius:999px;background:rgb(var(--border));overflow:hidden}.reader-page-progress span{display:block;height:100%;border-radius:999px;background:rgb(var(--fg)/.55)}.reader-text-page h2{margin-bottom:20px;font-family:Georgia,Times New Roman,serif;font-size:calc(1.5rem * var(--reader-zoom, 1));line-height:1.45;text-wrap:balance}.reader-preferences-specimen,.reader-prose{display:flex;flex-direction:column;gap:.9em;font-family:var(--reader-font-family,Georgia,"Times New Roman",serif);font-size:var(--reader-font-size,1.25rem);font-weight:var(--reader-font-weight,400);line-height:var(--reader-line-height,1.8);letter-spacing:var(--reader-letter-spacing,0);word-spacing:var(--reader-word-spacing,0);text-align:var(--reader-text-align,start);overflow-wrap:anywhere}.reader-prose>:is(p,h2){margin:0;white-space:pre-wrap}.reader-prose>h2{font-size:1.2em}.reader-source-separator{display:none}.reader-prose .reader-illustration{display:block;align-self:center;max-width:100%;height:auto;margin:0;-o-object-fit:contain;object-fit:contain}.reader-prose mark{padding:2px 0;border-radius:2px;background:var(--reader-highlight);color:var(--reader-highlight-ink);box-decoration-break:clone;-webkit-box-decoration-break:clone;cursor:pointer;text-decoration:underline;text-decoration-color:var(--reader-highlight-border);text-underline-offset:4px}.reader-prose mark[data-highlight-color=underline]{padding:0;background:transparent;color:inherit;text-decoration-thickness:2.5px;text-decoration-color:rgb(var(--brand))}.reader-prose ::-moz-selection{background:#b5d6ec;color:#132534}.reader-prose ::selection{background:#b5d6ec;color:#132534}.reader-text-message{display:grid;gap:16px;padding:24px 0;color:rgb(var(--muted));font-size:.9375rem;line-height:1.7}.reader-text-slide{max-width:min(100%,calc(1280px * var(--reader-zoom, 1)))}.reader-text-slide .reader-text-leaves{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:72px;align-items:start}.reader-text-slide .reader-text-page+.reader-text-page{border-top:0}.reader-text-slide .reader-book-intro{max-width:700px;margin-inline:auto}.reader-chapter-rail,.reader-notes-rail{display:none}@keyframes reader-selection-enter{0%{opacity:0;transform:translate3d(-50%,10px,0) scale(.96)}to{opacity:1;transform:translate3d(-50%,0,0) scale(1)}}@keyframes reader-picker-enter{0%{opacity:0;transform:translate3d(-50%,8px,0) scale(.97)}to{opacity:1;transform:translate3d(-50%,0,0) scale(1)}}@keyframes reader-picker-inline-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.reader-selection-tools{position:absolute;z-index:20;bottom:calc(var(--reader-footer-height, 64px) + 16px);left:50%;transform:translate3d(-50%,0,0);display:flex;align-items:center;flex-wrap:wrap;gap:4px;width:-moz-max-content;width:max-content;max-width:calc(100% - 16px);padding:6px 8px;border:1px solid rgb(var(--muted));border-radius:14px;background:rgb(var(--bg));box-shadow:0 12px 32px rgb(0 0 0/.18)}.reader-selection-divider{width:1px;height:22px;margin-inline:2px;background:rgb(var(--border));flex-shrink:0}.reader-highlight-swatch{width:16px;height:16px;background:var(--reader-highlight);border:1.5px solid var(--reader-highlight-border);border-radius:999px;flex-shrink:0}.reader-highlight-swatch[data-highlight-color=underline]{background:transparent;border-radius:2px;border:0;border-bottom:2.5px solid rgb(var(--brand))}.reader-highlight-palette{display:inline-flex;align-items:center;flex-wrap:wrap;gap:3px;padding-inline:2px}.reader-color-option{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border-radius:10px;cursor:pointer}.reader-color-option:before{content:"";width:22px;height:22px;border-radius:999px;background:var(--reader-highlight);border:1.5px solid var(--reader-highlight-border)}.reader-color-option[data-highlight-color=underline]:before{display:none}.reader-color-custom-trigger:before{box-shadow:0 0 0 2px rgb(var(--bg)),0 0 0 3.5px var(--reader-highlight-border)}.reader-custom-swatch-badge{position:absolute;right:6px;bottom:6px;display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:999px;background:rgb(var(--fg));color:rgb(var(--bg));border:1.5px solid rgb(var(--bg));font-size:.6875rem;font-weight:700;line-height:1}.reader-selection-palette-trigger{position:relative}.reader-selection-palette-trigger .reader-highlight-swatch{position:absolute;right:5px;bottom:5px;width:9px;height:9px}.reader-selection-palette-trigger[aria-expanded=true]{background:rgb(var(--surface));box-shadow:inset 0 0 0 1px rgb(var(--fg))}.reader-selection-tools .reader-color-picker-inline{margin:0;padding:0;border:0;background:transparent}.reader-selection-tools .reader-highlight-palette{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;gap:2px}.reader-color-option[aria-pressed=true]{background:rgb(var(--surface));box-shadow:inset 0 0 0 1.5px rgb(var(--fg))}.reader-color-picker-popover{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate3d(-50%,0,0);z-index:25;display:grid;gap:12px;width:min(312px,calc(100vw - 24px));max-height:calc(100dvh - var(--reader-footer-height, 64px) - 120px);overflow-y:auto;overscroll-behavior:contain;padding:14px;border:1px solid rgb(var(--muted));border-radius:14px;background:rgb(var(--bg));color:rgb(var(--fg));box-shadow:0 14px 36px rgb(0 0 0/.22)}.reader-color-picker-inline{display:grid;gap:12px;margin-top:12px;padding:14px;border:1px solid rgb(var(--muted));border-radius:12px;background:rgb(var(--surface)/.32)}.reader-color-picker-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.reader-color-picker-preview{display:inline-flex;align-items:center;padding:4px 10px;border-radius:4px;background:var(--reader-highlight);color:var(--reader-highlight-ink);font-family:Georgia,Times New Roman,serif;font-size:.875rem;font-weight:500;text-decoration:underline;text-decoration-color:var(--reader-highlight-border);text-underline-offset:3px}.reader-color-picker-inputs{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.reader-color-hex-field{display:inline-flex}.reader-color-hex-input{width:92px;min-height:44px;padding:6px 10px;border:1px solid rgb(var(--muted));border-radius:8px;background:rgb(var(--bg));color:rgb(var(--fg));font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums;text-transform:uppercase;letter-spacing:.02em;box-shadow:none}.reader-color-hex-input:focus{box-shadow:none;border-color:rgb(var(--fg))}.reader-native-color-button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid rgb(var(--muted));border-radius:8px;background:rgb(var(--surface)/.45);cursor:pointer}.reader-native-color-button input[type=color]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.reader-native-color-swatch{width:22px;height:22px;border-radius:6px;background:var(--reader-highlight);border:1.5px solid var(--reader-highlight-border);pointer-events:none}.reader-color-sliders{display:grid;gap:8px}.reader-color-slider-row{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;font-size:.75rem;font-weight:600;color:rgb(var(--fg))}.reader-color-slider{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;min-height:44px;margin:0;background:transparent;cursor:pointer}.reader-color-slider::-webkit-slider-runnable-track{height:10px;border-radius:999px;border:1px solid rgb(var(--muted))}.reader-color-slider::-moz-range-track{height:10px;border-radius:999px;border:1px solid rgb(var(--muted))}.reader-hue-slider::-webkit-slider-runnable-track{background:linear-gradient(90deg,#ef4444,#f59e0b,#eab308,#22c55e,#06b6d4,#3b82f6,#8b5cf6,#ec4899,#ef4444)}.reader-hue-slider::-moz-range-track{background:linear-gradient(90deg,#ef4444,#f59e0b,#eab308,#22c55e,#06b6d4,#3b82f6,#8b5cf6,#ec4899,#ef4444)}.reader-lightness-slider::-webkit-slider-runnable-track{background:linear-gradient(to right,hsl(var(--picker-hue,16) var(--picker-sat,78%) 20%),hsl(var(--picker-hue,16) var(--picker-sat,78%) 54%),hsl(var(--picker-hue,16) var(--picker-sat,78%) 88%))}.reader-lightness-slider::-moz-range-track{background:linear-gradient(to right,hsl(var(--picker-hue,16) var(--picker-sat,78%) 20%),hsl(var(--picker-hue,16) var(--picker-sat,78%) 54%),hsl(var(--picker-hue,16) var(--picker-sat,78%) 88%))}.reader-color-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:20px;height:20px;margin-top:-6px;border-radius:999px;background:rgb(var(--bg));border:2.5px solid rgb(var(--fg));box-shadow:0 1px 4px rgb(0 0 0/.28)}.reader-color-slider::-moz-range-thumb{width:20px;height:20px;border-radius:999px;background:rgb(var(--bg));border:2.5px solid rgb(var(--fg));box-shadow:0 1px 4px rgb(0 0 0/.28)}.reader-custom-swatches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.reader-color-picker-actions{display:flex;justify-content:flex-end}.reader-color-apply{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;padding:8px 14px;border-radius:8px;background:rgb(var(--fg));color:rgb(var(--bg));font-size:.8125rem;font-weight:600;cursor:pointer}@media (prefers-reduced-motion:no-preference){.reader-selection-tools{animation:reader-selection-enter .22s cubic-bezier(.22,1,.36,1) both}.reader-color-picker-popover{animation:reader-picker-enter .2s cubic-bezier(.22,1,.36,1) both}.reader-color-picker-inline{animation:reader-picker-inline-enter .18s cubic-bezier(.22,1,.36,1) both}.reader-color-option,.reader-color-option:before,.reader-highlight-swatch{transition:transform .16s cubic-bezier(.22,1,.36,1),background-color .16s ease,box-shadow .16s ease}.reader-color-option:hover:before{transform:scale(1.1)}.reader-color-option:active:before{transform:scale(.95)}}.reader-edit-style-group{margin:20px 0 16px;padding-block:4px;border-block:1px solid rgb(var(--border))}.reader-edit-style-group>summary{display:flex;align-items:center;gap:8px;min-height:52px;cursor:pointer;list-style:none;font-size:.8125rem;font-weight:600}.reader-edit-style-group>summary::-webkit-details-marker{display:none}.reader-edit-style-group>summary>svg{flex-shrink:0}.reader-edit-style-group[open]>summary>svg:last-child{transform:rotate(180deg)}.reader-edit-style-value{display:inline-flex;align-items:center;gap:6px;min-width:0;margin-left:auto;color:rgb(var(--muted));font-size:.75rem;font-weight:400;overflow-wrap:anywhere}.reader-edit-style-group .reader-highlight-palette{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:100%;padding:8px 0}.reader-edit-style-group .reader-color-picker-inline{margin:8px 0 12px;padding:12px 0 0;border:0;border-top:1px solid rgb(var(--border));border-radius:0;background:transparent}.reader-storage-error{position:absolute;z-index:21;bottom:12px;inset-inline:16px;padding:12px;border:1px solid;background:rgb(var(--bg));font-size:.8125rem}.reader-notebook{position:fixed;inset:0 0 0 auto;width:min(460px,100%);max-width:100%;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;border-left:1px solid rgb(var(--border));color:rgb(var(--fg));background:rgb(var(--bg));scrollbar-color:rgb(var(--muted)) transparent}.reader-notebook[open]{display:flex;flex-direction:column}.reader-notebook::backdrop{background:#0006}.reader-notebook-header{display:flex;align-items:flex-start;gap:16px;padding:max(24px,env(safe-area-inset-top)) 24px 20px;border-bottom:1px solid rgb(var(--border))}.reader-notebook-header>div{flex:1;min-width:0}.reader-notebook-header p{margin-bottom:8px;color:rgb(var(--muted));font-size:.8125rem;overflow-wrap:anywhere}.reader-notebook-header h2{font-size:1.25rem;font-weight:650;line-height:1.4}.reader-notebook-tabs{display:flex;padding:0 24px;border-bottom:1px solid rgb(var(--border))}.reader-notebook-tabs button{flex:1;padding:16px 8px;min-height:48px;border-bottom:2px solid transparent;font-size:.875rem}.reader-notebook-tabs [aria-pressed=true]{border-bottom-color:rgb(var(--brand));font-weight:700}.reader-notebook-body{flex:1;min-height:0;overflow-y:auto;padding:24px 24px max(24px,env(safe-area-inset-bottom));overscroll-behavior:contain}.reader-hint{margin-bottom:20px;color:rgb(var(--muted));font-size:.8125rem;line-height:1.65}.reader-navigation{display:flex;flex-direction:column;gap:20px;min-height:0}.reader-navigation-position{display:flex;justify-content:space-between;align-items:baseline;gap:8px;color:rgb(var(--muted));font-size:.8125rem}.reader-navigation-position strong{color:rgb(var(--fg));font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.reader-navigation-position strong span{color:rgb(var(--muted));font-weight:400}.reader-page-jump label{display:block;margin-bottom:6px;font-size:.8125rem}.reader-page-jump>div{display:flex;gap:8px}.reader-page-jump input{width:100%;min-width:0;min-height:44px;padding:8px 10px;border:1px solid rgb(var(--muted));border-radius:6px;background:rgb(var(--bg));color:rgb(var(--fg));font-size:1rem;font-variant-numeric:tabular-nums}.reader-page-jump button{min-width:52px;min-height:44px;padding:8px 12px;border-radius:6px;background:rgb(var(--surface));font-size:.8125rem;font-weight:600}.reader-navigation-hint{color:rgb(var(--muted));font-size:.8125rem;line-height:1.6}.reader-contents{min-height:0;overflow-y:auto;overscroll-behavior:contain;list-style:none;padding:4px;margin:-4px;scrollbar-width:thin}.reader-notebook .reader-contents{max-height:50dvh}.reader-contents li+li{margin-top:4px}.reader-contents button{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:12px;border-radius:6px;text-align:left;color:rgb(var(--muted));font-size:.875rem;line-height:1.5}.reader-contents-title{min-width:0;overflow-wrap:anywhere}.reader-contents-title small{display:block;margin-top:4px;font-size:.6875rem;font-weight:400}.reader-contents-page{flex-shrink:0;font-size:.75rem;font-weight:400;font-variant-numeric:tabular-nums}.reader-contents [aria-current]{background:rgb(var(--surface));color:rgb(var(--fg));font-weight:600}.reader-contents-gap{display:block;padding:0 12px;color:rgb(var(--muted))}.reader-contents-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;width:100%;text-align:left;color:rgb(var(--muted));font-size:.8125rem;font-weight:400}.reader-contents-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}.reader-chapter-body{flex:1;min-height:0;padding:4px;margin:-4px}.reader-chapter-body .reader-navigation{height:100%}.reader-navigation[data-compact=true] .reader-contents button{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding-block:8px;padding-inline-end:4px;border-radius:0;background:transparent;font-size:.8125rem}.reader-navigation[data-compact=true] .reader-contents-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-navigation[data-compact=true] .reader-contents-gap{padding-inline-start:38px}.reader-contents-tick{display:flex;align-items:center;width:28px;height:16px}.reader-contents-tick:before{content:"";display:block;width:14px;height:1px;background:rgb(var(--muted))}.reader-contents [aria-current] .reader-contents-tick:before{width:28px;background:rgb(var(--fg))}.reader-search{display:flex;align-items:center;gap:8px;min-height:48px;border:1px solid rgb(var(--muted));border-radius:6px;padding-inline:12px}.reader-search input{width:100%;min-width:0;min-height:44px;background:transparent;font-size:.875rem}.reader-filters{display:flex;flex-wrap:wrap;gap:4px;margin:16px 0}.reader-filters button{min-height:44px;padding:8px 12px;border-radius:4px;font-size:.8125rem}.reader-filters [aria-pressed=true]{background:rgb(var(--surface));font-weight:700;text-decoration:underline;text-underline-offset:5px}.reader-empty{display:grid;justify-items:start;gap:14px;padding-top:32px}.reader-empty h3{font-family:Georgia,Times New Roman,serif;font-size:1.3rem}.reader-empty p{color:rgb(var(--muted));font-size:.875rem;line-height:1.7}.reader-saved-list{list-style:none}.reader-saved-list li{position:relative;border-bottom:1px solid rgb(var(--border))}.reader-saved-jump{width:100%;min-height:60px;padding:24px 48px 24px 0;text-align:left;overflow-wrap:anywhere}.reader-saved-meta{color:rgb(var(--muted));font-size:.75rem}.reader-note-quote,.reader-saved-jump blockquote{margin-top:12px;padding-left:14px;border-left:3px solid var(--reader-highlight-border,#b58c27);font-family:Georgia,Times New Roman,serif;font-size:1rem;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.reader-saved-jump p{margin-top:12px;font-size:.875rem;line-height:1.6;white-space:pre-wrap}.reader-edit-note{position:absolute;right:0;top:12px}.reader-note-context{margin-bottom:24px}.reader-note-context>.reader-note-label{color:rgb(var(--muted));font-size:.75rem;font-weight:400}.reader-note-quote{max-height:144px;overflow:auto;margin:0;padding:14px 16px;border:0;border-radius:10px;background:var(--reader-highlight);color:var(--reader-highlight-ink);font-size:.9375rem;scrollbar-width:thin}.reader-note-quote[data-highlight-color=underline]{background:rgb(var(--surface)/.5);color:rgb(var(--fg));text-decoration:underline;text-decoration-color:var(--reader-highlight-border);text-underline-offset:4px}.reader-note-label{display:block;margin-bottom:8px;font-size:.875rem;font-weight:600}.reader-note-form{display:flex;flex-direction:column;min-height:100%}.reader-note-form>textarea{flex-shrink:0}.reader-notebook textarea{display:block;width:100%;min-height:160px;max-height:45dvh;padding:14px 16px;border:1px solid rgb(var(--muted));border-radius:10px;background:rgb(var(--bg));color:rgb(var(--fg));caret-color:rgb(var(--brand));font-size:1rem;line-height:1.65;resize:vertical}.reader-notebook textarea::-moz-placeholder{color:rgb(var(--muted));opacity:1}.reader-notebook textarea::placeholder{color:rgb(var(--muted));opacity:1}.reader-note-storage{display:flex;align-items:center;gap:7px;margin-block:14px;font-size:.75rem}.reader-delete,.reader-note-actions{display:flex;flex-wrap:wrap;gap:8px}.reader-delete{margin:12px 0 20px;padding-top:4px;color:rgb(var(--muted));font-size:.8125rem}.reader-note-actions{position:sticky;bottom:-24px;z-index:1;margin-top:auto;padding:16px 0 max(16px,env(safe-area-inset-bottom));border-top:1px solid rgb(var(--border));background:rgb(var(--bg))}.reader-note-actions .reader-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:1;border-radius:8px}.reader-primary{min-height:44px;padding:10px 20px;border-radius:6px;background:rgb(var(--fg));color:rgb(var(--bg));font-size:.875rem;font-weight:600}.reader-primary:disabled{opacity:.45;cursor:not-allowed}.reader-inline-error{padding:12px;margin-bottom:16px;border:1px solid;font-size:.875rem}.reader-note-preview{position:fixed;z-index:35;display:flex;flex-direction:column;max-height:min(420px,calc(100dvh - 24px));padding:6px 16px 8px;border:1px solid rgb(var(--muted));border-radius:14px;background:rgb(var(--bg));color:rgb(var(--fg));box-shadow:0 12px 32px rgb(0 0 0/.16);font-family:var(--font-sans,sans-serif);text-align:left}.reader-note-preview>header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid rgb(var(--border))}.reader-note-preview>header>div{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:.8125rem}.reader-note-preview h3{font-weight:650}.reader-note-preview>header span{margin-left:4px;color:rgb(var(--muted));font-size:.75rem}.reader-note-preview>header>button{flex-shrink:0;margin-right:-8px}.reader-note-preview-text{min-height:0;overflow:auto;padding-block:14px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9375rem;line-height:1.7;overscroll-behavior:contain;scrollbar-width:thin}.reader-note-preview>footer{flex-shrink:0;border-top:1px solid rgb(var(--border))}.reader-note-preview>footer>button{gap:7px;margin-left:-8px;font-size:.8125rem;font-weight:600}.reader-prose mark[data-has-note=true]{text-decoration-thickness:2px}@media (max-width:599px){.reader-notebook{inset:auto 0 var(--reader-keyboard-offset,0);width:100%;height:min(760px,calc(var(--reader-notebook-height, 100dvh) - max(12px, env(safe-area-inset-top))));border-left:0;border-top:1px solid rgb(var(--border));border-radius:18px 18px 0 0}.reader-notebook-header{align-items:center;padding:14px 16px 14px 20px}.reader-notebook-header p{margin-bottom:4px;font-size:.75rem}.reader-notebook-header h2{font-size:1.125rem}.reader-notebook-body{padding:20px 20px max(24px,env(safe-area-inset-bottom))}.reader-note-context{margin-bottom:20px}.reader-note-quote{max-height:112px}.reader-note-preview{max-height:min(380px,calc(100dvh - 24px))}.reader-note-preview-text{font-size:1rem}}@media (max-width:399px){.reader-edit-style-group .reader-highlight-palette{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-height:500px){.reader-note-form:has(textarea:focus) .reader-note-context{display:none}.reader-notebook textarea{height:clamp(96px,30dvh,160px);min-height:96px}.reader-notebook-body{scroll-padding-bottom:96px}}.book-reader[data-reader-mode] :is(button,input,textarea,summary,mark,a):focus-visible{outline:2px solid rgb(var(--fg));outline-offset:3px}.reader-text-page:focus{outline:none}.reader-text-page:focus-visible{outline:2px solid rgb(var(--muted));outline-offset:8px}.reader-preferences-dialog{inset:0;width:min(560px,calc(100% - 32px));max-width:none;max-height:min(840px,calc(100dvh - 48px));margin:auto;padding:0;border:0;border-radius:16px;background:rgb(var(--bg));color:rgb(var(--fg));overflow:visible;--dropdown-panel:rgb(var(--bg));--dropdown-control:rgb(var(--surface));--dropdown-text:rgb(var(--fg));--dropdown-muted:rgb(var(--muted));--dropdown-border:rgb(var(--muted));--dropdown-accent:rgb(var(--brand));--dropdown-selected:rgb(var(--surface));--dropdown-hover:rgb(var(--surface))}.reader-preferences-dialog[open]{display:flex;flex-direction:column}.reader-preferences-dialog::backdrop{background:#0009}.reader-preferences-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0;padding:16px 20px 8px 24px}.reader-preferences-header h2{font-size:1.125rem;font-weight:650;line-height:1.5}.reader-preferences-header>button{flex-shrink:0;min-width:44px}.reader-preferences-preview{flex-shrink:0;padding:0 24px 20px;border-bottom:1px solid rgb(var(--border))}.reader-preferences-caption{margin-bottom:10px;color:rgb(var(--muted));font-size:.75rem}.reader-preferences-specimen{max-height:22dvh;overflow-y:auto;padding:16px 18px;border:1px solid rgb(var(--border));border-radius:10px}.reader-preferences-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px;scrollbar-color:rgb(var(--muted)) transparent}.reader-preferences-group{margin-bottom:28px}.reader-preferences-group h3{font-size:.875rem;font-weight:650;line-height:1.5}.reader-preferences-group>h3{margin-bottom:12px}.reader-preferences-group-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.reader-preferences-group-heading>button{min-height:44px;padding:6px 8px;color:rgb(var(--muted));font-size:.75rem;text-decoration:underline;text-underline-offset:3px}.reader-preferences-group-heading>[aria-pressed=true]{color:rgb(var(--fg));font-weight:600}.reader-theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 12px}.reader-theme-options>button{display:grid;gap:6px;min-width:0;padding:3px;border-radius:10px;font-size:.75rem;cursor:pointer}.reader-theme-sample{position:relative;display:grid;place-items:center;min-height:56px;border:1px solid rgb(var(--muted));border-radius:8px;font-family:Georgia,Times New Roman,serif;font-size:1.5rem}.reader-theme-sample>svg{position:absolute;top:6px;right:6px}.reader-theme-options [aria-pressed=true] .reader-theme-sample{outline:2px solid rgb(var(--fg));outline-offset:2px}.reader-theme-options [aria-pressed=true]>span:last-child{font-weight:700}.reader-preferences-range{margin-bottom:14px}.reader-preferences-range>label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:.8125rem}.reader-preferences-range output{color:rgb(var(--muted));font-variant-numeric:tabular-nums}.reader-preferences-dialog input[type=range]{display:block;width:100%;min-width:0;min-height:44px;accent-color:rgb(var(--brand-fill));cursor:pointer}.reader-font-size-controls{display:flex;align-items:center;gap:12px}.reader-font-size-controls>button{flex-shrink:0;width:44px;min-height:44px;border:1px solid rgb(var(--muted));border-radius:50%;font-family:Georgia,Times New Roman,serif;font-size:1rem}.reader-font-size-controls>button:last-child{font-size:1.4rem}.reader-font-size-controls>button:disabled{opacity:.4;cursor:not-allowed}.reader-preferences-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:56px;padding-block:8px;border-bottom:1px solid rgb(var(--border));font-size:.8125rem;text-align:start}.reader-preferences-row>.reads-select{width:min(60%,240px)}.reader-preferences-row .reads-select-trigger{min-height:44px;padding:8px 12px;font-size:.8125rem}.reader-preferences-switch{display:block;flex-shrink:0;width:40px;height:24px;padding:3px;border:1px solid rgb(var(--muted));border-radius:999px;background:rgb(var(--surface))}.reader-preferences-switch:after{content:"";display:block;width:16px;height:16px;border-radius:50%;background:rgb(var(--muted))}.reader-preferences-row[aria-checked=true] .reader-preferences-switch{background:rgb(var(--fg));border-color:rgb(var(--fg))}.reader-preferences-row[aria-checked=true] .reader-preferences-switch:after{margin-left:auto;background:rgb(var(--bg))}.reader-preferences-view>label{display:grid;gap:8px;margin-top:16px;font-size:.8125rem}.reader-preferences-view .reads-select{width:100%}.reader-preferences-view .book-reader-menu-action{margin-top:4px;font-size:.8125rem}.reader-preferences-hint{margin-top:12px;color:rgb(var(--muted));font-size:.75rem;line-height:1.65}.reader-preferences-reset{display:block;width:100%;min-height:44px;margin-top:20px;padding:10px 16px;border:1px solid rgb(var(--muted));border-radius:8px;font-size:.8125rem;font-weight:600}@media (max-width:599px){.reader-preferences-dialog{inset:auto 0 0;width:100%;max-height:calc(100dvh - max(12px, env(safe-area-inset-top)));margin:0;border-radius:16px 16px 0 0}.reader-preferences-header{padding:12px 12px 6px 20px}.reader-preferences-preview{padding:0 20px 16px}.reader-preferences-specimen{padding:12px;max-height:20dvh}.reader-preferences-body{padding:16px 20px max(24px,env(safe-area-inset-bottom))}}@media (max-height:500px){.reader-preferences-preview{display:none}}@media (hover:hover){.reader-color-option:hover,.reader-contents button:hover,.reader-mode-switch button:hover:not([aria-pressed=true]),.reader-native-color-button:hover,.reader-notebook :is(button):hover,.reader-notebook-tools>button:hover,.reader-notes-rail-item:hover{background:rgb(var(--surface));color:rgb(var(--fg))}.reader-color-apply:hover,.reader-notebook .reader-primary:hover{background:rgb(var(--fg));color:rgb(var(--bg));opacity:.88}}@media (hover:none){.book-reader[data-reader-mode] .book-reader-control:hover{background:transparent}.book-reader[data-reader-mode] .reader-notebook-tools [aria-pressed=true]{background:rgb(var(--surface))}}@media (min-width:1180px){.book-reader[data-reader-mode=scroll] .reader-chapter-rail{display:flex;position:absolute;top:40px;left:20px;bottom:40px;z-index:2;flex-direction:column;gap:8px;width:min(228px,calc((100% - 780px) / 2 - 24px));padding:4px}.book-reader[data-reader-mode=scroll] .reader-notes-rail{display:flex;position:absolute;top:40px;right:20px;bottom:40px;z-index:2;flex-direction:column;width:min(236px,calc((100% - 780px) / 2 - 24px));overflow:hidden}.reader-notes-rail-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 4px 10px;border-bottom:1px solid rgb(var(--border));color:rgb(var(--muted));font-size:.75rem;font-weight:600}.reader-notes-rail-count{font-variant-numeric:tabular-nums}.reader-notes-rail-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding:10px 4px 8px 0;scrollbar-width:thin}.reader-notes-rail-item{display:flex;flex-direction:column;gap:6px;width:100%;min-height:44px;padding:10px 12px;border:1px solid rgb(var(--border));border-radius:8px;background:rgb(var(--bg));text-align:left;font-size:.75rem;line-height:1.45;cursor:pointer}.reader-notes-rail-item[aria-current=location]{border-color:rgb(var(--fg)/.5);background:rgb(var(--surface)/.45)}.reader-notes-rail-meta{display:flex;align-items:center;gap:6px;color:rgb(var(--muted));font-size:.6875rem;font-weight:600;font-variant-numeric:tabular-nums}.reader-notes-rail-swatch{flex-shrink:0;width:8px;height:8px;border-radius:999px;background:var(--reader-highlight,rgb(var(--brand)));border:1px solid var(--reader-highlight-border,rgb(var(--brand)))}.reader-notes-rail-swatch[data-highlight-color=underline]{border-radius:0;height:2.5px;background:rgb(var(--brand));border:0}.reader-notes-rail-swatch[data-note-kind=bookmark]{background:rgb(var(--brand));border-color:rgb(var(--brand))}.reader-notes-rail-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:rgb(var(--fg));overflow-wrap:anywhere}}@media (max-width:767px){.reader-mode-slide-only{display:none!important}.book-reader[data-reader-mode]{grid-template-columns:52px minmax(0,1fr)}.book-reader[data-reader-mode] .book-reader-header{padding:calc(8px + env(safe-area-inset-top, 0px)) 0 8px max(8px,env(safe-area-inset-left,0px))}.book-reader[data-reader-mode] .book-reader-title{display:none}.book-reader[data-reader-mode] .book-reader-back,.book-reader[data-reader-mode] .book-reader-focus{padding:8px;border-color:transparent;background:transparent}.reader-tools-bar{gap:4px;padding:calc(8px + env(safe-area-inset-top, 0px)) max(12px,env(safe-area-inset-right,0px)) 8px 0}.reader-mode-switch{display:none}.reader-notebook-tools{padding:2px;gap:0;justify-content:flex-end;flex-wrap:wrap}.reader-notebook-tools>button{min-width:44px;padding:6px;font-size:.75rem;gap:0}.reader-saved-button{position:relative}.reader-saved-button .reader-saved-count{position:absolute;top:0;right:0}.reader-notebook-tools .reader-saved-count{min-width:18px;height:18px;padding-inline:4px;font-size:.6875rem}.reader-notebook-tools>button>span:not(.reader-saved-count){display:none}.reader-text-flow{padding:24px 24px 48px}.reader-book-intro{margin-bottom:20px;padding-bottom:24px}.reader-book-intro h2{font-size:calc(1.3rem * var(--reader-zoom, 1))}.reader-text-page{padding-top:16px}.reader-text-slide .reader-text-leaves{grid-template-columns:minmax(0,1fr);gap:24px}.book-reader[data-reader-mode]:not([data-reader-mode=pdf]) .book-reader-navigation{flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding-top:4px}.book-reader[data-reader-mode]:not([data-reader-mode=pdf]) .book-reader-tools{width:auto}.reader-selection-divider{display:none}}@media (min-width:768px) and (max-width:1100px){.book-reader[data-reader-mode] .book-reader-title,.reader-notebook-tools>button>span:not(.reader-saved-count){display:none}}@media (max-width:480px){.reader-text-flow{padding-inline:22px}.reader-notebook-body,.reader-notebook-header{padding-inline:20px}}@media (max-height:500px){.reader-tools-bar{padding-block:0}.reader-text-flow{padding-top:16px}.reader-notebook-tools{flex-basis:auto}.reader-notebook-tools>button>span:not(.reader-saved-count){display:none}}@media (forced-colors:active){.reader-prose mark{outline:1px solid Mark}}