anchor.diff:                    :grid-template-columns "auto auto 1fr auto"
                     :width "100%"
                     :color "white")
  +                 ("#prompt-area-vi"
  +                  :background-color "dimgray"
  +                  :display "grid"
  +                  :grid-template-columns "auto auto 1em 1fr auto"
  +                  :width "100%"
  +                  :color "white")
                    ("#prompt"
                     :padding-left "10px"
                     :line-height "26px")
  
positive.code: 
  (defun prompt-render-prompt (prompt-buffer)
    (let* ((suggestions (prompter:all-suggestions prompt-buffer))
           (marks (prompter:all-marks prompt-buffer)))
      (ffi-buffer-evaluate-javascript-async
       prompt-buffer
       (ps:ps
  
negative.code: 
  (defun prompt-render-skeleton (prompt-buffer)
    (erase-document prompt-buffer)
    (let ((vi-mode? (or (find-submode prompt-buffer 'vi-normal-mode)
                        (find-submode prompt-buffer 'vi-insert-mode))))
      (ffi-buffer-evaluate-javascript-async
       prompt-buffer
       (ps:ps (ps:chain document
                        (write
                         (ps:lisp (markup:markup
                                   (:head (:style (style prompt-buffer)))
                                   (:body
                                    (:div :id (if vi-mode? "prompt-area-vi" "prompt-area")
                                          (:div :id "prompt" (prompter:prompt prompt-buffer))
                                          (:div :id "prompt-extra" "[?/?]")
                                          (markup:raw
                                           (when vi-mode?
                                             (markup:markup
                                              (:div :id "vi-mode" ""))))
                                          (:div (:input :type (if (invisible-input-p prompt-buffer)
                                                                  "password"
                                                                  "text")
                                                        :id "input"
                                                        :value (prompter:input prompt-buffer)))
                                          (:div :id "prompt-modes" ""))
                                    (markup:raw
                                     (markup:markup*
                                      `(:div :id "suggestions"
                                             ,@(when (invisible-input-p prompt-buffer)
                                                 '(:hidden "true"))))))))))))))
  
  (defun prompt-render-focus (prompt-buffer)
    (ffi-buffer-evaluate-javascript-async
  