Brainwallets with human generated passphrases are a bad idea. Doesn't matter if it's offline or online they are just a bad idea period.
I totally disagree and I am sick of hearing people say that brainwallets aren't safe. Sufficient length & randomness should suffice. Create a salt phrase that you use with every password.
Your salt phrase should include something long (can be public) & something private.
Examples:
"Pi=3.14159265358979323846&MyFirstPhoneNumber=800-555-1222"
"10!=3628800(Base10)=375F00(Hex)&I_LOVE_PATTAYA"
"InverseNaturalLogSeven=1096.6331584284585992637202382881&Starcraft>Chess>Checkers"
"Thanks:Danke:Asante:Salamat:ขอบคุณ:Gracias&I_WAS_BORN_ON_A_MONDAY"
You might want to write this part down somewhere safe if you have ever forgotten anything in your life.
Now when you create your brainwallet, just add a password to your standard salt phrase.
"Thanks:Danke:Asante:Salamat:ขอบคุณ:Gracias&I_WAS_BORN_ON_A_MONDAY"Alpha
Public Key:1EXLETbRDmwsB4gJimQhprvktZDXLkoDWT
Private Key:5KPgmne3z4vo8uPwKHDF6gZbDJpiXALLY9fipEuKtMLH9pbdbi7
"Thanks:Danke:Asante:Salamat:ขอบคุณ:Gracias&I_WAS_BORN_ON_A_MONDAY"Bravo
Public Key:1AxTsiWDsMu3ijy2s3NTF6kk1zJRUGjNyh
Private Key:5KEcUhqeSP4WAvaRRytXD3ChcnLUheaUX5yVLen244q8wHtGmxR
I keep a list of passwords with their public keys. The salt portion is only in my head and I mentally review fairly often. I never store the private keys. I actually store my public keys in a HTML file online so that I can easily access them from anywhere in the world with internet.
Alpha:1EXLETbRDmwsB4gJimQhprvktZDXLkoDWT
Bravo:1AxTsiWDsMu3ijy2s3NTF6kk1zJRUGjNyh
In summary, create your own system (including punctuation) that involves a long complex phrase (but possibly public) with a simple private phrase to make a consistant salt phrase (you can even write it down & store it somewhere safe). Now you just add different passwords to your salt phrase to create a safe list of addresses & public keys. I keep a bunch of brainwallets this way so that I can use one without compromising the rest.
If I need some more bitcoins, I just use brainwallet offline (and in safe mode) to re-create my private key, save that, then restart my computer, go online and add it to my blockchain.info account.