/* Compact catalog cards with readable title and author typography. */
.site-header{justify-content:flex-start}
.library{max-width:94rem;padding-top:clamp(3rem,6vw,5.5rem)}
.library-heading h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.7rem,5vw,5.2rem);line-height:.98;font-weight:500;letter-spacing:-.04em}
.book-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(10.8rem,12.7rem))!important;justify-content:start!important;align-items:start!important;gap:3rem 1.35rem!important}
.book-card{min-width:0;width:100%;max-width:12.7rem}
.cover-button{display:block;width:100%;padding:0;overflow:hidden;border:0;background:transparent;cursor:pointer;aspect-ratio:5/8;box-shadow:0 .85rem 2.1rem rgb(29 28 23/.12);transition:transform .18s ease,box-shadow .18s ease}
.cover-button:hover{transform:translateY(-.22rem);box-shadow:0 1.1rem 2.7rem rgb(29 28 23/.17)}
.cover-button:focus-visible{outline:3px solid #9b5f35;outline-offset:4px}
.book-cover{display:block;width:100%;height:100%;object-fit:cover}
.book-meta{padding-top:1rem}
.book-category{display:block;margin-bottom:.5rem;font-size:.64rem!important;line-height:1.2;letter-spacing:.16em!important}
.book-title{margin:0;font-size:clamp(1.3rem,1.55vw,1.55rem)!important;line-height:1.08!important;font-weight:500;text-wrap:balance;overflow-wrap:anywhere}
.book-subtitle{min-height:0!important;margin:.35rem 0 0;font-size:.84rem!important;line-height:1.35!important;text-wrap:balance}
.book-author{margin:.65rem 0 0;font-size:.96rem!important;line-height:1.32;font-weight:500}
.book-actions{display:flex;flex-wrap:wrap;gap:.4rem!important;margin-top:1rem!important}
.book-actions .button{min-height:2.15rem;padding:.5rem .68rem!important;font-size:.69rem!important;line-height:1;white-space:nowrap}
.book-dialog{width:min(54rem,calc(100vw - 2rem))!important;max-height:min(48rem,calc(100vh - 2rem))!important;padding:0!important;overflow:auto}
.dialog-layout{display:grid!important;grid-template-columns:minmax(14rem,18rem) minmax(0,1fr)!important;align-items:stretch!important}
.dialog-layout>img{display:block;width:100%!important;height:100%!important;min-height:28rem;max-height:43rem;object-fit:cover!important}
.dialog-copy{min-width:0;padding:clamp(2rem,5vw,3.7rem)!important}
.dialog-copy h2{font-size:clamp(2.35rem,4.4vw,4.6rem)!important;line-height:.96!important;overflow-wrap:anywhere;text-wrap:balance}
.dialog-description{max-width:38rem;line-height:1.7!important}
.dialog-details{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.65rem 1.25rem!important}
@media(min-width:1500px){.book-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}.book-card{max-width:12.3rem}}
@media(max-width:900px){.book-grid{grid-template-columns:repeat(auto-fill,minmax(9.7rem,1fr))!important;gap:2.5rem 1rem!important}.book-card{max-width:none}.dialog-layout{grid-template-columns:minmax(11rem,15rem) minmax(0,1fr)!important}.dialog-layout>img{min-height:24rem}}
@media(max-width:620px){.library{padding-top:2.5rem}.library-heading h1{font-size:clamp(2.45rem,12vw,3.5rem)}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:2.25rem .8rem!important}.book-title{font-size:1.16rem!important}.book-author{font-size:.9rem!important}.book-actions .button{width:100%;justify-content:center}.dialog-layout{display:block!important}.dialog-layout>img{width:min(68vw,15rem)!important;height:auto!important;min-height:0;margin:2rem auto 0;aspect-ratio:5/8}.dialog-copy{padding:1.6rem!important}.dialog-copy h2{font-size:clamp(2rem,11vw,3.25rem)!important}}
