.anime-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--sp-4); }
.anime-card { display: flex; flex-direction: column; gap: var(--sp-2); min-width: 0; }
.anime-card-poster { position: relative; aspect-ratio: 2/3; border-radius: var(--r-lg); overflow: hidden; background: var(--bg-3); cursor: pointer; }
.anime-card-img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s var(--ease-out); }
.anime-card-poster:hover .anime-card-img { transform: scale(1.06); }
.anime-card-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(7, 7, 14, 0.97) 0%, rgba(7, 7, 14, 0.5) 50%, transparent 100%); display: flex; flex-direction: column; justify-content: space-between; align-items: center; padding: var(--sp-4); opacity: 0; transition: opacity var(--t-base) var(--ease-out); }
.anime-card-poster:hover .anime-card-overlay { opacity: 1; }
.anime-card-play { width: 54px; height: 54px; display: flex; align-items: center; justify-content: center; background: var(--grad-brand); border-radius: 50%; box-shadow: 0 0 20px rgba(124, 58, 237, 0.6); }
.anime-card-badges { position: absolute; bottom: var(--sp-2); left: var(--sp-2); display: flex; gap: 4px; z-index: 2; }
.anime-card-type { position: absolute; top: var(--sp-2); right: var(--sp-2); z-index: 2; }
.anime-card-title { display: block; font-family: var(--font-heading); font-size: var(--text-sm); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 4px; }
.anime-card-meta { display: flex; align-items: center; justify-content: space-between; font-size: var(--text-xs); color: var(--text-muted); }
