S-expression AST → HTML string renderer with ~100 HTML tags, void elements, boolean attributes, XSS escaping, raw!, fragments, and components. Render-aware special forms (if, when, cond, let, map, etc.) handle HTML tags in control flow branches correctly by calling _render instead of _eval. 63 new tests (172 total across parser, evaluator, renderer). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>