I also got an error when I tried Tim Gerhard's solution. (I can't enter this as a comment to that answer because I'm a relatively new user.) After several iterations, I made it work (in an actual inline style), like this:
<!-- In web.config -->
<appSettings>
<add key="PageTitleStyle" value="style='color:red'"/>
</appSettings>
<!-- In the .aspx file -->
<span <asp:Literal runat="server" Text="<%$ AppSettings:PageTitleStyle %>" /> >
Page Title Text Here</span>
Note that in my actual application, I also get the page title text itself from Web.config, using the same syntax with a separate "add key" string.
It would also be valid, and often considered preferable, in an "internal style sheet" form as Tim illustrates. In fact, re-reading your question, I think you'll want to do it that way.
I tried it with just the string "red" in the key, but it wouldn't let me splice that into the inline style tag after "color:". So I ended up with the entire style string in Web.config. I didn't try it in an "internal style sheet" context, but it's just different enough that it might work.
Supplemental information - In answer to Tim's question about the errors I received trying his construct (using Visual Studio 2013 and .Net 4). First I got:
The expression prefix 'ConfigurationManager.AppSettings' was not
recognized. Please correct the prefix or register the prefix in the
section of configuration.
When I removed "ConfigurationManager." then I got:
The expression '<%$ AppSettings['PageTitleStyle'] %>' is invalid.
Expressions use the syntax <%$ prefix:value %>.
So then I changed the square bracket construct to use a colon. Then I got ("blockquote" doesn't work right with this one, so I'm using "code sample" formatting):
Literal expressions like '<%$ AppSettingsa:PageTitleStyle %>' are not allowed.
Use <asp:Literal runat="server" Text="<%$ AppSettingsa:PageTitleStyle%>" /> instead.
So that led me to the working syntax above.