#booksModal.open,#bookReaderModal.open{display:flex!important;position:fixed!important;inset:0!important;z-index:260!important;padding:0!important;background:var(--bg)!important;align-items:stretch!important}
.booksShell,.bookReaderShell{width:100%;height:100%;max-width:780px;margin:0 auto;display:flex;flex-direction:column;background:var(--bg);color:var(--text);overflow:hidden}
.booksTop,.bookReaderTop{height:62px;flex:0 0 62px;display:flex;align-items:center;gap:10px;padding:0 12px;border-bottom:1px solid var(--line);background:var(--card)}
.booksTop h2,.bookReaderTop h2{min-width:0;flex:1;margin:0;text-align:center;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.booksBack,.bookReaderBack,.bookIconBtn{width:40px;height:40px;flex:0 0 40px;border:0;border-radius:50%;background:var(--soft);color:var(--text);font:800 23px/1 inherit}
.booksBack svg,.bookReaderBack svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.booksTopSpacer{width:40px;height:40px;flex:0 0 40px}
.booksBody{flex:1;min-height:0;overflow:auto;padding:14px 13px calc(105px + env(safe-area-inset-bottom))}
.booksActions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}.booksPrimary,.booksSecondary{min-height:46px;border:0;border-radius:14px;padding:0 12px;font:850 12px/1.2 inherit}.booksPrimary{background:linear-gradient(135deg,var(--accent2),var(--accent));color:#fff}.booksSecondary{background:var(--soft);color:var(--accent)}
.booksTools{display:grid;grid-template-columns:minmax(0,1fr) minmax(132px,42%);gap:10px;margin-bottom:15px}.booksTools input,.booksTools select{height:46px;min-width:0;border:1px solid var(--line);border-radius:13px;background:var(--card);color:var(--text);padding:0 38px 0 13px;font:700 14px/1.2 inherit}.booksTools input{padding-right:13px}.booksTools select{background-position:right 13px center}
.booksStatus{min-height:18px;margin:0 0 10px;color:var(--muted);font-size:12px;text-align:center}.booksGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 9px}
.bookCard{position:relative;min-width:0}.bookCover{position:relative;width:100%;aspect-ratio:3/4.25;border:0;border-radius:13px;padding:0;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 72%,#092747),color-mix(in srgb,var(--accent2) 60%,#06162c));box-shadow:var(--shadow);color:#fff}.bookCover img{width:100%;height:100%;display:block;object-fit:cover}.bookCoverFallback{height:100%;display:flex;align-items:center;justify-content:center;padding:12px;font:850 12px/1.35 inherit;text-align:center;overflow-wrap:anywhere}.bookType{position:absolute;left:7px;top:7px;padding:4px 6px;border-radius:7px;background:rgba(3,12,25,.72);font-size:8px;font-weight:900}.bookProgressBar{position:absolute;left:0;right:0;bottom:0;height:5px;background:rgba(255,255,255,.25)}.bookProgressBar i{display:block;height:100%;background:#ffd16f}.bookTitle{margin:7px 1px 2px;font-size:11px;font-weight:850;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bookPercent{font-size:9px;color:var(--muted)}.bookMenu{position:absolute;right:5px;top:5px;width:30px;height:30px;border:0;border-radius:50%;background:rgba(0,0,0,.54);color:#fff;font-size:18px}.booksEmpty{grid-column:1/-1;padding:70px 18px;text-align:center;color:var(--muted)}
.bookReaderBody{position:relative;flex:1;min-height:0;overflow:hidden;background:#fff}.bookReaderBody.warm{background:#f7efd9}.bookReaderBody.dark{background:#12171c}.bookPdfScroll{position:absolute;inset:0;overflow:auto;padding:12px;text-align:center}.bookPdfCanvas{display:block;margin:0 auto;max-width:none;image-rendering:auto;box-shadow:0 4px 24px rgba(0,0,0,.18)}.bookEpubFrame{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent}
.bookReaderControls{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--card);overflow-x:auto}.bookReaderControls button,.bookReaderControls select,.bookReaderControls input{height:46px;min-width:46px;flex:0 0 auto;border:0;border-radius:13px;background:var(--soft);color:var(--text);padding:0 12px;font:800 14px/1 inherit}.bookReaderControls input{width:68px;border:1px solid var(--line);background:var(--bg);text-align:center}.bookReaderMeta{padding:7px 12px;text-align:center;color:var(--muted);font-size:12px;background:var(--card)}
.bookDrawer{position:absolute;inset:62px 0 0 auto;z-index:4;width:min(340px,88%);padding:16px;background:var(--card);box-shadow:-12px 0 30px rgba(0,0,0,.2);overflow:auto;transform:translateX(105%);transition:.2s}.bookDrawer.open{transform:none}.bookDrawer button{display:block;width:100%;min-height:40px;margin:0 0 6px;border:0;border-radius:10px;background:var(--soft);color:var(--text);text-align:left;padding:9px 11px;font:700 12px inherit}
body[data-lang="ru"] .booksPrimary,body[data-lang="ru"] .booksSecondary{font-size:12px}
@media(max-width:365px){.booksGrid{gap:9px 6px}.bookTitle{font-size:10px}.booksTools{grid-template-columns:1fr 110px}.booksActions{grid-template-columns:1fr}.bookReaderControls{justify-content:flex-start}}
#booksBtn .qIcon{background:#A64B4B!important;color:#fff!important}#booksBtn .qIcon svg{width:26px!important;height:26px!important;fill:none!important;stroke:#fff!important;stroke-linecap:round;stroke-linejoin:round}
.bookActionSheet{display:none;position:fixed;inset:0;z-index:320;align-items:flex-end;justify-content:center}.bookActionSheet.open{display:flex}.bookActionBackdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.46)}.bookActionPanel{position:relative;width:min(520px,calc(100% - 24px));margin:0 12px calc(12px + env(safe-area-inset-bottom));padding:16px;border-radius:24px;background:var(--card);box-shadow:0 18px 60px rgba(0,0,0,.28)}.bookActionTitle{margin:2px 4px 14px;font-size:17px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bookActionPanel>button{display:block;width:100%;min-height:50px;margin-top:8px;border:0;border-radius:14px;background:var(--soft);color:var(--text);font:800 14px/1.2 inherit}.bookActionPanel>button.danger{color:#d73535}.bookActionPanel>button.cancel{background:transparent;color:var(--muted)}
@media(min-width:700px){.booksTop,.bookReaderTop{height:68px;flex-basis:68px;padding:0 18px}.booksBody{padding-left:20px;padding-right:20px}.booksActions button{font-size:14px}.booksTools input,.booksTools select{font-size:15px}.bookReaderControls button,.bookReaderControls input{height:48px;min-width:48px}}
.bookReaderTop,.bookReaderControls,.bookReaderMeta{transition:opacity .16s ease,transform .16s ease}.readerUiHidden .bookReaderTop,.readerUiHidden .bookReaderControls,.readerUiHidden .bookReaderMeta{display:none!important}.readerUiHidden .bookReaderBody{flex:1 1 100%;height:100%}.readerUiHidden .bookPdfScroll{padding:0}.readerUiHidden .bookPdfCanvas{box-shadow:none}
#booksModal.open{inset:0 0 calc(78px + env(safe-area-inset-bottom))!important;z-index:190!important}.booksTop.contentTop{height:auto!important;min-height:58px!important;flex-basis:auto!important;gap:10px!important;padding:10px 58px!important;background:color-mix(in srgb,var(--bg) 94%,transparent)!important}.booksTop.contentTop h2.title{text-align:center!important;font-size:17px!important}.booksTop.contentTop .booksTopSpacer{display:none!important}.booksTop.contentTop .booksBack.iconClose{position:absolute!important;left:12px!important;top:50%!important;transform:translateY(-50%)!important}
.booksTools{grid-template-columns:minmax(0,1fr) 52px!important}.booksTools input{padding-left:42px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23808a94' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-size:20px!important;background-position:14px center!important}.booksTools select{width:52px!important;padding:0!important;font-size:0!important;color:transparent!important;appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23808a94' stroke-width='2'%3E%3Cpath d='M4 7h10M4 12h7M4 17h4'/%3E%3Cpath d='m16 14 3 3 3-3M19 17V6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-size:22px!important;background-position:center!important}.booksTools select option{font-size:14px!important;color:#17212b!important}.booksEmpty{padding:68px 24px!important;font-size:15px!important;line-height:1.65!important;max-width:480px;margin:0 auto}.bookPdfScroll{touch-action:pan-x pan-y}.bookPdfCanvas{transform-origin:center top}
.booksTools{position:relative}.booksTools input,.booksTools select{background-image:none!important}.booksSearchIcon,.booksSortIcon{position:absolute;z-index:2;top:50%;transform:translateY(-50%);display:grid;place-items:center;color:var(--muted);pointer-events:none}.booksSearchIcon{left:14px}.booksSortIcon{right:15px}.booksSearchIcon svg,.booksSortIcon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.booksBack.iconClose svg{width:23px!important;height:23px!important;fill:none!important;stroke:currentColor!important;stroke-width:2.2!important}.bookReaderLoading{position:absolute;inset:0;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;background:var(--bg);color:var(--muted);font-size:14px;font-weight:750}.bookReaderLoading[hidden]{display:none!important}.bookReaderLoading i{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:bookSpin .8s linear infinite}@keyframes bookSpin{to{transform:rotate(360deg)}}
.bookReaderControls[hidden]{display:none!important}.booksTop.contentTop .booksBack.iconClose{width:40px!important;height:40px!important;border:1px solid var(--line)!important;border-radius:50%!important;background:var(--card)!important;color:var(--text)!important;display:grid!important;place-items:center!important;padding:0!important;box-shadow:none!important}.bookPdfCanvas{will-change:transform,opacity}.bookEpubFrame{touch-action:auto}
.bookReaderShell{position:relative!important}.bookReaderBody{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:1!important;flex:none!important}.bookReaderTop{position:absolute!important;left:0!important;right:0!important;top:0!important;z-index:12!important;background:color-mix(in srgb,var(--card) 94%,transparent)!important;backdrop-filter:blur(12px)}.bookReaderControls{position:absolute!important;left:0!important;right:0!important;bottom:0!important;z-index:12!important;background:color-mix(in srgb,var(--card) 94%,transparent)!important;backdrop-filter:blur(12px)}.bookReaderMeta{position:absolute!important;left:0!important;right:0!important;bottom:calc(66px + env(safe-area-inset-bottom))!important;z-index:11!important;background:color-mix(in srgb,var(--card) 94%,transparent)!important}.readerUiHidden .bookReaderTop{display:flex!important;opacity:0!important;transform:translateY(-105%)!important;pointer-events:none!important}.readerUiHidden .bookReaderControls{display:flex!important;opacity:0!important;transform:translateY(105%)!important;pointer-events:none!important}.readerUiHidden .bookReaderControls[hidden]{display:none!important}.readerUiHidden .bookReaderMeta{display:block!important;opacity:0!important;transform:translateY(105%)!important;pointer-events:none!important}.bookPdfScroll{inset:0!important;padding:18px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;text-align:center!important}.bookPdfScroll:before,.bookPdfScroll:after{content:"";display:block;width:1px;min-height:18px;flex:1 0 18px}.bookPdfCanvas{flex:0 0 auto!important;margin:0 auto!important;transform-origin:center center}.bookEpubFrame{inset:0!important;height:100%!important}.bookReaderTop,.bookReaderControls,.bookReaderMeta{transition:opacity .22s ease,transform .22s ease!important}
