When you say "per USER" are you being literal in that sense? EVERY user can have their own? Nobody else sees it?
If so -- and I RARELY if ever would say this -- it belongs in a style="" attribute in the markup. This is NOT something I'd be making a static file for every joe-blasted user for any more than I would generate CSS from the server-side code on the fly IF that user is the only one that would ever see it.
Now, if this is per-user but multiple different users would see it, THEN I'd write it to a separate file for that user's account and load it separate. Whilst I favor monolithic stylesheets for the base template of any system so as to keep the number of handshakes low, per-account settings that OTHER users will see can save you bandiwidth from a caching standpoint. So if this was something that a user would set that OTHER users would see, THEN give it its own stylesheet.