A pragmatic solution to styling websites is given on fefe's blog (see http://blog.fefe.de/faq.html): the default layout is ugly as hell, but semantic (“proper”) use of HTML enables arbitrary and possibly even nice layouts via CSS. The server needs a bit of setup for cookies.