write additional version info into the readme (#126)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index e809f5e..39c7d9a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,7 @@
   `Node`.
 - Deprecated `NodeGlue.append` in favor of `Node.appendChild`.
 - Deprecated `NodeGlue.clone` in favor of `Node.cloneNode`.
+- Updated to `@webref/css` `6.10.0`.
 
 ## 0.4.0
 
diff --git a/README.md b/README.md
index 7463225..31f586b 100644
--- a/README.md
+++ b/README.md
@@ -33,9 +33,12 @@
 
 ## Web IDL version
 
+Based on:
+
 <!-- START updated by tool/update_bindings.dart. Do not modify by hand -->
-Based on [`@webref/idl 3.39.1`](https://www.npmjs.com/package/@webref/idl/v/3.39.1).
+- @webref/idl [3.39.1](https://www.npmjs.com/package/@webref/idl/v/3.39.1)
+- @webref/css [6.10.0](https://www.npmjs.com/package/@webref/css/v/6.10.0)
 <!-- END updated by tool/update_bindings.dart. Do not modify by hand -->
 
 For instructions on re-generating the DOM bindings, see
-(bindings_generator/README.md)[bindings_generator/README.md].
+[bindings_generator/README.md](bindings_generator/README.md).
diff --git a/bindings_generator/generate_bindings.dart b/bindings_generator/generate_bindings.dart
index aaf8e2d..070c6ec 100644
--- a/bindings_generator/generate_bindings.dart
+++ b/bindings_generator/generate_bindings.dart
@@ -20,7 +20,7 @@
     if (properties != null) {
       for (var j = 0; j < properties.length; j++) {
         final property = properties[j] as CSSEntry;
-        // There are thre cases for [styleDeclaration]:
+        // There are three cases for [styleDeclaration]:
         //   1) Length == 1, a single word CSS property.
         //   2) Length == 2, a kebab case property + a camel case property.
         //   3) Length == 3, webkit CSS properties.
diff --git a/bindings_generator/package-lock.json b/bindings_generator/package-lock.json
index 79b8f33..24089c0 100644
--- a/bindings_generator/package-lock.json
+++ b/bindings_generator/package-lock.json
@@ -9,16 +9,18 @@
       "version": "0.0.1",
       "license": "BSD 3",
       "dependencies": {
-        "@webref/css": "^6.5.6",
-        "@webref/idl": "^3.23.0",
+        "@webref/css": "^6.10.0",
+        "@webref/idl": "^3.23.0"
+      },
+      "devDependencies": {
         "web-specs": "^2.74.1",
         "webidl2": "^24.2.2"
       }
     },
     "node_modules/@webref/css": {
-      "version": "6.8.1",
-      "resolved": "https://registry.npmjs.org/@webref/css/-/css-6.8.1.tgz",
-      "integrity": "sha512-+GjGSdigPjTm82suc5Pr0x8L7OIGCe0WWFbMWh8P9goQcPDNzfaDKSPpzqgfmiP4pQlOQbSSohMlAGv8rKjwsA==",
+      "version": "6.10.0",
+      "resolved": "https://registry.npmjs.org/@webref/css/-/css-6.10.0.tgz",
+      "integrity": "sha512-IOx3La7paGHcVK6z275G4Mare6sP3SloX3KNRF0D6SWytJa8ZW+ckB5evM9ke0FpOtd6MEIXdjf7OqVN9BQfvA==",
       "peerDependencies": {
         "css-tree": "^2.3.1"
       }
@@ -62,7 +64,8 @@
     "node_modules/web-specs": {
       "version": "2.74.1",
       "resolved": "https://registry.npmjs.org/web-specs/-/web-specs-2.74.1.tgz",
-      "integrity": "sha512-OrXix5LVFhnJ1uvj00jy1vAOkUNzoVWKF7IqkTgqTI9CmYIdLxpknSvE/iqOOHUVNX90izUUj8lJVNjCdnWCuA=="
+      "integrity": "sha512-OrXix5LVFhnJ1uvj00jy1vAOkUNzoVWKF7IqkTgqTI9CmYIdLxpknSvE/iqOOHUVNX90izUUj8lJVNjCdnWCuA==",
+      "dev": true
     },
     "node_modules/webidl2": {
       "version": "24.4.1",
diff --git a/bindings_generator/package.json b/bindings_generator/package.json
index 3c2cbec..9b9b62d 100644
--- a/bindings_generator/package.json
+++ b/bindings_generator/package.json
@@ -9,8 +9,10 @@
   "author": "Dart project authors",
   "license": "BSD 3",
   "dependencies": {
-    "@webref/css": "^6.5.6",
-    "@webref/idl": "^3.23.0",
+    "@webref/css": "^6.10.0",
+    "@webref/idl": "^3.23.0"
+  },
+  "devDependencies": {
     "web-specs": "^2.74.1",
     "webidl2": "^24.2.2"
   }
diff --git a/lib/src/dom/cssom.dart b/lib/src/dom/cssom.dart
index b8c5262..407d96e 100644
--- a/lib/src/dom/cssom.dart
+++ b/lib/src/dom/cssom.dart
@@ -221,8 +221,6 @@
   external String get alignItems;
   external set alignSelf(String value);
   external String get alignSelf;
-  external set alignTracks(String value);
-  external String get alignTracks;
   external set alignmentBaseline(String value);
   external String get alignmentBaseline;
   external set all(String value);
@@ -295,6 +293,8 @@
   external String get backgroundRepeat;
   external set backgroundSize(String value);
   external String get backgroundSize;
+  external set backgroundTbd(String value);
+  external String get backgroundTbd;
   external set baselineShift(String value);
   external String get baselineShift;
   external set baselineSource(String value);
@@ -603,6 +603,8 @@
   external String get dominantBaseline;
   external set emptyCells(String value);
   external String get emptyCells;
+  external set fieldSizing(String value);
+  external String get fieldSizing;
   external set fill(String value);
   external String get fill;
   external set fillBreak(String value);
@@ -789,6 +791,8 @@
   external String get inputSecurity;
   external set inset(String value);
   external String get inset;
+  external set insetArea(String value);
+  external String get insetArea;
   external set insetBlock(String value);
   external String get insetBlock;
   external set insetBlockEnd(String value);
@@ -809,8 +813,6 @@
   external String get justifyItems;
   external set justifySelf(String value);
   external String get justifySelf;
-  external set justifyTracks(String value);
-  external String get justifyTracks;
   external set layoutOrder(String value);
   external String get layoutOrder;
   external set left(String value);
diff --git a/tool/update_bindings.dart b/tool/update_bindings.dart
index 29792ee..3e480fa 100644
--- a/tool/update_bindings.dart
+++ b/tool/update_bindings.dart
@@ -98,26 +98,18 @@
 
   final sourceContent = readmeFile.readAsStringSync();
 
-  final replaceRegexp = RegExp(
-    '''
-${RegExp.escape(_startComment)}
-.*
-${RegExp.escape(_endComment)}
-''',
-    multiLine: true,
-  );
-
-  final idlVersion = _webRefIdlVersion();
-
-  final idlReference = 'Based on [`$_webRefIdl $idlVersion`]'
-      '(https://www.npmjs.com/package/$_webRefIdl/v/$idlVersion).';
-
-  final newContent = sourceContent.replaceFirst(replaceRegexp, '''
+  final idlVersion = _packageLockVersion(_webRefIdl);
+  final cssVersion = _packageLockVersion(_webRefCss);
+  final versions = '''
 $_startComment
-$idlReference
-$_endComment
-''');
+- $_webRefIdl [$idlVersion](https://www.npmjs.com/package/$_webRefIdl/v/$idlVersion)
+- $_webRefCss [$cssVersion](https://www.npmjs.com/package/$_webRefCss/v/$cssVersion)
+''';
 
+  final newContent =
+      sourceContent.substring(0, sourceContent.indexOf(_startComment)) +
+          versions +
+          sourceContent.substring(sourceContent.indexOf(_endComment));
   if (newContent == sourceContent) {
     print(ansi.styleBold.wrap('No update for readme.'));
   } else {
@@ -126,21 +118,21 @@
   }
 }
 
-String _webRefIdlVersion() {
+String _packageLockVersion(String package) {
   final packageLockData = jsonDecode(
     File(p.join(_bindingsGeneratorPath, 'package-lock.json'))
         .readAsStringSync(),
   ) as Map<String, dynamic>;
 
   final packages = packageLockData['packages'] as Map<String, dynamic>;
-  final webRefIdl =
-      packages['node_modules/$_webRefIdl'] as Map<String, dynamic>;
+  final webRefIdl = packages['node_modules/$package'] as Map<String, dynamic>;
   return webRefIdl['version'] as String;
 }
 
 const _bindingsGeneratorPath = 'bindings_generator';
 
 const _webRefIdl = '@webref/idl';
+const _webRefCss = '@webref/css';
 
 const _thisScript = 'tool/update_bindings.dart';