It depends on how complex the style options are. If its some simple things probably come with inline CSS, this is the best option. If there are a lot of settings, I would suggest you create your custom CSS in a "time-saving" time and save it in the file system. I personally do not prefer styles.php, since this is the added load on the server, compare the web server sending the static file instead of processing this request through php and then serving the content.
If you really have few visitors and / or CSS changes VERY often (which I cannot understand why), you are better off working with the built-in css or generating dynamic css files for each user.
Based on your answer in a comment. I believe that it is best to create a CSS file after saving and overwrite the default CSS file that you would include in the package.
The simplest solution I see. You may have a CSS template file in which you can have tags. Load the template into a PHP variable. Replace the tags with the inputs you receive in the settings form. Save / rewrite CSS, you're done.
source share