Replacement syntax and match scope remain explicit
Replacement strings are not literal by default: JavaScript recognizes substitutions such as $&, $1, and $<name>. The route keeps replacement text in its own field so that pattern syntax and replacement syntax are not conflated.
Without g, only the first match is replaced; with g, every match within the worker budget is eligible. Replacement input is capped at 64 KiB and the final output at 1 MiB before it is returned to the page.