Trouble passing attribute into shortcode function

Sorry I deleted my comment because I found the issue. You need to do an html entity decode on query variable. Use the code below.

function hey_query_shortcode( $atts ) {
    extract( shortcode_atts( array(
        'query' => '',
        'style' => ''
    ), $atts ) );

        $query = html_entity_decode( $query );

        ob_start(); 
        $the_query = new WP_Query( $query );
        while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

<h3><?php the_title(); ?></h3>
    <?php the_excerpt(); ?>
    <h2>I know $style is set bc it shows up here: <?php echo $style; ?></h2>
    <h2>I know $query is set bc it shows up here: <?php echo $query; ?></h2>

<?php
    endwhile; 
    echo '<hr>';
    wp_reset_postdata();

    $list = ob_get_clean();
    return $list;

}

add_shortcode( 'postlist', 'hey_query_shortcode' );