Using elm-ui instead of html/css has many advantages:
1) Tree shaking will remove every component/style that is not being used, so asset size will be smaller
2) It is type safe and avoid many mistakes possible in html/css
3) Predictable views and easy to debug, there is no weird css selector or a new imported spreadsheet that will affect the style of your entire app.
That's an interesting idea. There could be a sort of markup language for describing the text and other elements. A sort of hyper-text markup language. And then there could be a separate declaritive language for styling. Of course, you'll need something less declaritive to implement advanced interactivity, but that could just be a small, simple scripting language.
:-)
But if you did that, TCP/IP would no longer be a great fit. You’d want some sort of hypertext-specific transport protocol, I think.
Rather than start from scratch, perhaps the "GUI browser" can be based on the Tk or Qt ui kits, since they are road-tested and exist.