the whole extension thing- .php versus .html, on the client side does not matter. In other words, to my web browser, when I load mysite.com/index.php it is the same as if I had loaded mysite.com/index.html -- IN ONLY THIS WAY -- they are both outputting html.
On the server side, and to the web guy writing the pages, php offers a greater deal of flexibility. As long as php is installed on the server, he can use pretty much any or all of the functions and features of php (
http://www.php.net). The main thing that is nice is that you can do any number of things without letting the client know they are happening. But the catch is, once it is outputted (sent to the client) php can't do anything. Javascript basically takes over for doing active code-related junk (like resizing, popping up windows, etc.)
So in regards to css, the file being .php or .html means very little-- if you are using php, on the server side, you could have it read a cookie (from $_COOKIE) and use that to determine what style sheet to include. But a .php extension doesn't change the way css is used or interpreted.
the css can be in three places, a 'style' tag, a .css file, or in-line (such as a tag with a 'style' attribute.)
again, to your browser, which is rendering the css, whether or not the page has a php extension or not is meaningless. Your browser is still receiving a 'http' transfer, and is still seeing the type as 'text/html', so technically speaking, as long as the server knows to send .php output as text/html, to the browser receiving it, it could have any extension at all.
Er, I hope that doesn't confuse you, but instead clears things up.