1. We discussed a number of options and ended up feeling that "@" was cleaner. In the end, every character has its downside from an escaping perspective, so there's no perfect character to choose
2. Right now, Razor is similar to ASPX in that it basically looks like option A. This is something we've thought a bit about, but it's not likely to improve in v1. The primary issue is that the markup indentation is something the parser would have to capture and pass on to the code somehow.