.bk-wrap { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.bk-bar { flex: none; display: flex; align-items: center; gap: 8px; margin-bottom: 10px; flex-wrap: wrap; }
.bk-title { flex: 1; min-width: 0; font-size: 13px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bk-toc { max-width: 46%; padding: 5px 8px; border: 1px solid var(--bk-ui-line, #d8d6cf); border-radius: 8px; background: var(--bk-ui-paper, #fbf8f1); color: var(--bk-ui-text, #22201c); font: inherit; font-size: 12.5px; }
.bk-size { width: 32px; height: 30px; border: 1px solid var(--bk-ui-line, #d8d6cf); border-radius: 8px; background: none; color: var(--bk-ui-text, #22201c); font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.bk-size.big { font-size: 15px; }
.bk-size:hover, .bk-turn:hover:not(:disabled) { background: var(--bk-ui-surface, #ffffff); }
.bk-view { position: relative; flex: 1; min-height: 240px; display: flex; overflow: hidden; padding: 28px 30px; border-radius: 6px; background: var(--bk-bg, #fbf8f1); color: var(--bk-fg, #26221c); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .06); cursor: default; touch-action: pan-y; user-select: text; }
.bk-view:focus { outline: none; }
.bk-view:focus-visible { box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .06), 0 0 0 2px var(--bk-ui-accent-soft, #e6ebe7); }
.bk-clip { position: relative; flex: 1; min-width: 0; overflow: hidden; }
.bk-flow { box-sizing: border-box; padding: 0; column-fill: auto; transition: transform .22s ease; will-change: transform; }
.bk-flow p { margin: 0 0 .9em; text-indent: 1.4em; hyphens: auto; -webkit-hyphens: auto; }
.bk-flow h2 + p { text-indent: 0; }
.bk-ch { margin: 0 0 1.1em; font-size: 1.35em; font-weight: 600; letter-spacing: .01em; }
.bk-empty { color: var(--bk-muted, #8a8174); font-style: italic; text-indent: 0 !important; }
.bk-note { break-before: column; margin: 0; padding: 18px 20px; border-radius: 8px; background: rgba(124, 58, 237, .07); border-left: 3px solid var(--bk-ui-accent, #2f4a3a); font-family: inherit; }
.bk-note h3 { margin: 0 0 .7em; font-size: .8em; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--bk-ui-accent, #2f4a3a); }
.bk-note p { text-indent: 0; font-size: .92em; }
.bk-note blockquote { margin: .6em 0; padding-left: 10px; border-left: 2px solid var(--bk-ui-accent, #2f4a3a); font-style: italic; font-size: .92em; }
.bk-foot { flex: none; display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; }
.bk-where { font-size: 12.5px; color: var(--bk-ui-muted, #6b6a64); text-align: center; }
.bk-turn { width: 44px; height: 36px; border: 1px solid var(--bk-ui-line, #d8d6cf); border-radius: 10px; background: none; color: var(--bk-ui-text, #22201c); font-size: 22px; line-height: 1; cursor: pointer; }
.bk-turn:disabled { opacity: .35; cursor: default; }
@media (prefers-reduced-motion: reduce) { .bk-flow { transition: none; } }
@media (max-width: 560px) { .bk-view { padding: 20px 18px; } .bk-toc { max-width: 100%; order: 5; flex-basis: 100%; } .bk-bar .bk-pins { order: 6; max-width: 100%; flex-basis: 100%; } }
.bk-pin { padding: 0 1px; border-radius: 2px; background: rgba(247, 201, 72, .45); color: inherit; }
.bk-pin.k-question { background: rgba(124, 58, 237, .18); }
.bk-pin.k-moment { background: rgba(244, 114, 94, .28); }
html[data-theme=dark] .bk-pin { background: rgba(247, 201, 72, .28); }
.bk-pin-note { display: block; margin: -.3em 0 1em; padding: 8px 12px; border-left: 3px solid #e3b23c; border-radius: 0 6px 6px 0; background: rgba(247, 201, 72, .12); font-size: .86em; line-height: 1.45; font-style: italic; }
.bk-pin-note.k-question { border-left-color: var(--bk-ui-accent, #2f4a3a); background: var(--bk-ui-accent-soft, #e6ebe7); }
.bk-pin-note.k-moment { border-left-color: #f4725e; background: rgba(244, 114, 94, .1); }
.bk-pin-who { display: block; margin-bottom: 2px; font-size: .78em; font-style: normal; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; opacity: .7; }
.bk-pin.flash, .bk-pin-note.flash { animation: bk-flash 1.6s ease 2; }
.bk-pins { max-width: 30%; }
@media (prefers-reduced-motion: reduce) { .bk-pin.flash, .bk-pin-note.flash { animation: none; outline: 2px solid #e3b23c; } }
.bk-body { flex: 1; min-height: 0; display: flex; gap: 14px; position: relative; }
.bk-body .bk-view { min-width: 0; }
.bk-side { display: none; flex: none; width: 320px; overflow-y: auto; padding: 4px 2px 12px; overscroll-behavior: contain; }
.bk-wrap.side-on .bk-side { display: block; }
.bk-wrap.side-on .bk-pin-note, .bk-wrap.side-on .bk-note { display: none; }
.bk-side-btn { padding: 5px 12px; border: 1px solid var(--bk-ui-line, #d8d6cf); border-radius: 999px; background: none; color: var(--bk-ui-text, #22201c); font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; }
.bk-side-btn[aria-pressed="true"] { background: var(--bk-ui-accent-soft, #e6ebe7); border-color: var(--bk-ui-accent, #2f4a3a); }
.bk-side-close { display: none; }
.bk-side-empty { margin: 8px 4px; font-size: 13px; color: var(--bk-ui-muted, #6b6a64); }
.bk-side-note { margin: 0 0 14px; padding: 12px 14px; border-radius: 8px; background: var(--bk-ui-accent-soft, #e6ebe7); }
.bk-side-note h4 { margin: 0 0 6px; font-size: 11.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--bk-ui-accent, #2f4a3a); }
.bk-side-note p { margin: 0 0 8px; font-size: 13px; line-height: 1.5; }
.bk-side-note blockquote { margin: 6px 0; padding-left: 10px; border-left: 2px solid var(--bk-ui-accent, #2f4a3a); font-size: 12.5px; font-style: italic; }
.bk-side-pin { display: block; width: 100%; margin: 0 0 10px; padding: 10px 12px; border: 0; border-left: 3px solid #e3b23c; border-radius: 0 8px 8px 0; background: rgba(247, 201, 72, .12); color: var(--bk-ui-text, #22201c); font: inherit; text-align: left; cursor: pointer; }
.bk-side-pin.k-question { border-left-color: var(--bk-ui-accent, #2f4a3a); background: var(--bk-ui-accent-soft, #e6ebe7); }
.bk-side-pin.k-moment { border-left-color: #f4725e; background: rgba(244, 114, 94, .1); }
.bk-side-pin:hover:not(:disabled) { filter: brightness(.97); }
.bk-side-pin:disabled { opacity: .6; cursor: default; }
.bk-side-quote { display: block; margin: 2px 0 4px; font-family: Georgia, serif; font-size: 13px; font-style: italic; line-height: 1.4; }
.bk-side-text { display: block; font-size: 12.5px; line-height: 1.45; }
@media (max-width: 700px) {
  .bk-wrap.side-on .bk-side { position: absolute; inset: 0; z-index: 3; width: auto; padding: 12px; border-radius: 6px; background: var(--bk-ui-surface, #ffffff); box-shadow: 0 6px 24px rgba(0, 0, 0, .2); }
  .bk-side-close { display: block; margin: 0 0 10px auto; padding: 5px 12px; border: 1px solid var(--bk-ui-line, #d8d6cf); border-radius: 999px; background: none; color: var(--bk-ui-text, #22201c); font: inherit; font-size: 12.5px; cursor: pointer; }
}
.bk-wrap { position: relative; }
.bk-wrap[data-bk-theme="night"] .bk-view, .bk-wrap[data-bk-theme="black"] .bk-view { box-shadow: none; }
.bk-wrap[data-bk-theme="night"] .bk-pin, .bk-wrap[data-bk-theme="black"] .bk-pin { background: rgba(247, 201, 72, .26); }
.bk-wrap[data-bk-theme="black"] .bk-flow { font-weight: 400; }
.bk-aa { width: auto; padding: 0 10px; font-family: Georgia, serif; font-size: 14px; }
.bk-full { font-size: 16px; }
.bk-aa[aria-expanded="true"] { background: var(--bk-ui-accent-soft, #e6ebe7); border-color: var(--bk-ui-accent, #2f4a3a); }
.bk-prefs { position: absolute; right: 0; top: 46px; z-index: 6; width: min(420px, 100%); max-height: 70vh; overflow-y: auto; padding: 14px 16px 12px; border: 1px solid var(--bk-ui-line, #d8d6cf); border-radius: 12px; background: var(--bk-ui-surface, #ffffff); color: var(--bk-ui-text, #22201c); box-shadow: 0 12px 32px rgba(0, 0, 0, .22); }
.bk-pref { margin: 0 0 12px; }
.bk-pref-label { display: block; margin: 0 0 6px; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--bk-ui-muted, #6b6a64); }
.bk-pref-row { display: flex; flex-wrap: wrap; gap: 6px; }
.bk-chip { padding: 6px 11px; border: 1px solid var(--bk-ui-line, #d8d6cf); border-radius: 999px; background: none; color: var(--bk-ui-text, #22201c); font: inherit; font-size: 12.5px; cursor: pointer; }
.bk-chip[aria-pressed="true"] { border-color: var(--bk-ui-accent, #2f4a3a); box-shadow: inset 0 0 0 1px var(--bk-ui-accent, #2f4a3a); background: var(--bk-ui-accent-soft, #e6ebe7); }
.bk-chip.bk-theme { background: var(--sw-bg); color: var(--sw-fg); }
.bk-chip.bk-theme[aria-pressed="true"] { background: var(--sw-bg); box-shadow: 0 0 0 2px var(--bk-ui-accent, #2f4a3a); }
.bk-chip:focus-visible, .bk-reset:focus-visible { outline: 2px solid var(--bk-ui-accent, #2f4a3a); outline-offset: 2px; }
.bk-reset { margin-top: 2px; padding: 5px 10px; border: 0; background: none; color: var(--bk-ui-muted, #6b6a64); font: inherit; font-size: 12px; text-decoration: underline; cursor: pointer; }
.bk-mid { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.bk-meter { width: min(420px, 80%); height: 3px; border-radius: 2px; background: var(--bk-ui-line, #d8d6cf); overflow: hidden; }
.bk-meter span { display: block; height: 100%; background: var(--bk-ui-accent, #2f4a3a); transition: width .2s ease; }
.bk-wrap:fullscreen, .bk-wrap:-webkit-full-screen { width: 100%; height: 100%; padding: 14px max(16px, calc((100% - 1400px) / 2)) 12px; box-sizing: border-box; background: var(--bk-bg, #fbf8f1); }
.bk-wrap:fullscreen .bk-bar, .bk-wrap:fullscreen .bk-foot { color: var(--bk-fg); }
.bk-wrap:fullscreen .bk-view { border-radius: 0; box-shadow: none; }
.bk-wrap:fullscreen .bk-where { color: var(--bk-muted); }
.bk-wrap:fullscreen .bk-bar button, .bk-wrap:fullscreen .bk-bar select, .bk-wrap:fullscreen .bk-foot button { background: transparent; color: var(--bk-fg); border-color: color-mix(in srgb, var(--bk-fg) 25%, transparent); }
.bk-flow .bk-reading { background: color-mix(in srgb, var(--bk-ui-accent, #2f4a3a) 12%, transparent); box-shadow: -10px 0 0 color-mix(in srgb, var(--bk-ui-accent, #2f4a3a) 12%, transparent), 10px 0 0 color-mix(in srgb, var(--bk-ui-accent, #2f4a3a) 12%, transparent); border-radius: 4px; transition: background .6s ease; }
.bk-flow .bk-read { opacity: .72; transition: opacity .8s ease; }
@media (prefers-reduced-motion: reduce) { .bk-flow .bk-reading, .bk-flow .bk-read { transition: none; } }
@media (max-width: 899px) {
}
.bk-wrap { --n-note: #a8780f; --n-note-bg: rgba(247, 201, 72, .16); --n-q: #6d28d9; --n-q-bg: rgba(124, 58, 237, .09); --n-m: #c2410c; --n-m-bg: rgba(244, 114, 94, .12); }
.bk-wrap[data-bk-theme="night"], .bk-wrap[data-bk-theme="black"] { --n-note: #f2c95e; --n-note-bg: rgba(242, 201, 94, .11); --n-q: #c9aaff; --n-q-bg: rgba(201, 170, 255, .11); --n-m: #ff9e8a; --n-m-bg: rgba(255, 158, 138, .11); }
.bk-wrap .bk-pin-note { border-left-color: var(--n-note); background: var(--n-note-bg); color: var(--bk-fg); break-inside: avoid; }
.bk-wrap .bk-pin-note.k-question { border-left-color: var(--n-q); background: var(--n-q-bg); }
.bk-wrap .bk-pin-note.k-moment { border-left-color: var(--n-m); background: var(--n-m-bg); }
.bk-wrap .bk-pin-note .bk-pin-who { color: var(--n-note); opacity: 1; }
.bk-wrap .bk-pin-note.k-question .bk-pin-who { color: var(--n-q); }
.bk-wrap .bk-pin-note.k-moment .bk-pin-who { color: var(--n-m); }
.bk-wrap .bk-note { break-inside: avoid; background: var(--n-q-bg); border-left-color: var(--n-q); color: var(--bk-fg); }
.bk-wrap .bk-note h3 { color: var(--n-q); }
.bk-wrap .bk-note .lib-thoughts { color: var(--bk-fg); opacity: .82; }
.bk-wrap .bk-note blockquote { border-left-color: var(--n-q); }
.bk-wrap[data-bk-theme="night"] .bk-pin, .bk-wrap[data-bk-theme="black"] .bk-pin { background: rgba(242, 201, 94, .24); color: #fff6dc; }
.bk-wrap[data-bk-theme="night"] .bk-pin.k-question, .bk-wrap[data-bk-theme="black"] .bk-pin.k-question { background: rgba(201, 170, 255, .22); color: #f3ecff; }
.bk-wrap[data-bk-theme="night"] .bk-pin.k-moment, .bk-wrap[data-bk-theme="black"] .bk-pin.k-moment { background: rgba(255, 158, 138, .22); color: #fff0ec; }
.bk-pace { max-width: 190px; }
.bk-wrap { background: var(--bk-bg, var(--bk-ui-paper, #fbf8f1)); color: var(--bk-fg, var(--bk-ui-text, #22201c)); }
.bk-wrap .bk-bar, .bk-wrap .bk-foot { color: var(--bk-fg); }
.bk-wrap .bk-where { color: var(--bk-muted); }
.bk-wrap .bk-bar button, .bk-wrap .bk-bar select, .bk-wrap .bk-foot button { background: transparent; color: var(--bk-fg); border-color: color-mix(in srgb, var(--bk-fg) 25%, transparent); }
.bk-wrap .bk-bar select option { color: #1f2523; background: #f7f7f3; }
.bk-wrap .bk-view { box-shadow: none; }
.bk-wrap .bk-meter { background: color-mix(in srgb, var(--bk-fg) 18%, transparent); }
.bk-content { overflow-wrap: break-word; }
.bk-content h1, .bk-content h2, .bk-content h3, .bk-content h4, .bk-content h5, .bk-content h6 { margin: 1.1em 0 .7em; line-height: 1.25; font-weight: 600; break-after: avoid; text-indent: 0; }
.bk-content h1 { font-size: 1.6em; }
.bk-content h2 { font-size: 1.35em; }
.bk-content h3 { font-size: 1.15em; }
.bk-content h4, .bk-content h5, .bk-content h6 { font-size: 1em; }
.bk-content > :first-child, .bk-content > div:first-child > :first-child { margin-top: 0; }
.bk-content blockquote { margin: .8em 1.2em; font-style: normal; }
.bk-content blockquote p { text-indent: 0; }
.bk-content ul, .bk-content ol { margin: .6em 0 .9em; padding-left: 1.6em; }
.bk-content li { margin: 0 0 .3em; }
.bk-content li p, .bk-content dd p, .bk-content td p, .bk-content th p, .bk-content figcaption p { text-indent: 0; margin: 0 0 .3em; }
.bk-content dt { font-weight: 600; margin-top: .6em; }
.bk-content dd { margin: 0 0 .5em 1.4em; }
.bk-content hr { border: 0; border-top: 1px solid color-mix(in srgb, var(--bk-fg, currentColor) 30%, transparent); width: 40%; margin: 1.4em auto; }
.bk-content pre { white-space: pre-wrap; font-size: .88em; }
.bk-content code, .bk-content kbd, .bk-content samp { font-family: ui-monospace, Menlo, monospace; font-size: .9em; }
.bk-content table { border-collapse: collapse; margin: .8em 0; font-size: .9em; max-width: 100%; break-inside: avoid; }
.bk-content td, .bk-content th { padding: .25em .5em; border: 1px solid color-mix(in srgb, var(--bk-fg, currentColor) 22%, transparent); vertical-align: top; text-align: left; }
.bk-content caption { caption-side: top; font-size: .9em; padding-bottom: .3em; }
.bk-content figure { margin: .8em 0; text-align: center; break-inside: avoid; }
.bk-content figcaption { font-size: .88em; opacity: .85; margin-top: .3em; }
.bk-content .bk-img { display: block; max-width: 100%; max-height: var(--bk-page-h, 70vh); height: auto; margin: .6em auto; object-fit: contain; break-inside: avoid; }
.bk-content a[data-link], .bk-content a[target] { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.bk-content a[data-noteref] { text-decoration: none; font-size: .75em; vertical-align: super; line-height: 0; padding: 0 .15em; }
.bk-content sup, .bk-content sub { line-height: 0; }
.bk-content .bk-note { font-size: .88em; opacity: .9; }
.bk-content [data-id] { scroll-margin-top: 0; }
.bk-pop { position: absolute; left: 50%; bottom: 72px; transform: translateX(-50%); z-index: 8; width: min(560px, calc(100% - 32px)); max-height: 45vh; overflow-y: auto; padding: 14px 16px 12px; border-radius: 12px; background: var(--bk-bg, #fbf8f1); color: var(--bk-fg, #26221c); box-shadow: 0 12px 36px rgba(0, 0, 0, .28); border: 1px solid color-mix(in srgb, var(--bk-fg, #26221c) 15%, transparent); }
.bk-pop[hidden] { display: none; }
.bk-pop-close { float: right; margin: 0 0 6px 10px; padding: 3px 10px; border: 1px solid color-mix(in srgb, var(--bk-fg, #26221c) 25%, transparent); border-radius: 999px; background: none; color: inherit; font: inherit; font-size: 12px; cursor: pointer; }
.bk-pop-body { font-size: .95em; line-height: 1.5; }
.bk-pop-body p { margin: 0 0 .5em; text-indent: 0; }

.bk-wrap .lib-back { padding: 5px 12px; border: 1px solid var(--bk-ui-line, #d8d6cf); border-radius: 999px; background: none; color: inherit; font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; }
.bk-wrap .dr-err { margin: 8px 0 0; color: var(--bk-ui-warn, #8a3b1f); font-size: 13px; text-align: center; }
.bk-follow[aria-pressed="true"], .bk-chat-btn[aria-pressed="true"] { background: var(--bk-ui-accent-soft, #e6ebe7); border-color: var(--bk-ui-accent, #2f4a3a); }
.bk-flow .bk-reading { background: color-mix(in srgb, var(--bk-ui-accent, #2f4a3a) 12%, transparent); box-shadow: -10px 0 0 color-mix(in srgb, var(--bk-ui-accent, #2f4a3a) 12%, transparent), 10px 0 0 color-mix(in srgb, var(--bk-ui-accent, #2f4a3a) 12%, transparent); border-radius: 4px; transition: background .6s ease; }
.bk-flow .bk-read { opacity: .72; transition: opacity .8s ease; }
.bk-follow-note { flex: none; margin: 8px 0 0; text-align: center; font-size: 12.5px; color: var(--bk-ui-accent, #2f4a3a); }
.bk-follow-note[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) { .bk-flow .bk-reading, .bk-flow .bk-read { transition: none; } }
.bk-paged .bk-pview { flex: 1; min-height: 0; overflow: auto; display: flex; align-items: center; justify-content: center; padding: 6px; border-radius: 6px; background: var(--bk-ui-paper, #1d1c1a); outline: none; cursor: pointer; user-select: none; -webkit-user-select: none; }
.bk-paged .bk-spread { display: flex; justify-content: center; align-items: center; gap: 4px; width: 100%; height: 100%; }
.bk-paged.rtl .bk-spread { flex-direction: row-reverse; }
.bk-paged .bk-pslot { display: flex; align-items: center; justify-content: center; min-width: 0; height: 100%; flex: 0 1 auto; }
.bk-paged.two-up .bk-pslot:first-child { justify-content: flex-end; }
.bk-paged.two-up .bk-pslot:last-child { justify-content: flex-start; }
.bk-paged.two-up.rtl .bk-pslot:first-child { justify-content: flex-start; }
.bk-paged.two-up.rtl .bk-pslot:last-child { justify-content: flex-end; }
.bk-paged .bk-pimg { display: block; max-width: 100%; max-height: 100%; box-shadow: 0 1px 6px rgba(0, 0, 0, .25); background: #fff; }
.bk-paged img.bk-pimg { width: auto; height: auto; object-fit: contain; }
.bk-paged.two-up .bk-pslot { flex: 1 1 50%; }
.bk-paged.fit-width .bk-pview { align-items: flex-start; }
.bk-paged.fit-width .bk-spread { height: auto; align-items: flex-start; }
.bk-paged.fit-width .bk-pslot { height: auto; }
.bk-paged.fit-width img.bk-pimg { width: 100%; max-height: none; }
.bk-paged .bk-pfail { color: #d8d6cf; font-size: 13px; padding: 40px 20px; }
.bk-paged .bk-slider { width: 100%; max-width: 420px; accent-color: var(--bk-ui-accent, #6d28d9); }
.bk-paged .dr-err.bk-from { color: var(--bk-ui-muted, #6b675f); }
.bk-wrap.bk-paged:fullscreen { background: #111; }
.bk-wrap.bk-paged:fullscreen .bk-pview { background: #111; border-radius: 0; }
@media (max-width: 560px) { .bk-paged .bk-bar { gap: 6px; } .bk-paged .bk-title { flex: 1 1 calc(100% - 170px); } .bk-paged .bk-bar .bk-side-btn { font-size: 11px; padding: 5px 9px; } }
.bk-wrap.bk-paged:fullscreen { --bk-fg: #e8e6e1; --bk-muted: #a8a59e; --bk-bg: #111; }
