Index: src/assets/js/reply-editor.js
===================================================================
--- src/assets/js/reply-editor.js	(revision e9c9ae1db68ca932789d82108c91af5e8bab1058)
+++ src/assets/js/reply-editor.js	(revision ff3b8ce4516ec20f0af3038597b0c06ad84e13a3)
@@ -107,4 +107,21 @@
       }
     });
+
+    // Reflect the current formatting on the toolbar (bold/italic/list active),
+    // like the post editor, while the caret is inside this editor.
+    function syncToolbar() {
+      if (document.activeElement !== ed) return;
+      var map = { bold: 'bold', italic: 'italic', list: 'insertUnorderedList' };
+      bar.querySelectorAll('button[data-cmd]').forEach(function (b) {
+        var c = map[b.getAttribute('data-cmd')];
+        if (!c) return;
+        var on = false; try { on = document.queryCommandState(c); } catch (e) { on = false; }
+        b.classList.toggle('is-active', on);
+      });
+    }
+    document.addEventListener('selectionchange', syncToolbar);
+    ed.addEventListener('keyup', syncToolbar);
+    ed.addEventListener('mouseup', syncToolbar);
+
     if (fileInput) fileInput.addEventListener('change', function () {
       uploadFiles(fileInput.files);
