.book-item{display:flex;flex-direction:column;align-items:center}.perspective-container{position:relative;padding:36px 0;display:flex;align-items:center;justify-content:center;perspective:1200px;perspective-origin:50% 50%;transform-style:preserve-3d}.year-display{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.05em;opacity:0;transition:all .7s cubic-bezier(.2,.8,.2,1);pointer-events:none;z-index:1;text-shadow:0 2px 4px rgba(0,0,0,.5)}.perspective-container:hover .year-display{opacity:1;transform:translateX(-50%) translateY(-15px)}.book-shadow{position:absolute;bottom:12px;left:50%;transform:translateX(-50%) rotateX(80deg) translateZ(-40px);width:110px;height:24px;background-color:rgba(0,0,0,.4);border-radius:50%;filter:blur(16px);transition:all .7s cubic-bezier(.2,.8,.2,1);pointer-events:none}.perspective-container:hover .book-shadow{transform:translateX(-50%) rotateX(80deg) translateZ(-40px) scale(1.6) translateY(60px);background-color:rgba(0,0,0,.1);filter:blur(36px)}.book-wrapper{position:relative;transition:all .7s cubic-bezier(.2,.8,.2,1);transform-style:preserve-3d;transform-origin:center left}.perspective-container:hover .book-wrapper{transform:translateY(-40px) rotateY(30deg) rotateX(12deg)}.book-front{position:absolute;inset:0;z-index:10;border-radius:2px;box-shadow:inset 3px 0 8px rgba(0,0,0,.3);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:16px;background-size:cover;background-position:50%;backface-visibility:hidden}.book-front.no-image{background-color:#27272a}.watermark-container{position:absolute;inset:0;opacity:.1;display:flex;flex-wrap:wrap;gap:4px;padding:4px;overflow:hidden;background-image:radial-gradient(#fff 1px,transparent 0);background-size:10px 10px}.watermark-text{color:#fff;font-size:7px;font-weight:700;text-transform:uppercase;transform:rotate(12deg)}.cover-gradient{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.9) 0,rgba(0,0,0,.2) 80%,transparent)}.cover-content{position:relative;z-index:10;color:#fff}.cover-title{font-weight:700;font-size:.75rem;line-height:1.1;text-transform:uppercase;letter-spacing:-.025em;margin:0}.cover-author{color:#d4d4d8;font-size:.6rem;margin-top:4px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.book-spine-3d{position:absolute;top:0;left:0;height:100%;background-color:#18181b;border-left:1px solid hsla(0,0%,100%,.1);display:flex;align-items:center;justify-content:center;box-shadow:0 25px 50px -12px rgba(0,0,0,.5)}.spine-text{color:hsla(0,0%,100%,.3);font-size:7px;text-transform:uppercase;letter-spacing:.2em;white-space:nowrap;transform:rotate(90deg)}.book-back{position:absolute;inset:0;background-color:#3f3f46;border-radius:2px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.pages-bottom,.pages-top{position:absolute;left:0;background-color:#e5e5e5;background-image:repeating-linear-gradient(90deg,#e5e5e5,#e5e5e5 2px,#d1d1d1 3px)}.pages-top{top:0;border-bottom:1px solid rgba(0,0,0,.05)}.pages-bottom{bottom:0;border-top:1px solid rgba(0,0,0,.05)}@media (prefers-color-scheme:dark){.year-display{color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.7)}.pages-bottom,.pages-top{background-color:#2a2a2a;background-image:repeating-linear-gradient(90deg,#2a2a2a,#2a2a2a 2px,#1a1a1a 3px)}}.book-list-item{transition:all .2s ease}.book-list-item:hover{background-color:rgba(0,0,0,.02);transform:translateX(2px)}@media (prefers-color-scheme:dark){.book-list-item:hover{background-color:hsla(0,0%,100%,.02)}}