A long, long time ago I also implemented tic-tac-toe in HTML. But just as a set of HTML pages with links for each X move (and an implied O move by the "computer" player). Total size of all the pages combined is about 60 kilobytes.
This reminds me of a take on reactive programming for the browser but avoiding any runtime JS I saw on HN, I think, years ago: you defined a total language, and just compiled all possible control-flows into the page using tricks like this.