/* Explore: shelves first, reading notes on the working canvas. */
.library{min-width:0}
.book-shelves{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:20px}
.book-shelves button{display:flex;gap:10px;align-items:center;background:transparent;color:var(--muted);min-height:44px}
.book-shelves button[aria-pressed=true]{background:var(--light);border-color:var(--accent);color:var(--ink)}
.book-shelves span{font-variant-numeric:tabular-nums;font-size:12px}
.library-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,300px);gap:20px;align-items:start}
.library-layout>*{min-width:0}
.book-list{display:grid;gap:16px}
.book-add{position:sticky;top:20px}
.book-add .notice{margin-top:8px}
.book-add form,.book-edit{display:grid;gap:14px;margin-top:18px}
.book-card-head{display:flex;justify-content:space-between;gap:12px}
.book-card-head>*{min-width:0}
.book-card .book-title{margin-top:10px;font-size:22px}
.book-card p,.book-empty p{overflow-wrap:anywhere}
.book-card-head p{margin-top:4px}
.book-progress{font-size:12px;margin-top:18px}
.book-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:12px}
.book-review{display:grid;gap:12px;margin-top:20px;border-top:1px solid var(--line);padding-top:18px}
.book-review textarea{resize:vertical;min-height:116px;line-height:1.65}
.book-review-actions{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.book-review-actions label{flex:1;min-width:120px}
.book-review-actions button{flex:1;min-height:44px}
.library input,.library select,.library button,.library summary{min-height:44px}
.library :focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.library input,.library select,.library textarea{font-size:16px}
.book-review small{font-size:11px;color:var(--muted)}
.book-card details{border-top:1px solid var(--line);padding-top:4px;margin-top:18px}
.book-empty p{margin-top:12px}
@media(max-width:900px){.library-layout{grid-template-columns:minmax(0,1fr)}.book-add{position:static;grid-row:1}.book-add form{grid-template-columns:repeat(2,minmax(0,1fr))}.book-add form button{grid-column:1/-1}}
@media(max-width:420px){.library-layout{gap:16px}.book-shelves{gap:4px}.book-shelves button{padding-inline:10px;gap:6px}.book-add form{grid-template-columns:minmax(0,1fr)}.book-card .book-title{font-size:20px}.book-review-actions button{flex-basis:100%}}
