.books-page{max-width:1080px;color:var(--text);margin:0 auto;padding:2rem 1rem 3.5rem}@media (max-width:1320px){.books-page{padding-left:9.25rem}}.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{flex-wrap:wrap;align-items:center;margin:.55rem 0 0;display:flex}.books-kind-filter{margin-left:auto;position:relative}.books-kind-trigger{min-width:8.75rem;min-height:2.45rem;color:var(--text);cursor:pointer;font:inherit;letter-spacing:.01em;text-align:left;background:#121218;border:1px solid #b3b3c247;border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;padding:0 .85rem;font-size:.88rem;font-weight:500;transition:border-color .14s,background .14s;display:flex}.books-kind-trigger:hover{background:#16161c;border-color:#f5f5f757}.books-kind-trigger:focus-visible{outline-offset:1px;border-color:#f5f5f780;outline:2px solid #f5f5f747}.books-kind-trigger[aria-expanded=true]{background:#16161c;border-color:#f5f5f76b}.books-kind-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.books-kind-arrow{border-bottom:1.5px solid #b3b3c2;border-right:1.5px solid #b3b3c2;flex:none;width:.45rem;height:.45rem;transition:transform .14s;transform:translateY(-.12rem)rotate(45deg)}.books-kind-trigger[aria-expanded=true] .books-kind-arrow{transform:translateY(.08rem)rotate(225deg)}.books-kind-list{z-index:30;background:#121218;border:1px solid #b3b3c247;border-radius:10px;min-width:100%;margin:0;padding:.35rem;list-style:none;animation:.1s ease-out books-kind-open;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 .85rem 2rem #00000073}.books-kind-option{color:#b3b3c2;cursor:pointer;border-radius:7px;justify-content:space-between;align-items:center;gap:.75rem;padding:.38rem .7rem;font-size:.88rem;line-height:1.3;transition:background .1s,color .1s;display:flex}.books-kind-option[aria-selected=true]{color:var(--text);font-weight:600}.books-kind-option.is-active{color:var(--text);background:#ffffff14}.books-kind-tick{border-right:1.5px solid var(--text);border-bottom:1.5px solid var(--text);flex:none;width:.32rem;height:.55rem;transform:rotate(45deg)translate(-.05rem,-.05rem)}@keyframes books-kind-open{0%{opacity:0;transform:translateY(-.25rem)}to{opacity:1;transform:translateY(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;margin-top:1.2rem;padding:1.2rem 0;scroll-margin-top:5.5rem}.books-section-nav{z-index:8;flex-direction:column;align-items:flex-start;gap:.7rem;width:max-content;max-width:11.5rem;display:flex;position:fixed;top:50%;left:clamp(.55rem,1.8vw,1.6rem);transform:translateY(-50%)}.books-section-nav a{color:var(--text);opacity:.5;letter-spacing:.01em;text-align:left;font-size:.8rem;font-weight:500;line-height:1.25;text-decoration:none;transition:opacity .18s,font-size .18s,font-weight .18s}.books-section-nav a.is-active{opacity:.95;font-size:1.12rem;font-weight:650}.books-section-nav a:hover,.books-section-nav a:focus-visible{opacity:.8}.books-section-nav a.is-active:hover,.books-section-nav a.is-active:focus-visible{opacity:.95}.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{text-align:center;color:#909090;justify-content:center;align-items:center;padding:.35rem;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-cover-type{color:#b0b0b0;font-size:.72rem;line-height:1.25;overflow:hidden}.books-state-warning{color:#d8c27a}.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;min-width:0;max-width:100%;display:flex}.book-value{color:#d3d3d3;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-weight:500;line-height:1.4;display:block;overflow:hidden}.book-value-author{color:#a09f9f;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}.book-slot{padding:0;animation:.68s cubic-bezier(.16,1,.3,1) both book-skeleton-in;display:block;position:relative}.book-slot-skeleton,.book-slot-content{grid-template-columns:92px minmax(0,1fr);align-items:center;gap:.8rem;padding:.8rem;display:grid}.book-slot-skeleton{pointer-events:none}.book-slot-skeleton.is-covered{animation:.68s forwards book-fade-out}.book-slot-content{animation:.68s both book-fade-in;position:absolute;inset:0}.book-slot .skeleton-block,.book-slot .skeleton-line{animation:1.5s ease-in-out infinite books-skeleton-pulse}.book-slot-skeleton.is-covered .skeleton-block,.book-slot-skeleton.is-covered .skeleton-line{animation:none}.skeleton-block,.skeleton-line{background:#ffffff12;border-color:#0000}.book-body .book-skeleton-title{grid-auto-rows:1.3em;align-content:start;display:grid}.book-body .book-skeleton-row{margin:0;line-height:1.4}.book-skeleton-row .book-label,.book-skeleton-row .book-value{align-items:center;height:1.4em;display:flex}.skeleton-line{border-radius:4px;display:block}.book-skeleton-title .skeleton-line{align-self:center;width:90%;height:.72em}.book-skeleton-title .skeleton-line-mid{width:62%}.book-skeleton-row .skeleton-line{height:.62rem}.book-skeleton-row .skeleton-label{height:.5rem}.skeleton-label-author{width:66%}.skeleton-label-rating{width:62%}.skeleton-label-progress{width:88%}.skeleton-label-date{width:78%}.skeleton-value-author{width:72%}.skeleton-value-rating{width:54%}.skeleton-value-progress{width:26%}.skeleton-value-date{width:46%}@keyframes books-skeleton-pulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes book-skeleton-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes book-fade-in{0%{opacity:0}to{opacity:1}}@keyframes book-fade-out{0%{opacity:1}to{opacity:0}}.books-sr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.books-state{color:var(--muted);margin:.9rem 0 0}@media (prefers-reduced-motion:reduce){.book-slot,.book-slot-skeleton,.book-slot-skeleton.is-covered,.book-slot-content,.book-slot .skeleton-block,.book-slot .skeleton-line,.books-kind-trigger,.books-kind-arrow,.books-kind-option,.books-kind-list{transition:none;animation:none}}.books-state-error{color:#ff8f8f}@media (max-width:860px){.books-page{padding-left:7.4rem}.books-grid{grid-template-columns:1fr}.books-section-nav{gap:.5rem;max-width:6.6rem}.books-section-nav a{font-size:.72rem}.books-section-nav a.is-active{font-size:.94rem}}@media (max-width:520px){.books-page{padding:1rem 1rem 2.2rem 6.6rem}.book-card{--cover-height:124px;grid-template-columns:74px minmax(0,1fr);gap:.65rem}.book-slot-skeleton,.book-slot-content{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}}
