As small as possible, and no smaller.
Trite, but true.
As I said, on my phone/network, it seems to be the HTTP requests that cause the problems, rather than the actual number of bytes being downloaded, so the fewer scripts, stylesheets and images you can use, the better. And complicated scripts or stylesheets, and large images, are likely to require a lot more processor power and so cause problems for mobiles as well.
If your site needs heavier code because it is doing more advanced work then people are more likely to persist and forgive you if it's a bit slow. But if it can be achieved with basic code then it should.
(Not that that is unique to mobile sites!)