.kbk{--paper:#fffdf7;--ink:#2c2a33;--soft:#6b6475;--gold:#c98a1b;--blue:#3d6e8f;--cream:#fbf1dc;--desk:#efe6d3;
  display:flex;flex-direction:column;gap:10px;font-family:"Avenir Next","Trebuchet MS","Segoe UI",Verdana,sans-serif;color:var(--ink)}
.kbk *{box-sizing:border-box}
.kbk-stage{position:relative;width:100%;height:min(78vh,820px);min-height:300px;display:flex;align-items:center;justify-content:center;
  background:var(--desk);border-radius:18px;overflow:hidden;perspective:2400px;touch-action:pan-y}
.kbk-book{position:relative;width:calc(var(--page,300px)*var(--cols,2));height:var(--page,300px);transform-style:preserve-3d}
.kbk-leaf{position:absolute;top:0;left:50%;width:50%;height:100%;transform-origin:left center;transform-style:preserve-3d;
  transition:transform var(--turn,.75s) cubic-bezier(.3,.1,.2,1),opacity var(--turn,.75s);cursor:pointer}
.kbk-leaf.flipped{transform:rotateY(-180deg)}
.kbk-face{position:absolute;inset:0;background:var(--paper);overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;
  box-shadow:inset 0 0 0 1px #e0d4ba;font-size:calc(var(--page,300px)*.0305*var(--scale,1));line-height:1.42}
.kbk-face.front{border-radius:0 10px 10px 0;background-image:linear-gradient(90deg,rgba(0,0,0,.07),rgba(0,0,0,0) 7%)}
.kbk-face.back{transform:rotateY(180deg);border-radius:10px 0 0 10px;background-image:linear-gradient(270deg,rgba(0,0,0,.07),rgba(0,0,0,0) 7%)}
.kbk-one .kbk-leaf{left:0;width:100%}
.kbk-one .kbk-leaf.flipped{transform:translateX(-104%) rotateY(-28deg);opacity:0;pointer-events:none}
.kbk-one .kbk-face.front{border-radius:10px;background-image:none}
.kbk-page{position:absolute;inset:0;padding:5.5% 6.5% 4.5%;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}
.kbk-page img{display:block;flex:0 1 auto;min-height:0;max-width:100%;max-height:51%;margin:0 auto 2.2%;border-radius:2.2%;object-fit:contain;width:auto;height:auto}
.kbk-page h2{font-family:Georgia,"Times New Roman",serif;color:var(--blue);font-size:1.45em;line-height:1.15;margin:0 0 .25em}
.kbk-page p{margin:0 0 .5em}
.kpg-verse img{max-height:38%}
.kpg-verse{font-size:.94em}
.kbk-num{position:absolute;bottom:1.6%;left:0;right:0;text-align:center;font-size:.6em;color:var(--soft)}
.kpg-title,.kpg-chap,.kpg-closer{align-items:center;justify-content:center;text-align:center}
.kpg-title img{max-height:56%}
.kpg-title .kbk-name,.kpg-chap .kbk-name,.kpg-closer .kbk-name{font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:2.1em;line-height:1.12;margin:.15em 0;color:var(--ink)}
.kbk-kicker{letter-spacing:.12em;text-transform:uppercase;font-size:.72em;font-weight:700;color:var(--gold);margin:.2em 0}
.kpg-title p,.kpg-rights p{color:var(--soft);margin:.15em 0}
.kpg-chap{background:linear-gradient(#fffdf7,#fbf1dc)}
.kpg-chap .kbk-rule{width:18%;height:2px;background:var(--gold);margin:1em auto 0}
.kpg-rights{justify-content:flex-end;font-size:.62em}
.kbk-verse{background:var(--cream);border-left:.35em solid var(--gold);border-radius:.5em;padding:.5em .75em;margin:.35em 0;text-align:left}
.kbk-verse q{font-family:Georgia,serif;quotes:none}
.kbk-verse cite{display:block;font-style:normal;font-weight:700;color:var(--gold);font-size:.8em;margin-top:.2em}
.kbk-verse .kbk-means{color:var(--soft);font-size:.8em;margin:.2em 0 0}
.kbk-label{font-weight:700;color:var(--blue);margin:.4em 0 .1em;font-size:.9em}
.kpg-end{font-size:.92em}
.kpg-end ol{margin:.1em 0 .1em 1.3em;padding:0}
.kpg-grown{font-size:.62em;line-height:1.4}
.kpg-grown h2{font-size:1.5em;margin:.3em 0}
.kpg-grown table{border-collapse:collapse;width:100%}
.kpg-grown td{border-bottom:1px solid #eadfc8;padding:.25em .3em;vertical-align:top}
.kbk-bar{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}
.kbk-bar button,.kbk-bar select{font:inherit;font-size:16px;min-height:44px;padding:8px 16px;border-radius:12px;border:1px solid #d9ccb2;background:#fff;color:var(--ink);cursor:pointer}
.kbk-bar button:disabled{opacity:.4;cursor:default}
.kbk-bar button:focus-visible,.kbk-bar select:focus-visible,.kbk-stage:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.kbk-count{min-width:7.5em;text-align:center;font-size:15px;color:var(--soft)}
.kbk-noscript .kbk-page{position:static;border-bottom:1px solid #eadfc8}
@media (prefers-reduced-motion:reduce){.kbk-leaf{transition:none}}
@media print{.kbk-bar{display:none}}
