In CodePen, whatever you write in the HTML editor is what goes within the <body> tags in a basic HTML5 template. So you don't have access to higher-up elements like the <html> tag. If you want to add classes there that can affect the whole document, this is the place to do it.
About the <head>
In CodePen, whatever you write in the HTML editor is what goes within the <body> tags in a basic HTML5 template. If you need things in the <head> of the document, put that code here.
The resource you are linking to is using the 'http' protocol, which may not work when the browser is using https.
About CSS Preprocessors
CSS preprocessors help make authoring CSS easier. All of them offer things like variables and mixins to provide convenient abstractions.
It's a common practice to apply CSS to a page that styles elements such that they are consistent across all browsers. We offer two of the most popular choices: normalize.css and a reset. Or, choose Neither and nothing will be applied.
About Vendor Prefixing
To get the best cross-browser support, it is a common practice to apply vendor prefixes to CSS properties and values that require them to work. For instance -webkit- or -moz-.
We offer two popular choices: Autoprefixer (which processes your CSS server-side) and -prefix-free (which applies prefixes via a script, client-side).
Add External Stylesheets/Pens
Any URLs added here will be added as <link>s in order, and before the CSS in the editor. You can use the CSS from another Pen by using its URL and the proper URL extension.
You can apply CSS to your Pen from any stylesheet on the web. Just put a URL to it here and we'll apply it, in the order you have them, before the CSS in the Pen itself.
You can also link to another Pen here (use the .cssURL Extension) and we'll pull the CSS from that Pen and include it. If it's using a matching preprocessor, use the appropriate URL Extension and we'll combine the code before preprocessing, so you can use the linked Pen as a true dependency.
If the script you link to has the file extension of a preprocessor, we'll attempt to process it before applying.
let c = document.querySelector('canvas');
let ctx = c.getContext('2d');
c.width = c.height = 200;
let r = 50;
let x = 0;
let y = 0;
let full = 3 * Math.PI;
let steps = 100;
let offset = Math.PI/30;
let inc = full/steps;
x = r * Math.cos(i) + 100;
y = r * Math.sin(i) + 100;
ox = r * Math.cos(i+inc) + 100;
oy = r * Math.sin(i+inc) + 100;