 
 (s/def ::media-condition-without-or
   (s/alt
-    :condition ::media-not
+    :m-modifiers ::media-not
     :condition (s/cat
                  :in-parens ::media-in-parens
-                 :conditions (s/* ::media-and))))
+                 :m-modifiers (s/* ::media-and))))
 
 (s/def ::media-query
   (s/alt
-    :condition ::media-condition
+    :mq-condition ::media-condition
     :query (s/cat
              :modifier (s/? ::modifiers)
              :media-type ::media-types

    :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 ")")))



(s/def ::media-condition
  (s/alt
    :m-modifier (s/? ::media-not)
    :condition (s/cat
                 :in-parens ::media-in-parens
                 :conditions (s/* (s/alt
                                    :m-modifier ::media-and
                                    :m-modifier ::media-or)))))

(s/def ::media-in-parens
  (s/alt
    :condition-in-parens (s/spec ::media-condition)
    :feature ::media-feature))

(s/def ::media-not
