.book-reader{--book-sheet:color-mix(in srgb,hsl(var(--card)) 95%,#e8c98a);position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;color:hsl(var(--foreground));background:radial-gradient(ellipse 90% 60% at 50% 0,hsl(var(--primary)/.09),transparent 70%),hsl(var(--background))}.dark .book-reader{--book-gleam:0.09}.book-toolbar{animation:book-bar-enter .42s cubic-bezier(.2,.7,.2,1) backwards}.book-footer{animation:book-footer-enter .42s cubic-bezier(.2,.7,.2,1) backwards}.book-paper{animation:book-paper-enter .56s cubic-bezier(.2,.7,.2,1) 80ms backwards}.book-reader a:active,.book-reader button:active:not(:disabled){transform:scale(.96)}.book-toolbar{display:flex;gap:4px;align-items:center;padding:6px max(12px,env(safe-area-inset-right)) 6px max(12px,env(safe-area-inset-left));border-bottom:1px solid hsl(var(--border))}.book-brand{display:flex;flex:1;flex-direction:column;min-width:0;padding-inline:8px}.book-brand small{font-size:11px;color:hsl(var(--muted-foreground))}.book-brand small,.book-chapter-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-chapter-title{font-size:14px;font-weight:600}.book-control,.book-icon{display:inline-flex;flex-shrink:0;gap:8px;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:8px}.book-control{padding-inline:12px;font-size:13px}.book-reader a,.book-reader button{transition:background-color .12s,transform .12s}.book-reader a:hover,.book-reader button:hover:not(:disabled){background:hsl(var(--accent))}.book-reader a:focus-visible,.book-reader button:focus-visible,.book-table-scroll:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.book-reader button:disabled{cursor:default;opacity:.35}.book-history{display:flex;flex-shrink:0}.book-history .book-icon{min-width:38px}.book-settings{position:relative;flex-shrink:0}.book-settings-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:5;display:grid;gap:16px;width:min(300px,calc(100vw - 24px));padding:16px;font-size:13px;background:hsl(var(--popover,var(--background)));border:1px solid hsl(var(--border));border-radius:12px;box-shadow:0 12px 40px #0003;animation:book-contents-enter .16s cubic-bezier(.2,.7,.2,1)}.book-setting{display:grid;gap:8px}.book-setting>span{font-size:11px;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.06em}.book-segments,.book-stepper{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:hsl(var(--muted)/.6);border-radius:10px}.book-stepper{grid-template-columns:1fr auto 1fr;align-items:center}.book-stepper output{min-width:56px;font-variant-numeric:tabular-nums;text-align:center}.book-segments button,.book-stepper button{min-height:40px;border-radius:7px}.book-segments button[aria-pressed=true]{font-weight:600;background:hsl(var(--background));box-shadow:0 1px 3px #0002}.book-large-a,.book-serif,.book-small-a{font-family:Times New Roman,Times,serif}.book-small-a{font-size:14px}.book-large-a{font-size:22px}.book-body,.book-stage{display:flex;flex:1;min-height:0}.book-stage{min-width:0;padding:16px 16px 0}.book-paper{position:relative;width:min(1320px,100%);min-height:0;padding:28px 48px;margin:0 auto;background:var(--book-sheet);border:1px solid hsl(var(--border));border-radius:10px;box-shadow:2px 0 0 -1px var(--book-sheet),3px 0 0 -1px hsl(var(--border)),5px 0 0 -2px var(--book-sheet),6px 0 0 -2px hsl(var(--border)),-2px 0 0 -1px var(--book-sheet),-3px 0 0 -1px hsl(var(--border)),-5px 0 0 -2px var(--book-sheet),-6px 0 0 -2px hsl(var(--border)),0 18px 40px -12px #0000002e,0 4px 12px #0000000f}.book-paper[data-columns="2"][data-mode=pages]:after{position:absolute;inset:0 calc(50% - 56px);z-index:4;pointer-events:none;content:"";background:linear-gradient(90deg,transparent,#0000000d 35%,#00000024 50%,#0000000d 65%,transparent)}.book-paper[data-columns="1"]{width:min(calc(var(--book-size, 18px) * 40 + 96px),100%)}.book-viewport{position:relative;width:100%;height:100%;overflow:hidden;overscroll-behavior:contain;touch-action:pan-y pinch-zoom;scrollbar-width:none}.book-table-scroll{touch-action:pan-x pan-y}.book-turn{position:absolute;inset:0;z-index:3;visibility:hidden;overflow:hidden;pointer-events:none;border-radius:9px}.book-turn[data-active]{visibility:visible}.book-turn-page{position:absolute;inset:0;padding:28px 48px;background:var(--book-sheet);will-change:clip-path}.book-turn-scroll{position:relative;width:100%;height:100%;overflow:hidden}.book-turn-flap,.book-turn-shade{position:absolute;top:0;bottom:0;left:0;will-change:transform,width,opacity}.book-turn-flap{background:linear-gradient(to right,rgb(0 0 0/.14),rgb(0 0 0/.02) 12%,rgb(255 255 255/var(--book-gleam,.28)) 58%,rgb(0 0 0/.05) 86%,rgb(0 0 0/.3)),var(--book-sheet);box-shadow:-14px 0 28px rgb(0 0 0/calc(.3 * var(--book-lift, 1))),-2px 0 4px rgb(0 0 0/.18)}.book-turn-shade{width:72px;background:linear-gradient(90deg,rgb(0 0 0/.26),transparent)}.book-folio{position:absolute;inset:auto 48px 7px;display:flex;justify-content:space-between;font-family:Times New Roman,Times,serif;font-size:11px;font-variant-numeric:tabular-nums;color:hsl(var(--muted-foreground));pointer-events:none;transition:opacity .2s}.book-folio span:only-child{margin:0 auto}.book-turn[data-active]~.book-folio{opacity:0}.book-measure{left:0;visibility:hidden;contain:strict}.book-measure,.book-tail{position:absolute;top:0;pointer-events:none}.book-tail{width:1px;height:1px}.book-gutter{position:absolute;top:0;bottom:0;display:grid;place-items:center;width:48px;color:hsl(var(--muted-foreground));opacity:0;transition:opacity .16s}.book-gutter-previous{left:0;border-radius:10px 0 0 10px}.book-gutter-next{right:0;border-radius:0 10px 10px 0}.book-reader .book-gutter:hover:not(:disabled){background:linear-gradient(to right,hsl(var(--accent)/.8),transparent);opacity:1}.book-reader .book-gutter-next:hover:not(:disabled){background:linear-gradient(to left,hsl(var(--accent)/.8),transparent)}.book-reader .book-gutter:disabled{opacity:0}.book-status{position:absolute;inset:0;display:grid;gap:16px;place-content:center;color:hsl(var(--muted-foreground));text-align:center}.book-status button{padding:8px 16px;color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:8px}.book-prose{font-family:Times New Roman,Times,serif;line-height:1.7;text-align:left;hyphens:none;overflow-wrap:break-word}.book-paper[data-font=sans] .book-prose{font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.65}.book-turn-scroll>.book-prose,.book-viewport>.book-prose{height:100%;-moz-column-fill:auto;column-fill:auto;-moz-column-gap:32px;column-gap:32px}.book-paper:not([data-chapter=opening]) .book-prose h1+p:first-letter{float:left;padding:.06em .1em 0 0;font-size:3.3em;font-weight:600;line-height:.82;color:hsl(var(--primary))}.book-prose p{margin:0 0 1em;text-wrap:pretty;widows:3;orphans:3}.book-prose h1,.book-prose h2,.book-prose h3,.book-prose h4{margin:1.4em 0 .6em;font-family:inherit;font-weight:700;line-height:1.3;text-wrap:balance;-moz-column-break-after:avoid;break-after:avoid}.book-prose h1{padding-bottom:.5em;margin:0 0 .9em;font-size:1.7em;border-bottom:2px solid hsl(var(--primary))}.book-prose h2{font-size:1.35em}.book-prose h3{font-size:1.15em}.book-prose ol,.book-prose ul{padding-left:1.6em;margin-bottom:1em}.book-prose ul{list-style:disc}.book-prose ol{list-style:decimal}.book-prose li{margin-bottom:.45em}.book-prose a{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:.18em}.book-prose table{width:100%;min-width:480px;font:inherit;font-size:.85em;line-height:1.45;border-spacing:0;border-collapse:separate}.book-prose td,.book-prose th{min-width:6em;padding:.55em .7em;vertical-align:top;overflow-wrap:normal;border-right:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border))}.book-prose td:last-child,.book-prose th:last-child{border-right:0}.book-prose tr:last-child>*{border-bottom:0}.book-prose td>:last-child{margin-bottom:0}.book-prose tr:nth-child(2n)>*{background:hsl(var(--muted)/.45)}.book-prose tr:first-child>*{position:sticky;top:0;z-index:1;background:hsl(var(--muted))}.book-table{margin:1.2em 0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:8px;-moz-column-break-inside:avoid;break-inside:avoid}.book-table>button{display:block;width:100%;min-height:36px;padding:6px 12px;font-family:var(--font-inter),sans-serif;font-size:12px;color:hsl(var(--muted-foreground));text-align:right;border-bottom:1px solid hsl(var(--border))}.book-table-scroll{max-height:max(200px,calc(var(--book-page-height, 60dvh) * .68 - 40px));overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.book-paper[data-mode=scroll] .book-table-scroll{max-height:75dvh}.book-full-table{max-height:calc(92dvh - 110px);overflow:auto;font-size:17px;border:1px solid hsl(var(--border));border-radius:8px}.book-full-table table{min-width:560px}.book-paper[data-mode=scroll]{width:min(1320px,100%)}.book-paper[data-mode=scroll] .book-viewport{overflow:hidden auto;scrollbar-width:thin}.book-paper[data-mode=scroll] .book-prose{max-width:40em;height:auto;padding-bottom:4em;margin:auto;-moz-columns:auto!important;columns:auto!important}.book-paper[data-mode=scroll] .book-tail,.book-paper[data-mode=scroll] .book-turn{display:none}.book-footer{position:relative;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px max(16px,calc((100vw - 1320px) / 2)) max(6px,env(safe-area-inset-bottom));font-size:12px}.book-progress-bar{position:absolute;top:3px;right:max(16px,calc((100vw - 1320px) / 2));left:max(16px,calc((100vw - 1320px) / 2));height:3px;overflow:hidden;background:hsl(var(--muted));border-radius:3px}.book-progress-bar span{position:absolute;inset:0 auto 0 0;background:linear-gradient(to right,hsl(var(--primary)/.55),hsl(var(--primary)));border-radius:3px;transition:width .3s ease}.book-progress-bar i{position:absolute;top:0;width:2px;height:100%;background:hsl(var(--background))}.book-progress{display:inline-flex;gap:10px;align-items:center;min-height:40px;padding:0 12px;font-variant-numeric:tabular-nums;color:hsl(var(--muted-foreground));border-radius:8px}.book-progress small{font-size:11px;opacity:.75}.book-drawer,.book-table-dialog{color:hsl(var(--foreground));background:hsl(var(--background));border:1px solid hsl(var(--border))}.book-table-dialog{width:min(1200px,96vw);max-height:92dvh;padding:16px 20px 20px;border-radius:12px}.book-drawer{inset:0 auto 0 0;width:min(440px,100vw);max-width:none;height:100dvh;max-height:none;padding:0 20px 16px;margin:0;overscroll-behavior:contain;border-width:0 1px 0 0}.book-docked{flex-shrink:0;width:clamp(280px,24vw,360px);height:auto;overflow-y:auto;scrollbar-width:thin}.book-drawer[open]{animation:book-drawer-enter .24s cubic-bezier(.2,.7,.2,1)}.book-table-dialog[open]{animation:book-contents-enter .2s cubic-bezier(.2,.7,.2,1)}.book-drawer::backdrop,.book-table-dialog::backdrop{background:#0007}.book-dialog-heading{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:12px;font-weight:600}.book-drawer .book-dialog-heading{position:sticky;top:0;z-index:2;padding:10px 0 6px;margin:0;background:hsl(var(--background))}.book-contents-tools{display:grid;gap:12px;padding:6px 0 16px}.book-contents-search{display:flex;gap:10px;align-items:center;padding:10px 12px;color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border));border-radius:8px}.book-contents-search:focus-within{border-color:hsl(var(--primary))}.book-contents-search input{width:100%;min-width:0;font-size:16px;color:hsl(var(--foreground));outline:none;background:transparent}.book-page-jump{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:13px;color:hsl(var(--muted-foreground))}.book-page-jump input{width:72px;padding:8px;font-size:16px;background:hsl(var(--background))}.book-page-jump button,.book-page-jump input{color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:6px}.book-page-jump button{min-height:38px;padding:6px 14px}.book-chapter{padding:4px 0;border-top:1px solid hsl(var(--border))}.book-chapter-row{display:flex;gap:4px;align-items:center}.book-chapter-row a{flex:1;flex-direction:column;padding:12px;font-size:14px;font-weight:500;line-height:1.45}.book-chapter-row a small{font-size:11px;font-weight:400;color:hsl(var(--primary))}.book-chapter-row button svg{transition:transform .16s}.book-chapter-row button[aria-expanded=true] svg{transform:rotate(180deg)}.book-drawer nav a{display:flex;border-radius:6px}.book-drawer nav .book-section,.book-drawer nav .book-subsection{gap:14px;align-items:baseline;justify-content:space-between;padding:9px 12px 9px 24px;font-size:13px;line-height:1.45}.book-drawer nav .book-subsection{padding-left:40px;font-size:12.5px;color:hsl(var(--muted-foreground))}.book-drawer nav a>small:last-child:not(:first-child){font-variant-numeric:tabular-nums}.book-drawer nav .book-section small,.book-drawer nav .book-subsection small{color:hsl(var(--muted-foreground))}.book-drawer nav a[aria-current=location]{color:hsl(var(--primary));background:hsl(var(--accent));border-radius:2px 6px 6px 2px;box-shadow:inset 2px 0 hsl(var(--primary))}.book-empty{padding:24px 0;color:hsl(var(--muted-foreground))}.book-download{display:block;padding:14px 12px;margin-top:8px;font-size:13px;border-top:1px solid hsl(var(--border));border-radius:0 0 6px 6px}.book-download small{display:block;color:hsl(var(--muted-foreground))}@keyframes book-contents-enter{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes book-bar-enter{0%{opacity:0;transform:translateY(-100%)}}@keyframes book-footer-enter{0%{opacity:0;transform:translateY(100%)}}@keyframes book-paper-enter{0%{opacity:0;transform:translateY(18px) scale(.985)}}@keyframes book-drawer-enter{0%{opacity:.4;transform:translateX(-48px)}to{opacity:1;transform:translateX(0)}}@media (max-width:640px){.book-toolbar{padding-block:2px}.book-toolbar .book-control{padding-inline:0}.book-footer .book-control span,.book-toolbar .book-control span{display:none}.book-brand{padding-inline:4px}.book-stage{padding:0}.book-paper,.book-paper[data-columns="1"]{width:100%;padding:20px 22px 12px;border:0;border-radius:0;box-shadow:none}.book-gutter{display:none}.book-turn-page{padding:20px 22px 12px}.book-turn{border-radius:0}.book-folio{display:none}.book-footer{padding-top:8px;border-top:1px solid hsl(var(--border))}.book-progress-bar{top:-2px;right:0;left:0;border-radius:0}.book-prose h1{font-size:1.4em}.book-drawer{border:0}}@media (hover:none){.book-gutter{display:none}}@media (prefers-reduced-motion:reduce){.book-drawer[open],.book-footer,.book-paper,.book-settings-panel,.book-table-dialog[open],.book-toolbar{animation:none}.book-reader a:active,.book-reader button:active:not(:disabled){transform:none}.book-chapter-row button svg,.book-gutter,.book-progress-bar span{transition:none}.book-viewport{scroll-behavior:auto}}