[data-module=reading]{width:100%}body:has([data-module=reading]) main{max-width:1152px!important;margin-left:auto!important;margin-right:auto!important}.bookshelf-desktop{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;width:100%;box-sizing:border-box}.book-spine{width:48px;height:240px;position:relative;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;border-radius:2px 4px 4px 2px;box-shadow:2px 0 4px rgba(0,0,0,.1),inset -2px 0 4px rgba(0,0,0,.1),inset 2px 0 2px rgba(255,255,255,.2);transform-style:preserve-3d;display:flex;align-items:center;justify-content:center;overflow:hidden}.book-spine-cover{position:absolute;inset:0;width:100%;height:100%;z-index:1}.book-spine-image{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.9}.dark .book-spine{box-shadow:2px 0 6px rgba(0,0,0,.4),inset -2px 0 4px rgba(0,0,0,.3),inset 2px 0 2px rgba(255,255,255,.1)}.book-spine:hover{transform:translateY(-10px) scale(1.02);box-shadow:2px 4px 12px rgba(0,0,0,.2),inset -2px 0 4px rgba(0,0,0,.1),inset 2px 0 2px rgba(255,255,255,.3);z-index:10}.dark .book-spine:hover{box-shadow:2px 6px 16px rgba(0,0,0,.6),inset -2px 0 4px rgba(0,0,0,.3),inset 2px 0 2px rgba(255,255,255,.15)}.book-spine-content{writing-mode:vertical-rl;text-orientation:mixed;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem .5rem;height:100%;justify-content:space-between;position:relative;z-index:2;border-radius:2px}.book-title{font-size:.875rem;font-weight:600;letter-spacing:.05em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.3}.book-author,.book-title{text-align:center;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 3px rgba(0,0,0,.5);color:white}.book-author{font-size:.75rem;font-weight:400;opacity:.9;white-space:nowrap;max-width:180px}.shelf-divider{width:100%;height:8px;background:linear-gradient(180deg,#8b7355 0,#6b5a45 50%,#8b7355);border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.1);margin-top:.5rem}.dark .shelf-divider{background:linear-gradient(180deg,#4a3f35 0,#3a2f25 50%,#4a3f35);box-shadow:0 2px 6px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.05)}.bookshelf-mobile{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.book-card{display:flex;flex-direction:column;gap:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;min-width:0;width:100%;padding-left:12px;margin-left:-12px}.book-card:hover{transform:translateY(-6px)}.book-cover-block{width:100%;aspect-ratio:2/3;border-radius:2px 6px 6px 2px;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:white;text-shadow:0 2px 4px rgba(0,0,0,.3);position:relative;transform-style:preserve-3d;box-shadow:-2px 0 4px rgba(0,0,0,.15),0 2px 8px rgba(0,0,0,.1),0 4px 16px rgba(0,0,0,.08),0 8px 24px rgba(0,0,0,.06);transition:all .3s cubic-bezier(.4,0,.2,1)}.book-cover-block:after{content:"";position:absolute;left:-10px;top:2px;bottom:2px;width:10px;background:linear-gradient(90deg,rgba(0,0,0,.6) 0,rgba(0,0,0,.35) 40%,rgba(0,0,0,.15) 80%,transparent);border-radius:2px 0 0 2px;z-index:-1;box-shadow:inset -1px 0 2px rgba(0,0,0,.4),inset 0 2px 4px rgba(0,0,0,.2)}.book-cover-block:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.1) 20%,rgba(255,255,255,.05) 40%,transparent 60%,rgba(0,0,0,.02));border-radius:2px 6px 6px 2px;pointer-events:none;z-index:1}.book-card:hover .book-cover-block{box-shadow:-3px 0 6px rgba(0,0,0,.2),0 4px 12px rgba(0,0,0,.15),0 8px 24px rgba(0,0,0,.12),0 16px 40px rgba(0,0,0,.1);transform:translateY(-2px) rotateY(-2deg)}.book-card:hover .book-cover-block:after{background:linear-gradient(90deg,rgba(0,0,0,.75) 0,rgba(0,0,0,.45) 40%,rgba(0,0,0,.2) 80%,transparent);left:-11px;width:11px}.book-card:hover .book-cover-block:before{background:linear-gradient(135deg,rgba(255,255,255,.25),rgba(255,255,255,.15) 20%,rgba(255,255,255,.08) 40%,transparent 60%,rgba(0,0,0,.03))}.dark .book-cover-block{box-shadow:-2px 0 6px rgba(0,0,0,.4),0 2px 12px rgba(0,0,0,.3),0 4px 20px rgba(0,0,0,.25),0 8px 32px rgba(0,0,0,.2)}.dark .book-cover-block:after{background:linear-gradient(90deg,rgba(0,0,0,.85) 0,rgba(0,0,0,.5) 40%,rgba(0,0,0,.25) 80%,transparent)}.dark .book-cover-block:before{background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.05) 20%,rgba(255,255,255,.02) 40%,transparent 60%,rgba(0,0,0,.05))}.dark .book-card:hover .book-cover-block{box-shadow:-3px 0 8px rgba(0,0,0,.6),0 4px 16px rgba(0,0,0,.4),0 8px 32px rgba(0,0,0,.35),0 16px 48px rgba(0,0,0,.3)}.book-cover-image{padding:0;overflow:hidden}.book-cover-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:2px 6px 6px 2px}.book-card-title{font-size:.9rem;font-weight:600;line-height:1.3;color:var(--color-text-primary);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.book-card-author{font-size:.8rem;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-card-category{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:capitalize;background:rgba(0,0,0,.05);color:var(--color-text-secondary)}.dark .book-card-category{background:rgba(255,255,255,.1)}@media (max-width:1024px){.bookshelf-desktop{display:none}}@media (min-width:1024px){.bookshelf-mobile{display:none}}@media (max-width:1280px) and (min-width:1024px){.bookshelf-desktop{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1536px) and (min-width:1280px){.bookshelf-desktop{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1536px){.bookshelf-desktop{grid-template-columns:repeat(5,minmax(0,1fr))}}@supports not (transform-style:preserve-3d){.book-spine{box-shadow:2px 2px 8px rgba(0,0,0,.15)}.book-spine:hover{transform:translateY(-8px);box-shadow:2px 4px 12px rgba(0,0,0,.25)}}@media (prefers-reduced-motion:reduce){.book-card,.book-detail-cover,.book-spine{transition:none}.book-card:hover,.book-detail-cover:hover,.book-spine:hover{transform:none}}.bk-book-wrapper{position:relative;width:300px;perspective:1800px}.bk-book{position:relative;width:100%;height:400px;transform-style:preserve-3d;transition:transform .5s}.bk-book.bk-bookdefault:hover{transform:rotateY(35deg)}.bk-book>div,.bk-front>div{display:block;position:absolute}.bk-front{transform-style:preserve-3d;transform-origin:0 50%;transition:transform .5s;transform:translateZ(20px);z-index:10}.bk-front,.bk-front>div{width:300px;height:400px}.bk-front>div{z-index:1;backface-visibility:hidden;transform-style:preserve-3d}.bk-cover-back{background-color:#000;transform:rotateY(-179deg)}.bk-cover{border-radius:0 3px 3px 0;box-shadow:inset 4px 0 10px rgba(0,0,0,.1);background-size:cover;background-position:50%;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center}.bk-cover-letter{font-size:4rem;font-weight:700;color:white;text-shadow:0 2px 4px rgba(0,0,0,.3)}.bk-front:after{content:"";position:absolute;top:1px;bottom:1px;left:-1px;width:1px;background:rgba(0,0,0,.2)}.bk-cover:after{content:"";position:absolute;top:0;left:10px;bottom:0;width:3px;background:rgba(0,0,0,.06);box-shadow:1px 0 3px rgba(255,255,255,.1)}.bk-left{width:40px;height:400px;left:-20px;transform:rotateY(-90deg);display:flex;align-items:center;justify-content:center;position:relative}.bk-left:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.15) 0,rgba(0,0,0,.08) 50%,transparent);pointer-events:none}.bk-left h2{width:400px;height:40px;transform-origin:0 0;transform:rotate(90deg) translateY(-40px);color:#fff;font-size:14px;line-height:40px;padding-right:10px;text-align:right;display:flex;justify-content:flex-end;align-items:center;gap:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bk-left h2 span:first-child{text-transform:uppercase;font-weight:400;font-size:11px;opacity:.9}.bk-left h2 span:last-child{font-weight:600;font-size:14px}.bk-bottom,.bk-top{width:295px;height:40px;top:-15px;left:2.5px;background-color:#fff;backface-visibility:hidden}.bk-top{transform:rotateX(90deg)}.bk-bottom{transform:rotateX(-90deg) translateZ(390px)}.dark .bk-cover{box-shadow:inset 4px 0 10px rgba(0,0,0,.3)}.dark .bk-left:before{background:linear-gradient(90deg,rgba(0,0,0,.25) 0,rgba(0,0,0,.15) 50%,transparent)}.dark .bk-bottom,.dark .bk-top{background-color:#1a1a1a}