diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,10 @@
 # Changelog
 This project adheres to [PVP](https://pvp.haskell.org).
 
+## 1.0.2.1
+### Fixed
+* Parser not supporting CSS variables. #3
+
 ## 1.0.2
 ### Added
 * `caret-color` and `font-display` to the property traits table, enabling their minification.
diff --git a/hasmin.cabal b/hasmin.cabal
--- a/hasmin.cabal
+++ b/hasmin.cabal
@@ -1,5 +1,5 @@
 name:                hasmin
-version:             1.0.2
+version:             1.0.2.1
 license:             BSD3
 license-file:        LICENSE
 author:              (c) 2017 Cristian Adrián Ontivero <cristianontivero@gmail.com>
@@ -88,7 +88,7 @@
                      , Hasmin.Types.Shadow
   build-depends:       base            >=4.10       && <5.0
                      , attoparsec      >=0.12       && <0.14
-                     , containers      >=0.5        && <0.6
+                     , containers      >=0.5        && <0.7
                      , matrix          >=0.3.4      && <0.4
                      , mtl             >=2.2.1      && <2.3
                      , numbers         >=3000.2.0.0 && <3000.3
@@ -138,8 +138,8 @@
   main-is:             DocTest.hs
   ghc-options:         -threaded -Wall -fno-warn-orphans
   build-depends:       base             >=4.10    && <5.0
-                     , doctest          >=0.11    && <0.16
-                     , doctest-discover >=0.1.0.0 && <0.2
+                     , doctest          >=0.11    && <0.17
+                     , doctest-discover >=0.1.0.0 && <0.3
                      , hasmin
 
 benchmark bench
@@ -149,7 +149,7 @@
   main-is:             Benchmarks.hs
   ghc-options:         -threaded -Wall -fno-warn-orphans
   build-depends:       base             >=4.10    && <5.0
-                     , criterion        >=0.11    && <1.5
+                     , criterion        >=0.11    && <1.6
                      , directory        >=1.3.0.0 && <1.4
                      , text             >=1.2     && <1.3
                      , hasmin
diff --git a/src/Hasmin/Parser/Primitives.hs b/src/Hasmin/Parser/Primitives.hs
--- a/src/Hasmin/Parser/Primitives.hs
+++ b/src/Hasmin/Parser/Primitives.hs
@@ -54,10 +54,10 @@
        else fail "unicode escaped character with length greater than 6"
   where ws x = x == ' ' || x == '\n' || x == '\r' || x == '\t' || x == '\f'
 
--- ident: -?{nmstart}{nmchar}*
+-- ident: -?-?{nmstart}{nmchar}*
 ident :: Parser Text
 ident = do
-    dash <- A.option mempty (B.singleton <$> A.char '-')
+    dash <- (B.fromText <$> A.string "--") <|> (B.singleton <$> A.char '-') <|> pure mempty
     ns   <- nmstart
     nc   <- mconcat <$> many nmchar
     pure $ TL.toStrict (B.toLazyText (dash <> ns <> nc))
