Using a starterkit
Until Drupal 9, the recommended way to create a new custom theme was to extend from a core theme called Classy. The Classy theme contained a copy of all the templates from Drupal core with markup enriched by some useful classes. So, nearly every custom theme out in the wild is a sub-theme of Classy. This has caused some issues with the evolution of Drupal, because Classy needed to stay backward compatible with its first version (which came out with Drupal 8).
Classy has been deprecated and removed from Drupal 10 as a new way of creating custom themes has emerged.
Drupal 10 has a new theme generator command that can be used to create a custom theme from a starterkit. Instead of sub-theming Classy, you can use this command to generate your new theme as a copy of some starterkit. Basically, instead of extending a base theme, you rather copy all the assets of that theme to a new one, completely owned by you. Core provides a default starterkit with markup similar...