I don't see your attached meals, so just put them in another post. How lean are you already? You can't have too much fat at 165, so I think you are in a good position really. Your workout split looks good, just post up your specific routine for those days, exercises, sets, and reps that you do each workout. You might be able to tweak something there also. Do a search for a BMR calculator, and find your maintenance calorie requirements. That is the amount you should need to keep the same BW. You are going to start at about 500 over that to begin with. You will want about 1.5g of protein/per lb of BW. You will want to divide daily cals up by 5-6 meals. To stay as lean as possible while doing this, you want no more than 1-2 lb of gain/week. By doing the cardio, you should be able to eat a bit more than not doing cardio. Also for hardgainers that have trouble eating alot, AM cardio before breakfast gets the furnace going and will make you more hungry for the day, just do low intensity no more than probably 30 minutes. I read a quote from a guy named DANTE that some of you may know of, "to get big, eat like a 300 pounder, but do cardio like someone with 8-9% BF."
If 500 cals over maintenance doesn't bump weight in a week, bump it another 200 or so. You can continue with calorie amount that gains 1-2lbs a week until you stop gaining. Then add another 200-300 cals a day to continue the process until you reach your goal. If you gain too fast at the beginning, you can scale back cals a touch, or bump intensity of cardio a bit to slow down the fat gain a bit. You will have to gain a bit of fat, but you don't have to eat 2000 cals over maintenance to gain either. Just like 500 cals less/day burns a pound a week, 500 over whould do the opposite.
These are just some basics to help, but post up your diet and workouts and we can go from there.