Drupal 8 - Override Base Theme CSS

Used to be that you could simply override a stylesheet by simply removing it from your .info file (Drupal 7).
Drupal 8 has an entire new set of rules for this. Stylesheets, by default, load because it's part of your base - makes sense. At least until you want to eliminate that stylesheet in favor of your own theme's styles.

In Drupal 8, you now have a concept of libraries... which basically tells Drupal which set of tools are required to build your site. Hidden deep (not really that deep) in this toolbox is a theme.info.yml directive:

libraries-override

which allows you to override css and js files in your base theme.

My base theme for this discussion is "Professional Responsive Theme". I decided I wanted to completely override the theme's css/custom-style.css file. This code allows you to replace this file with one in your selected subtheme:


libraries-override:
  professional_responsive_theme/global-components:
    css:
      theme:
         css/custom-style.css: css/custom-style.css
# css/custom-style.css: false # to simply remove the original custom-style.css sheet

The override starts with the path to said file in the base theme's libraries.yml file. Start with the base theme name / (don't forget the slash) section of libraries file. you can copy the rest of the path to the file to override or remove.
Note that if you simply want to remove the file from the theme, you can replace the second filename with "false". This is demonstrated in the comment in the last line.