How to have one stylesheet for logged in users and another one for anonymous users?
The template_preprocess_html() preprocess function adds a 'logged-in' or 'not-logged-in' class to the classes array.
These classes get printed in the html.tpl.php template on the body tag.

So you should be able to target anything in your css for logged in or logged out users by using those classes. For example:

.sharing-block {
  top: 0px;
}
.logged-in .sharing-block {
  top: 25px;
}


Something like that should work without needing to worry about conditionally applied stylesheets or anything like that.