.st-library{
  padding:48px 0 32px;
  overflow:hidden;
}

.st-library .st-sec-head{ margin-bottom:28px; }

.st-lib-bar{
  position:relative;
  overflow:hidden;
  margin-top:8px;
}

.st-lib-bar::before,
.st-lib-bar::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:72px;
  z-index:2;
  pointer-events:none;
}

.st-lib-bar::before{
  left:0;
  background:linear-gradient(90deg, var(--st-page), transparent);
}

.st-lib-bar::after{
  right:0;
  background:linear-gradient(270deg, var(--st-page), transparent);
}

.lib-track{
  display:flex;
  width:max-content;
  will-change:transform;
  animation:lib-scroll 36s linear infinite;
}

.lib-set{
  display:flex;
  gap:28px;
  padding-right:28px;
  flex:none;
}

.book{
  flex:none;
  width:148px;
  height:210px;
  border-radius:4px 8px 8px 4px;
  overflow:hidden;
  position:relative;
  background:var(--st-elevated);
  box-shadow:0 16px 32px -12px rgba(0,0,0,.7);
}

.book img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.book-ph{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:16px 14px;
  background:var(--cloth-mid);
}

.lib-set .book:nth-child(2n) .book-ph{ background:var(--wave-deep); }
.lib-set .book:nth-child(3n) .book-ph{ background:var(--cloth); }
.lib-set .book:nth-child(4n) .book-ph{ background:#243656; }

.book-ph span{
  font-family:var(--st-serif);
  font-size:16px;
  line-height:1.2;
  color:var(--st-text);
}

@keyframes lib-scroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

@media (prefers-reduced-motion:reduce){
  .lib-track{ animation:none; }
}
