/* v4.1: shelf spine geometry & controls. Non-destructive original art: no cropping or image rewriting. */
.shelf-grid .bookcase-frame .shelf-unit{padding-bottom:11px!important;}
.shelf-grid .bookcase-frame .book-row{transform:none!important;align-items:end!important;}
.shelf-grid .bookcase-frame .book-slot{align-items:flex-end!important;}
.shelf-grid .bookcase-frame .spine{transform-origin:center bottom;overflow:hidden;border-radius:2px 3px 1px 1px;box-shadow:2px 2px 5px #110d0aa6,inset 1px 0 #fff3,inset -1px 0 #0003;}
.shelf-grid .bookcase-frame .spine.has-spine-artwork{background:transparent;}
.shelf-grid .bookcase-frame .spine .spine-artwork{object-fit:fill!important;object-position:center;width:100%;height:100%;border-radius:inherit;image-rendering:auto;}
@media (hover:hover) and (pointer:fine){.shelf-grid .bookcase-frame .spine:hover:not(.pulled),.shelf-grid .bookcase-frame .spine:focus-visible:not(.pulled){transform:perspective(750px) translate3d(0,-5px,19px) rotateY(-5deg);filter:brightness(1.07);z-index:5;}}
.shelf-grid .bookcase-frame .spine.pulled{transform:perspective(750px) translate3d(0,-12px,36px) rotateY(-8deg);filter:brightness(1.06);z-index:6;}
#cover-book.ryu3d-active{touch-action:none!important;cursor:grab;}
#cover-book.ryu3d-active:active{cursor:grabbing;}
