Changes: - Scripts now export JSX elements (generateAbacusElement) or accept renderToString param - API route imports react-dom/server (API routes are server-only, allowed) - renderToStaticMarkup called in API route, not in imported scripts - CLI interfaces use dynamic require() for react-dom/server when run directly This satisfies Next.js requirement that react-dom/server not be imported in files that could be client-bundled. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>