     (doall (map-indexed
       (fn [idx line] (put-string screen 12 (+ idx 9) line))
       (clojure.string/split-lines start-text)))
-    (put-string screen 17 19 "Press any key to continue and ? to view help.")
+    (put-chars screen (markup->chars 17 19 "Press <color fg=\"highlight\">any key</color> to continue and <color fg=\"highlight\">?</color> to view help."))
     (refresh screen)))
 
 (def loading-index (atom 0))

   :dark-red    [110 18 21];(vec (tinter/hex-str-to-dec "D31C00"))
   :orange      [235 137 49];(vec (tinter/hex-str-to-dec "D36C00"))
   :yellow      [247 226 107];(vec (tinter/hex-str-to-dec "D3B100"))
   :light-green [163 206 39]
   :green       [68 137 26];(vec (tinter/hex-str-to-dec "81D300"))
   :dark-green  (vec (tinter/hex-str-to-dec "406900"))

   (let [fg (color->rgb fg)
         bg (color->rgb bg)]
     [string fg bg styles])))

(defn zip-str [s]
  (zip/xml-zip 
      (xml/parse (java.io.ByteArrayInputStream. (.getBytes s)))))

(defn str->chars
  ([s]
   (str->chars s :white :black))
  ([s fg bg]
   (map (fn [c] {:c c :fg fg :bg bg :style #{}})
        s)))

(defn markup->chars
  [x y s]
  (let [z (zip-str (str "<body>" s "</body>"))]
    (println "s" s)
    (map-indexed (fn [idx c] (assoc c :c  (str (get c :c))
                                      :x  (+ x idx)
                                      :y  y
                                      :fg (color->rgb (get c :fg))
                                      :bg (color->rgb (get c :bg))))
                 (reduce (fn [characters v]
                           (cond
                             (string? v)
                               (concat characters
                                       (str->chars v))
                             (map? v)
                               (concat characters
                                       (str->chars (-> v :content first)
                                                   (if (= (get v :tag) :color)
                                                     (keyword (get-in v [:attrs :fg] :white))
                                                     :white)
                                                   (if (= (get v :tag) :color)
                                                     (keyword (get-in v [:attrs :bg] :black))
                                                     :black)))))
                         []
                         (-> z zip/node :content)))))

(defn put-string
  ([^robinson.aterminal.ATerminal screen x y string]
