.books-page{min-height:60vh;padding:0 6vw 12vh}.books-head{margin:clamp(3rem,8vh,5rem) 0 2rem;max-width:760px}.books-head h1{font:700 clamp(2.2rem,4vw,3.2rem)/1.15 var(--serif);letter-spacing:0;margin:0}.books-head p{margin:1rem 0 0;color:var(--muted);font:1rem/1.8 var(--serif)}.book-controls{padding:.6rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.book-filter{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;grid-gap:1rem;gap:1rem}.book-filter>span{font:12px var(--mono);color:var(--muted)}.book-filter>div{display:flex;flex-wrap:wrap;gap:0 1.2rem}.book-controls button{min-height:40px;padding:0 .1rem;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font:13px var(--mono);cursor:pointer}.book-controls button:hover{color:var(--ink)}.book-controls button.active{color:var(--accent);border-bottom-color:var(--accent)}.book-count{margin:1.4rem 0 1.6rem;font:12px var(--mono);color:var(--muted);text-align:right}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));grid-gap:2.6rem 1.8rem;gap:2.6rem 1.8rem;align-items:start}.book-card{min-width:0}.book-cover{aspect-ratio:2/3;background:var(--paper-deep);border:1px solid var(--line);box-shadow:5px 6px 0 rgba(51,46,40,.08);overflow:hidden;display:grid;place-items:center}.book-cover img{display:block;width:100%;height:100%;object-fit:cover}.book-cover span{font:12px var(--mono);color:var(--muted)}.book-card:target .book-cover{outline:2px solid var(--accent);outline-offset:4px}.book-meta{display:flex;justify-content:space-between;gap:.5rem;margin:1rem 0 .35rem;font:12px var(--mono);color:var(--moss)}.book-rating{letter-spacing:.05em;white-space:nowrap}.book-card h2{font:600 1.05rem/1.45 var(--serif);letter-spacing:0;margin:0;overflow-wrap:anywhere}.book-author{margin:.3rem 0 0;font:12px/1.5 var(--mono);color:var(--muted)}.book-review{margin-top:.8rem;padding-top:.7rem;border-top:1px solid var(--line)}.book-review p{margin:0;font-size:.92rem;line-height:1.75;white-space:pre-line;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.book-review.is-open p{display:block}.book-review button{margin-top:.4rem;min-height:32px;padding:0;border:0;background:none;cursor:pointer}.book-link,.book-review button{color:var(--moss);font:12px var(--mono)}.book-link{display:inline-block;margin-top:.6rem;text-decoration:none}.book-link:hover{text-decoration:underline;text-underline-offset:.3em}.book-empty{grid-column:1/-1;padding:10vh 0;text-align:center;color:var(--muted)}@media(max-width:600px){.books-page{padding:0 5vw 9vh}.books-head{margin:2.4rem 0 1.4rem}.books-head h1{font-size:2.1rem}.books-head p{font-size:.95rem}.book-filter{grid-template-columns:40px minmax(0,1fr);gap:.6rem}.book-filter>div{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-5vw;padding-right:5vw}.book-controls button{flex:0 0 auto;min-height:44px;white-space:nowrap}.book-grid{grid-template-columns:1fr;gap:0;border-top:1px solid var(--line)}.book-card{display:grid;grid-template-columns:72px minmax(0,1fr);grid-column-gap:1rem;column-gap:1rem;align-content:start;padding:1.1rem 0;border-bottom:1px solid var(--line)}.book-cover{grid-row:1/span 6;align-self:start;box-shadow:3px 4px 0 rgba(51,46,40,.08)}.book-meta{margin:0 0 .3rem}.book-card h2{font-size:1rem}.book-review{margin-top:.6rem}}