CSS from textarea in options page to frontend what to do

You should not use esc_attr in this way. It should be used only for escaping attributes in HTML tags.

As for the CSS it depends on who is the intended user. If you are doing it for a standalone site in which only the admin can edit the CSS, than you don’t need to sanitize. But if it is intended for use in a network than you need to use the wp_filter_nohtml_kses function to filter all HTML out of the CSS. You can have

echo '<style type="text/css" media="screen">' . wp_filter_nohtml_kses( $css ) . '</style>';

but it is more efficient to sanitize before you store the value in the DB.