.book-library{max-width:1160px;margin:0 auto;padding-bottom:28px;color:var(--ink)}.book-library h1{font-size:clamp(30px,3.2vw,44px);letter-spacing:-1.1px;line-height:1.13}.bk-eyebrow,.bk-category{font:600 10px/1.5 var(--mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--green)}.bk-hero{display:flex;justify-content:space-between;gap:32px;padding:36px 40px;background:#eaf0df;border:1px solid #dae3ce;border-radius:18px;margin-bottom:26px}.bk-hero>div:first-child{max-width:690px}.bk-hero h1{margin:16px 0 18px;max-width:20ch}.bk-hero p:last-child{color:#53634e;max-width:62ch;line-height:1.75}.bk-shelf-art{width:175px;min-width:175px;position:relative;align-self:center;height:155px;border-bottom:8px solid #446748;border-radius:0 0 6px 6px}.bk-shelf-art i{position:absolute;width:39px;bottom:0;left:12px;height:119px;background:#6e8468;border-radius:4px 4px 0 0;border:1px solid #466449}.bk-shelf-art i:nth-child(2){left:56px;height:135px;background:#e0e9bd;border-color:#a1b275}.bk-shelf-art i:nth-child(3){left:101px;height:108px;transform:rotate(-10deg);transform-origin:bottom left;background:#c9bbd4;border-color:#95839f}.bk-shelf-art span{position:absolute;left:95px;bottom:22px;background:#fffdf2;border:1px solid #d3ddbc;transform:rotate(6deg);padding:14px;border-radius:9px;box-shadow:0 8px 18px #35513b14;color:var(--green)}.book-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(200px,1fr);gap:18px;margin:28px 0 18px}.book-filters label{display:grid;gap:9px;font-size:13px;font-weight:650;color:#44523f}.book-filters input,.book-filters select,.bk-bookmark input{font:inherit;padding:13px;border:1px solid #cfd8c4;border-radius:9px;background:white;color:#243d30;width:100%;box-sizing:border-box;min-height:46px}.bk-results-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:12px 0 20px;font-size:13px;color:var(--muted)}.bk-results-heading .bk-button{font-size:12px;min-height:38px;padding:7px 11px}.book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.book-card{border:1px solid #d9dfd2;border-radius:14px;overflow:hidden;background:#fff;display:flex;flex-direction:column;min-width:0}.book-cover{background:#e3ebdf;padding:24px 24px 22px;border-left:10px solid #47684e;min-height:198px;display:flex;flex-direction:column;justify-content:space-between;color:#254f3b;gap:20px}.book-cover.book-color-1{background:#ece5f1;border-color:#786489;color:#584664}.book-cover.book-color-2{background:#f3ead7;border-color:#9b8150;color:#65502c}.book-cover span,.book-cover small{font:10px/1.5 var(--mono);letter-spacing:1.2px;text-transform:uppercase}.book-cover strong{font:650 25px/1.16 var(--display);max-width:220px;overflow-wrap:anywhere}.book-details{padding:23px;display:flex;flex-direction:column;flex:1}.book-details h2{font-size:20px;margin:12px 0;line-height:1.2;letter-spacing:-.3px}.book-details>p{color:#65705f;font-size:14px;line-height:1.7;flex:1;margin-bottom:20px}.bk-book-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 17px;color:#6a7464;font-size:12px}.bk-reference-tag{color:#705c36;background:#f5eddd;border:1px solid #e4d6bb;border-radius:5px;padding:4px 6px;font-size:9px;letter-spacing:.5px}.book-reference .book-cover{background:#eeece4;border-color:#8e8a74;color:#595947}.bk-button{border:1px solid #d8dfd0;background:#fffef9;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:10px;color:var(--green);font-size:13px;font-weight:650;padding:12px 17px;min-height:44px;text-decoration:none;line-height:1.3;cursor:pointer}.bk-button:hover{background:#eef2e7;border-color:#b7c6ab}.bk-primary{color:white;background:var(--green);border-color:var(--green)}.bk-primary:hover{background:#1d4430;border-color:#1d4430}.bk-button:disabled{cursor:default}.book-details .bk-button{justify-content:space-between}.bk-collection-note{display:flex;gap:10px;line-height:1.7;font-size:13px;color:#6a7362;margin:25px 0;padding:18px 20px;border:1px solid #dce2d4;border-radius:10px;background:#f2f4ec}.bk-collection-note svg{margin-top:2px}.bk-notice{display:flex;align-items:center;gap:13px;padding:14px 18px;background:#eff3e6;border:1px solid #d7e1ca;border-radius:10px;font-size:13px;margin-bottom:18px;color:#3b593b}.bk-notice p{flex:1;line-height:1.6}.bk-notice.bk-error{background:#fff5e8;border-color:#e8d7b9;color:#725830}.bk-notice .bk-button{white-space:normal;flex-shrink:0}.bk-empty{grid-column:1/-1;padding:55px 25px;text-align:center;border:1px dashed #cfd8c4;border-radius:12px;background:#f3f5ee}.bk-empty h2{font-size:25px}.bk-empty p{margin:14px 0 23px;color:var(--muted)}.bk-back{color:var(--green);text-decoration:none;font-weight:600;font-size:13px;display:inline-flex;padding:6px 0;margin-bottom:22px}.bk-reader-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:25px;margin-bottom:23px}.bk-reader-heading h1{margin:11px 0 14px}.bk-reader-heading>div>p:last-child{color:var(--muted);line-height:1.7;max-width:75ch}.bk-page-total{white-space:nowrap;margin-top:28px;font:11px/1.4 var(--mono);color:#69745f;border:1px solid #d8dfcf;padding:8px 10px;border-radius:8px}.bk-reference-note{display:flex;align-items:flex-start;gap:13px;font-size:14px;line-height:1.7;background:#f5efdf;border:1px solid #e4d8b9;color:#655434;padding:18px 20px;border-radius:10px;margin-bottom:22px}.bk-reference-note svg{margin-top:2px}.bk-bookmark{background:white;border:1px solid #dbe2d4;border-radius:12px;padding:22px;margin:0 0 24px}.bk-bookmark-intro{display:flex;gap:13px;align-items:flex-start;max-width:850px}.bk-bookmark-icon{padding:10px;background:#edf2e4;border-radius:9px;color:var(--green)}.bk-bookmark h2{font-size:19px;margin:2px 0 7px}.bk-bookmark-intro p{font-size:13px;line-height:1.65;color:#65715f;max-width:78ch}.bk-bookmark form{display:flex;align-items:flex-end;gap:12px;margin:20px 0 12px;flex-wrap:wrap}.bk-bookmark label{display:grid;gap:7px;font-size:12px;font-weight:650;color:#5d6a54}.bk-bookmark input{max-width:105px;font-size:16px}.bk-page-divider{color:#7b8472;font-size:13px;align-self:flex-end;padding:0 5px 13px 0}.bk-bookmark-status{display:flex;align-items:center;gap:7px;color:#57734d;font-size:12px;line-height:1.5}.bk-field-error{color:#9b452c;margin:8px 0 12px;font-size:13px}.bk-reader-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bk-reader-tools>span{margin-left:auto;font-size:12px;color:#6b7561}.bk-reader-help{font-size:13px;line-height:1.7;color:#68735e;margin:14px 0 20px;max-width:90ch}.book-pdf{display:block;width:100%;height:78vh;min-height:520px;border:1px solid #d4dccb;border-radius:10px;background:#eceee7}.book-library a:focus-visible,.book-library button:focus-visible,.book-library input:focus-visible,.book-library select:focus-visible{outline:3px solid #4d77a4;outline-offset:3px}
@media(max-width:1100px){.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bk-hero{padding:30px}.bk-shelf-art{transform:scale(.83);transform-origin:right center;min-width:140px;width:150px}.bk-reader-tools>span{width:100%;margin:4px 0}}
@media(max-width:620px){.book-grid{grid-template-columns:1fr;gap:18px}.bk-hero{padding:25px 23px;border-radius:14px}.bk-hero h1{font-size:32px}.bk-hero p:last-child{font-size:14px}.bk-shelf-art{display:none}.book-filters{grid-template-columns:1fr;gap:14px}.book-cover{min-height:177px}.book-cover strong{font-size:27px;max-width:260px}.bk-results-heading{align-items:flex-start;font-size:12px;gap:10px}.bk-results-heading .bk-button{max-width:170px}.bk-notice{align-items:flex-start;flex-direction:column;padding:15px}.bk-notice .bk-button{align-self:flex-start}.bk-reader-heading{display:block}.bk-reader-heading h1{font-size:31px}.bk-page-total{display:inline-flex;margin-top:15px}.bk-bookmark{padding:18px}.bk-bookmark-intro{gap:10px}.bk-bookmark-icon{padding:7px}.bk-bookmark form{gap:10px}.bk-bookmark form .bk-button{flex:1;padding:12px 10px}.bk-bookmark label{flex:0 0 86px}.bk-bookmark input{width:86px}.bk-page-divider{padding-right:0}.bk-bookmark [data-book-action="save"]{flex-basis:100%}.bk-reader-tools .bk-button{width:100%;justify-content:center}.bk-reader-help{font-size:12px}.book-pdf{height:70vh;min-height:440px}.bk-collection-note{padding:16px}.bk-reference-note{padding:15px;font-size:13px}}
