/* BAVS v0.22.10 - Public Library high-contrast warm/modern UI */
.lib-v2210{--lib-blue:#173f7a;--lib-blue2:#2867d8;--lib-amber:#f5a524;--lib-amber2:#ffc857;--lib-ink:#16243a;--lib-muted:#617187;--lib-card:#fff;--lib-border:#dce4ef;--lib-soft:#f6f9fd;--lib-warm:#fff6e5;--lib-shadow:0 18px 55px rgba(25,54,95,.08);max-width:1180px;margin:0 auto;padding:28px 18px 70px;color:var(--lib-ink)}
.lib-v2210 *{box-sizing:border-box}
.lib-v2210 .lib-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:40px 42px;border-radius:30px;background:linear-gradient(125deg,#163c74 0%,#245bb4 62%,#d98b16 145%);color:#fff;box-shadow:0 22px 60px rgba(22,63,122,.18)}
.lib-v2210 .lib-hero:before{content:"";position:absolute;inset:auto -110px -170px auto;width:360px;height:360px;border-radius:50%;background:rgba(255,194,82,.2)}
.lib-v2210 .lib-hero__copy{position:relative;z-index:1;max-width:760px}.lib-v2210 .lib-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);font-size:12px;font-weight:900;color:#fff}.lib-v2210 .lib-hero h1{margin:11px 0 8px;font-size:clamp(30px,4vw,44px);line-height:1.4;color:#fff;font-weight:950}.lib-v2210 .lib-hero p{margin:0;color:#eaf1ff;line-height:2;font-size:14px}.lib-v2210 .lib-hero-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.lib-v2210 .lib-hero-points span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.1);color:#fff7e8;font-size:11px;font-weight:800}.lib-v2210 .lib-hero-points i{color:#ffd36f}.lib-v2210 .lib-hero__art{position:relative;z-index:1;display:flex;align-items:center;gap:10px}.lib-v2210 .lib-hero__art span{width:60px;height:60px;display:grid;place-items:center;border-radius:18px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);font-size:24px}.lib-v2210 .lib-hero__art span:nth-child(2){background:#f5a524;color:#2d220d;border-color:#f5a524;transform:translateY(8px)}

.lib-v2210 .lib-filter{display:grid;grid-template-columns:minmax(300px,1fr) 220px 200px auto;gap:9px;margin:18px 0 16px;padding:10px;background:#fff;border:1px solid #dbe4ef;border-radius:18px;box-shadow:0 10px 30px rgba(30,58,96,.06)}.lib-v2210 .lib-search{position:relative}.lib-v2210 .lib-search i{position:absolute;right:14px;top:16px;color:#75869e}.lib-v2210 .lib-filter input,.lib-v2210 .lib-filter select{width:100%;height:47px;border:1px solid #d8e1ec;border-radius:12px;background:#f9fbfe;color:#17253a;padding:0 13px;outline:0}.lib-v2210 .lib-search input{padding-right:41px}.lib-v2210 .lib-filter input:focus,.lib-v2210 .lib-filter select:focus{border-color:#4f7ed6;box-shadow:0 0 0 4px rgba(40,103,216,.1);background:#fff}.lib-v2210 .lib-filter button{border:0;border-radius:12px;background:linear-gradient(135deg,#ffc54c,#f1a21d);color:#34260d;padding:0 18px;font-weight:950;cursor:pointer}
.lib-v2210 .lib-summary{display:flex;align-items:center;gap:8px;padding:7px 2px 16px;color:#6b7c93;font-size:12px}.lib-v2210 .lib-summary strong{color:#173f7a;font-size:16px}.lib-v2210 .lib-summary-dot{width:8px;height:8px;border-radius:50%;background:#2867d8;box-shadow:0 0 0 4px rgba(40,103,216,.1)}

.lib-v2210 .lib-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.lib-v2210 .lib-card{overflow:hidden;background:#fff;border:1px solid #dfe6ef;border-radius:22px;box-shadow:0 10px 32px rgba(32,56,89,.06);transition:.22s ease}.lib-v2210 .lib-card:hover{transform:translateY(-3px);border-color:#c5d3e7;box-shadow:0 18px 42px rgba(32,56,89,.11)}.lib-v2210 .lib-card.is-featured{border-color:#f0ca7b;box-shadow:0 14px 38px rgba(206,139,26,.11)}.lib-v2210 .lib-cover{position:relative;height:285px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#eaf1ff,#fff0ce);text-decoration:none}.lib-v2210 .lib-cover img{width:100%;height:100%;object-fit:cover;transition:.25s}.lib-v2210 .lib-card:hover .lib-cover img{transform:scale(1.025)}.lib-v2210 .lib-cover>span{width:120px;height:150px;border-radius:18px;background:#fff;display:grid;place-items:center;align-content:center;gap:8px;color:#225eb8;box-shadow:0 14px 30px rgba(36,83,151,.13)}.lib-v2210 .lib-cover>span i{font-size:34px}.lib-v2210 .lib-cover>span b{font-size:32px}.lib-v2210 .lib-cover em{position:absolute;top:12px;right:12px;padding:7px 10px;border-radius:999px;background:#f5a524;color:#3e2b09;font-style:normal;font-size:10px;font-weight:950;box-shadow:0 5px 16px rgba(0,0,0,.13)}
.lib-v2210 .lib-card__body{padding:16px}.lib-v2210 .lib-tags{display:flex;flex-wrap:wrap;gap:6px}.lib-v2210 .lib-tags span{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#edf3ff;color:#2459a7;font-size:10px;font-weight:850}.lib-v2210 .lib-tags span:nth-child(2){background:#fff3dc;color:#96610d}.lib-v2210 .lib-tags span.featured{background:#fff0c7;color:#8d5b06}.lib-v2210 .lib-card h2{margin:10px 0 4px;font-size:18px;line-height:1.65}.lib-v2210 .lib-card h2 a{color:#17253a;text-decoration:none}.lib-v2210 .lib-subtitle{margin:0 0 8px;color:#6f7e92;font-size:11px;line-height:1.7}.lib-v2210 .lib-byline{display:flex;flex-wrap:wrap;gap:7px 12px;color:#53657c;font-size:11px}.lib-v2210 .lib-byline span{display:inline-flex;align-items:center;gap:5px}.lib-v2210 .lib-byline i{color:#b8750d}.lib-v2210 .lib-excerpt{min-height:72px;margin:11px 0;color:#56657a;line-height:2;font-size:12px}.lib-v2210 .lib-card__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid #edf1f5;color:#748298;font-size:10px}.lib-v2210 .lib-card__foot a,.lib-v2210 .lib-mini-link{display:inline-flex;align-items:center;gap:6px;color:#1f5ab4;font-weight:900;text-decoration:none}

.lib-v2210 .lib-empty{display:grid;justify-items:center;text-align:center;gap:7px;padding:62px 20px;border:1px dashed #c9d6e8;border-radius:24px;background:linear-gradient(180deg,#fff,#f8fbff);color:#17253a;box-shadow:0 10px 32px rgba(28,55,92,.04)}.lib-v2210 .lib-empty-icon{width:78px;height:78px;border-radius:24px;display:grid;place-items:center;background:#fff0d4;color:#b66f07;font-size:32px}.lib-v2210 .lib-empty h2{margin:5px 0 0;color:#17253a}.lib-v2210 .lib-empty p{margin:0;color:#6c7b90}.lib-v2210 .lib-empty a{margin-top:8px;display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border-radius:12px;background:#173f7a;color:#fff;text-decoration:none;font-weight:900}
.lib-v2210 .lib-pagination{display:flex;justify-content:center;gap:7px;margin-top:24px}.lib-v2210 .lib-pagination a{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#fff;border:1px solid #dce4ef;color:#2258aa;text-decoration:none}.lib-v2210 .lib-pagination a.active{background:#173f7a;border-color:#173f7a;color:#fff}

.lib-v2210 .lib-breadcrumb{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:14px;color:#718198;font-size:11px}.lib-v2210 .lib-breadcrumb a{color:#245cb4;text-decoration:none}.lib-v2210 .lib-detail{display:grid;grid-template-columns:290px minmax(0,1fr);gap:26px;padding:22px;background:#fff;border:1px solid #dce4ef;border-radius:26px;box-shadow:var(--lib-shadow)}.lib-v2210 .lib-detail__visual{display:grid;align-content:start;gap:12px}.lib-v2210 .lib-detail__cover{min-height:405px;border-radius:21px;overflow:hidden;background:linear-gradient(145deg,#eaf1ff,#fff0ce);display:grid;place-items:center;border:1px solid #e1e7ef}.lib-v2210 .lib-detail__cover img{width:100%;height:100%;object-fit:cover}.lib-v2210 .lib-detail__cover>span{display:grid;justify-items:center;gap:8px;color:#245bad}.lib-v2210 .lib-detail__cover>span i{font-size:55px}.lib-v2210 .lib-detail__cover>span b{font-size:46px}.lib-v2210 .lib-quick-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lib-v2210 .lib-quick-facts span{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;gap:0 7px;align-items:center;padding:10px;border-radius:13px;background:#f5f8fc;border:1px solid #e4eaf2}.lib-v2210 .lib-quick-facts i{grid-row:1/3;width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#e9f1ff;color:#245cb4}.lib-v2210 .lib-quick-facts b{font-size:13px;color:#17253a}.lib-v2210 .lib-quick-facts small{font-size:9px;color:#76859a}
.lib-v2210 .lib-detail__content h1{margin:10px 0 4px;font-size:34px;line-height:1.55;color:#17253a}.lib-v2210 .lib-detail-subtitle{margin:0 0 13px;color:#65758b;line-height:1.8}.lib-v2210 .lib-head-meta{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:16px}.lib-v2210 .lib-head-meta>span{display:grid;grid-template-columns:34px auto;grid-template-rows:auto auto;gap:0 8px;align-items:center;min-width:155px;padding:9px 11px;border:1px solid #e2e8f0;border-radius:13px;background:#fbfcfe}.lib-v2210 .lib-head-meta i{grid-row:1/3;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#eef4ff;color:#245bb2}.lib-v2210 .lib-head-meta small{font-size:9px;color:#7b899d}.lib-v2210 .lib-head-meta b{font-size:11px;color:#26364c}
.lib-v2210 .lib-reading{margin-top:13px;padding:17px;border-radius:17px;border:1px solid #e2e8f0;background:#f8fafc}.lib-v2210 .lib-reading.intro{background:#fff8e9;border-color:#f1dbad}.lib-v2210 .lib-reading.librarian{background:#eef7ff;border-color:#cfdef2}.lib-v2210 .lib-reading h2{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:16px;color:#223650}.lib-v2210 .lib-reading h2 i{color:#b8740d}.lib-v2210 .lib-reading p{margin:0;color:#4f6075;line-height:2.15;font-size:13px}
.lib-v2210 .lib-bibliography{margin-top:14px;border:1px solid #dfe6ef;border-radius:19px;overflow:hidden;background:#fff}.lib-v2210 .lib-bibliography>header{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#f6f9fd;border-bottom:1px solid #e4eaf2}.lib-v2210 .lib-bibliography>header>span{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#173f7a;color:#fff}.lib-v2210 .lib-bibliography>header small{color:#8a98aa;font-size:9px}.lib-v2210 .lib-bibliography>header h2{margin:1px 0 0;font-size:16px;color:#1b2c43}.lib-v2210 .lib-biblio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.lib-v2210 .lib-biblio-grid>div{display:flex;align-items:center;gap:9px;padding:12px 14px;border-bottom:1px solid #edf1f5}.lib-v2210 .lib-biblio-grid>div:nth-child(odd){border-left:1px solid #edf1f5}.lib-v2210 .lib-biblio-grid>div>i{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#fff3dc;color:#a6690a}.lib-v2210 .lib-biblio-grid span{display:grid}.lib-v2210 .lib-biblio-grid small{font-size:9px;color:#7d8a9c}.lib-v2210 .lib-biblio-grid b{font-size:11px;color:#27374d}.lib-v2210 .lib-keywords{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:13px 14px}.lib-v2210 .lib-keywords strong{font-size:10px;color:#64758c;margin-left:3px}.lib-v2210 .lib-keywords span{padding:5px 8px;border-radius:999px;background:#eef4ff;color:#295ba6;font-size:9px;font-weight:800}
.lib-v2210 .lib-publisher-cta{margin-top:16px;display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(125deg,#173f7a,#245cb5);color:#fff;border-radius:19px;padding:18px}.lib-v2210 .lib-publisher-cta>div>span{font-size:10px;color:#ffd985}.lib-v2210 .lib-publisher-cta h2{margin:5px 0;font-size:19px;color:#fff}.lib-v2210 .lib-publisher-cta p{margin:0;color:#e0ebff;font-size:11px;line-height:1.8}.lib-v2210 .lib-publisher-cta a{white-space:nowrap;text-decoration:none;background:linear-gradient(135deg,#ffc957,#f5a524);color:#33250c;padding:12px 15px;border-radius:13px;font-weight:950;display:flex;align-items:center;gap:8px}
.lib-v2210 .lib-related{margin-top:30px}.lib-v2210 .lib-related>header span{color:#a76a08;font-weight:900;font-size:11px}.lib-v2210 .lib-related>header h2{margin:4px 0 14px;color:#17253a}.lib-v2210 .lib-related .lib-cover{height:190px}.lib-v2210 .lib-related .lib-card__body{padding:13px}.lib-v2210 .lib-related .lib-card h2{font-size:15px}.lib-v2210 .lib-author{margin:4px 0 10px;color:#66768b;font-size:10px}

html[data-theme="dark"] .lib-v2210{--lib-ink:#eef4ff;--lib-muted:#a9b5c6;--lib-card:#121c2b;--lib-border:#2b3a51;--lib-soft:#172235}
html[data-theme="dark"] .lib-v2210 .lib-filter,html[data-theme="dark"] .lib-v2210 .lib-card,html[data-theme="dark"] .lib-v2210 .lib-detail,html[data-theme="dark"] .lib-v2210 .lib-bibliography{background:#121c2b;border-color:#2b3a51}
html[data-theme="dark"] .lib-v2210 .lib-filter input,html[data-theme="dark"] .lib-v2210 .lib-filter select{background:#182437;border-color:#35465e;color:#edf3ff}
html[data-theme="dark"] .lib-v2210 .lib-filter input:focus,html[data-theme="dark"] .lib-v2210 .lib-filter select:focus{background:#1b2a3f}
html[data-theme="dark"] .lib-v2210 .lib-summary{color:#a7b4c7}.lib-v2210 .lib-summary strong{color:#2b62b3}html[data-theme="dark"] .lib-v2210 .lib-summary strong{color:#9fc0ff}
html[data-theme="dark"] .lib-v2210 .lib-card h2 a,html[data-theme="dark"] .lib-v2210 .lib-detail__content h1,html[data-theme="dark"] .lib-v2210 .lib-bibliography>header h2,html[data-theme="dark"] .lib-v2210 .lib-related>header h2{color:#f1f5fb}
html[data-theme="dark"] .lib-v2210 .lib-excerpt,html[data-theme="dark"] .lib-v2210 .lib-subtitle,html[data-theme="dark"] .lib-v2210 .lib-byline,html[data-theme="dark"] .lib-v2210 .lib-detail-subtitle{color:#abb8ca}
html[data-theme="dark"] .lib-v2210 .lib-card__foot{border-color:#29384e;color:#99a9be}
html[data-theme="dark"] .lib-v2210 .lib-empty{background:linear-gradient(180deg,#121c2b,#101824);border-color:#35465d;color:#f0f4fb}.lib-v2210 .lib-empty h2{color:#17253a}html[data-theme="dark"] .lib-v2210 .lib-empty h2{color:#f0f4fb}html[data-theme="dark"] .lib-v2210 .lib-empty p{color:#aeb9c9}
html[data-theme="dark"] .lib-v2210 .lib-quick-facts span,html[data-theme="dark"] .lib-v2210 .lib-head-meta>span,html[data-theme="dark"] .lib-v2210 .lib-reading,html[data-theme="dark"] .lib-v2210 .lib-bibliography>header{background:#172235;border-color:#2d3d54}
html[data-theme="dark"] .lib-v2210 .lib-quick-facts b,html[data-theme="dark"] .lib-v2210 .lib-head-meta b,html[data-theme="dark"] .lib-v2210 .lib-reading h2,html[data-theme="dark"] .lib-v2210 .lib-biblio-grid b{color:#edf3ff}
html[data-theme="dark"] .lib-v2210 .lib-reading p{color:#c8d2df}.lib-v2210 .lib-reading.intro{background:#fff8e9;border-color:#f1dbad}html[data-theme="dark"] .lib-v2210 .lib-reading.intro{background:#2b2518;border-color:#594923}.lib-v2210 .lib-reading.librarian{background:#eef7ff;border-color:#cfdef2}html[data-theme="dark"] .lib-v2210 .lib-reading.librarian{background:#15263a;border-color:#2e4b6a}
html[data-theme="dark"] .lib-v2210 .lib-biblio-grid>div{border-color:#29384d}.lib-v2210 .lib-biblio-grid>div:nth-child(odd){border-left-color:#edf1f5}html[data-theme="dark"] .lib-v2210 .lib-biblio-grid>div:nth-child(odd){border-left-color:#29384d}
html[data-theme="dark"] .lib-v2210 .lib-detail__cover{border-color:#2f4058;background:linear-gradient(145deg,#18263a,#2d2719)}

@media(max-width:980px){.lib-v2210 .lib-hero{padding:32px}.lib-v2210 .lib-hero__art{display:none}.lib-v2210 .lib-filter{grid-template-columns:1fr 1fr}.lib-v2210 .lib-search{grid-column:1/-1}.lib-v2210 .lib-filter button{height:47px}.lib-v2210 .lib-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lib-v2210 .lib-detail{grid-template-columns:240px minmax(0,1fr)}.lib-v2210 .lib-detail__cover{min-height:345px}}
@media(max-width:680px){.lib-v2210{padding:16px 12px 48px}.lib-v2210 .lib-hero{padding:24px 20px;border-radius:24px}.lib-v2210 .lib-hero h1{font-size:28px}.lib-v2210 .lib-hero-points{display:grid}.lib-v2210 .lib-filter{grid-template-columns:1fr}.lib-v2210 .lib-grid{grid-template-columns:1fr}.lib-v2210 .lib-cover{height:275px}.lib-v2210 .lib-detail{grid-template-columns:1fr;padding:15px}.lib-v2210 .lib-detail__visual{max-width:380px;width:100%;margin:0 auto}.lib-v2210 .lib-detail__cover{min-height:390px}.lib-v2210 .lib-detail__content h1{font-size:28px}.lib-v2210 .lib-head-meta{display:grid;grid-template-columns:1fr}.lib-v2210 .lib-biblio-grid{grid-template-columns:1fr}.lib-v2210 .lib-biblio-grid>div:nth-child(odd){border-left:0}.lib-v2210 .lib-publisher-cta{align-items:stretch;flex-direction:column}.lib-v2210 .lib-publisher-cta a{justify-content:center}.lib-v2210 .lib-related .lib-cover{height:240px}}

/* ===== v0.22.10 smart catalog / bookstore-like discovery ===== */
.lib-v2210{--lib-blue:#2459d3;--lib-ink:#10233f;--lib-soft:#f5f8ff;--lib-gold:#f5a623;--lib-border:#dce6f7;--lib-muted:#65748b;max-width:1450px;margin-inline:auto}
.lib-v2210 .lib-hero{background:linear-gradient(125deg,#133b91 0%,#2e64dc 55%,#7854d6 100%);box-shadow:0 22px 55px rgba(34,73,150,.22);overflow:hidden}
.lib-v2210 .lib-hero:after{content:"";position:absolute;inset:auto -90px -120px auto;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(255,192,74,.45),rgba(255,192,74,0) 68%);pointer-events:none}
.lib-v2210 .lib-catalog{margin-top:22px}.lib-catalog-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) auto auto auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--lib-border);padding:12px;border-radius:20px;box-shadow:0 12px 32px rgba(31,56,98,.08);position:sticky;top:76px;z-index:20}
.lib-v2210 .lib-search{min-height:48px;border:1px solid #d4def0;background:#f8faff;border-radius:14px;padding:0 14px;display:flex;align-items:center;gap:10px}.lib-v2210 .lib-search input{border:0;background:transparent;outline:0;width:100%;color:var(--lib-ink);font-weight:650}.lib-v2210 .lib-search button{border:0;background:transparent;color:#8794a8;cursor:pointer}
.lib-filter-toggle,.lib-sort,.lib-view-switch{height:48px;border:1px solid #d9e2f1;border-radius:14px;background:#fff}.lib-filter-toggle{padding:0 15px;color:#24446e;font-weight:800;cursor:pointer}.lib-filter-toggle span{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:11px;background:#fff2d4;color:#a95f00;margin-right:5px}.lib-sort{display:flex;align-items:center;gap:8px;padding:0 12px}.lib-sort span{font-size:12px;color:#718198}.lib-sort select{border:0;background:transparent;outline:0;color:#1f395e;font-weight:800}.lib-view-switch{display:flex;padding:4px;gap:3px}.lib-view-switch button{width:38px;border:0;border-radius:10px;background:transparent;color:#718198;cursor:pointer}.lib-view-switch button.active{background:#e9f0ff;color:#2459d3}
.lib-catalog-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;margin-top:18px;align-items:start}.lib-filter-panel{background:#fff;border:1px solid var(--lib-border);border-radius:22px;padding:16px;box-shadow:0 10px 30px rgba(31,56,98,.07);position:sticky;top:145px;max-height:calc(100vh - 165px);overflow:auto}.lib-filter-panel-head{display:flex;justify-content:space-between;align-items:center;padding:4px 2px 13px;border-bottom:1px solid #edf1f8}.lib-filter-panel-head small{color:#7b8ca5}.lib-filter-panel-head h2{margin:2px 0 0;font-size:17px;color:#17365d}.lib-filter-panel-head button{display:none}.lib-filter-panel section{padding:14px 0;border-bottom:1px dashed #e3e9f3}.lib-filter-panel section h3{font-size:13px;margin:0 0 10px;color:#31517c;display:flex;gap:7px;align-items:center}.lib-check-list{display:grid;gap:7px}.lib-check-list label{display:flex;align-items:center;gap:8px;font-size:13px;color:#344968;cursor:pointer}.lib-check-list input{accent-color:#2459d3;width:16px;height:16px}.lib-check-scroll{max-height:205px;overflow:auto;padding-inline-end:3px}.lib-filter-panel select{width:100%;height:42px;border:1px solid #d8e1ef;border-radius:11px;background:#f9fbff;color:#294566;margin-bottom:8px;padding:0 10px}.lib-featured-only{display:flex;align-items:center;gap:8px;color:#8d5b00;font-weight:750;font-size:13px}.lib-featured-only input{accent-color:#f5a623}.lib-filter-actions{display:grid;grid-template-columns:1fr auto;gap:8px;padding-top:14px}.lib-filter-actions button{height:42px;border:0;border-radius:12px;background:linear-gradient(135deg,#2459d3,#6348dc);color:#fff;font-weight:800;padding:0 14px;cursor:pointer}.lib-filter-actions .soft{background:#eef3fb;color:#35516f}
.lib-results{min-width:0}.lib-results-head{display:flex;justify-content:space-between;align-items:center;margin:8px 2px 14px;color:#526984}.lib-results-head>div{display:flex;gap:7px;align-items:center}.lib-results-head strong{color:#173a72;font-size:17px}.lib-ajax-status{font-size:12px;color:#6e7f97}.lib-index.is-loading .lib-results{opacity:.58;pointer-events:none;transition:.15s}
.lib-v2210 .lib-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.lib-v2210 .lib-card{border:1px solid #e0e7f3;border-radius:19px;overflow:hidden;background:#fff;box-shadow:0 8px 26px rgba(30,55,97,.06);transition:.2s}.lib-v2210 .lib-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(32,65,120,.13);border-color:#c8d7ef}.lib-v2210 .lib-cover{aspect-ratio:3/4;background:linear-gradient(145deg,#eef3ff,#f8f2ff)}.lib-v2210 .lib-card__body{padding:14px}.lib-v2210 .lib-card h2{font-size:16px;line-height:1.7;margin:7px 0}.lib-v2210 .lib-byline{display:flex;flex-direction:column;gap:4px}.lib-stage-line{display:flex;gap:6px;align-items:center;color:#5a6f8e;font-size:11px;margin-top:8px;flex-wrap:wrap}.lib-stage-line span{background:#eef5ff;border-radius:8px;padding:3px 7px}.lib-v2210 .lib-excerpt{min-height:62px}.lib-v2210[data-catalog-view="list"] .lib-grid{grid-template-columns:1fr}.lib-v2210[data-catalog-view="list"] .lib-card{display:grid;grid-template-columns:130px 1fr}.lib-v2210[data-catalog-view="list"] .lib-cover{height:180px;aspect-ratio:auto}.lib-v2210[data-catalog-view="list"] .lib-excerpt{min-height:0}
.lib-filter-backdrop{position:fixed;inset:0;background:rgba(9,20,40,.45);backdrop-filter:blur(2px);z-index:9990;opacity:0;transition:.18s}.lib-filter-backdrop.is-open{opacity:1}
.lib-qr-card{margin-top:14px;background:#fff;border:1px solid #dce6f4;border-radius:18px;padding:14px;box-shadow:0 8px 22px rgba(32,58,99,.07)}.lib-qr-card header{display:flex;gap:10px;align-items:center}.lib-qr-card header>i{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#edf3ff;color:#2459d3}.lib-qr-card header strong,.lib-qr-card header small{display:block}.lib-qr-card header small{color:#75859c;font-size:11px}.lib-qr-box{display:grid;place-items:center;margin:12px auto}.lib-qr-box canvas{width:min(220px,100%);height:auto;border-radius:12px}.lib-qr-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.lib-qr-actions button{border:1px solid #dce5f2;background:#f8faff;color:#28486f;border-radius:10px;padding:9px;font-weight:750;cursor:pointer}.lib-tax-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:15px;padding-top:14px;border-top:1px dashed #e0e6ef}.lib-tax-row strong{color:#294c78}.lib-tax-row span{background:#eef4ff;color:#315783;padding:5px 9px;border-radius:9px;font-size:12px}
.lib-related>header p{color:#72829a;margin:6px 0 0}.lib-empty button{border:0;border-radius:12px;background:#eef4ff;color:#2853a6;padding:10px 16px;font-weight:800;cursor:pointer}
@media(max-width:1180px){.lib-v2210 .lib-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lib-catalog-toolbar{grid-template-columns:1fr auto auto}.lib-view-switch{display:none}}
@media(max-width:900px){.lib-catalog-layout{grid-template-columns:1fr}.lib-filter-panel{position:fixed;right:0;top:0;bottom:0;width:min(360px,92vw);max-height:none;border-radius:24px 0 0 24px;z-index:9995;transform:translateX(105%);transition:.22s;overflow:auto}.lib-filter-panel.is-open{transform:none}.lib-filter-panel-head button{display:grid;width:38px;height:38px;place-items:center;border:0;border-radius:11px;background:#eef3fb;color:#24446e}.lib-catalog-toolbar{top:66px}.lib-v2210 .lib-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.lib-catalog-toolbar{grid-template-columns:1fr auto;padding:8px}.lib-search{grid-column:1/-1}.lib-sort{min-width:0}.lib-sort span{display:none}.lib-v2210 .lib-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.lib-v2210 .lib-card__body{padding:10px}.lib-v2210 .lib-card h2{font-size:14px}.lib-v2210 .lib-excerpt{display:none}.lib-v2210[data-catalog-view="list"] .lib-card{grid-template-columns:95px 1fr}.lib-v2210[data-catalog-view="list"] .lib-cover{height:145px}.lib-qr-card{padding:10px}}
html[data-theme="dark"] .lib-v2210{--lib-ink:#eef4ff;--lib-border:#263b5b;--lib-muted:#9eabc0}html[data-theme="dark"] .lib-catalog-toolbar,html[data-theme="dark"] .lib-filter-panel,html[data-theme="dark"] .lib-v2210 .lib-card,html[data-theme="dark"] .lib-qr-card{background:#101d30;border-color:#2b3f5e}html[data-theme="dark"] .lib-search,html[data-theme="dark"] .lib-filter-panel select{background:#16253a;border-color:#31445f;color:#e9f0fb}html[data-theme="dark"] .lib-search input,html[data-theme="dark"] .lib-sort select{color:#edf4ff}html[data-theme="dark"] .lib-filter-toggle,html[data-theme="dark"] .lib-sort,html[data-theme="dark"] .lib-view-switch{background:#15243a;border-color:#30445f;color:#dce9fa}html[data-theme="dark"] .lib-filter-panel-head h2,html[data-theme="dark"] .lib-filter-panel section h3,html[data-theme="dark"] .lib-check-list label{color:#dce8f8}html[data-theme="dark"] .lib-results-head strong{color:#dce8ff}

/* v0.22.11 — Book share card */
.lib-share-card{margin-top:16px;padding:16px;border:1px solid rgba(35,99,235,.14);border-radius:22px;background:linear-gradient(145deg,#fff 0%,#f7fbff 55%,#fff8ea 100%);box-shadow:0 12px 30px rgba(15,23,42,.07);color:#10213a}
.lib-share-card>header{display:flex;align-items:center;gap:10px;margin-bottom:13px}.lib-share-card>header>i{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#2456d8,#5e54e8);color:#fff;box-shadow:0 8px 18px rgba(36,86,216,.22)}.lib-share-card>header div{display:flex;flex-direction:column;gap:2px}.lib-share-card>header strong{font-size:14px;font-weight:900;color:#10213a}.lib-share-card>header small{font-size:11px;color:#64748b;line-height:1.7}
.lib-share-native{width:100%;min-height:46px;border:0;border-radius:14px;background:linear-gradient(135deg,#f6a51a,#ffbf4b);color:#172238;font-weight:900;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:0 8px 20px rgba(246,165,26,.20);transition:.2s ease}.lib-share-native:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(246,165,26,.27)}
.lib-share-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:9px}.lib-share-grid a,.lib-share-grid button{min-height:42px;border:1px solid #dbe5f2;border-radius:13px;background:#fff;color:#26364f;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:7px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;transition:.18s ease}.lib-share-grid a:hover,.lib-share-grid button:hover{border-color:#9db7e7;transform:translateY(-1px);box-shadow:0 6px 14px rgba(15,23,42,.07)}.lib-share-grid .whatsapp i{color:#16a34a}.lib-share-grid .telegram i{color:#168bd2}.lib-share-grid .email i{color:#7c3aed}
.lib-share-hint{display:flex;gap:7px;align-items:flex-start;margin:11px 2px 0;color:#718096;font-size:10.5px;line-height:1.8}.lib-share-hint i{color:#4169d8;margin-top:3px}.lib-share-status{min-height:18px;margin-top:6px;color:#16824a;font-size:11px;font-weight:800;text-align:center}
html[data-theme="dark"] .lib-share-card,body.dark .lib-share-card{background:linear-gradient(145deg,#111d31,#17243a);border-color:#29405f;color:#eef5ff}html[data-theme="dark"] .lib-share-card>header strong,body.dark .lib-share-card>header strong{color:#f8fbff}html[data-theme="dark"] .lib-share-card>header small,html[data-theme="dark"] .lib-share-hint,body.dark .lib-share-card>header small,body.dark .lib-share-hint{color:#a8b8cd}html[data-theme="dark"] .lib-share-grid a,html[data-theme="dark"] .lib-share-grid button,body.dark .lib-share-grid a,body.dark .lib-share-grid button{background:#17263c;border-color:#314660;color:#eef5ff}
@media(max-width:620px){.lib-share-card{padding:14px;border-radius:18px}.lib-share-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ========================================================================
   BAVS v0.22.13 — Library desktop polish / catalog cards / filter UX
   ======================================================================== */

/* Desktop catalog geometry: a calmer 3-column rhythm beside a wider filter. */
@media (min-width:1181px){
  .lib-v2210.lib-index{max-width:1480px;padding-inline:22px}
  .lib-v2210 .lib-catalog-layout{grid-template-columns:310px minmax(0,1fr);gap:24px}
  .lib-v2210 .lib-filter-panel{padding:18px;top:150px}
  .lib-v2210 .lib-results .lib-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  .lib-v2210 .lib-results .lib-card{width:100%;max-width:340px;justify-self:start}
  .lib-v2210 .lib-filter-toggle{display:none}
  .lib-v2210 .lib-catalog-toolbar{grid-template-columns:minmax(360px,1fr) minmax(190px,auto) auto;gap:12px}
  .lib-v2210 .lib-sort{min-width:205px}
}

/* Medium desktop / small laptops: keep cards readable instead of squeezing 3 columns. */
@media (min-width:901px) and (max-width:1180px){
  .lib-v2210 .lib-filter-toggle{display:none}
  .lib-v2210 .lib-catalog-toolbar{grid-template-columns:minmax(300px,1fr) minmax(175px,auto)}
  .lib-v2210 .lib-catalog-toolbar .lib-view-switch{display:none}
  .lib-v2210 .lib-catalog-layout{grid-template-columns:286px minmax(0,1fr);gap:18px}
  .lib-v2210 .lib-results .lib-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
}

/* Filter panel: custom controls, better hierarchy and non-wrapping action buttons. */
.lib-v2210 .lib-filter-panel{scrollbar-width:thin;scrollbar-color:#c6d4ea transparent}
.lib-v2210 .lib-filter-panel::-webkit-scrollbar{width:7px}
.lib-v2210 .lib-filter-panel::-webkit-scrollbar-thumb{background:#c6d4ea;border-radius:999px}
.lib-v2210 .lib-filter-panel section{padding:15px 2px}
.lib-v2210 .lib-filter-panel section h3{font-size:13.5px;font-weight:900;color:#294a77;margin-bottom:11px}
.lib-v2210 .lib-check-list{gap:8px}
.lib-v2210 .lib-check-list label{position:relative;min-height:27px;padding:2px 1px;font-size:12.5px;line-height:1.65;color:#334a68;user-select:none}
.lib-v2210 .lib-check-list input,
.lib-v2210 .lib-featured-only input{
  appearance:none;-webkit-appearance:none;width:18px;height:18px;min-width:18px;margin:0;
  border:1.5px solid #b8c7dc;border-radius:6px;background:#fff;display:grid;place-items:center;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;cursor:pointer
}
.lib-v2210 .lib-check-list input:checked,
.lib-v2210 .lib-featured-only input:checked{background:linear-gradient(135deg,#2459d3,#5a4fe0);border-color:#315cdc;box-shadow:0 0 0 3px rgba(36,89,211,.10)}
.lib-v2210 .lib-check-list input:checked::after,
.lib-v2210 .lib-featured-only input:checked::after{content:"✓";font-size:12px;line-height:1;color:#fff;font-weight:950}
.lib-v2210 .lib-check-list input:focus-visible,
.lib-v2210 .lib-featured-only input:focus-visible{outline:3px solid rgba(36,89,211,.18);outline-offset:2px}
.lib-v2210 .lib-filter-panel select{height:44px;border-radius:12px;padding-inline:12px;font-size:12.5px;transition:.16s ease}
.lib-v2210 .lib-filter-panel select:focus{border-color:#6f8fe0;box-shadow:0 0 0 3px rgba(36,89,211,.09);outline:none;background:#fff}
.lib-v2210 .lib-featured-only{min-height:38px;padding:7px 9px;border-radius:11px;background:#fff8e8;border:1px solid #f5dfad}
.lib-v2210 .lib-filter-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.lib-v2210 .lib-filter-actions button{width:100%;padding:0 8px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Toolbar: clearer controls and stable desktop alignment. */
.lib-v2210 .lib-catalog-toolbar{backdrop-filter:saturate(130%) blur(10px);-webkit-backdrop-filter:saturate(130%) blur(10px)}
.lib-v2210 .lib-search{transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.lib-v2210 .lib-search:focus-within{border-color:#7295e5;background:#fff;box-shadow:0 0 0 4px rgba(36,89,211,.09)}
.lib-v2210 .lib-sort select{max-width:210px;cursor:pointer}
.lib-v2210 .lib-view-switch button{transition:.16s ease}
.lib-v2210 .lib-view-switch button:hover{background:#f0f4fb;color:#2459d3}

/* Cards: consistent heights, uncropped covers and stronger bookstore-like presentation. */
.lib-v2210 .lib-results .lib-card{display:flex;flex-direction:column;min-width:0}
.lib-v2210 .lib-results .lib-cover{height:auto;aspect-ratio:3/4;padding:10px;background:linear-gradient(145deg,#f1f5ff,#fff8eb)}
.lib-v2210 .lib-results .lib-cover img{object-fit:contain;border-radius:12px;background:#fff;box-shadow:0 5px 16px rgba(28,51,90,.07)}
.lib-v2210 .lib-results .lib-card__body{display:flex;flex:1;flex-direction:column;min-width:0;padding:15px}
.lib-v2210 .lib-results .lib-card h2{margin:8px 0 5px;min-height:54px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:16px;line-height:1.7}
.lib-v2210 .lib-results .lib-subtitle{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;min-height:19px}
.lib-v2210 .lib-results .lib-byline{min-height:39px}
.lib-v2210 .lib-results .lib-byline span{min-width:0}
.lib-v2210 .lib-results .lib-byline span:not(:last-child){padding-bottom:3px;border-bottom:1px dashed #edf1f6}
.lib-v2210 .lib-results .lib-excerpt{min-height:70px;margin:10px 0 12px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;line-height:1.95}
.lib-v2210 .lib-results .lib-card__foot{margin-top:auto;min-height:40px}
.lib-v2210 .lib-results .lib-card__foot a{padding:6px 0}
.lib-v2210 .lib-results-head{min-height:34px;margin-top:2px}

/* List view should stay horizontal and use a true book-cover thumbnail. */
.lib-v2210[data-catalog-view="list"] .lib-results .lib-card{max-width:none;display:grid;grid-template-columns:145px minmax(0,1fr)}
.lib-v2210[data-catalog-view="list"] .lib-results .lib-cover{height:205px;aspect-ratio:auto;padding:8px}
.lib-v2210[data-catalog-view="list"] .lib-results .lib-card h2{min-height:auto;-webkit-line-clamp:2}
.lib-v2210[data-catalog-view="list"] .lib-results .lib-byline{min-height:auto;display:flex;flex-direction:row;flex-wrap:wrap}
.lib-v2210[data-catalog-view="list"] .lib-results .lib-byline span:not(:last-child){padding-bottom:0;border-bottom:0}
.lib-v2210[data-catalog-view="list"] .lib-results .lib-excerpt{min-height:auto;-webkit-line-clamp:2}

/* Book detail: preserve the full cover artwork and improve desktop balance. */
.lib-v2210.lib-show{max-width:1260px}
.lib-v2210 .lib-detail__cover{padding:10px;background:linear-gradient(145deg,#f2f6ff,#fff8ea)}
.lib-v2210 .lib-detail__cover img{object-fit:contain;border-radius:13px;background:#fff}
.lib-v2210 .lib-reading p{max-width:86ch}
.lib-v2210 .lib-biblio-grid>div{min-width:0}
.lib-v2210 .lib-biblio-grid b{overflow-wrap:anywhere}

/* Dark-mode parity for new custom controls. */
html[data-theme="dark"] .lib-v2210 .lib-check-list input,
html[data-theme="dark"] .lib-v2210 .lib-featured-only input{background:#16253a;border-color:#526983}
html[data-theme="dark"] .lib-v2210 .lib-check-list input:checked,
html[data-theme="dark"] .lib-v2210 .lib-featured-only input:checked{background:linear-gradient(135deg,#3d6fe5,#725fe7);border-color:#6286e8}
html[data-theme="dark"] .lib-v2210 .lib-featured-only{background:#2a2418;border-color:#5a4927;color:#f6cf7c}
html[data-theme="dark"] .lib-v2210 .lib-results .lib-cover,
html[data-theme="dark"] .lib-v2210 .lib-detail__cover{background:linear-gradient(145deg,#17273d,#27231c)}
html[data-theme="dark"] .lib-v2210 .lib-results .lib-cover img,
html[data-theme="dark"] .lib-v2210 .lib-detail__cover img{background:#101b2b}

/* Tablet/mobile: filter becomes a drawer; prevent background page scrolling. */
@media (max-width:900px){
  body.lib-filter-open{overflow:hidden}
  .lib-v2210 .lib-filter-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px}
  .lib-v2210 .lib-filter-actions{position:sticky;bottom:-16px;margin:0 -16px -16px;padding:12px 16px 16px;background:linear-gradient(180deg,rgba(255,255,255,.84),#fff 36%);border-top:1px solid #e4ebf4}
  html[data-theme="dark"] .lib-v2210 .lib-filter-actions{background:linear-gradient(180deg,rgba(16,29,48,.84),#101d30 36%);border-top-color:#2b3f5e}
}
@media (max-width:620px){
  .lib-v2210 .lib-results .lib-card{max-width:none}
  .lib-v2210 .lib-results .lib-card h2{min-height:47px;font-size:14px}
  .lib-v2210 .lib-results .lib-byline{min-height:34px}
  .lib-v2210 .lib-results .lib-excerpt{display:none}
  .lib-v2210[data-catalog-view="list"] .lib-results .lib-card{grid-template-columns:100px minmax(0,1fr)}
  .lib-v2210[data-catalog-view="list"] .lib-results .lib-cover{height:150px}
}
