Fix #12: maintain consistent height while filtering