body:has(.bookshelf-grid):not(.reader-page) .site-main{flex-direction:column;display:flex}.bookshelf-grid{gap:var(--space-3);margin-top:var(--space-5);grid-template-columns:repeat(2,1fr);display:grid}body:has(.bookshelf-grid) .bookshelf-grid{flex:1;grid-auto-rows:1fr}@media (width>=480px){.bookshelf-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=768px){:is(body.site-layout-bookshelf,body:has(.bookshelf-grid)) :is(.site-nav,.site-main,.site-footer){max-width:var(--max-width-bookshelf)}.bookshelf-grid{grid-template-columns:repeat(4,1fr)}}@media (width>=1024px){:is(body.site-layout-bookshelf,body:has(.bookshelf-grid)) :is(.site-nav,.site-main,.site-footer){max-width:var(--max-width-bookshelf-wide)}.bookshelf-grid{grid-template-columns:repeat(5,1fr)}}.book-card-wrap{flex-direction:column;min-height:0;display:flex}.book-card-wrap[hidden]{display:none}body:has(.bookshelf-grid) .book-card-wrap{height:100%}.book-card{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-card);color:inherit;box-shadow:var(--shadow-rest);transition:border-color var(--transition), box-shadow var(--transition);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}body:has(.bookshelf-grid) .book-card-wrap .book-card{flex:1;height:auto;min-height:0}.book-card:hover{border-color:var(--color-highlight);box-shadow:var(--shadow-raised)}.book-card--cover{border-radius:var(--radius-xs);padding:0;display:block}body:has(.bookshelf-grid) .book-card--cover{flex:none;align-self:start;height:auto;min-height:0}.book-cover{aspect-ratio:2/3;border-radius:var(--radius-xs);flex-shrink:0;position:relative;overflow:hidden}.book-cover img{object-fit:cover;width:100%;height:100%;display:block}.book-cover__fallback{width:100%;height:100%;padding:var(--space-2);background:var(--color-bg-muted);font-family:var(--font-content);text-align:center;color:var(--color-text-muted);justify-content:center;align-items:center;margin:0;font-weight:600;display:flex}.book-cover__fallback span{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.book-cover--grid{width:100%}.book-cover--thumb{border:1px solid var(--color-border);width:3.5rem}.book-cover--thumb .book-cover__fallback{font-size:var(--text-xs);line-height:var(--text-xs-lh)}.book-cover--hero{border:1px solid var(--color-border);width:10rem;box-shadow:var(--shadow-raised)}.book-cover--hero .book-cover__fallback{padding:var(--space-4);font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--color-text)}.book-card--text{min-height:0;padding:var(--space-3) var(--space-3);justify-content:center}body:has(.bookshelf-grid) .book-card--text{flex:auto}.book-card-text{gap:var(--space-2);text-align:center;font-family:var(--font-content);flex-direction:column;display:flex}.book-card-title{font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--color-text);margin:0;font-weight:600}.book-card-author{font-size:var(--text-xs);line-height:var(--text-xs-lh);letter-spacing:.01em;color:var(--color-text-muted);margin:0;font-weight:400}.continue-reading{align-items:stretch;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-card);font-family:var(--font-content);box-shadow:var(--shadow-rest);transition:border-color var(--transition), box-shadow var(--transition);text-decoration:none;display:flex}.continue-reading-body{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.continue-reading .book-cover{align-self:center}.continue-reading-label{display:block}.continue-reading-title{margin-top:var(--space-1);font-size:var(--text-base);color:var(--color-accent);font-weight:600;display:block}.continue-reading-author{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted);font-weight:400;display:block}.continue-reading:hover{border-color:var(--color-highlight);box-shadow:var(--shadow-raised)}body:has(.bookshelf-grid) .coverage-strip{margin-top:var(--space-2)}.browse-search{margin-top:var(--space-5)}body:has(.browse-search) .section-title{margin-top:var(--space-6)}.browse-search-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.browse-search-input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-card);font:inherit;font-size:var(--text-base);color:var(--color-text);box-shadow:var(--shadow-rest);display:block}.browse-search-input::placeholder{color:var(--color-text-faint)}.browse-alt{margin-top:var(--space-5)}.browse-alt-title{font-family:var(--font-content);font-size:var(--text-sm);color:var(--color-text-muted);margin:0;font-weight:600}.collection-chips{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.collection-chip{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg-card);font-family:var(--font-content);font-size:var(--text-sm);color:var(--color-accent);box-shadow:var(--shadow-rest);transition:border-color var(--transition), box-shadow var(--transition);font-weight:400;text-decoration:none;display:inline-block}.collection-chip:hover{border-color:var(--color-highlight);box-shadow:var(--shadow-raised)}.browse-empty{margin-top:var(--space-5);text-align:center;font-family:var(--font-content);font-size:var(--text-base);color:var(--color-text-muted)}.browse-empty[hidden]{display:none}.collection-list{margin:var(--space-5) 0 0;gap:var(--space-3);padding:0;list-style:none;display:grid}.collection-card{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-card);color:inherit;box-shadow:var(--shadow-rest);transition:border-color var(--transition), box-shadow var(--transition);flex-direction:row;text-decoration:none;display:flex}.collection-card-body{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.collection-card:hover{border-color:var(--color-highlight);box-shadow:var(--shadow-raised)}.collection-card-title{font-family:var(--font-content);font-size:var(--text-base);color:var(--color-text);font-weight:600}.collection-card-meta{font-family:var(--font-content);font-size:var(--text-sm);color:var(--color-text-muted);font-weight:400}.collection-card-count{font-family:var(--font-content);font-size:var(--text-sm);color:var(--color-text-muted);flex-shrink:0;font-weight:400}.library-empty-card{margin-top:var(--space-4);padding:var(--space-5) var(--space-4) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-card);box-shadow:var(--shadow-rest)}.library-support-link{margin:var(--space-7) 0 0;text-align:center;font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--color-text-faint)}.library-support-link a{color:var(--color-text-muted);text-decoration:none}.library-support-link a:hover{color:var(--color-accent);text-underline-offset:.15em;text-decoration:underline}.library-empty-card[hidden]{display:none}.library-empty-card__message{font-family:var(--font-content);font-size:var(--text-base);line-height:var(--text-base-lh);color:var(--color-text-muted);text-align:center;margin:0}.library-empty-card__explanation{margin:var(--space-3) 0 0;font-family:var(--font-content);font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--color-text-muted);text-align:center}.library-empty-card__actions{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border);gap:var(--space-5);flex-direction:column;display:flex}.library-empty-card__action{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.library-empty-card__search{width:100%;max-width:24rem;margin-top:0}.library-empty-card__browse{width:fit-content;max-width:100%;margin:0;display:flex}.library-empty-card__recommendations{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.library-empty-card__recommendations[hidden]{display:none}.library-empty-card__recommendations-title{margin:0 0 var(--space-3);text-align:center;color:var(--color-text-muted)}.library-empty-card__books{grid-template-columns:repeat(3,1fr);margin-top:0}@media (width<=479px){.library-empty-card__books{gap:var(--space-2);grid-template-columns:repeat(3,1fr)}}html.library-shelf-pending [data-library-books-root] .book-card-wrap,html.library-shelf-pending [data-library-collection],html.library-shelf-pending [data-library-collections-section],.featured-collections[hidden]{display:none}.collection-hosted-grid{margin-top:var(--space-5)}@media (width<=767px){body:has(.bookshelf-grid--collection) .bookshelf-grid--collection{grid-template-columns:repeat(2,minmax(7rem,1fr));grid-auto-rows:auto}body:has(.bookshelf-grid--collection) .bookshelf-grid--collection .book-card-wrap{height:auto}}.collection-list-shelf{gap:var(--space-3);margin-top:var(--space-5);flex-direction:column;display:flex}.collection-list-row{gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-card);box-shadow:var(--shadow-rest);transition:border-color var(--transition), box-shadow var(--transition);flex-direction:column;display:flex}.collection-list-row:hover{border-color:var(--color-highlight);box-shadow:var(--shadow-raised)}.collection-list-row__link{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);color:inherit;text-decoration:none;display:flex}.collection-list-row__link--static{cursor:default}.collection-list-row__text{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.collection-list-row__title{font-family:var(--font-content);font-size:var(--text-base);font-weight:600;line-height:var(--text-base-lh);color:var(--color-text);margin:0}.collection-list-row--hosted .collection-list-row__title{color:var(--color-accent)}.collection-list-row__author{font-family:var(--font-content);font-size:var(--text-sm);letter-spacing:.01em;color:var(--color-text-muted);margin:0;font-weight:400}.collection-list-row__more{padding:0 var(--space-4) var(--space-3);font-family:var(--font-content);font-size:var(--text-xs);line-height:var(--text-xs-lh);color:var(--color-text-muted);font-weight:400;text-decoration:none}.collection-list-row__more:hover{color:var(--color-accent)}.collection-list-row__more--vote,.book-card-more--vote{font:inherit;cursor:not-allowed;color:var(--color-text-faint);background:0 0;border:none}.book-card--unhosted{cursor:default}.book-card--unhosted:hover{border-color:var(--color-border);box-shadow:var(--shadow-rest)}.collection-back-link{margin-top:var(--space-5);font-family:var(--font-content);font-size:var(--text-sm);color:var(--color-text-muted);font-weight:400;text-decoration:none;display:inline-block}.collection-back-link:hover{color:var(--color-accent)}.author-library-progress{margin-top:var(--space-6)}.author-library-progress:first-child{margin-top:var(--space-5)}.author-library-progress__header{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.author-library-progress__name{font-size:var(--text-base);letter-spacing:-.01em;margin:0;font-weight:600}.author-library-progress__name a{color:inherit;text-decoration:none}.author-library-progress__name a:hover{color:var(--color-accent)}.author-library-progress__meta{font-size:var(--text-xs);line-height:var(--text-xs-lh);color:var(--color-text-muted);margin:0;font-weight:400}.author-library-progress__stat [data-read-count]{color:var(--color-read-strong)}.author-library-progress__sep{margin:0 var(--space-2);color:var(--color-text-faint)}.author-library-progress__track{height:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg-card);gap:2px;padding:2px;display:flex;overflow:hidden}.author-library-progress__segment{border-radius:var(--radius-full);background:0 0;min-width:0}.author-library-progress__segment--hosted{background:var(--color-text-faint)}.author-library-progress__segment--read{background:var(--color-read-strong)}.author-library-progress__legend{align-items:center;gap:var(--space-1);margin:var(--space-2) 0 0;font-size:var(--text-xs);line-height:var(--text-xs-lh);color:var(--color-text-faint);flex-wrap:wrap;font-weight:400;display:flex}.author-library-progress__swatch{width:var(--space-3);height:var(--space-3);border-radius:var(--radius-full);margin-right:var(--space-1);display:inline-block}.author-library-progress__swatch--hosted{background:var(--color-text-faint)}.author-library-progress__swatch--read{background:var(--color-read-strong)}.author-shelf-section+.author-shelf-section{margin-top:var(--space-6);padding-top:var(--space-1);border-top:1px solid var(--color-border)}.book-landing{max-width:36rem}.book-landing-breadcrumb{margin:0 0 var(--space-5);font-family:var(--font-content);font-size:var(--text-sm);color:var(--color-text-muted);font-weight:400}.book-landing-breadcrumb a{color:inherit;text-decoration:none}.book-landing-breadcrumb a:hover{color:var(--color-accent)}.book-landing-hero{gap:var(--space-5);grid-template-columns:1fr;display:grid}@media (width>=480px){.book-landing-hero{grid-template-columns:10rem 1fr}.book-landing-cover{grid-area:1/1}.book-landing-meta{grid-area:1/2}.book-landing-cta-row{grid-area:2/1/auto/-1}}.book-landing-meta{flex:1;min-width:0}.book-landing-meta .page-title{margin-bottom:var(--space-1)}.book-landing-subtitle{margin:0 0 var(--space-2);font-family:var(--font-content);font-size:var(--text-base);line-height:var(--text-base-lh);color:var(--color-text-muted);font-weight:400}.book-landing-author{font-family:var(--font-content);font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--color-text-muted);margin:0;font-weight:400}.book-landing-author a{color:var(--color-accent);text-decoration:none}.book-landing-author a:hover{text-decoration:underline}.book-landing-published{margin:var(--space-2) 0 0;font-family:var(--font-content);font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--color-text-muted)}.book-landing-published-label{font-size:var(--text-xs);line-height:var(--text-xs-lh);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-faint);font-weight:600}.book-landing-published-year{color:var(--color-text);font-weight:600}.book-landing-blurb{margin-top:var(--space-5);max-width:42rem}.book-landing-blurb p{color:var(--color-text-muted)}.book-landing-section-title{font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--text-lg-lh);letter-spacing:-.01em;margin:0 0 var(--space-4);color:var(--color-text-muted);font-weight:600}.book-landing-tags{gap:var(--space-4);margin-top:var(--space-5);flex-direction:column;display:flex}.book-landing-tag-group{margin:0}.book-landing-tag-heading{margin:0 0 var(--space-2);color:var(--color-text-muted)}.book-landing-divider{margin:var(--space-5) 0 0;border:0;border-top:1px solid var(--color-border)}.book-landing-cta-row{justify-content:flex-start;align-items:flex-end;display:flex}.book-landing-cta-row:has(.button){justify-content:flex-end}.book-landing-cta-row .button{min-width:10rem}@media (width<=359px){.book-landing-cta-row:has(.button){justify-content:stretch}.book-landing-cta-row .button{width:100%}}.book-landing-unavailable{max-width:28rem;font-family:var(--font-content);font-size:var(--text-base);line-height:var(--text-base-lh);color:var(--color-text-muted);margin:0}.book-landing-unavailable a{color:var(--color-accent)}.book-landing-similar{margin-top:var(--space-7)}.bookshelf-grid--compact{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr))}body:has(.bookshelf-grid) .bookshelf-grid--compact{grid-auto-rows:auto}.book-landing-source{margin-top:var(--space-7);padding-top:var(--space-5);border-top:1px solid var(--color-border);font-family:var(--font-content);font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--color-text-faint)}.book-landing-source p{margin:0}.book-landing-source a{color:var(--color-text-muted);text-decoration:none}.book-landing-source a:hover{color:var(--color-accent);text-underline-offset:.15em;text-decoration:underline}.continue-reading-label,.library-empty-card__recommendations-title,.book-landing-tag-heading{font-size:var(--text-xs);line-height:var(--text-xs-lh);letter-spacing:.05em;text-transform:uppercase;font-weight:600}
