/* Keep long names inside a fixed poster, with the full name in its info card. */
.card,.poster-rail .card { min-width:0; }
.card>.poster { min-width:0; max-width:100%; aspect-ratio:2/3; overflow:hidden; }
.card .poster>h3 {
  display:block; min-width:0; width:100%; max-width:100%; overflow:hidden;
  padding:26px 7px 9px; box-sizing:border-box;
}
.card-title-text {
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3;
  line-clamp:3; max-height:3.6em; overflow:hidden; overflow-wrap:anywhere;
  white-space:normal; line-height:1.2; min-width:0; max-width:100%;
}
.episode-badge {
  position:absolute; z-index:2; top:6px; left:6px;
  display:flex; flex-direction:column; align-items:flex-start; gap:3px;
  max-width:calc(100% - 46px); padding:5px 6px; border:1px solid #ffffff24;
  border-radius:6px; background:#101112e6; color:#fff; text-align:left;
  font:600 10px/1.15 system-ui,sans-serif; pointer-events:none;
}
.episode-count { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.episode-status { font-size:9px; color:#ffb7aa; }
.has-episode-badge .rank-badge { top:59px; }
.poster-rail,.continue-list { -webkit-overflow-scrolling:touch; }
.poster-rail.is-coasting,.continue-list.is-coasting { scroll-snap-type:none; }
@media(prefers-reduced-motion:reduce) {
  .poster-rail,.continue-list { scroll-behavior:auto; }
}
