.bb-library {font-family:var(--bb-font);font-size:16px;line-height:1.65;color:var(--bb-text);background:var(--bb-canvas);}
.bb-library .content-wrapper {padding-block:32px;}
.bb-library .ebook-list,.bb-library .ebook-details {background:var(--bb-surface);border-radius:12px;padding:24px;overflow-wrap:anywhere;}
.bb-library .ebook-name {font-size:clamp(24px,3vw,36px);line-height:1.3;white-space:normal;}
.bb-library .ebook-card {border:1px solid var(--bb-border);border-radius:12px;margin-block-end:24px;background:var(--bb-surface);}
.bb-library .ebook-card .ebook-name {font-size:18px;line-height:1.45;}
.bb-library .ebook-content {padding:16px;}
.bb-library .ebook-other,.bb-library .ebook-byinon,.bb-library .ebook-statistics {font-size:15px;line-height:1.75;}
.bb-library .ebook-other label {color:var(--bb-muted);}
.bb-library .ebook-brief,#description {font-size:18px;line-height:1.8;max-width:68ch;overflow-wrap:anywhere;}
.bb-library .ebook-action {display:flex;flex-wrap:wrap;align-items:center;gap:12px;}
.bb-library .bb-catalog-layout {display:grid;gap:16px;}
.bb-library .bb-catalog-layout > * {min-width:0;}
.bb-library .bb-catalog-layout > .col-md-3 {float:none;width:auto;padding:0;}
.bb-library .bb-catalog-empty {margin-block:16px 0;}
@media(min-width:992px) {
    .bb-library .bb-catalog-layout {grid-template-columns:minmax(0,1fr) minmax(0,3fr);grid-template-areas:"categories summary" "categories results";column-gap:30px;}
    .bb-library .bb-catalog-layout > .col-md-3 {grid-area:categories;}
    .bb-library .bb-catalog-summary {grid-area:summary;}
    .bb-library .bb-catalog-results {grid-area:results;}
}
.bb-library .bb-book-access {margin-block:0 16px;}
.bb-library .bb-share-dialog {width:calc(100% - 32px);max-width:var(--bb-dialog);max-height:calc(100% - 32px);padding:0;border:1px solid var(--bb-border);border-radius:var(--bb-radius);background:var(--bb-surface);color:var(--bb-text);}
.bb-library .bb-share-dialog::backdrop {background:rgb(0 0 0 / 60%);}
.bb-library .bb-share-content {padding:24px;text-align:center;overflow-wrap:anywhere;}
.bb-library .bb-share-content h2 {margin-top:0;}
.bb-library .btn,.bb-library button,.bb-library input:not([type=checkbox]),.bb-library select {min-height:44px;font-size:16px;}
.bb-library .btn-primary {color:var(--bb-on-accent);background:var(--bb-accent);border-color:var(--bb-accent);}
.bb-library a {color:var(--bb-accent);}
.bb-library a:focus-visible,.bb-library button:focus-visible,.bb-library input:focus-visible {outline:3px solid var(--bb-focus);outline-offset:3px;}
.bb-library .image-placeholder {display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:180px;background:var(--bb-canvas);color:var(--bb-muted);font-size:16px;gap:12px;padding:16px;text-align:center;}
.bb-library .image-placeholder i {font-size:28px;position:static;}
.bb-library .bb-library-notice {padding:16px 24px;margin-block:24px;border:1px solid var(--bb-border);border-inline-start:4px solid var(--bb-accent);background:var(--bb-info-surface);color:#17233b;border-radius:8px;line-height:1.65;}
.bb-library .bb-library-notice p {margin:8px 0;}
.bb-library .form-inner {padding:24px;}
.bb-library .error-message {color:var(--bb-danger);font-size:15px;}
.bb-library .bb-media-fallback {display:none;}
.bb-library .bb-media-unavailable img {display:none!important;}
.bb-library .bb-media-unavailable .bb-media-fallback {display:flex;align-items:center;justify-content:center;padding:16px;min-height:100px;background:var(--bb-canvas);color:var(--bb-muted);font-size:16px;line-height:1.5;}
.bb-library .our-author .bb-media-unavailable:before,.bb-library .our-author .bb-media-unavailable:after {display:none;}
.bb-library img {max-width:100%;}
.bb-library .our-author .name a {color:var(--bb-accent);}
.bb-library .cookie-bar-wrap {position:static;}
@media(max-width:767px){.bb-library .ebook-list,.bb-library .ebook-details,.bb-library .form-inner {padding:16px;} .bb-library .header-inner .search-box {max-width:100%;} .bb-library .ebook-other span {float:none;display:block;} .bb-library .ebook-action .pull-right {float:none!important;} .bb-library .ebook-image .base-image {max-width:260px;margin:auto;} .bb-library .ebook-card .ebook-name {font-size:18px;}}
/* Reader frames size to the viewport instead of a fixed 500px (UXR-008). */
.bb-library .bb-reader-frame {display:block;inline-size:100%;block-size:min(85vh,1100px);min-block-size:420px;border:1px solid var(--bb-border);border-radius:var(--bb-radius);background:var(--bb-canvas);}
.bb-library .bb-reader-note {text-align:start;margin:0;}
/* Unlock panel: heading keeps the old visual size; close is a real button. */
.bb-library .right-actions h2.title {font-size:inherit;font-weight:inherit;line-height:inherit;margin:0;}
.bb-library .right-actions button.action-toggle {border:0;background:transparent;color:inherit;padding:0;min-inline-size:44px;min-block-size:44px;}
.bb-library .bb-reader-held {padding:1rem;max-width:40rem;overflow-wrap:anywhere;text-align:start;}
/* Auth pages use a real H1 that keeps the former H3 look (UXR-018). */
.bb-library .form .form-inner h1.h3 {margin-top:0;margin-bottom:14px;text-align:center;}
