/* CAROUSEL ONLY: V9 geometry; unchanged V11.14 glass buttons, audio, reading, branding. */
body.library-page #v9-bookshelf .shelf3d-stage,
body.library-page #free-premium-shelf .shelf3d-stage {
 height:440px!important;min-height:0!important;perspective:1100px!important;
 contain:none!important;overflow:hidden!important;
}
body.library-page #v9-bookshelf .shelf3d-book,
body.library-page #free-premium-shelf .shelf3d-book {
 transition:transform 850ms cubic-bezier(.17,.8,.2,1),opacity 600ms ease!important;
 transition-delay:0ms!important;filter:none!important;will-change:transform,opacity;
}
body.library-page #v9-bookshelf .shelf3d-volume,
body.library-page #free-premium-shelf .shelf3d-volume {
 transition:transform 850ms cubic-bezier(.2,.75,.18,1)!important;
}
@media(max-width:620px){
 body.library-page #v9-bookshelf .shelf3d-stage,
 body.library-page #free-premium-shelf .shelf3d-stage{height:372px!important}
}
@media(max-width:410px){
 body.library-page #v9-bookshelf .shelf3d-stage,
 body.library-page #free-premium-shelf .shelf3d-stage{height:344px!important}
}
@media(prefers-reduced-motion:reduce){
 body.library-page #v9-bookshelf .shelf3d-book,
 body.library-page #free-premium-shelf .shelf3d-book{transition:none!important}
}
/* Root cause of one-sided/stacked covers: later generic button-glass CSS
   changed 3D book buttons from position:absolute to position:relative. */
body.library-page #v9-bookshelf .shelf3d-book,
body.library-page #free-premium-shelf .shelf3d-book {
 position:absolute!important;left:50%!important;top:54%!important;
}
/* The 20-publication dot strip must never push the carousel arrows off mobile. */
body.library-page #free-premium-shelf .shelf3d-nav{
 display:flex;align-items:center;justify-content:center;gap:13px;
 padding:0 12px;max-width:100%;overflow:hidden;
}
body.library-page #free-premium-shelf .shelf3d-dots{
 flex:0 1 520px;min-width:0;justify-content:flex-start;
 overflow-x:auto;overflow-y:hidden;scrollbar-width:none;
 overscroll-behavior-x:contain;scroll-behavior:smooth;
}
body.library-page #free-premium-shelf .shelf3d-dots::-webkit-scrollbar{display:none}
body.library-page #free-premium-shelf .shelf3d-dot{
 flex:0 0 26px;width:26px;padding:18px 9px;
}
body.library-page #free-premium-shelf .shelf3d-arrow{flex:0 0 42px}
@media(max-width:620px){
 body.library-page #free-premium-shelf .shelf3d-nav{gap:10px}
 body.library-page #free-premium-shelf .shelf3d-dots{flex:1 1 auto;max-width:220px}
 body.library-page #free-premium-shelf .shelf3d-arrow{flex:0 0 40px}
}
