Thanks for providing your code. You have waded deep into the problem of JavaScript modules. This topic is outside the scope of what we can provide support for in the forum, but here's an overview. This is simplified and definitely not comprehensive, but hopefully generally accurate.
There are multiple module systems (basically ways you can structure your JS code so that the browser knows which symbols are found in which files). EcmaScript Modules aka esmodules aka esm are the flavor of modules that are supported by browsers. That means you can write 'import foo from '../myfooesmodule.js' and as long as myfooesmodule.js is in fact an esm, the browser understands how to load that file and the code within it.
However, esmodules are relatively newer compared to other module systems. Before the browsers knew how to do this natively, there were other modules systems such as commonjs or amd. The browser does not know what to do with these module systems, so in order to load code using them into the browser, you have to use a build tool to transpile the code into something the browser understands.
Blockly is published as a UMD, which is an older system that was used before browsers had esm compatibility. Despite the waning popularity of this format, blockly continues to be published this way for backwards compatibility. The browser cannot load UMD modules via import statements. What this means for you is that if you want to use `import Blockly` statements, you need to use a build tool that can support umd and output something the browser understands. Alternatively, umd modules can be loaded directly in the browser via script tags. These options are explained in our "Get the Code"
documentation.
Beyond all that and loading Blockly itself, browsers don't have the ability to load css through `import` statements either. You either need to include css on your page in the way browsers understand (for example, by loading a stylesheet in a script tag) or you need a build tool that can transform your code into the format expected by the browser.
This is a rather complex topic and if you just don't want to deal with it, I'd recommend you try the "create-package" script that is explained on the page I linked above. It will bootstrap you an application with some common build tools like webpack that will transform code like you've written above into something you can load on github pages. If you have an app made with that script, you can run `npm run build` to run a production build, then upload the contents of the `dist` directory to github pages.
I hope this helps! Best,
Maribeth