Complicated was the way we used to have to style HTML (tables, spacer gifs, cross browser testing, polyfills, etc)!
If you were starting with a basic HTML document and adding some CSS, it's relatively simple (these days!) and there are more tutorials than any one human could ever read.
However, you're trying to alter styling on a very deep stack (cascade) of styles:
Browser Styles
WP Theme Styling
Block Editor Styles
Any Plugin Styles
Customizer Styles
Local Styles
The CSS engine is reading all of that, building a massive cascade of rules modifying and overriding other rules and then rendering the content in milliseconds (talk about complicated!).
Changing font size/color is relatively easy in CSS. Changing
font face is more difficult as you have limited "safe" options and need to load web safe fonts to use them in CSS. This is not desktop publishing (which also had all these issues before PDFs).
What it sounds like you're trying to do is visually style specific paragraphs but that is not really what CSS is for -- it styles things based on a rule set and (ideally) semantic HTML. CSS can do that, but you need to set things up properly first.
The size buttons in the block text editor are there for convenience / non developers, but are not the proper way to build global styles. This has long been the battle between WYSIWYG and "developer" approaches to theme building and styling of web sites -- what works fast vs best and what is maintainable long term are often opposites.
One way to think of it is by flipping your perspective... instead of applying styling to a specific paragraph -- ask why is that paragraph being presented differently? e.g. is it a block quote, callout, pullquote, etc? You'd then semantically mark that (and possible use a different HTML tag or combo of tags + classes) then write CSS rules to style those wherever they happen to appear. If there is no semantic reason, you can still style things by adding a class with associated styles.
In your specific case/theme, that may be a new block type or a custom class on a <p> block.
This is main issue with the block editor in WordPress -- you either have to install or build blocks (or use a block builder plugin) or become a developer to extend it.
An alternative is to use a page builder like Beaver Builder which gives you far more control over the design but again you can override every time or build a system... but rarely both (though you can save bits and re-use them). This is just a different approach and has it's own set of drawbacks.
Some 3rd party themes offer a UI for typography options as well -- but this just automates the CSS in the background.
Note: the more fonts/weights you load, the heavier the toll on your initial page download, so don't go overboard!
PS- Be wary of Divvy or Elementor (and especially WP Bakery) as they have serious performance and usability issues in my experience (and are not great at global styles either). I know some people here love these tools, but I've had to rescue enough sites from the these tools that I cannot in good conscience recommend them.
Hopefully that helps?
Nick