   [(* r (Math/cos theta))
    (* r (Math/sin theta))])
 
-(defn arc-path [{:keys [x y r] :as m} pct0 pct1]
-  (let [[x0 y0]           (-> pct0
+(defn arc-path [{:keys [x y r] :as m} pct0 pct1 {:keys [reverse?]}]
+  (let [[x0 y0]           (-> (if reverse? pct1 pct0)
                               pct-to-angle
                               angle-to-cart
                               (scale m)
                               (invert-y m)
                               (move-to-origin m))
-        [x1 y1]           (-> pct1
+        [x1 y1]           (-> (if reverse? pct0 pct1)
                               pct-to-angle
                               angle-to-cart
                               (scale m)

      (when (> (- end start) 0)
        [:g
         [:path {:d      (arc-path
                          (update m :r #(* % (if @over? 1.1 1.02)))
                          (- start 0.2)
                          (+ end 0.2))
                 :id     id
                 :fill   :none
                 :stroke :none}]

           {:xlink-href   (str "#" id)
            :start-offset "50%"
            :style        {:text-anchor :middle
                           :font-family "Roboto"
                           :font-size   (if @over? "1rem" "0.75rem")
                           :font-weight 300}}
           (if @over?
             (str "(" hours-per-day " / day)")
             name)]]]))))

(def colors (cycle ["Tomato"
