I think styling links based on their destination is seldom useful and have some accessibility challenges.
The external link example is missing `::after` but it would add the name of the Unicode character, "Northeast arrow with variation selector 16," to those links, pretty annoying for a screen reader user.
All major browsers now support alternative text in `content` but that's new so a fallback is called for.
```CSS
a[href]:not([href^="https://shkspr.mobi"; I])::after {
content: "(external)";
content: "↗️" / "(external)";
}
```
https://caniuse.com/mdn-css_properties_content_alt_text