/* LibAuthor — режим «Эффект книги» в читалке (22.09.2026). Только ПК (от 1024px).
   Разворот из двух страниц, тёмный корешок посередине, стопка страниц снизу,
   физическое перелистывание страницы. Текст главы (#rtext) режется на страницы
   CSS-колонками, ничего не клонируется в DOM до момента самого перелистывания. */

.rd-bookmode{display:inline-flex;align-items:center;gap:7px;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:6px 11px;font-size:14px;color:var(--text);cursor:pointer;user-select:none}
.rd-bookmode input{margin:0;width:15px;height:15px;accent-color:var(--brand);cursor:pointer}
.rd-bookmode.on{border-color:var(--brand);color:var(--brand)}
@media(max-width:1023px){.rd-bookmode{display:none}}

/* Разворот занимает больше ширины, чем колонка обычного чтения */
.reader.bk-on{max-width:1180px;padding:26px 34px 22px}
.reader.bk-on h1{text-align:center}
.reader.bk-on .meta{text-align:center}

.bk{position:relative;margin:6px auto 0;user-select:text;outline:none}
.bk-pages{position:absolute;inset:0;display:flex;pointer-events:none}
.bk-page{flex:1;background:var(--card);position:relative;border:1px solid var(--border);box-sizing:border-box}
/* Сгиб: страницы сходятся в середине, лист чуть выгибается к корешку — блик перед
   сгибом и мягкая тень в самом сгибе, никакой отдельной чёрной полосы */
.bk-page.l{border-radius:8px 0 0 8px;border-right:0;
  background-image:linear-gradient(to right,rgba(0,0,0,0) 0,rgba(0,0,0,0) 78%,rgba(255,255,255,.35) 91%,rgba(0,0,0,.05) 96%,rgba(0,0,0,.30) 100%)}
.bk-page.r{border-radius:0 8px 8px 0;border-left:0;
  background-image:linear-gradient(to left,rgba(0,0,0,0) 0,rgba(0,0,0,0) 78%,rgba(255,255,255,.35) 91%,rgba(0,0,0,.05) 96%,rgba(0,0,0,.30) 100%)}
.bk-spine{position:absolute;top:0;bottom:0;left:50%;width:180px;margin-left:-90px;z-index:1;pointer-events:none;
  background:linear-gradient(to right,rgba(0,0,0,0) 0,rgba(0,0,0,.05) 32%,rgba(0,0,0,.20) 47%,rgba(0,0,0,.42) 50%,rgba(0,0,0,.20) 53%,rgba(0,0,0,.05) 68%,rgba(0,0,0,0) 100%)}
.bk-spine::before{content:'';position:absolute;top:0;bottom:0;left:50%;width:1px;margin-left:-.5px;background:rgba(0,0,0,.35)}

/* Стопка страниц снизу и у внешних краёв: книга толстая, а не два листа */
.bk-stack{position:absolute;left:8px;right:8px;bottom:-9px;height:9px;pointer-events:none;
  -webkit-mask:linear-gradient(to right,#000 0,#000 44%,transparent 50%,#000 56%,#000 100%);mask:linear-gradient(to right,#000 0,#000 44%,transparent 50%,#000 56%,#000 100%);
  background:repeating-linear-gradient(to bottom,var(--card) 0 1px,rgba(0,0,0,.28) 1px 2px,var(--card) 2px 3px);
  border-radius:0 0 8px 8px;opacity:.9;filter:brightness(.92)}
.bk-ground{position:absolute;left:4%;right:4%;bottom:-26px;height:28px;pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(0,0,0,.42),rgba(0,0,0,0) 72%)}

.bk-view{position:relative;overflow:hidden;z-index:2}
.bk-flow{column-fill:auto;transition:none;will-change:transform;orphans:2;widows:2}
.bk-flow img{max-width:100%;height:auto}
.bk-flow figure,.bk-flow blockquote,.bk-flow img{break-inside:avoid}

/* Номера страниц */
.bk-num{position:absolute;bottom:14px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;pointer-events:none;z-index:3;letter-spacing:.3px}
.bk-num.l{left:0;width:50%;text-align:center}
.bk-num.r{right:0;width:50%;text-align:center}

/* Зоны клика по краям страниц */
.bk-zone{position:absolute;top:0;bottom:0;width:11%;z-index:4;cursor:pointer;opacity:0;transition:opacity .2s}
.bk-zone.l{left:0}.bk-zone.r{right:0}
.bk-zone:hover{opacity:1}
.bk-zone::after{content:'';position:absolute;top:50%;width:34px;height:34px;margin-top:-17px;border-radius:50%;background:var(--card);border:1px solid var(--border);box-shadow:0 4px 14px rgba(0,0,0,.25);
  background-repeat:no-repeat;background-position:center;background-size:16px 16px}
.bk-zone.l::after{left:12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c64d53' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 5l-7 7 7 7'/%3E%3C/svg%3E")}
.bk-zone.r::after{right:12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c64d53' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E")}
.bk-zone.off{display:none}

/* Перелистывание: слой над страницей, две стороны листа */
.bk-flip-layer{position:absolute;inset:0;z-index:6;pointer-events:none;perspective:2600px}
.bk-under{position:absolute;top:0;bottom:0;overflow:hidden;background:var(--card)}
.bk-leaf{position:absolute;top:0;bottom:0;transform-style:preserve-3d;transition:transform .68s cubic-bezier(.4,.05,.3,1)}
.bk-leaf.turn-l{transform-origin:left center}
.bk-leaf.turn-r{transform-origin:right center}
.bk-face{position:absolute;inset:0;overflow:hidden;background:var(--card);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.bk-face.back{transform:rotateY(180deg)}
.bk-face .bk-flow{transition:none}
.bk-face::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .68s;
  background:linear-gradient(to right,rgba(0,0,0,0),rgba(0,0,0,.28))}
.bk-leaf.go .bk-face::after{opacity:1}
.bk-leaf.turn-l.go{transform:rotateY(-180deg)}
.bk-leaf.turn-r.go{transform:rotateY(180deg)}
.bk-leaf{box-shadow:0 0 0 rgba(0,0,0,0);transition:transform .68s cubic-bezier(.4,.05,.3,1),box-shadow .68s}
.bk-leaf.turn-l.go{box-shadow:-30px 0 40px rgba(0,0,0,.35)}
.bk-leaf.turn-r.go{box-shadow:30px 0 40px rgba(0,0,0,.35)}

.bk-hint{text-align:center;color:var(--muted);font-size:12.5px;margin:34px 0 0;transition:opacity .4s}
.bk-hint.off{opacity:0}
.bk-hint kbd{display:inline-block;border:1px solid var(--border);border-radius:5px;padding:0 6px;font:inherit;font-size:11.5px;color:var(--soft);background:var(--bg)}

@media(prefers-reduced-motion:reduce){.bk-leaf{transition:none!important}}

/* Тёмная тема: страницы чуть светлее фона, корешок глубже, контур читается */
html[data-theme="dark"] .bk-page{border-color:#3b4356}
html[data-theme="dark"] .bk-page.l{background-image:linear-gradient(to right,rgba(0,0,0,0) 0,rgba(0,0,0,0) 78%,rgba(255,255,255,.07) 91%,rgba(0,0,0,.10) 96%,rgba(0,0,0,.55) 100%)}
html[data-theme="dark"] .bk-page.r{background-image:linear-gradient(to left,rgba(0,0,0,0) 0,rgba(0,0,0,0) 78%,rgba(255,255,255,.07) 91%,rgba(0,0,0,.10) 96%,rgba(0,0,0,.55) 100%)}
html[data-theme="dark"] .bk-spine{background:linear-gradient(to right,rgba(0,0,0,0) 0,rgba(0,0,0,.10) 32%,rgba(0,0,0,.38) 47%,rgba(0,0,0,.65) 50%,rgba(0,0,0,.38) 53%,rgba(0,0,0,.10) 68%,rgba(0,0,0,0) 100%)}
html[data-theme="dark"] .bk-stack{filter:brightness(1.15)}
html[data-theme="dark"] .bk-ground{background:radial-gradient(ellipse at center,rgba(0,0,0,.7),rgba(0,0,0,0) 72%)}

/* Сепия (в любой теме): рамки страниц и сгиб в тёплых тонах */
html[data-rsepia="1"] .bk-page{border-color:#cdbc98}
html[data-rsepia="1"] .bk-page.l{background-image:linear-gradient(to right,rgba(0,0,0,0) 0,rgba(0,0,0,0) 78%,rgba(255,255,255,.45) 91%,rgba(75,58,38,.05) 96%,rgba(75,58,38,.30) 100%)}
html[data-rsepia="1"] .bk-page.r{background-image:linear-gradient(to left,rgba(0,0,0,0) 0,rgba(0,0,0,0) 78%,rgba(255,255,255,.45) 91%,rgba(75,58,38,.05) 96%,rgba(75,58,38,.30) 100%)}
html[data-rsepia="1"] .bk-spine{background:linear-gradient(to right,rgba(0,0,0,0) 0,rgba(60,45,25,.05) 32%,rgba(60,45,25,.20) 47%,rgba(60,45,25,.40) 50%,rgba(60,45,25,.20) 53%,rgba(60,45,25,.05) 68%,rgba(0,0,0,0) 100%)}
html[data-rsepia="1"] .bk-stack{filter:brightness(.95)}
html[data-rsepia="1"] .bk-ground{background:radial-gradient(ellipse at center,rgba(60,45,25,.38),rgba(0,0,0,0) 72%)}
