   (c/reset-env! {:cls "class"})
 
   (build-media
-    {[:only :screen :and [:min-width "300px"]]
+    {[[:only :screen :and [:min-width "300px"]]
+      [:print :and [:color]]]
      {:font-size 'p
       :&:hover   {:color 'g}}}))


(defmulti compile-media-query #'compile-media-query-dispatch)

(defmethod compile-media-query :query [[_ query]]
  (->> (seq query) (map compile-media-query)))

(defmethod compile-media-query :modifier [[_ modifier]]
  (name modifier))

(defmethod compile-media-query :media-type [[_ media-type]]
  (name media-type))

(defmethod compile-media-query :condition [[_ condition]]
  (->> (seq condition) (map compile-media-query)))

(defmethod compile-media-query :conditions [[_ conditions]]
  (mapcat
    #(compile-media-query [:condition %])
    conditions))

(defmethod compile-media-query :logical [[_ logical]]
  (name logical))

(defmethod compile-media-query :cond-without-or [[_ condition]]
  (compile-media-query condition))

    :else feature-value))

(defmethod compile-media-query :plain [[_ {:keys [feature-name feature-value]}]]
  (let [feature-name (compile-media-query [:feature-name feature-name])
        feature-value (compile-media-query [:feature-value feature-value])]
    (str "(" feature-name ":" feature-value ")")))

