.novel-cover{border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-card);flex-shrink:0;position:relative;overflow:hidden}.cover-image{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.novel-card:hover .cover-image,.novel-card-featured:hover .cover-image{transform:scale(1.05)}.cover-content{flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;padding:12px;display:flex}.cover-initials{font-family:var(--font-heading);letter-spacing:-2px;font-weight:800}.cover-title{color:var(--text-primary);text-align:center;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.cover-brand{text-transform:uppercase;letter-spacing:3px;font-weight:600}.cover-badges{flex-direction:column;gap:4px;display:flex;position:absolute;top:8px;left:8px}.badge{text-transform:uppercase;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid #ffffff1a;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700}.badge-type.badge-manga{color:#fff;background:#ef4444e6}.badge-type.badge-manhwa{color:#fff;background:#10b981e6}.badge-type.badge-comics{color:#fff;background:#a78bfae6}.badge-type.badge-novel{color:#fff;background:#6366f1e6}.badge-status.badge-ongoing{color:#fff;background:#f59e0be6}.badge-status.badge-completed{color:#fff;background:#3b82f6e6}.novel-cover-xs{width:50px;height:70px}.novel-cover-xs .cover-initials{font-size:18px}.novel-cover-xs .cover-title,.novel-cover-xs .cover-brand,.novel-cover-xs .cover-badge{display:none}.novel-cover-sm{width:80px;height:112px}.novel-cover-sm .cover-initials{font-size:24px}.novel-cover-sm .cover-title{-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;font-size:9px;display:-webkit-box;overflow:hidden}.novel-cover-sm .cover-brand{display:none}.novel-cover-sm .cover-badge{padding:1px 6px;font-size:8px;top:4px;left:4px}.novel-cover-md{aspect-ratio:3/4;width:100%}.novel-cover-md .cover-initials{font-size:42px}.novel-cover-md .cover-title{font-size:12px}.novel-cover-md .cover-brand{font-size:8px}.novel-cover-lg{width:200px;height:280px}.novel-cover-lg .cover-initials{font-size:56px}.novel-cover-lg .cover-title{font-size:14px}.novel-cover-lg .cover-brand{font-size:9px}.novel-card{gap:var(--space-sm);transition:transform var(--transition-base);flex-direction:column;flex-shrink:0;width:100%;min-width:0;text-decoration:none;display:flex}.novel-card:hover{color:inherit;transform:translateY(-4px)}.novel-card:hover .novel-cover{box-shadow:var(--shadow-glow);border-color:var(--border-accent)}.card-info{flex-direction:column;gap:4px;display:flex}.card-title{font-size:var(--text-sm);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.card-meta{font-size:var(--text-xs);color:var(--text-secondary);align-items:center;gap:6px;display:flex}.card-rating{color:var(--gold);font-weight:600}.card-chapters{color:var(--text-tertiary)}.card-genres{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.genre-tag{color:var(--accent-secondary);border-radius:var(--radius-full);background:#6366f11a;border:1px solid #6366f126;padding:2px 8px;font-size:10px}.novel-card-compact{gap:var(--space-md);padding:var(--space-sm);border-radius:var(--radius-md);transition:background var(--transition-fast);text-decoration:none;display:flex}.novel-card-compact:hover{color:inherit;background:#ffffff08}.compact-info{flex-direction:column;justify-content:center;gap:4px;display:flex}.compact-title{font-size:var(--text-sm);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.compact-chapters{font-size:var(--text-xs);color:var(--text-tertiary)}.compact-rating{font-size:var(--text-xs);color:var(--success);font-weight:500}.novel-card-row{align-items:center;gap:var(--space-md);padding:var(--space-sm)0;border-bottom:1px solid var(--border-color);transition:background var(--transition-fast);text-decoration:none;display:flex}.novel-card-row:hover{color:inherit}.row-rank{width:28px;font-size:var(--text-sm);color:var(--text-tertiary);text-align:center;flex-shrink:0;font-weight:700}.novel-card-row:first-child .row-rank{color:var(--gold)}.novel-card-row:nth-child(2) .row-rank{color:var(--text-secondary)}.novel-card-row:nth-child(3) .row-rank{color:#cd7f32}.row-info{flex-direction:column;gap:4px;min-width:0;display:flex}.row-title{font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.row-meta{font-size:var(--text-xs);color:var(--text-secondary);align-items:center;gap:6px;display:flex}.novel-card-featured{border-radius:var(--radius-lg);transition:transform var(--transition-base);text-decoration:none;display:block;position:relative;overflow:hidden}.novel-card-featured:hover{color:inherit;transform:scale(1.03)}.novel-card-featured .novel-cover{border-radius:0;width:100%;height:100%}.featured-overlay{padding:var(--space-md);background:linear-gradient(#0000,#000000d9);position:absolute;bottom:0;left:0;right:0}.featured-title{font-size:var(--text-sm);color:#fff;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.novel-card-horizontal{gap:var(--space-md);padding:var(--space-sm);border-radius:var(--radius-md);transition:background var(--transition-fast);text-decoration:none;display:flex}.novel-card-horizontal:hover{color:inherit;background:#ffffff08}.horizontal-info{flex-direction:column;justify-content:center;gap:4px;min-width:0;display:flex}.horizontal-title{font-size:var(--text-sm);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-weight:600;display:-webkit-box;overflow:hidden}.horizontal-meta{font-size:var(--text-xs);align-items:center;gap:4px;display:flex}.horizontal-rating{color:var(--gold);font-weight:600}.horizontal-chapters{font-size:var(--text-xs);color:var(--text-tertiary)}@media (max-width:768px){.novel-cover-md{aspect-ratio:3/4;width:100%;height:auto}.novel-cover-md .cover-initials{font-size:32px}}
