By using WCM, all the stylesheet of each site can be managed easily and online. You don't need to access to the file system to modify and wait for server restarted. About the structure, each site have its own CSS folder, this folder can contains one or more CSS files. These CSS files have the data, and the priority. If they have the same CSS definition, the bigger priority will be applied. You also can disable some of them to make sure the disabled style sill not be applied in to the site.
For example: By default, a WCM demo package have 2 sites ACME and Classic. Classic site has a CSS folder which contains a CSS file called DefaultStylesheet. Most of the stylesheet of this site is defined within this stylesheet. Moreover, ACME site has 2 CSS files called BlueStylesheet and GreenStylesheet. The blue one is enabled and the green one is disabled by default. All you need to test is disable the blue one (by edit it and set Available equals false) and enable the green one. Now back to the homepage and you will see the magic.
Note: Please remember clear the cache and refresh the browser first if you don't see the change. Most of the time, this is the main reason the new style is not applied.
Basically, if you want to add a rich text area into your dialogs, you can use addRichtextField method. But sometimes, you want to add the rich text editor by yourself manually. So first you need to use addTextAreaField method and some addition javascript like this
<%
String[] fieldDescription = ["jcrPath=/node/exo:description"] ;
uicomponent.addTextAreaField("description", fieldDescription)
%>
<script>
var instances = CKEDITOR.instances['description'];
if (instances) instances.destroy(true);
CKEDITOR.replace('description', {
toolbar : 'CompleteWCM',
uiColor : '#9AB8F3'
});
</script>