I would recommend adding a custom action to the web object at the root.
The guys at pattern and practice explains it well
Basically create a css file with what you need, put it somewhere and add the custom action
using (var clientContext = new ClientContext(rootUrl))
{
clientContext.Credentials = new SharePointOnlineCredentials(username, pwd);
var web = clientContext.Web; // use this one
var site = clientContext.Site;
// Build a custom action to write a link to our new CSS file
UserCustomAction cssAction = web.UserCustomActions.Add();
cssAction.Location = "ScriptLink";
cssAction.Sequence = 100;
cssAction.ScriptBlock = @"document.write('<link rel=""stylesheet"" href=""" + assetLibrary.RootFolder.ServerRelativeUrl + @"/contoso.css"" />');";
cssAction.Name = actionName;
// Apply
cssAction.Update();
clientContext.ExecuteQuery();