You have 2 options.
2. Limit it on the server side using PHP.
If you choice option 1, you’ll want to create some type of “maxlength” functionality for the TEXTAREA attribute in the post-form.php.
I haven’t used it but you’ll want to use something simply like:
Untested thought: You could edit your theme to limit the data accepted in the textbox.
Just a note: that field length can be bypassed in the browser, if someone wants to. If you don’t modify the database field, it probably won’t be a problem and it will prevent people from just posting things that are too long. I think a better way would be to verify that the input is less than 3000 characters with a plugin, before trying to insert it into the database.
Maybe a combination of the two. Give people a counter showing how many characters are left (like eBay does in some of their forms) and then have a plugin verify what is being submitted actually conforms to your rules.
CSS doesn’t control everything. Yet. Actually, it can control that, but not reliably or consistently, due to browser independence.
chris’s idea is probably best in the long run.