How to get WordPress to accept the tag in articles (or other alternatives)

The <style> tag needs to be added to tinyMCE’s extended_valid_elements array to prevent on that tag from being stomped:

function wpse211235_add_tiny_mce_before_init( $options ) {

    if ( ! isset( $options['extended_valid_elements'] ) ) {
            $options['extended_valid_elements'] = 'style';
    } else {
            $options['extended_valid_elements'] .= ',style';
    }

    return $options;
}
add_filter( 'tiny_mce_before_init', 'wpse211235_add_tiny_mce_before_init' );