.books-page{max-width:1080px;color:var(--text);margin:0 auto;padding:2rem 1rem 3.5rem}.books-hero{padding:1.1rem 0 1.4rem}.books-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0;font-size:.78rem;font-weight:700}.books-hero h1{margin:.3rem 0 .75rem;font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.15}.books-subtitle,.books-meta,.books-section-copy,.books-empty{color:var(--muted);margin:0;line-height:1.6}.books-meta{margin-top:.4rem}.books-shelf-links{margin:.55rem 0 0}.books-shelf-links a{color:var(--accent);text-underline-offset:2px;font-weight:600;text-decoration:underline}.book-dot{color:var(--muted);padding:0 .35rem}.books-section{border-top:1px solid #b3b3c22e;padding:1.2rem 0}.books-section h2{margin:0 0 .6rem;font-size:clamp(1.2rem,2.5vw,1.6rem)}.books-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:.85rem;display:grid}.books-grid-featured{grid-template-columns:1fr}.book-card{--cover-height:152px;background:#0e0e148c;border:1px solid #b3b3c238;border-radius:10px;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:.8rem;padding:.8rem;display:grid}.book-cover{width:92px;height:var(--cover-height);object-fit:cover;background:#0b0b0b;border:1px solid #303030;border-radius:7px;align-self:center}.book-cover-fallback{color:#909090;justify-content:center;align-items:center;font-size:.8rem;font-weight:500;display:flex}.book-body{min-width:0;height:var(--cover-height);align-content:start;gap:.35rem;display:grid;overflow:hidden}.book-body h3{color:#d7d7d7;text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-height:2.6em;margin:0;font-size:1.02rem;font-weight:650;line-height:1.3;display:-webkit-box;overflow:hidden}.book-title-link{color:inherit;text-decoration:none;transition:filter .12s}.book-title-link:hover,.book-title-link:focus-visible{filter:brightness(.93)}.book-author,.book-rating,.book-progress,.book-added,.book-finished{color:#ccc;margin:0;line-height:1.4}.book-row{align-items:baseline;gap:.45rem;display:flex}.book-value{color:#d3d3d3;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;line-height:1.4;display:block;overflow:hidden}.book-value-author{color:#e1e1e1;font-weight:560}.book-value-rating{color:#d3d3d3;font-weight:540}.book-value-date{color:#b2b2b2;font-weight:500}.book-value-missing{color:#787878;font-weight:450}.book-label{text-transform:uppercase;letter-spacing:.05em;color:#8d8d8d;flex:0 0 72px;padding-top:.02rem;font-size:.7rem;font-weight:700;line-height:1.25;display:block}.book-author,.book-rating{color:#ccc;font-weight:500}.book-rating-stars{color:inherit;margin-right:.35rem}.book-rating-average{color:#929292;font-weight:500}.book-progress{color:#c9c9c9}.book-added{color:#b3b3b3}.book-finished{color:#b3b3b3;font-weight:500}.book-note{color:#c2c2c2;text-overflow:ellipsis;white-space:nowrap;margin:.2rem 0 0;font-weight:440;line-height:1.45;overflow:hidden}.books-state{color:var(--muted);margin:.9rem 0 0}.books-state-error{color:#ff8f8f}@media (max-width:860px){.books-grid{grid-template-columns:1fr}}@media (max-width:520px){.books-page{padding:1rem 1rem 2.2rem}.book-card{--cover-height:124px;grid-template-columns:74px minmax(0,1fr);gap:.65rem}.book-cover{width:74px}.books-subtitle,.books-meta,.book-author,.book-rating,.book-progress,.book-added,.book-finished,.book-note,.books-empty{font-size:.95rem;line-height:1.55}}
