Die Attribute gehören zu html. Jedes Element darf noch ein style-Attribut für »»die CSS-Angaben zur Gestaltung des Elements bekommen - sollte aber nicht.
Keine ahnung was du mir damit sagen willst. Ich rede vom der html Deklaration innerhalb des <style> ... </style> tags. Mir ist nicht klar was ich da für "html" angeben darf. Laut doku darf <html> kein style Attribut haben, dennoch wirken sich Style Angaben darauf aus.
CSS-Deklarationen gehören am besten, wie schon verlinkt, in eine eigene »»Datei.
Das mit der eigenen Datei für CSS-Deklarqationen sehe ich an sich so wie du.
Da es hier aber 1. um kurze Beispiele geht hoffe ich auf dein zukünftiges Verständnis dafür dass ich das hier so mache, wie selfhtml.org es auch meist macht.
2. wird die Webseite aus genau einer Seite bestehen. Da liegt es nahe, auch wenn es nicht zwingend ist, die CSS-Deklaration in der index.html zu belassen.