{
  "atrules": [
    {
      "name": "@-webkit-keyframes",
      "href": "https://compat.spec.whatwg.org/#at-ruledef--webkit-keyframes",
      "descriptors": [],
      "extended": []
    },
    {
      "descriptors": [],
      "name": "@annotation",
      "href": "https://drafts.csswg.org/css-fonts-4/#at-ruledef-font-feature-values-annotation",
      "for": [
        "@font-feature-values"
      ],
      "syntax": "@annotation { <declaration-list> }",
      "extended": []
    },
    {
      "name": "@apply",
      "href": "https://drafts.csswg.org/css-mixins-1/#at-ruledef-apply",
      "descriptors": [],
      "syntax": "@apply [ <dashed-ident> | <dashed-function> ] [ { <declaration-list> } ]?;",
      "extended": []
    },
    {
      "name": "@bottom-center",
      "href": "https://drafts.csswg.org/css-page-3/#at-ruledef-bottom-center",
      "descriptors": [],
      "syntax": "@bottom-center { <declaration-list> };",
      "extended": []
    },
    {
      "name": "@bottom-left",
      "href": "https://drafts.csswg.org/css-page-3/#at-ruledef-bottom-left",
      "descriptors": [],
      "syntax": "@bottom-left { <declaration-list> };",
      "extended": []
    },
    {
      "name": "@bottom-left-corner",
      "href": "https://drafts.csswg.org/css-page-3/#at-ruledef-bottom-left-corner",
      "descriptors": [],
      "syntax": "@bottom-left-corner { <declaration-list> };",
      "extended": []
    },
    {
      "name": "@bottom-right",
      "href": "https://drafts.csswg.org/css-page-3/#at-ruledef-bottom-right",
      "descriptors": [],
      "syntax": "@bottom-right { <declaration-list> };",
      "extended": []
    },
    {
      "name": "@bottom-right-corner",
      "href": "https://drafts.csswg.org/css-page-3/#at-ruledef-bottom-right-corner",
      "descriptors": [],
      "syntax": "@bottom-right-corner { <declaration-list> };",
      "extended": []
    },
    {
      "descriptors": [],
      "name": "@character-variant",
      "href": "https://drafts.csswg.org/css-fonts-4/#at-ruledef-font-feature-values-character-variant",
      "for": [
        "@font-feature-values"
      ],
      "syntax": "@character-variant { <declaration-list> }",
      "extended": []
    },
    {
      "name": "@charset",
      "prose": "However, there is no actual at-rule named @charset. When a stylesheet is actually parsed, any occurrences of an @charset rule must be treated as an unrecognized rule, and thus dropped as invalid when the stylesheet is grammar-checked.",
      "href": "https://drafts.csswg.org/css-syntax-3/#at-ruledef-charset",
      "descriptors": [],
      "extended": []
    },
    {
      "name": "@color-profile",
      "prose": "The @color-profile rule defines and names a color profile which can later be used in the color() function to specify a color.",
      "href": "https://drafts.csswg.org/css-color-5/#at-ruledef-profile",
      "descriptors": [
        {
          "name": "components",
          "href": "https://drafts.csswg.org/css-color-5/#descdef-color-profile-components",
          "for": "@color-profile",
          "initial": "n/a",
          "syntax": "<ident>#"
        },
        {
          "name": "rendering-intent",
          "href": "https://drafts.csswg.org/css-color-5/#descdef-color-profile-rendering-intent",
          "for": "@color-profile",
          "initial": "relative-colorimetric",
          "syntax": "relative-colorimetric | absolute-colorimetric | perceptual | saturation"
        },
        {
          "name": "src",
          "href": "https://drafts.csswg.org/css-color-5/#descdef-color-profile-src",
          "for": "@color-profile",
          "initial": "n/a",
          "syntax": "<url>"
        }
      ],
      "syntax": "@color-profile [<dashed-ident> | device-cmyk] { <declaration-list> }",
      "extended": []
    },
    {
      "name": "@container",
      "prose": "The @container rule is a conditional group rule whose condition contains a container query, which is a boolean combination of container size queries and/or container style queries. Style declarations within the @container rule are filtered by its condition to only match when the container query is true for their element’s query container.",
      "href": "https://drafts.csswg.org/css-conditional-5/#at-ruledef-container",
      "descriptors": [
        {
          "name": "aspect-ratio",
          "href": "https://drafts.csswg.org/css-conditional-5/#descdef-container-aspect-ratio",
          "for": "@container",
          "type": "range",
          "syntax": "<ratio>"
        },
        {
          "name": "block-size",
          "href": "https://drafts.csswg.org/css-conditional-5/#descdef-container-block-size",
          "for": "@container",
          "type": "range",
          "syntax": "<length>"
        },
        {
          "name": "fallback",
          "href": "https://drafts.csswg.org/css-anchor-position-2/#descdef-container-fallback",
          "for": "@container",
          "type": "discrete",
          "syntax": "none | [ [<dashed-ident> || <try-tactic>] | <position-area-query> ]"
        },
        {
          "name": "height",
          "href": "https://drafts.csswg.org/css-conditional-5/#descdef-container-height",
          "for": "@container",
          "type": "range",
          "syntax": "<length>"
        },
        {
          "name": "inline-size",
          "href": "https://drafts.csswg.org/css-conditional-5/#descdef-container-inline-size",
          "for": "@container",
          "type": "range",
          "syntax": "<length>"
        },
        {
          "name": "orientation",
          "href": "https://drafts.csswg.org/css-conditional-5/#descdef-container-orientation",
          "for": "@container",
          "type": "discrete",
          "syntax": "portrait | landscape"
        },
        {
          "name": "scrollable",
          "href": "https://drafts.csswg.org/css-conditional-5/#descdef-container-scrollable",
          "for": "@container",
          "type": "discrete",
          "syntax": "none | top | right | bottom | left | block-start | inline-start | block-end | inline-end | x | y | block | inline"
        },
        {
          "name": "scrolled",
          "href": "https://drafts.csswg.org/css-conditional-5/#descdef-container-scrolled",
          "for": "@container",
          "type": "discrete",
          "syntax": "none | top | right | bottom | left | block-start | inline-start | block-end | inline-end | x | y | block | inline"
        },
        {
          "name": "snapped",
          "href": "https://drafts.csswg.org/css-conditional-5/#descdef-container-snapped",
          "for": "@container",
          "type": "discrete",
          "syntax": "none | x | y | block | inline | both"
        },
        {
          "name": "stuck",
          "href": "https://drafts.csswg.org/css-conditional-5/#descdef-container-stuck",
          "for": "@container",
          "type": "discrete",
          "syntax": "none | top | right | bottom | left | block-start | inline-start | block-end | inline-end"
        },
        {
          "name": "width",
          "href": "https://drafts.csswg.org/css-conditional-5/#descdef-container-width",
          "for": "@container",
          "type": "range",
          "syntax": "<length>"
        }
      ],
      "syntax": "@container <container-condition># { <rule-list> }",
      "extended": []
    },
    {
      "name": "@contents",
      "href": "https://drafts.csswg.org/css-mixins-1/#at-ruledef-contents",
      "descriptors": [],
      "syntax": "@contents [ { <declaration-list> } ]?",
      "extended": []
    },
    {
      "name": "@counter-style",
      "prose": "The @counter-style rule allows authors to define a custom counter style. The components of a counter style are specified by descriptors in the @counter-style rule. The algorithm is specified implicitly by a combination of the system, symbols, and additive-symbols properties.",
      "href": "https://drafts.csswg.org/css-counter-styles-3/#at-ruledef-counter-style",
      "descriptors": [
        {
          "name": "additive-symbols",
          "href": "https://drafts.csswg.org/css-counter-styles-3/#descdef-counter-style-additive-symbols",
          "for": "@counter-style",
          "initial": "n/a",
          "syntax": "[ <integer [0,∞]> && <symbol> ]#"
        },
        {
          "name": "fallback",
          "href": "https://drafts.csswg.org/css-counter-styles-3/#descdef-counter-style-fallback",
          "for": "@counter-style",
          "initial": "decimal",
          "syntax": "<counter-style-name>"
        },
        {
          "name": "negative",
          "href": "https://drafts.csswg.org/css-counter-styles-3/#descdef-counter-style-negative",
          "for": "@counter-style",
          "initial": "\"-\"",
          "syntax": "<symbol> <symbol>?"
        },
        {
          "name": "pad",
          "href": "https://drafts.csswg.org/css-counter-styles-3/#descdef-counter-style-pad",
          "for": "@counter-style",
          "initial": "0 \"\"",
          "syntax": "<integer [0,∞]> && <symbol>"
        },
        {
          "name": "prefix",
          "href": "https://drafts.csswg.org/css-counter-styles-3/#descdef-counter-style-prefix",
          "for": "@counter-style",
          "initial": "\"\"",
          "syntax": "<symbol>"
        },
        {
          "name": "range",
          "href": "https://drafts.csswg.org/css-counter-styles-3/#descdef-counter-style-range",
          "for": "@counter-style",
          "initial": "auto",
          "syntax": "[ [ <integer> | infinite ]{2} ]# | auto"
        },
        {
          "name": "speak-as",
          "href": "https://drafts.csswg.org/css-counter-styles-3/#descdef-counter-style-speak-as",
          "for": "@counter-style",
          "initial": "auto",
          "syntax": "auto | bullets | numbers | words | spell-out | <counter-style-name>"
        },
        {
          "name": "suffix",
          "href": "https://drafts.csswg.org/css-counter-styles-3/#descdef-counter-style-suffix",
          "for": "@counter-style",
          "initial": "\". \"",
          "syntax": "<symbol>"
        },
        {
          "name": "symbols",
          "href": "https://drafts.csswg.org/css-counter-styles-3/#descdef-counter-style-symbols",
          "for": "@counter-style",
          "initial": "n/a",
          "syntax": "<symbol>+"
        },
        {
          "name": "system",
          "href": "https://drafts.csswg.org/css-counter-styles-3/#descdef-counter-style-system",
          "for": "@counter-style",
          "initial": "symbolic",
          "syntax": "cyclic | numeric | alphabetic | symbolic | additive | [fixed <integer>?] | [ extends <counter-style-name> ]"
        }
      ],
      "syntax": "@counter-style <counter-style-name> { <declaration-list> }",
      "extended": []
    },
    {
      "name": "@custom-media",
      "href": "https://drafts.csswg.org/mediaqueries-5/#at-ruledef-custom-media",
      "descriptors": [],
      "syntax": "@custom-media <extension-name> [ <media-query-list> | true | false ] ;",
      "extended": []
    },
    {
      "name": "@custom-selector",
      "href": "https://drafts.csswg.org/css-extensions-1/#at-ruledef-custom-selector",
      "descriptors": [],
      "syntax": "@custom-selector <custom-selector> <selector-list> ;",
      "extended": []
    },
    {
      "name": "@else",
      "prose": "The @else rule is a conditional group rule used to form conditional rule chains, which associate multiple conditional group rules and guarantee that only the first one that matches will evaluate its condition as true. It is defined as:",
      "href": "https://drafts.csswg.org/css-conditional-5/#at-ruledef-else",
      "descriptors": [],
      "syntax": "@else <boolean-condition>? { <rule-list> }",
      "extended": []
    },
    {
      "name": "@font-face",
      "href": "https://drafts.csswg.org/css-fonts-4/#at-font-face-rule",
      "descriptors": [
        {
          "name": "ascent-override",
          "href": "https://drafts.csswg.org/css-fonts-5/#descdef-font-face-ascent-override",
          "for": "@font-face",
          "initial": "normal",
          "syntax": "[ normal | <percentage [0,∞]> ]{1,2}"
        },
        {
          "name": "descent-override",
          "href": "https://drafts.csswg.org/css-fonts-5/#descdef-font-face-descent-override",
          "for": "@font-face",
          "initial": "normal",
          "syntax": "[ normal | <percentage [0,∞]> ]{1,2}"
        },
        {
          "name": "font-display",
          "href": "https://drafts.csswg.org/css-fonts-4/#descdef-font-face-font-display",
          "for": "@font-face",
          "initial": "auto",
          "syntax": "auto | block | swap | fallback | optional"
        },
        {
          "name": "font-family",
          "href": "https://drafts.csswg.org/css-fonts-4/#descdef-font-face-font-family",
          "for": "@font-face",
          "initial": "N/A",
          "syntax": "<font-family-name>"
        },
        {
          "name": "font-feature-settings",
          "href": "https://drafts.csswg.org/css-fonts-4/#descdef-font-face-font-feature-settings",
          "for": "@font-face",
          "initial": "normal",
          "syntax": "normal | <feature-tag-value>#"
        },
        {
          "name": "font-language-override",
          "href": "https://drafts.csswg.org/css-fonts-4/#descdef-font-face-font-language-override",
          "for": "@font-face",
          "initial": "normal",
          "syntax": "normal | <string>"
        },
        {
          "name": "font-named-instance",
          "href": "https://drafts.csswg.org/css-fonts-4/#descdef-font-face-font-named-instance",
          "for": "@font-face",
          "initial": "auto",
          "syntax": "auto | <string>"
        },
        {
          "name": "font-size",
          "href": "https://drafts.csswg.org/css-fonts-5/#descdef-font-face-font-size",
          "for": "@font-face",
          "initial": "auto",
          "syntax": "auto | [<number>]{1,2}"
        },
        {
          "name": "font-style",
          "href": "https://drafts.csswg.org/css-fonts-4/#descdef-font-face-font-style",
          "for": "@font-face",
          "initial": "auto",
          "syntax": "auto | normal | italic | left | right | oblique [ <angle [-90deg,90deg]>{1,2} ]?"
        },
        {
          "name": "font-variation-settings",
          "href": "https://drafts.csswg.org/css-fonts-4/#descdef-font-face-font-variation-settings",
          "for": "@font-face",
          "initial": "normal",
          "syntax": "normal | [ <string> <number>]#"
        },
        {
          "name": "font-weight",
          "href": "https://drafts.csswg.org/css-fonts-4/#descdef-font-face-font-weight",
          "for": "@font-face",
          "initial": "auto",
          "syntax": "auto | <font-weight-absolute>{1,2}"
        },
        {
          "name": "font-width",
          "href": "https://drafts.csswg.org/css-fonts-4/#descdef-font-face-font-width",
          "for": "@font-face",
          "initial": "auto",
          "syntax": "auto | <'font-width'>{1,2}"
        },
        {
          "name": "line-gap-override",
          "href": "https://drafts.csswg.org/css-fonts-5/#descdef-font-face-line-gap-override",
          "for": "@font-face",
          "initial": "normal",
          "syntax": "[ normal | <percentage [0,∞]> ]{1,2}"
        },
        {
          "name": "size-adjust",
          "href": "https://drafts.csswg.org/css-fonts-5/#descdef-font-face-size-adjust",
          "for": "@font-face",
          "initial": "100%",
          "syntax": "<percentage [0,∞]>"
        },
        {
          "name": "src",
          "href": "https://drafts.csswg.org/css-fonts-4/#descdef-font-face-src",
          "for": "@font-face",
          "initial": "N/A",
          "syntax": "<font-src-list>"
        },
        {
          "name": "subscript-position-override",
          "href": "https://drafts.csswg.org/css-fonts-5/#descdef-font-face-subscript-position-override",
          "for": "@font-face",
          "initial": "normal",
          "syntax": "[ normal | from-font | <percentage> ]{1,2}"
        },
        {
          "name": "subscript-size-override",
          "href": "https://drafts.csswg.org/css-fonts-5/#descdef-font-face-subscript-size-override",
          "for": "@font-face",
          "initial": "normal",
          "syntax": "[ normal | from-font | <percentage [0,∞]> ]{1,2}"
        },
        {
          "name": "superscript-position-override",
          "href": "https://drafts.csswg.org/css-fonts-5/#descdef-font-face-superscript-position-override",
          "for": "@font-face",
          "initial": "normal",
          "syntax": "[ normal | from-font | <percentage> ]{1,2}"
        },
        {
          "name": "superscript-size-override",
          "href": "https://drafts.csswg.org/css-fonts-5/#descdef-font-face-superscript-size-override",
          "for": "@font-face",
          "initial": "normal",
          "syntax": "[ normal | from-font | <percentage [0,∞]> ]{1,2}"
        },
        {
          "name": "unicode-range",
          "href": "https://drafts.csswg.org/css-fonts-4/#descdef-font-face-unicode-range",
          "for": "@font-face",
          "initial": "U+0-10FFFF",
          "syntax": "<unicode-range-token>#"
        }
      ],
      "syntax": "@font-face { <declaration-list> }",
      "extended": []
    },
    {
      "name": "@font-feature-values",
      "href": "https://drafts.csswg.org/css-fonts-4/#at-ruledef-font-feature-values",
      "descriptors": [
        {
          "name": "font-display",
          "href": "https://drafts.csswg.org/css-fonts-4/#descdef-font-feature-values-font-display",
          "for": "@font-feature-values",
          "initial": "auto",
          "syntax": "auto | block | swap | fallback | optional"
        }
      ],
      "syntax": "@font-feature-values <font-family-name># { <declaration-rule-list> }",
      "extended": []
    },
    {
      "name": "@font-palette-values",
      "prose": "The @font-palette-values rule defines a color palette and associates that color palette with a specific font. This allows a web author to select arbitrary <color>s to use inside a color font rather than being limited to the preexisting palettes inside font files.",
      "href": "https://drafts.csswg.org/css-fonts-4/#at-ruledef-font-palette-values",
      "descriptors": [
        {
          "name": "base-palette",
          "href": "https://drafts.csswg.org/css-fonts-4/#descdef-font-palette-values-base-palette",
          "for": "@font-palette-values",
          "initial": "N/A",
          "syntax": "light | dark | <integer [0,∞]>"
        },
        {
          "name": "font-family",
          "href": "https://drafts.csswg.org/css-fonts-4/#descdef-font-palette-values-font-family",
          "for": "@font-palette-values",
          "initial": "N/A",
          "syntax": "<font-family-name>#"
        },
        {
          "name": "override-colors",
          "href": "https://drafts.csswg.org/css-fonts-4/#descdef-font-palette-values-override-colors",
          "for": "@font-palette-values",
          "initial": "N/A",
          "syntax": "[ <integer [0,∞]> <color> ]#"
        }
      ],
      "syntax": "@font-palette-values <dashed-ident> { <declaration-list> }",
      "extended": []
    },
    {
      "name": "@function",
      "href": "https://drafts.csswg.org/css-mixins-1/#at-ruledef-function",
      "descriptors": [
        {
          "name": "result",
          "href": "https://drafts.csswg.org/css-mixins-1/#descdef-function-result",
          "for": "@function",
          "initial": "n/a (see prose)",
          "syntax": "<declaration-value>?"
        }
      ],
      "syntax": "@function <function-token> <function-parameter>#? ) [ returns <css-type> ]? { <declaration-rule-list> }",
      "extended": []
    },
    {
      "descriptors": [],
      "name": "@historical-forms",
      "href": "https://drafts.csswg.org/css-fonts-4/#at-ruledef-font-feature-values-historical-forms",
      "for": [
        "@font-feature-values"
      ],
      "syntax": "@historical-forms { <declaration-list> }",
      "extended": []
    },
    {
      "name": "@import",
      "prose": "The @import rule allows users to import style rules from other style sheets. If an @import rule refers to a valid stylesheet, user agents must treat the contents of the stylesheet as if they were written in place of the @import rule, with two exceptions:",
      "href": "https://drafts.csswg.org/css-cascade-6/#at-ruledef-import",
      "descriptors": [],
      "syntax": "@import [ <url> | <string> ] [[ layer | layer( <layer-name> ) ] || [ scope | scope( <scope-start> | <scope-boundaries> ) ] || <supports-import-condition>]? <media-import-condition> ;",
      "extended": []
    },
    {
      "name": "@keyframes",
      "prose": "Keyframes are specified using the @keyframes at-rule, defined as follows:",
      "href": "https://drafts.csswg.org/css-animations-1/#at-ruledef-keyframes",
      "descriptors": [],
      "syntax": "@keyframes <keyframes-name> { <qualified-rule-list> }",
      "extended": []
    },
    {
      "name": "@layer",
      "prose": "The @layer rule declares a cascade layer, with the option to assign style rules.",
      "href": "https://drafts.csswg.org/css-cascade-5/#at-ruledef-layer",
      "descriptors": [],
      "syntax": "@layer <layer-name>? { <rule-list> } | @layer <layer-name>#;",
      "extended": []
    },
    {
      "name": "@left-bottom",
      "href": "https://drafts.csswg.org/css-page-3/#at-ruledef-left-bottom",
      "descriptors": [],
      "syntax": "@left-bottom { <declaration-list> };",
      "extended": []
    },
    {
      "name": "@left-middle",
      "href": "https://drafts.csswg.org/css-page-3/#at-ruledef-left-middle",
      "descriptors": [],
      "syntax": "@left-middle { <declaration-list> };",
      "extended": []
    },
    {
      "name": "@left-top",
      "href": "https://drafts.csswg.org/css-page-3/#at-ruledef-left-top",
      "descriptors": [],
      "syntax": "@left-top { <declaration-list> };",
      "extended": []
    },
    {
      "name": "@macro",
      "href": "https://drafts.csswg.org/css-mixins-1/#macro-rule",
      "descriptors": [],
      "syntax": "@macro <dashed-ident> { <declaration-rule-list> }",
      "extended": []
    },
    {
      "name": "@media",
      "prose": "The @media rule is a conditional group rule whose condition is a media query. Its syntax is:",
      "href": "https://drafts.csswg.org/css-conditional-3/#at-ruledef-media",
      "descriptors": [
        {
          "name": "-webkit-device-pixel-ratio",
          "href": "https://compat.spec.whatwg.org/#descdef-media--webkit-device-pixel-ratio",
          "for": "@media",
          "type": "range",
          "syntax": "<number>"
        },
        {
          "name": "-webkit-transform-3d",
          "href": "https://compat.spec.whatwg.org/#descdef-media--webkit-transform-3d",
          "for": "@media",
          "type": "discrete",
          "syntax": "<mq-boolean>"
        },
        {
          "name": "any-hover",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-any-hover",
          "for": "@media",
          "type": "discrete",
          "syntax": "none | hover"
        },
        {
          "name": "any-pointer",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-any-pointer",
          "for": "@media",
          "type": "discrete",
          "syntax": "none | coarse | fine"
        },
        {
          "name": "aspect-ratio",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-aspect-ratio",
          "for": "@media",
          "type": "range",
          "syntax": "<ratio>"
        },
        {
          "name": "color",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-color",
          "for": "@media",
          "type": "range",
          "syntax": "<integer>"
        },
        {
          "name": "color-gamut",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-color-gamut",
          "for": "@media",
          "type": "discrete",
          "syntax": "srgb | p3 | rec2020"
        },
        {
          "name": "color-index",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-color-index",
          "for": "@media",
          "type": "range",
          "syntax": "<integer>"
        },
        {
          "name": "device-aspect-ratio",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-device-aspect-ratio",
          "for": "@media",
          "type": "range",
          "syntax": "<ratio>"
        },
        {
          "name": "device-height",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-device-height",
          "for": "@media",
          "type": "range",
          "syntax": "<length>"
        },
        {
          "name": "device-width",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-device-width",
          "for": "@media",
          "type": "range",
          "syntax": "<length>"
        },
        {
          "name": "display-mode",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-display-mode",
          "for": "@media",
          "type": "discrete",
          "syntax": "fullscreen | standalone | minimal-ui | browser | picture-in-picture"
        },
        {
          "name": "display-state",
          "href": "https://w3c.github.io/window-management/#descdef-media-display-state",
          "for": "@media",
          "type": "discrete",
          "syntax": "normal | minimized | maximized | fullscreen"
        },
        {
          "name": "dynamic-range",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-dynamic-range",
          "for": "@media",
          "type": "discrete",
          "syntax": "standard | high"
        },
        {
          "name": "environment-blending",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-environment-blending",
          "for": "@media",
          "type": "discrete",
          "syntax": "opaque | additive | subtractive"
        },
        {
          "name": "forced-colors",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-forced-colors",
          "for": "@media",
          "type": "discrete",
          "syntax": "none | active"
        },
        {
          "name": "grid",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-grid",
          "for": "@media",
          "type": "discrete",
          "syntax": "<mq-boolean>"
        },
        {
          "name": "height",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-height",
          "for": "@media",
          "type": "range",
          "syntax": "<length>"
        },
        {
          "name": "horizontal-viewport-segments",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-horizontal-viewport-segments",
          "for": "@media",
          "type": "range",
          "syntax": "<integer>"
        },
        {
          "name": "hover",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-hover",
          "for": "@media",
          "type": "discrete",
          "syntax": "none | hover"
        },
        {
          "name": "inverted-colors",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-inverted-colors",
          "for": "@media",
          "type": "discrete",
          "syntax": "none | inverted"
        },
        {
          "name": "monochrome",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-monochrome",
          "for": "@media",
          "type": "range",
          "syntax": "<integer>"
        },
        {
          "name": "nav-controls",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-nav-controls",
          "for": "@media",
          "type": "discrete",
          "syntax": "none | back"
        },
        {
          "name": "orientation",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-orientation",
          "for": "@media",
          "type": "discrete",
          "syntax": "portrait | landscape"
        },
        {
          "name": "overflow-block",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-overflow-block",
          "for": "@media",
          "type": "discrete",
          "syntax": "none | scroll | paged"
        },
        {
          "name": "overflow-inline",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-overflow-inline",
          "for": "@media",
          "type": "discrete",
          "syntax": "none | scroll"
        },
        {
          "name": "pointer",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-pointer",
          "for": "@media",
          "type": "discrete",
          "syntax": "none | coarse | fine"
        },
        {
          "name": "prefers-color-scheme",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-prefers-color-scheme",
          "for": "@media",
          "type": "discrete",
          "syntax": "light | dark"
        },
        {
          "name": "prefers-contrast",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-prefers-contrast",
          "for": "@media",
          "type": "discrete",
          "syntax": "no-preference | less | more | custom"
        },
        {
          "name": "prefers-reduced-data",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-prefers-reduced-data",
          "for": "@media",
          "type": "discrete",
          "syntax": "no-preference | reduce"
        },
        {
          "name": "prefers-reduced-motion",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-prefers-reduced-motion",
          "for": "@media",
          "type": "discrete",
          "syntax": "no-preference | reduce"
        },
        {
          "name": "prefers-reduced-transparency",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-prefers-reduced-transparency",
          "for": "@media",
          "type": "discrete",
          "syntax": "no-preference | reduce"
        },
        {
          "name": "resizable",
          "href": "https://w3c.github.io/window-management/#descdef-media-resizable",
          "for": "@media",
          "type": "discrete",
          "syntax": "true | false"
        },
        {
          "name": "resolution",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-resolution",
          "for": "@media",
          "type": "range",
          "syntax": "<resolution> | infinite"
        },
        {
          "name": "scan",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-scan",
          "for": "@media",
          "type": "discrete",
          "syntax": "interlace | progressive"
        },
        {
          "name": "scripting",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-scripting",
          "for": "@media",
          "type": "discrete",
          "syntax": "none | initial-only | enabled"
        },
        {
          "name": "shape",
          "href": "https://drafts.csswg.org/css-round-display-1/#descdef-media-shape",
          "for": "@media",
          "type": "discrete",
          "syntax": "rect | round"
        },
        {
          "name": "ua-color-scheme",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-ua-color-scheme",
          "for": "@media",
          "type": "discrete",
          "syntax": "light | dark"
        },
        {
          "name": "update",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-update",
          "for": "@media",
          "type": "discrete",
          "syntax": "none | slow | fast"
        },
        {
          "name": "vertical-viewport-segments",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-vertical-viewport-segments",
          "for": "@media",
          "type": "range",
          "syntax": "<integer>"
        },
        {
          "name": "video-color-gamut",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-video-color-gamut",
          "for": "@media",
          "type": "discrete",
          "syntax": "srgb | p3 | rec2020"
        },
        {
          "name": "video-dynamic-range",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-video-dynamic-range",
          "for": "@media",
          "type": "discrete",
          "syntax": "standard | high"
        },
        {
          "name": "width",
          "href": "https://drafts.csswg.org/mediaqueries-5/#descdef-media-width",
          "for": "@media",
          "type": "range",
          "syntax": "<length>"
        }
      ],
      "syntax": "@media <media-query-list> { <rule-list> }",
      "extended": []
    },
    {
      "name": "@mixin",
      "href": "https://drafts.csswg.org/css-mixins-1/#at-ruledef-mixin",
      "descriptors": [],
      "syntax": "@mixin <function-token> <function-parameter>#? ) { <declaration-rule-list> }",
      "extended": []
    },
    {
      "name": "@namespace",
      "prose": "The @namespace at-rule declares a namespace prefix and associates it with a given namespace name (a string). This namespace prefix can then be used in namespace-qualified names such as the CSS qualified names defined below.",
      "href": "https://drafts.csswg.org/css-namespaces-3/#at-ruledef-namespace",
      "descriptors": [],
      "syntax": "@namespace <namespace-prefix>? [ <string> | <url> ] ;",
      "extended": []
    },
    {
      "name": "@navigation",
      "prose": "The @navigation rule is a conditional group rule whose condition tests characteristics of the current URL or of the state of navigation between two URLs. These queries are called navigation queries.",
      "href": "https://drafts.csswg.org/css-navigation-1/#at-ruledef-navigation",
      "descriptors": [],
      "syntax": "@navigation <navigation-condition> { <rule-list> }",
      "extended": []
    },
    {
      "descriptors": [],
      "name": "@ornaments",
      "href": "https://drafts.csswg.org/css-fonts-4/#at-ruledef-font-feature-values-ornaments",
      "for": [
        "@font-feature-values"
      ],
      "syntax": "@ornaments { <declaration-list> }",
      "extended": []
    },
    {
      "name": "@page",
      "prose": "Authors can specify various aspects of a page box, such as its dimensions, orientation, and margins, within an @page rule. @page rules are allowed wherever rule-sets are allowed. An @page rule consists of the keyword @page, an optional comma-separated list of page selectors and a block of declarations (said to be in the page context). An @page rule can also contain other at-rules, interleaved between declarations. The current level of this specification only allows margin at-rules inside @page.",
      "href": "https://drafts.csswg.org/css-page-3/#at-ruledef-page",
      "descriptors": [
        {
          "name": "bleed",
          "href": "https://drafts.csswg.org/css-page-3/#descdef-page-bleed",
          "for": "@page",
          "initial": "auto",
          "computedValue": "as specified",
          "syntax": "auto | <length>"
        },
        {
          "name": "marks",
          "href": "https://drafts.csswg.org/css-page-3/#descdef-page-marks",
          "for": "@page",
          "initial": "none",
          "computedValue": "as specified",
          "syntax": "none | [ crop || cross ]"
        },
        {
          "name": "page-margin-safety",
          "href": "https://drafts.csswg.org/css-page-3/#descdef-page-page-margin-safety",
          "for": "@page",
          "initial": "auto",
          "computedValue": "as specified",
          "syntax": "none | clamp | add"
        },
        {
          "name": "page-orientation",
          "href": "https://drafts.csswg.org/css-page-3/#descdef-page-page-orientation",
          "for": "@page",
          "initial": "upright",
          "computedValue": "as specified",
          "syntax": "upright | rotate-left | rotate-right"
        },
        {
          "name": "size",
          "href": "https://drafts.csswg.org/css-page-3/#descdef-page-size",
          "for": "@page",
          "initial": "auto",
          "computedValue": "specified value, with <length>s made absolute.",
          "syntax": "<length [0,∞]>{1,2} | auto | [ <page-size> || [ portrait | landscape ] ]"
        }
      ],
      "syntax": "@page <page-selector-list>? { <declaration-rule-list> }",
      "extended": []
    },
    {
      "name": "@position-try",
      "prose": "The @position-try rule defines a position option with a given name, specifying one or more sets of positioning properties that can be applied to a box via position-try-fallbacks.",
      "href": "https://drafts.csswg.org/css-anchor-position-1/#at-ruledef-position-try",
      "descriptors": [],
      "syntax": "@position-try <dashed-ident> { <declaration-list> }",
      "extended": []
    },
    {
      "name": "@property",
      "href": "https://drafts.css-houdini.org/css-properties-values-api-1/#at-ruledef-property",
      "descriptors": [
        {
          "name": "inherits",
          "href": "https://drafts.css-houdini.org/css-properties-values-api-1/#descdef-property-inherits",
          "for": "@property",
          "initial": "n/a (see prose)",
          "syntax": "true | false"
        },
        {
          "name": "initial-value",
          "href": "https://drafts.css-houdini.org/css-properties-values-api-1/#descdef-property-initial-value",
          "for": "@property",
          "initial": "the guaranteed-invalid value (but see prose)",
          "syntax": "<declaration-value>?"
        },
        {
          "name": "syntax",
          "href": "https://drafts.css-houdini.org/css-properties-values-api-1/#descdef-property-syntax",
          "for": "@property",
          "initial": "n/a (see prose)",
          "syntax": "<string>"
        }
      ],
      "syntax": "@property <custom-property-name> { <declaration-list> }",
      "extended": []
    },
    {
      "name": "@result",
      "href": "https://drafts.csswg.org/css-mixins-1/#result-rule",
      "descriptors": [],
      "syntax": "@result { <declaration-rule-list> }",
      "extended": []
    },
    {
      "name": "@right-bottom",
      "href": "https://drafts.csswg.org/css-page-3/#at-ruledef-right-bottom",
      "descriptors": [],
      "syntax": "@right-bottom { <declaration-list> };",
      "extended": []
    },
    {
      "name": "@right-middle",
      "href": "https://drafts.csswg.org/css-page-3/#at-ruledef-right-middle",
      "descriptors": [],
      "syntax": "@right-middle { <declaration-list> };",
      "extended": []
    },
    {
      "name": "@right-top",
      "href": "https://drafts.csswg.org/css-page-3/#at-ruledef-right-top",
      "descriptors": [],
      "syntax": "@right-top { <declaration-list> };",
      "extended": []
    },
    {
      "name": "@route",
      "prose": "The @route rule is an at-rule that associates an author-defined name with a URL pattern. This name can be referenced in @navigation rules and in :link-to() pseudo-classes.",
      "href": "https://drafts.csswg.org/css-navigation-1/#at-ruledef-route",
      "descriptors": [],
      "syntax": "<route-rule>",
      "extended": []
    },
    {
      "name": "@scope",
      "prose": "Scoped styles are described in CSS using the @scope block at-rule, which declares a scoping root and optional scoping limits associated with a set of style rules.",
      "href": "https://drafts.csswg.org/css-cascade-6/#at-ruledef-scope",
      "descriptors": [],
      "syntax": "@scope <scope-boundaries>? { <block-contents> }",
      "extended": []
    },
    {
      "name": "@starting-style",
      "prose": "The @starting-style rule is a grouping rule. The style rules inside it are used to establish styles to transition from, if the previous style change event did not establish a before-change style for the element whose styles are being computed.",
      "href": "https://drafts.csswg.org/css-transitions-2/#at-ruledef-starting-style",
      "descriptors": [],
      "extended": []
    },
    {
      "descriptors": [],
      "name": "@styleset",
      "href": "https://drafts.csswg.org/css-fonts-4/#at-ruledef-font-feature-values-styleset",
      "for": [
        "@font-feature-values"
      ],
      "syntax": "@styleset { <declaration-list> }",
      "extended": []
    },
    {
      "descriptors": [],
      "name": "@stylistic",
      "href": "https://drafts.csswg.org/css-fonts-4/#at-ruledef-font-feature-values-stylistic",
      "for": [
        "@font-feature-values"
      ],
      "syntax": "@stylistic { <declaration-list> }",
      "extended": []
    },
    {
      "name": "@supports",
      "prose": "The @supports rule is a conditional group rule whose condition tests whether the user agent supports CSS property:value pairs. Authors can use it to write style sheets that use new features when available but degrade gracefully when those features are not supported. These queries are called CSS feature queries or (colloquially) supports queries.",
      "href": "https://drafts.csswg.org/css-conditional-3/#at-ruledef-supports",
      "descriptors": [],
      "syntax": "@supports <supports-condition> { <rule-list> }",
      "extended": []
    },
    {
      "name": "@supports-condition",
      "prose": "The @supports-condition at-rule is a conditional group rule that allows authors to define and name a supports query for later reuse, creating a named supports condition. This enables complex or frequently-used feature queries to be referenced by name, improving maintainability and readability.",
      "href": "https://drafts.csswg.org/css-conditional-5/#at-ruledef-supports-condition",
      "descriptors": [],
      "syntax": "@supports-condition <supports-condition-name> { <block-contents> }",
      "extended": []
    },
    {
      "descriptors": [],
      "name": "@swash",
      "href": "https://drafts.csswg.org/css-fonts-4/#at-ruledef-font-feature-values-swash",
      "for": [
        "@font-feature-values"
      ],
      "syntax": "@swash { <declaration-list> }",
      "extended": []
    },
    {
      "name": "@top-center",
      "href": "https://drafts.csswg.org/css-page-3/#at-ruledef-top-center",
      "descriptors": [],
      "syntax": "@top-center { <declaration-list> };",
      "extended": []
    },
    {
      "name": "@top-left",
      "href": "https://drafts.csswg.org/css-page-3/#at-ruledef-top-left",
      "descriptors": [],
      "syntax": "@top-left { <declaration-list> };",
      "extended": []
    },
    {
      "name": "@top-left-corner",
      "href": "https://drafts.csswg.org/css-page-3/#at-ruledef-top-left-corner",
      "descriptors": [],
      "syntax": "@top-left-corner { <declaration-list> };",
      "extended": []
    },
    {
      "name": "@top-right",
      "href": "https://drafts.csswg.org/css-page-3/#at-ruledef-top-right",
      "descriptors": [],
      "syntax": "@top-right { <declaration-list> };",
      "extended": []
    },
    {
      "name": "@top-right-corner",
      "href": "https://drafts.csswg.org/css-page-3/#at-ruledef-top-right-corner",
      "descriptors": [],
      "syntax": "@top-right-corner { <declaration-list> };",
      "extended": []
    },
    {
      "name": "@view-transition",
      "href": "https://drafts.csswg.org/css-view-transitions-2/#at-view-transition-rule",
      "descriptors": [
        {
          "name": "navigation",
          "href": "https://drafts.csswg.org/css-view-transitions-2/#descdef-view-transition-navigation",
          "for": "@view-transition",
          "initial": "none",
          "syntax": "auto | none"
        },
        {
          "name": "types",
          "href": "https://drafts.csswg.org/css-view-transitions-2/#descdef-view-transition-types",
          "for": "@view-transition",
          "initial": "none",
          "syntax": "none | <view-transition-type>+"
        }
      ],
      "syntax": "@view-transition { <declaration-list> }",
      "extended": []
    },
    {
      "name": "@when",
      "prose": "The @when at-rule is a conditional group rule that generalizes the individual conditional group rules such as @media and @supports. It is defined as:",
      "href": "https://drafts.csswg.org/css-conditional-5/#at-ruledef-when",
      "descriptors": [],
      "syntax": "@when <boolean-condition> { <rule-list> }",
      "extended": []
    }
  ],
  "functions": [
    {
      "name": "-webkit-image-set()",
      "prose": "Implementations must accept -webkit-image-set() as a parse-time alias of image-set(). (It’s a valid value, with identical arguments to image-set(), and is turned into image-set() during parsing.)",
      "href": "https://drafts.csswg.org/css-images-4/#funcdef--webkit-image-set",
      "extended": []
    },
    {
      "name": "abs()",
      "href": "https://drafts.csswg.org/css-values-4/#funcdef-abs",
      "syntax": "abs( <calc-sum> )",
      "extended": []
    },
    {
      "name": "acos()",
      "href": "https://drafts.csswg.org/css-values-4/#funcdef-acos",
      "syntax": "acos( <calc-sum> )",
      "extended": []
    },
    {
      "name": "alpha()",
      "href": "https://drafts.csswg.org/css-color-5/#funcdef-alpha",
      "syntax": "alpha([from <color>] [ / [<alpha-value> | none] ]? )",
      "extended": []
    },
    {
      "name": "anchor-size()",
      "prose": "An absolutely positioned box can use the anchor-size() function in its sizing properties to refer to the size of one or more anchor boxes. The anchor-size() function resolves to a <length>. It is only allowed in the accepted @position-try properties (and is otherwise invalid).",
      "href": "https://drafts.csswg.org/css-anchor-position-1/#funcdef-anchor-size",
      "syntax": "anchor-size( [ <anchor-name> || <anchor-size> ]? , <length-percentage>? )",
      "extended": []
    },
    {
      "name": "anchor()",
      "prose": "An absolutely positioned box can use the anchor() function as a value in its inset properties to refer to the position of one or more anchor boxes. The anchor() function resolves to a <length>. It is only allowed in the inset properties (and is otherwise invalid).",
      "href": "https://drafts.csswg.org/css-anchor-position-1/#funcdef-anchor",
      "syntax": "anchor( <anchor-name>? && <anchor-side>, <length-percentage>? )",
      "extended": []
    },
    {
      "name": "asin()",
      "href": "https://drafts.csswg.org/css-values-4/#funcdef-asin",
      "syntax": "asin( <calc-sum> )",
      "extended": []
    },
    {
      "name": "atan()",
      "href": "https://drafts.csswg.org/css-values-4/#funcdef-atan",
      "syntax": "atan( <calc-sum> )",
      "extended": []
    },
    {
      "name": "atan2()",
      "href": "https://drafts.csswg.org/css-values-4/#funcdef-atan2",
      "syntax": "atan2( <calc-sum>, <calc-sum> )",
      "extended": []
    },
    {
      "name": "attr()",
      "prose": "The attr() function substitutes the value of an attribute on an element into a property, similar to how the var() function substitutes a custom property value into a function.",
      "href": "https://drafts.csswg.org/css-values-5/#funcdef-attr",
      "syntax": "attr( <attr-name> <attr-type>? , <declaration-value>?)",
      "extended": []
    },
    {
      "for": [
        "filter"
      ],
      "name": "blur()",
      "href": "https://drafts.csswg.org/filter-effects-1/#funcdef-filter-blur",
      "syntax": "blur( <length>? )",
      "extended": []
    },
    {
      "for": [
        "filter"
      ],
      "name": "brightness()",
      "href": "https://drafts.csswg.org/filter-effects-1/#funcdef-filter-brightness",
      "syntax": "brightness( [ <number> | <percentage> ]? )",
      "extended": []
    },
    {
      "name": "calc-interpolate()",
      "prose": "The calc-interpolate() interpolation notation represents an interpolated numeric or dimensional value. Like calc(), it is a math function, with the following syntax:",
      "href": "https://drafts.csswg.org/css-values-5/#funcdef-calc-interpolate",
      "syntax": "calc-interpolate( [ <progress-source> && [ by <easing-function> ]? && <easing-function>? ] , <input-position>{1,2} : <calc-sum> , [ <easing-function>? , <input-position>{1,2} : <calc-sum> ]#? )",
      "extended": []
    },
    {
      "name": "calc-mix()",
      "prose": "The calc-mix() mix notation represents a weighted average of numeric or dimensional value. Like calc(), it is a math function, with the following syntactic form:",
      "href": "https://drafts.csswg.org/css-values-5/#funcdef-calc-mix",
      "syntax": "calc-mix( [ <calc-sum> <percentage [0,100]>? ]# )",
      "extended": []
    },
    {
      "name": "calc-size()",
      "href": "https://drafts.csswg.org/css-values-5/#funcdef-calc-size",
      "syntax": "calc-size( <calc-size-basis>, <calc-sum> )",
      "extended": []
    },
    {
      "name": "calc()",
      "prose": "The calc() function is a math function that allows basic arithmetic to be performed on numerical values, using addition (+), subtraction (-), multiplication (*), division (/), and parentheses.",
      "href": "https://drafts.csswg.org/css-values-4/#funcdef-calc",
      "syntax": "calc( <calc-sum> )",
      "extended": []
    },
    {
      "for": [
        "<basic-shape>"
      ],
      "name": "circle()",
      "href": "https://drafts.csswg.org/css-shapes-1/#funcdef-basic-shape-circle",
      "syntax": "circle( <radial-size>? [ at <position> ]? )",
      "extended": []
    },
    {
      "name": "clamp()",
      "prose": "The clamp() function takes three calculations—​a minimum value, a central value, and a maximum value—​and represents its central calculation, clamped according to its min and max calculations, favoring the min calculation if it conflicts with the max. (That is, given clamp(MIN, VAL, MAX), it represents exactly the same value as max(MIN, min(VAL, MAX))).",
      "href": "https://drafts.csswg.org/css-values-4/#funcdef-clamp",
      "syntax": "clamp( [ <calc-sum> | none ], <calc-sum>, [ <calc-sum> | none ] )",
      "extended": []
    },
    {
      "name": "color-interpolate()",
      "prose": "The color-interpolate() interpolation notation represents an interpolated <color> value, with the following syntax:",
      "href": "https://drafts.csswg.org/css-values-5/#funcdef-color-interpolate",
      "syntax": "color-interpolate( [ <progress-source> && [ by <easing-function> ]? && <easing-function>? && <color-interpolation-method>? ] , <input-position>{1,2} : <color>, [ [ <easing-function> || <color-interpolation-method> ]?, <input-position>{1,2} : <color> ]#? )",
      "extended": []
    },
    {
      "name": "color-layers()",
      "prose": "The color-layers() functional notation takes an optional <blend-mode> followed by a list of two or more <color> layers.",
      "href": "https://drafts.csswg.org/css-color-6/#funcdef-color-layers",
      "syntax": "color-layers([ <blend-mode>, ]? <color># )",
      "extended": []
    },
    {
      "name": "color-mix()",
      "href": "https://drafts.csswg.org/css-color-5/#funcdef-color-mix",
      "syntax": "color-mix( <color-interpolation-method>? , [ <color> && <percentage [0,100]>? ]#)",
      "extended": []
    },
    {
      "name": "color()",
      "href": "https://drafts.csswg.org/css-color-5/#funcdef-color",
      "syntax": "color( [from <color>]? <colorspace-params> [ / [ <alpha-value> | none ] ]? )",
      "extended": []
    },
    {
      "name": "conic-gradient()",
      "href": "https://drafts.csswg.org/css-images-4/#funcdef-conic-gradient",
      "syntax": "conic-gradient( [ <conic-gradient-syntax> ] )",
      "extended": []
    },
    {
      "name": "content()",
      "href": "https://drafts.csswg.org/css-content-3/#funcdef-content",
      "syntax": "content( [ text | before | after | first-letter | marker ]? )",
      "extended": []
    },
    {
      "name": "contrast-color()",
      "prose": "The contrast-color() functional notation identifies a sufficiently contrasting color against a specified background or foreground color without requiring manual computation.",
      "href": "https://drafts.csswg.org/css-color-6/#funcdef-contrast-color",
      "syntax": "contrast-color( [ [ <color> && [ tbd-fg | tbd-bg ] && <target-contrast>? ] | [ <color> && [ tbd-fg | tbd-bg ] && <target-contrast>, <color># ] ] )",
      "extended": []
    },
    {
      "for": [
        "filter"
      ],
      "name": "contrast()",
      "href": "https://drafts.csswg.org/filter-effects-1/#funcdef-filter-contrast",
      "syntax": "contrast( [ <number> | <percentage> ]? )",
      "extended": []
    },
    {
      "name": "control-value()",
      "prose": "The control-value() function computes to the current value of the form control it is on. If it is used on an element that is not a form control, it returns an empty string.",
      "href": "https://drafts.csswg.org/css-forms-1/#funcdef-control-value",
      "syntax": "control-value( <type>? )",
      "extended": []
    },
    {
      "name": "cos()",
      "href": "https://drafts.csswg.org/css-values-4/#funcdef-cos",
      "syntax": "cos( <calc-sum> )",
      "extended": []
    },
    {
      "name": "counter()",
      "prose": "Counters have no visible effect by themselves, but their values can be used with the counter() and counters() functions, whose used values represent counter values as strings or images. They are defined as follows:",
      "href": "https://drafts.csswg.org/css-lists-3/#funcdef-counter",
      "syntax": "counter( <counter-name>, <counter-style>? )",
      "extended": []
    },
    {
      "name": "counters()",
      "prose": "Counters have no visible effect by themselves, but their values can be used with the counter() and counters() functions, whose used values represent counter values as strings or images. They are defined as follows:",
      "href": "https://drafts.csswg.org/css-lists-3/#funcdef-counters",
      "syntax": "counters( <counter-name>, <string>, <counter-style>? )",
      "extended": []
    },
    {
      "name": "cross-fade()",
      "href": "https://drafts.csswg.org/css-images-4/#funcdef-cross-fade",
      "syntax": "cross-fade( <cf-image># )",
      "extended": []
    },
    {
      "for": [
        "<request-url-modifier>"
      ],
      "name": "cross-origin()",
      "prose": "<cross-origin-modifier> = cross-origin(anonymous | use-credentials)",
      "href": "https://drafts.csswg.org/css-values-5/#funcdef-request-url-modifier-cross-origin",
      "extended": []
    },
    {
      "name": "cubic-bezier()",
      "href": "https://drafts.csswg.org/css-easing-2/#funcdef-cubic-bezier",
      "syntax": "cubic-bezier( [ <number [0,1]>, <number> ]#{2} )",
      "extended": []
    },
    {
      "name": "device-cmyk()",
      "href": "https://drafts.csswg.org/css-color-5/#funcdef-device-cmyk",
      "syntax": "<legacy-device-cmyk-syntax> | <modern-device-cmyk-syntax>",
      "extended": []
    },
    {
      "for": [
        "filter"
      ],
      "name": "drop-shadow()",
      "href": "https://drafts.csswg.org/filter-effects-1/#funcdef-filter-drop-shadow",
      "syntax": "drop-shadow( [ <color>? && <length>{2,3} ] )",
      "extended": []
    },
    {
      "name": "dynamic-range-limit-mix()",
      "href": "https://drafts.csswg.org/css-color-hdr-1/#funcdef-dynamic-range-limit-mix",
      "syntax": "dynamic-range-limit-mix( [ <'dynamic-range-limit'> && <percentage [0,100]> ]#{2,} )",
      "extended": []
    },
    {
      "name": "element()",
      "href": "https://drafts.csswg.org/css-images-4/#funcdef-element",
      "syntax": "element( <id-selector> )",
      "extended": []
    },
    {
      "for": [
        "<basic-shape>"
      ],
      "name": "ellipse()",
      "href": "https://drafts.csswg.org/css-shapes-1/#funcdef-basic-shape-ellipse",
      "syntax": "ellipse( <radial-size>? [ at <position> ]? )",
      "extended": []
    },
    {
      "name": "env()",
      "href": "https://drafts.csswg.org/css-env-1/#funcdef-env",
      "syntax": "env( <custom-ident> <integer [0,∞]>*, <declaration-value>? )",
      "extended": []
    },
    {
      "name": "exp()",
      "href": "https://drafts.csswg.org/css-values-4/#funcdef-exp",
      "syntax": "exp( <calc-sum> )",
      "extended": []
    },
    {
      "for": [
        "text-overflow"
      ],
      "name": "fade()",
      "href": "https://drafts.csswg.org/css-overflow-4/#funcdef-text-overflow-fade",
      "syntax": "fade( [ <length-percentage> ] )",
      "extended": []
    },
    {
      "name": "filter()",
      "href": "https://drafts.csswg.org/filter-effects-1/#funcdef-filter",
      "syntax": "filter( [ <image> | <string> ], <filter-value-list> )",
      "extended": []
    },
    {
      "name": "first-valid()",
      "prose": "The first-valid() functional notation inlines the fallback behavior intrinsic to parsing declarations. Unlike most notations, it can accept any valid or invalid syntax in its arguments, and represents the first value among its arguments that is supported (parsed as valid) by the UA as the whole value of the property it’s used in.",
      "href": "https://drafts.csswg.org/css-values-5/#funcdef-first-valid",
      "syntax": "first-valid( <declaration-value># )",
      "extended": []
    },
    {
      "for": [
        "grid-template-columns",
        "grid-template-rows"
      ],
      "name": "fit-content()",
      "href": "https://drafts.csswg.org/css-grid-2/#funcdef-grid-template-columns-fit-content",
      "syntax": "fit-content( <length-percentage> )",
      "extended": []
    },
    {
      "for": [
        "height",
        "max-height",
        "max-width",
        "min-height",
        "min-width",
        "width"
      ],
      "name": "fit-content()",
      "href": "https://drafts.csswg.org/css-sizing-3/#funcdef-width-fit-content",
      "syntax": "fit-content(<length-percentage [0,∞]>)",
      "extended": []
    },
    {
      "for": [
        "filter"
      ],
      "name": "grayscale()",
      "href": "https://drafts.csswg.org/filter-effects-1/#funcdef-filter-grayscale",
      "syntax": "grayscale( [ <number> | <percentage> ]? )",
      "extended": []
    },
    {
      "name": "hdr-color()",
      "href": "https://drafts.csswg.org/css-color-hdr-1/#funcdef-hdr-color",
      "syntax": "color-hdr([ <color> && <number [0,∞]>? ]#{2})",
      "extended": []
    },
    {
      "name": "hsl()",
      "href": "https://drafts.csswg.org/css-color-4/#funcdef-hsl",
      "syntax": "[ <legacy-hsl-syntax> | <modern-hsl-syntax> ]",
      "extended": []
    },
    {
      "name": "hsla()",
      "href": "https://drafts.csswg.org/css-color-4/#funcdef-hsla",
      "syntax": "[ <legacy-hsla-syntax> | <modern-hsla-syntax> ]",
      "extended": []
    },
    {
      "for": [
        "filter"
      ],
      "name": "hue-rotate()",
      "href": "https://drafts.csswg.org/filter-effects-1/#funcdef-filter-hue-rotate",
      "syntax": "hue-rotate( [ <angle> | <zero> ]? )",
      "extended": []
    },
    {
      "name": "hwb()",
      "href": "https://drafts.csswg.org/css-color-5/#funcdef-hwb",
      "syntax": "hwb([from <color>]? [<hue> | none] [<percentage> | <number> | none] [<percentage> | <number> | none] [ / [<alpha-value> | none] ]? )",
      "extended": []
    },
    {
      "name": "hypot()",
      "href": "https://drafts.csswg.org/css-values-4/#funcdef-hypot",
      "syntax": "hypot( <calc-sum># )",
      "extended": []
    },
    {
      "name": "ictcp()",
      "href": "https://drafts.csswg.org/css-color-hdr-1/#funcdef-ictcp",
      "syntax": "ictcp([from <color>]? [<percentage> | <number> | none] [<percentage> | <number> | none] [<percentage> | <number> | none] [ / [<alpha-value> | none] ]? )",
      "extended": []
    },
    {
      "name": "ident()",
      "prose": "The ident() function represents an <ident>, and can be used to manually construct <custom-ident> values from several parts.",
      "href": "https://drafts.csswg.org/css-values-5/#funcdef-ident",
      "syntax": "ident( <ident-arg>+ )",
      "extended": []
    },
    {
      "name": "if()",
      "prose": "The if() function is an arbitrary substitution function that represents conditional values. Its argument consists of an ordered semi-colon–separated list of statements, each consisting of a condition followed by a colon followed by a value. An if() function represents the value corresponding to the first condition in its argument list to be true; if no condition matches, then the if() function represents an empty token stream.",
      "href": "https://drafts.csswg.org/css-values-5/#funcdef-if",
      "syntax": "if( [ <if-branch> ; ]* <if-branch> ;? )",
      "extended": []
    },
    {
      "name": "image-set()",
      "prose": "Delivering the most appropriate image resolution for a user’s device can be a difficult task. Ideally, images should be in the same resolution as the device they’re being viewed in, which can vary between users. However, other factors can factor into the decision of which image to send; for example, if the user is on a slow mobile connection, they may prefer to receive lower-res images rather than waiting for a large proper-res image to load. The image-set() function allows an author to ignore most of these issues, simply providing multiple resolutions of an image and letting the UA decide which is most appropriate in a given situation.",
      "href": "https://drafts.csswg.org/css-images-4/#funcdef-image-set",
      "syntax": "image-set( <image-set-option># )",
      "extended": []
    },
    {
      "name": "image()",
      "href": "https://drafts.csswg.org/css-images-5/#funcdef-image",
      "syntax": "image( <image-tags>? [ <image-src>? , <color>? ]! )",
      "extended": []
    },
    {
      "name": "inherit()",
      "prose": "Like the inherit keyword, the inherit() functional notation resolves to the computed value of a property on the parent. Rather than resolving to the value of the same property, however, it resolves to a sequence of component values representing the computed value of the property specified as its first argument. Its second argument, if present, is used as a fallback in case the first argument resolves to the guaranteed-invalid value.",
      "href": "https://drafts.csswg.org/css-values-5/#funcdef-inherit",
      "syntax": "inherit( <custom-property-name>, <declaration-value>? )",
      "extended": []
    },
    {
      "for": [
        "<basic-shape>"
      ],
      "name": "inset()",
      "href": "https://drafts.csswg.org/css-shapes-1/#funcdef-basic-shape-inset",
      "syntax": "inset( <length-percentage>{1,4} [ round <'border-radius'> ]? )",
      "extended": []
    },
    {
      "for": [
        "<request-url-modifier>"
      ],
      "name": "integrity()",
      "prose": "<integrity-modifier> = integrity(<string>)",
      "href": "https://drafts.csswg.org/css-values-5/#funcdef-request-url-modifier-integrity",
      "extended": []
    },
    {
      "name": "interpolate()",
      "prose": "The interpolate() interpolation notation represents the interpolation of entire property values, which supports two alternative syntax patterns:",
      "href": "https://drafts.csswg.org/css-values-5/#funcdef-interpolate",
      "syntax": "interpolate( [ <progress-source> && [ by <easing-function> ]? && <easing-function>? ] , <input-position>{1,2} : <whole-value>, [ <easing-function>?, <input-position>{1,2} : <whole-value> ]#? ) | interpolate( <progress-source> && [ by <easing-function> ]? && <easing-function>? of <keyframes-name> )",
      "extended": []
    },
    {
      "for": [
        "filter"
      ],
      "name": "invert()",
      "href": "https://drafts.csswg.org/filter-effects-1/#funcdef-filter-invert",
      "syntax": "invert( [ <number> | <percentage> ]? )",
      "extended": []
    },
    {
      "name": "jzazbz()",
      "href": "https://drafts.csswg.org/css-color-hdr-1/#funcdef-jzazbz",
      "syntax": "jzazbz([from <color>]? [<percentage> | <number> | none] [<percentage> | <number> | none] [<percentage> | <number> | none] [ / [<alpha-value> | none] ]? )",
      "extended": []
    },
    {
      "name": "jzczhz()",
      "href": "https://drafts.csswg.org/css-color-hdr-1/#funcdef-jzczhz",
      "syntax": "jzczhz([from <color>]? [<percentage> | <number> | none] [<percentage> | <number> | none] [<hue> | none] [ / [<alpha-value> | none] ]? )",
      "extended": []
    },
    {
      "name": "lab()",
      "href": "https://drafts.csswg.org/css-color-5/#funcdef-lab",
      "syntax": "lab([from <color>]? [<percentage> | <number> | none] [<percentage> | <number> | none] [<percentage> | <number> | none] [ / [<alpha-value> | none] ]? )",
      "extended": []
    },
    {
      "name": "lch()",
      "href": "https://drafts.csswg.org/css-color-5/#funcdef-lch",
      "syntax": "lch([from <color>]? [<percentage> | <number> | none] [<percentage> | <number> | none] [<hue> | none] [ / [<alpha-value> | none] ]? )",
      "extended": []
    },
    {
      "name": "leader()",
      "href": "https://drafts.csswg.org/css-content-3/#funcdef-leader",
      "syntax": "leader( <leader-type> )",
      "extended": []
    },
    {
      "name": "light-dark()",
      "href": "https://drafts.csswg.org/css-color-5/#funcdef-light-dark",
      "syntax": "<light-dark-color> | <light-dark-image>",
      "extended": []
    },
    {
      "name": "linear-gradient()",
      "prose": "The linear-gradient() notation specifies a linear gradient in CSS. Its syntax is as follows:",
      "href": "https://drafts.csswg.org/css-images-3/#funcdef-linear-gradient",
      "syntax": "linear-gradient( [ <linear-gradient-syntax> ] )",
      "extended": []
    },
    {
      "name": "linear()",
      "href": "https://drafts.csswg.org/css-easing-2/#funcdef-linear",
      "syntax": "linear( [ <number> && <percentage>{0,2} ]# )",
      "extended": []
    },
    {
      "name": "log()",
      "href": "https://drafts.csswg.org/css-values-4/#funcdef-log",
      "syntax": "log( <calc-sum>, <calc-sum>? )",
      "extended": []
    },
    {
      "for": [
        "transform"
      ],
      "name": "matrix()",
      "href": "https://drafts.csswg.org/css-transforms-1/#funcdef-transform-matrix",
      "syntax": "matrix( <number>#{6} )",
      "extended": []
    },
    {
      "name": "matrix3d()",
      "href": "https://drafts.csswg.org/css-transforms-2/#funcdef-matrix3d",
      "syntax": "matrix3d( <number>#{16} )",
      "extended": []
    },
    {
      "name": "max()",
      "prose": "The min() or max() functions contain one or more comma-separated calculations, and represent the smallest (most negative) or largest (most positive) of them, respectively.",
      "href": "https://drafts.csswg.org/css-values-4/#funcdef-max",
      "syntax": "max( <calc-sum># )",
      "extended": []
    },
    {
      "name": "media()",
      "href": "https://drafts.csswg.org/css-conditional-5/#funcdef-media",
      "syntax": "media( [ <mf-plain> | <mf-boolean> | <mf-range> ] )",
      "extended": []
    },
    {
      "name": "min()",
      "prose": "The min() or max() functions contain one or more comma-separated calculations, and represent the smallest (most negative) or largest (most positive) of them, respectively.",
      "href": "https://drafts.csswg.org/css-values-4/#funcdef-min",
      "syntax": "min( <calc-sum># )",
      "extended": []
    },
    {
      "for": [
        "grid-template-columns",
        "grid-template-rows"
      ],
      "name": "minmax()",
      "href": "https://drafts.csswg.org/css-grid-2/#funcdef-grid-template-columns-minmax",
      "syntax": "minmax(min, max)",
      "extended": []
    },
    {
      "name": "mod()",
      "href": "https://drafts.csswg.org/css-values-4/#funcdef-mod",
      "syntax": "mod( <calc-sum>, <calc-sum> )",
      "extended": []
    },
    {
      "name": "oklab()",
      "href": "https://drafts.csswg.org/css-color-5/#funcdef-oklab",
      "syntax": "oklab([from <color>]? [<percentage> | <number> | none] [<percentage> | <number> | none] [<percentage> | <number> | none] [ / [<alpha-value> | none] ]? )",
      "extended": []
    },
    {
      "name": "oklch()",
      "href": "https://drafts.csswg.org/css-color-5/#funcdef-oklch",
      "syntax": "oklch([from <color>]? [<percentage> | <number> | none] [<percentage> | <number> | none] [<hue> | none] [ / [<alpha-value> | none] ]? )",
      "extended": []
    },
    {
      "for": [
        "filter"
      ],
      "name": "opacity()",
      "href": "https://drafts.csswg.org/filter-effects-1/#funcdef-filter-opacity",
      "syntax": "opacity( [ <number> | <percentage> ]? )",
      "extended": []
    },
    {
      "name": "paint()",
      "href": "https://drafts.css-houdini.org/css-paint-api-1/#funcdef-paint",
      "syntax": "paint( <ident>, <declaration-value>? )",
      "extended": []
    },
    {
      "name": "palette-mix()",
      "prose": "With the palette-mix() function defined as follows:",
      "href": "https://drafts.csswg.org/css-fonts-4/#funcdef-palette-mix",
      "syntax": "palette-mix(<color-interpolation-method> , [ [normal | light | dark | <palette-identifier> | <palette-mix()> ] && <percentage [0,100]>? ]#{2})",
      "extended": []
    },
    {
      "name": "param()",
      "prose": "The param() function specifies a link parameter, with a key of the <dashed-ident>, and a value of the <declaration-value>?. (If the <declaration-value> is omitted, it represents an empty value.) It has the syntax:",
      "href": "https://drafts.csswg.org/css-link-params-1/#funcdef-param",
      "syntax": "param( <dashed-ident> , <declaration-value>? )",
      "extended": []
    },
    {
      "for": [
        "<basic-shape>"
      ],
      "name": "path()",
      "href": "https://drafts.csswg.org/css-shapes-1/#funcdef-basic-shape-path",
      "syntax": "path( <'fill-rule'>? , <string> )",
      "extended": []
    },
    {
      "name": "perspective()",
      "href": "https://drafts.csswg.org/css-transforms-2/#funcdef-perspective",
      "syntax": "perspective( [ <length [0,∞]> | none ] )",
      "extended": []
    },
    {
      "name": "pointer()",
      "prose": "The pointer() functional notation can be used as a <single-animation-timeline> value in animation-timeline and specifies a pointer progress timeline. Its syntax is",
      "href": "https://drafts.csswg.org/pointer-animations-1/#funcdef-pointer",
      "syntax": "pointer( [ <pointer-source> || <pointer-axis> ]? )",
      "extended": []
    },
    {
      "for": [
        "<basic-shape>"
      ],
      "name": "polygon()",
      "href": "https://drafts.csswg.org/css-shapes-1/#funcdef-basic-shape-polygon",
      "syntax": "polygon( <'fill-rule'>? [ round <length> ]? , [<length-percentage> <length-percentage>]# )",
      "extended": []
    },
    {
      "name": "pow()",
      "href": "https://drafts.csswg.org/css-values-4/#funcdef-pow",
      "syntax": "pow( <calc-sum>, <calc-sum> )",
      "extended": []
    },
    {
      "name": "progress()",
      "prose": "The progress() functional notation represents the proportional distance of a given value (the progress value) from one value (the progress start value) to another value (the progress end value), each represented as a calculation. It is a math function, and can be input into other calculations such as a math function or a mix notation. The syntax of progress() is:",
      "href": "https://drafts.csswg.org/css-values-5/#funcdef-progress",
      "syntax": "progress(no-clamp? <calc-sum>, <calc-sum>, <calc-sum>)",
      "extended": []
    },
    {
      "name": "radial-gradient()",
      "prose": "The radial-gradient() notation specifies a radial gradient by indicating the center of the gradient (where the 0% ellipse will be) and the size and shape of the ending shape (the 100% ellipse). Color stops are given as a list, just as for linear-gradient(). Starting from the gradient center and progressing towards (and potentially beyond) the ending shape, uniformly-scaled concentric ellipses are drawn and colored according to the specified color stops.",
      "href": "https://drafts.csswg.org/css-images-3/#funcdef-radial-gradient",
      "syntax": "radial-gradient( [ <radial-gradient-syntax> ] )",
      "extended": []
    },
    {
      "name": "random-item()",
      "prose": "The random-item() function resolves to a random item from among its list of items.",
      "href": "https://drafts.csswg.org/css-values-5/#funcdef-random-item",
      "syntax": "random-item( <random-key> , [ <declaration-value>? ]# )",
      "extended": []
    },
    {
      "name": "random()",
      "prose": "The random() function is a math function that represents a random value between a minimum and maximum value, drawn from a uniform distribution, optionally limiting the possible values to a step between those limits:",
      "href": "https://drafts.csswg.org/css-values-5/#funcdef-random",
      "syntax": "random( <random-key>? , <calc-sum>, <calc-sum>, <calc-sum>? )",
      "extended": []
    },
    {
      "name": "ray()",
      "href": "https://drafts.csswg.org/motion-1/#funcdef-ray",
      "syntax": "ray( <angle> && <ray-size>? && contain? && [at <position>]? )",
      "extended": []
    },
    {
      "for": [
        "<basic-shape>"
      ],
      "name": "rect()",
      "href": "https://drafts.csswg.org/css-shapes-1/#funcdef-basic-shape-rect",
      "syntax": "rect( [ <length-percentage> | auto ]{4} [ round <'border-radius'> ]? )",
      "extended": []
    },
    {
      "for": [
        "clip"
      ],
      "name": "rect()",
      "href": "https://drafts.csswg.org/css-masking-1/#funcdef-clip-rect",
      "syntax": "rect( <top>, <right>, <bottom>, <left> )",
      "extended": []
    },
    {
      "for": [
        "<request-url-modifier>"
      ],
      "name": "referrer-policy()",
      "prose": "<referrer-policy-modifier> = referrer-policy(no-referrer | no-referrer-when-downgrade | same-origin | origin | strict-origin | origin-when-cross-origin | strict-origin-when-cross-origin | unsafe-url)",
      "href": "https://drafts.csswg.org/css-values-5/#funcdef-request-url-modifier-referrer-policy",
      "extended": []
    },
    {
      "name": "rem()",
      "href": "https://drafts.csswg.org/css-values-4/#funcdef-rem",
      "syntax": "rem( <calc-sum>, <calc-sum> )",
      "extended": []
    },
    {
      "for": [
        "<auto-repeat-line-color>",
        "<auto-repeat-line-style>",
        "<auto-repeat-line-width>",
        "<repeat-line-color>",
        "<repeat-line-style>",
        "<repeat-line-width>"
      ],
      "name": "repeat()",
      "prose": "Such a list may contain repeat() notations. Similar to CSS Grid Layout 1 § 7.2.3 Repeating Rows and Columns: the repeat() notation, these notations allow a series of gap decorations that exhibit a recurring pattern to be written in a more compact form.",
      "href": "https://drafts.csswg.org/css-gaps-1/#funcdef-repeat-line-color-repeat",
      "extended": []
    },
    {
      "for": [
        "<auto-repeat>",
        "<fixed-repeat>",
        "<track-repeat>"
      ],
      "name": "repeat()",
      "prose": "The repeat() notation represents a repeated fragment of the track list, allowing a large number of columns or rows that exhibit a recurring pattern to be written in a more compact form.",
      "href": "https://drafts.csswg.org/css-grid-2/#funcdef-track-repeat-repeat",
      "extended": []
    },
    {
      "name": "repeating-conic-gradient()",
      "prose": "In addition to linear-gradient(), radial-gradient(), and conic-gradient(), this specification defines repeating-linear-gradient(), repeating-radial-gradient(), and repeating-conic-gradient() values. These notations take the same values and are interpreted the same as their respective non-repeating siblings defined previously.",
      "href": "https://drafts.csswg.org/css-images-4/#funcdef-repeating-conic-gradient",
      "syntax": "repeating-conic-gradient( [ <conic-gradient-syntax> ] )",
      "extended": []
    },
    {
      "name": "repeating-linear-gradient()",
      "prose": "In addition to linear-gradient(), radial-gradient(), and conic-gradient(), this specification defines repeating-linear-gradient(), repeating-radial-gradient(), and repeating-conic-gradient() values. These notations take the same values and are interpreted the same as their respective non-repeating siblings defined previously.",
      "href": "https://drafts.csswg.org/css-images-4/#funcdef-repeating-linear-gradient",
      "syntax": "repeating-linear-gradient( [ <linear-gradient-syntax> ] )",
      "extended": []
    },
    {
      "name": "repeating-radial-gradient()",
      "prose": "In addition to linear-gradient(), radial-gradient(), and conic-gradient(), this specification defines repeating-linear-gradient(), repeating-radial-gradient(), and repeating-conic-gradient() values. These notations take the same values and are interpreted the same as their respective non-repeating siblings defined previously.",
      "href": "https://drafts.csswg.org/css-images-4/#funcdef-repeating-radial-gradient",
      "syntax": "repeating-radial-gradient( [ <radial-gradient-syntax> ] )",
      "extended": []
    },
    {
      "name": "rgb()",
      "href": "https://drafts.csswg.org/css-color-4/#funcdef-rgb",
      "syntax": "[ <legacy-rgb-syntax> | <modern-rgb-syntax> ]",
      "extended": []
    },
    {
      "name": "rgba()",
      "href": "https://drafts.csswg.org/css-color-4/#funcdef-rgba",
      "syntax": "[ <legacy-rgba-syntax> | <modern-rgba-syntax> ]",
      "extended": []
    },
    {
      "for": [
        "transform"
      ],
      "name": "rotate()",
      "href": "https://drafts.csswg.org/css-transforms-1/#funcdef-transform-rotate",
      "syntax": "rotate( [ <angle> | <zero> ] )",
      "extended": []
    },
    {
      "name": "rotate3d()",
      "href": "https://drafts.csswg.org/css-transforms-2/#funcdef-rotate3d",
      "syntax": "rotate3d( <number> , <number> , <number> , [ <angle> | <zero> ] )",
      "extended": []
    },
    {
      "name": "rotateX()",
      "href": "https://drafts.csswg.org/css-transforms-2/#funcdef-rotatex",
      "syntax": "rotateX( [ <angle> | <zero> ] )",
      "extended": []
    },
    {
      "name": "rotateY()",
      "href": "https://drafts.csswg.org/css-transforms-2/#funcdef-rotatey",
      "syntax": "rotateY( [ <angle> | <zero> ] )",
      "extended": []
    },
    {
      "name": "rotateZ()",
      "href": "https://drafts.csswg.org/css-transforms-2/#funcdef-rotatez",
      "syntax": "rotateZ( [ <angle> | <zero> ] )",
      "extended": []
    },
    {
      "name": "round()",
      "href": "https://drafts.csswg.org/css-values-4/#funcdef-round",
      "syntax": "round( <rounding-strategy>?, <calc-sum>, <calc-sum>? )",
      "extended": []
    },
    {
      "name": "running()",
      "href": "https://drafts.csswg.org/css-gcpm-3/#funcdef-running",
      "syntax": "running( <custom-ident> )",
      "extended": []
    },
    {
      "for": [
        "filter"
      ],
      "name": "saturate()",
      "href": "https://drafts.csswg.org/filter-effects-1/#funcdef-filter-saturate",
      "syntax": "saturate( [ <number> | <percentage> ]? )",
      "extended": []
    },
    {
      "name": "scale()",
      "href": "https://drafts.csswg.org/css-transforms-2/#funcdef-scale",
      "syntax": "scale( [ <number> | <percentage> ]#{1,2} )",
      "extended": []
    },
    {
      "for": [
        "transform"
      ],
      "name": "scale()",
      "href": "https://drafts.csswg.org/css-transforms-1/#funcdef-transform-scale",
      "syntax": "scale( <number> , <number>? )",
      "extended": []
    },
    {
      "name": "scale3d()",
      "href": "https://drafts.csswg.org/css-transforms-2/#funcdef-scale3d",
      "syntax": "scale3d( [ <number> | <percentage> ]#{3} )",
      "extended": []
    },
    {
      "name": "scaleX()",
      "href": "https://drafts.csswg.org/css-transforms-2/#funcdef-scalex",
      "syntax": "scaleX( [ <number> | <percentage> ] )",
      "extended": []
    },
    {
      "for": [
        "transform"
      ],
      "name": "scaleX()",
      "href": "https://drafts.csswg.org/css-transforms-1/#funcdef-transform-scalex",
      "syntax": "scaleX( <number> )",
      "extended": []
    },
    {
      "name": "scaleY()",
      "href": "https://drafts.csswg.org/css-transforms-2/#funcdef-scaley",
      "syntax": "scaleY( [ <number> | <percentage> ] )",
      "extended": []
    },
    {
      "for": [
        "transform"
      ],
      "name": "scaleY()",
      "href": "https://drafts.csswg.org/css-transforms-1/#funcdef-transform-scaley",
      "syntax": "scaleY( <number> )",
      "extended": []
    },
    {
      "name": "scaleZ()",
      "href": "https://drafts.csswg.org/css-transforms-2/#funcdef-scalez",
      "syntax": "scaleZ( [ <number> | <percentage> ] )",
      "extended": []
    },
    {
      "name": "scroll()",
      "prose": "The scroll() functional notation can be used as a <single-animation-timeline> value in animation-timeline and specifies a scroll progress timeline. Its syntax is",
      "href": "https://drafts.csswg.org/scroll-animations-1/#funcdef-scroll",
      "syntax": "scroll( [ <scroller> || <axis> ]? )",
      "extended": []
    },
    {
      "for": [
        "filter"
      ],
      "name": "sepia()",
      "href": "https://drafts.csswg.org/filter-effects-1/#funcdef-filter-sepia",
      "syntax": "sepia( [ <number> | <percentage> ]? )",
      "extended": []
    },
    {
      "for": [
        "<basic-shape>"
      ],
      "name": "shape()",
      "href": "https://drafts.csswg.org/css-shapes-1/#funcdef-basic-shape-shape",
      "syntax": "shape( <'fill-rule'>? from <position> , <shape-command># )",
      "extended": []
    },
    {
      "name": "sibling-count()",
      "prose": "The sibling-count() functional notation represents, as an <integer>, the total number of child elements in the parent of the element on which the notation is used.",
      "href": "https://drafts.csswg.org/css-values-5/#funcdef-sibling-count",
      "extended": []
    },
    {
      "name": "sibling-index()",
      "prose": "The sibling-index() functional notation represents, as an <integer>, the index of the element on which the notation is used among its inclusive siblings. Like :nth-child(), sibling-index() is 1-indexed.",
      "href": "https://drafts.csswg.org/css-values-5/#funcdef-sibling-index",
      "extended": []
    },
    {
      "name": "sign()",
      "href": "https://drafts.csswg.org/css-values-4/#funcdef-sign",
      "syntax": "sign( <calc-sum> )",
      "extended": []
    },
    {
      "name": "sin()",
      "href": "https://drafts.csswg.org/css-values-4/#funcdef-sin",
      "syntax": "sin( <calc-sum> )",
      "extended": []
    },
    {
      "for": [
        "transform"
      ],
      "name": "skew()",
      "href": "https://drafts.csswg.org/css-transforms-1/#funcdef-transform-skew",
      "syntax": "skew( [ <angle> | <zero> ] , [ <angle> | <zero> ]? )",
      "extended": []
    },
    {
      "for": [
        "transform"
      ],
      "name": "skewX()",
      "href": "https://drafts.csswg.org/css-transforms-1/#funcdef-transform-skewx",
      "syntax": "skewX( [ <angle> | <zero> ] )",
      "extended": []
    },
    {
      "for": [
        "transform"
      ],
      "name": "skewY()",
      "href": "https://drafts.csswg.org/css-transforms-1/#funcdef-transform-skewy",
      "syntax": "skewY( [ <angle> | <zero> ] )",
      "extended": []
    },
    {
      "for": [
        "float"
      ],
      "name": "snap-block()",
      "href": "https://drafts.csswg.org/css-page-floats-3/#funcdef-float-snap-block",
      "syntax": "snap-block( <length> , [ start | end | near ]? )",
      "extended": []
    },
    {
      "for": [
        "float"
      ],
      "name": "snap-inline()",
      "href": "https://drafts.csswg.org/css-page-floats-3/#funcdef-float-snap-inline",
      "syntax": "snap-inline( <length> , [ left | right | near ]? )",
      "extended": []
    },
    {
      "name": "sqrt()",
      "href": "https://drafts.csswg.org/css-values-4/#funcdef-sqrt",
      "syntax": "sqrt( <calc-sum> )",
      "extended": []
    },
    {
      "name": "src()",
      "prose": "The <url> type, written with the url() and src() functions, represents a URL, which is a pointer to a resource.",
      "href": "https://drafts.csswg.org/css-values-4/#funcdef-src",
      "syntax": "src( <string> <url-modifier>* )",
      "extended": []
    },
    {
      "name": "steps()",
      "href": "https://drafts.csswg.org/css-easing-2/#funcdef-steps",
      "syntax": "steps( <integer>, <step-position>?)",
      "extended": []
    },
    {
      "name": "string()",
      "href": "https://drafts.csswg.org/css-content-3/#funcdef-string",
      "syntax": "string( <custom-ident> , [ first | start | last | first-except ]? )",
      "extended": []
    },
    {
      "name": "stripes()",
      "prose": "The stripes() function defines a 1D image as a comma-separated list of colored stripes, each placed end-to-end on the paint line in the order given.",
      "href": "https://drafts.csswg.org/css-images-4/#funcdef-stripes",
      "syntax": "stripes( <color-stripe># )",
      "extended": []
    },
    {
      "name": "superellipse()",
      "href": "https://drafts.csswg.org/css-borders-4/#funcdef-superellipse",
      "syntax": "superellipse(<number> | infinity | -infinity)",
      "extended": []
    },
    {
      "name": "supports()",
      "href": "https://drafts.csswg.org/css-conditional-5/#funcdef-supports",
      "syntax": "supports( <declaration> )",
      "extended": []
    },
    {
      "name": "symbols()",
      "href": "https://drafts.csswg.org/css-counter-styles-3/#funcdef-symbols",
      "syntax": "symbols( <symbols-type>? [ <string> | <image> ]+ )",
      "extended": []
    },
    {
      "name": "tan()",
      "href": "https://drafts.csswg.org/css-values-4/#funcdef-tan",
      "syntax": "tan( <calc-sum> )",
      "extended": []
    },
    {
      "name": "target-counter()",
      "href": "https://drafts.csswg.org/css-content-3/#funcdef-target-counter",
      "syntax": "target-counter( [ <string> | <url> ] , <custom-ident> , <counter-style>? )",
      "extended": []
    },
    {
      "name": "target-counters()",
      "href": "https://drafts.csswg.org/css-content-3/#funcdef-target-counters",
      "syntax": "target-counters( [ <string> | <url> ] , <custom-ident> , <string> , <counter-style>? )",
      "extended": []
    },
    {
      "name": "target-text()",
      "href": "https://drafts.csswg.org/css-content-3/#target-text-function",
      "syntax": "target-text( [ <string> | <url> ] , [ content | before | after | first-letter ]? )",
      "extended": []
    },
    {
      "name": "toggle()",
      "prose": "The toggle() expression allows descendant elements to cycle over a list of values instead of inheriting the same value.",
      "href": "https://drafts.csswg.org/css-values-5/#funcdef-toggle",
      "syntax": "toggle( <whole-value># )",
      "extended": []
    },
    {
      "name": "transform-interpolate()",
      "prose": "The transform-interpolate() interpolation notation represents an interpolated <transform-list>, with the following syntax:",
      "href": "https://drafts.csswg.org/css-values-5/#funcdef-transform-interpolate",
      "syntax": "transform-interpolate( [ <progress-source> && [ by <easing-function> ]? && <easing-function>? ], <input-position>{1,2} : <transform-list>, [ <easing-function>?, <input-position>{1,2} : <transform-list> ]#? )",
      "extended": []
    },
    {
      "name": "transform-mix()",
      "prose": "The transform-mix() mix notation represents a weighted average of <transform-list>, with the following syntactic form:",
      "href": "https://drafts.csswg.org/css-values-5/#funcdef-transform-mix",
      "syntax": "transform-mix( [ <transform-list> && <percentage [0,100]> ]# )",
      "extended": []
    },
    {
      "for": [
        "transform"
      ],
      "name": "translate()",
      "href": "https://drafts.csswg.org/css-transforms-1/#funcdef-transform-translate",
      "syntax": "translate( <length-percentage> , <length-percentage>? )",
      "extended": []
    },
    {
      "name": "translate3d()",
      "href": "https://drafts.csswg.org/css-transforms-2/#funcdef-translate3d",
      "syntax": "translate3d( <length-percentage> , <length-percentage> , <length> )",
      "extended": []
    },
    {
      "for": [
        "transform"
      ],
      "name": "translateX()",
      "href": "https://drafts.csswg.org/css-transforms-1/#funcdef-transform-translatex",
      "syntax": "translateX( <length-percentage> )",
      "extended": []
    },
    {
      "for": [
        "transform"
      ],
      "name": "translateY()",
      "href": "https://drafts.csswg.org/css-transforms-1/#funcdef-transform-translatey",
      "syntax": "translateY( <length-percentage> )",
      "extended": []
    },
    {
      "name": "translateZ()",
      "href": "https://drafts.csswg.org/css-transforms-2/#funcdef-translatez",
      "syntax": "translateZ( <length> )",
      "extended": []
    },
    {
      "for": [
        "@function"
      ],
      "name": "type()",
      "href": "https://drafts.csswg.org/css-mixins-1/#funcdef-function-type",
      "syntax": "type( <syntax> )",
      "extended": []
    },
    {
      "for": [
        "attr()"
      ],
      "name": "type()",
      "href": "https://drafts.csswg.org/css-values-5/#funcdef-attr-type",
      "syntax": "type( <syntax> )",
      "extended": []
    },
    {
      "for": [
        "image-set()"
      ],
      "name": "type()",
      "href": "https://drafts.csswg.org/css-images-4/#funcdef-image-set-type",
      "syntax": "type( <string> )",
      "extended": []
    },
    {
      "name": "url-pattern()",
      "prose": "The url-pattern() function represents a URL pattern, which can be used to match URLs.",
      "href": "https://drafts.csswg.org/css-navigation-1/#funcdef-url-pattern",
      "syntax": "url-pattern( <string> )",
      "extended": []
    },
    {
      "name": "url()",
      "prose": "The <url> type, written with the url() and src() functions, represents a URL, which is a pointer to a resource.",
      "href": "https://drafts.csswg.org/css-values-4/#funcdef-url",
      "syntax": "url( <string> <url-modifier>* ) | <url-token>",
      "extended": []
    },
    {
      "name": "var()",
      "href": "https://drafts.csswg.org/css-variables-2/#funcdef-var",
      "syntax": "var( <custom-property-name> , <declaration-value>? )",
      "extended": []
    },
    {
      "name": "view()",
      "prose": "The view() functional notation can be used as a <single-animation-timeline> value in animation-timeline and specifies a view progress timeline in reference to the nearest ancestor scroll container that’s scrollable in the specified axis. Its syntax is",
      "href": "https://drafts.csswg.org/scroll-animations-1/#funcdef-view",
      "syntax": "view( [ <axis> || <'view-timeline-inset'> ]? )",
      "extended": []
    },
    {
      "for": [
        "contrast-color()"
      ],
      "name": "wcag2()",
      "prose": "The wcag2 keyword and wcag2() functional notations indicate use of the [WCAG21] luminance contrast algorithm. Their syntax is:",
      "href": "https://drafts.csswg.org/css-color-6/#funcdef-contrast-color-wcag2",
      "extended": []
    },
    {
      "for": [
        "<basic-shape>"
      ],
      "name": "xywh()",
      "href": "https://drafts.csswg.org/css-shapes-1/#funcdef-basic-shape-xywh",
      "syntax": "xywh( <length-percentage>{2} <length-percentage [0,∞]>{2} [ round <'border-radius'> ]? )",
      "extended": []
    }
  ],
  "properties": [
    {
      "name": "-webkit-align-content",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-align-content",
      "legacyAliasOf": "align-content",
      "styleDeclaration": [
        "-webkit-align-content",
        "WebkitAlignContent",
        "webkitAlignContent"
      ],
      "syntax": "normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>",
      "extended": []
    },
    {
      "name": "-webkit-align-items",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-align-items",
      "legacyAliasOf": "align-items",
      "styleDeclaration": [
        "-webkit-align-items",
        "WebkitAlignItems",
        "webkitAlignItems"
      ],
      "syntax": "normal | stretch | <baseline-position> | <overflow-position>? <self-position>",
      "extended": []
    },
    {
      "name": "-webkit-align-self",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-align-self",
      "legacyAliasOf": "align-self",
      "styleDeclaration": [
        "-webkit-align-self",
        "WebkitAlignSelf",
        "webkitAlignSelf"
      ],
      "syntax": "auto | <overflow-position>? [ normal | <self-position> ]| stretch | <baseline-position>",
      "extended": []
    },
    {
      "name": "-webkit-animation",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-animation",
      "legacyAliasOf": "animation",
      "styleDeclaration": [
        "-webkit-animation",
        "WebkitAnimation",
        "webkitAnimation"
      ],
      "longhands": [
        "animation-name",
        "animation-duration",
        "animation-timing-function",
        "animation-delay",
        "animation-iteration-count",
        "animation-direction",
        "animation-fill-mode",
        "animation-play-state",
        "animation-timeline"
      ],
      "resetLonghands": [
        "animation-range",
        "animation-trigger"
      ],
      "syntax": "<single-animation>#",
      "extended": []
    },
    {
      "name": "-webkit-animation-delay",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-animation-delay",
      "legacyAliasOf": "animation-delay",
      "styleDeclaration": [
        "-webkit-animation-delay",
        "WebkitAnimationDelay",
        "webkitAnimationDelay"
      ],
      "syntax": "<time>#",
      "extended": []
    },
    {
      "name": "-webkit-animation-direction",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-animation-direction",
      "legacyAliasOf": "animation-direction",
      "styleDeclaration": [
        "-webkit-animation-direction",
        "WebkitAnimationDirection",
        "webkitAnimationDirection"
      ],
      "syntax": "<single-animation-direction>#",
      "extended": []
    },
    {
      "name": "-webkit-animation-duration",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-animation-duration",
      "legacyAliasOf": "animation-duration",
      "styleDeclaration": [
        "-webkit-animation-duration",
        "WebkitAnimationDuration",
        "webkitAnimationDuration"
      ],
      "syntax": "<time [0s,∞]>#",
      "extended": []
    },
    {
      "name": "-webkit-animation-fill-mode",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-animation-fill-mode",
      "legacyAliasOf": "animation-fill-mode",
      "styleDeclaration": [
        "-webkit-animation-fill-mode",
        "WebkitAnimationFillMode",
        "webkitAnimationFillMode"
      ],
      "syntax": "<single-animation-fill-mode>#",
      "extended": []
    },
    {
      "name": "-webkit-animation-iteration-count",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-animation-iteration-count",
      "legacyAliasOf": "animation-iteration-count",
      "styleDeclaration": [
        "-webkit-animation-iteration-count",
        "WebkitAnimationIterationCount",
        "webkitAnimationIterationCount"
      ],
      "syntax": "<single-animation-iteration-count>#",
      "extended": []
    },
    {
      "name": "-webkit-animation-name",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-animation-name",
      "legacyAliasOf": "animation-name",
      "styleDeclaration": [
        "-webkit-animation-name",
        "WebkitAnimationName",
        "webkitAnimationName"
      ],
      "syntax": "[ none | <keyframes-name> ]#",
      "extended": []
    },
    {
      "name": "-webkit-animation-play-state",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-animation-play-state",
      "legacyAliasOf": "animation-play-state",
      "styleDeclaration": [
        "-webkit-animation-play-state",
        "WebkitAnimationPlayState",
        "webkitAnimationPlayState"
      ],
      "syntax": "<single-animation-play-state>#",
      "extended": []
    },
    {
      "name": "-webkit-animation-timing-function",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-animation-timing-function",
      "legacyAliasOf": "animation-timing-function",
      "styleDeclaration": [
        "-webkit-animation-timing-function",
        "WebkitAnimationTimingFunction",
        "webkitAnimationTimingFunction"
      ],
      "syntax": "<easing-function>#",
      "extended": []
    },
    {
      "name": "-webkit-appearance",
      "href": "https://drafts.csswg.org/css-ui-4/#propdef--webkit-appearance",
      "legacyAliasOf": "appearance",
      "styleDeclaration": [
        "-webkit-appearance",
        "WebkitAppearance",
        "webkitAppearance"
      ],
      "extended": [],
      "syntax": "none | auto | base | base-select | <compat-auto> | <compat-special> | base"
    },
    {
      "name": "-webkit-backface-visibility",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-backface-visibility",
      "legacyAliasOf": "backface-visibility",
      "styleDeclaration": [
        "-webkit-backface-visibility",
        "WebkitBackfaceVisibility",
        "webkitBackfaceVisibility"
      ],
      "syntax": "visible | hidden",
      "extended": []
    },
    {
      "name": "-webkit-background-clip",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-background-clip",
      "legacyAliasOf": "background-clip",
      "styleDeclaration": [
        "-webkit-background-clip",
        "WebkitBackgroundClip",
        "webkitBackgroundClip"
      ],
      "syntax": "<visual-box>#",
      "extended": []
    },
    {
      "name": "-webkit-background-origin",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-background-origin",
      "legacyAliasOf": "background-origin",
      "styleDeclaration": [
        "-webkit-background-origin",
        "WebkitBackgroundOrigin",
        "webkitBackgroundOrigin"
      ],
      "syntax": "<visual-box>#",
      "extended": []
    },
    {
      "name": "-webkit-background-size",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-background-size",
      "legacyAliasOf": "background-size",
      "styleDeclaration": [
        "-webkit-background-size",
        "WebkitBackgroundSize",
        "webkitBackgroundSize"
      ],
      "syntax": "<bg-size>#",
      "extended": []
    },
    {
      "name": "-webkit-border-bottom-left-radius",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-border-bottom-left-radius",
      "legacyAliasOf": "border-bottom-left-radius",
      "styleDeclaration": [
        "-webkit-border-bottom-left-radius",
        "WebkitBorderBottomLeftRadius",
        "webkitBorderBottomLeftRadius"
      ],
      "syntax": "<border-radius>",
      "extended": []
    },
    {
      "name": "-webkit-border-bottom-right-radius",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-border-bottom-right-radius",
      "legacyAliasOf": "border-bottom-right-radius",
      "styleDeclaration": [
        "-webkit-border-bottom-right-radius",
        "WebkitBorderBottomRightRadius",
        "webkitBorderBottomRightRadius"
      ],
      "syntax": "<border-radius>",
      "extended": []
    },
    {
      "name": "-webkit-border-radius",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-border-radius",
      "legacyAliasOf": "border-radius",
      "styleDeclaration": [
        "-webkit-border-radius",
        "WebkitBorderRadius",
        "webkitBorderRadius"
      ],
      "longhands": [
        "border-top-left-radius",
        "border-top-right-radius",
        "border-bottom-right-radius",
        "border-bottom-left-radius"
      ],
      "syntax": "<length-percentage [0,∞]>{1,4} [ / <length-percentage [0,∞]>{1,4} ]?",
      "extended": []
    },
    {
      "name": "-webkit-border-top-left-radius",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-border-top-left-radius",
      "legacyAliasOf": "border-top-left-radius",
      "styleDeclaration": [
        "-webkit-border-top-left-radius",
        "WebkitBorderTopLeftRadius",
        "webkitBorderTopLeftRadius"
      ],
      "syntax": "<border-radius>",
      "extended": []
    },
    {
      "name": "-webkit-border-top-right-radius",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-border-top-right-radius",
      "legacyAliasOf": "border-top-right-radius",
      "styleDeclaration": [
        "-webkit-border-top-right-radius",
        "WebkitBorderTopRightRadius",
        "webkitBorderTopRightRadius"
      ],
      "syntax": "<border-radius>",
      "extended": []
    },
    {
      "name": "-webkit-box-align",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-box-align",
      "styleDeclaration": [
        "-webkit-box-align",
        "WebkitBoxAlign",
        "webkitBoxAlign"
      ],
      "extended": []
    },
    {
      "name": "-webkit-box-flex",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-box-flex",
      "styleDeclaration": [
        "-webkit-box-flex",
        "WebkitBoxFlex",
        "webkitBoxFlex"
      ],
      "extended": []
    },
    {
      "name": "-webkit-box-ordinal-group",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-box-ordinal-group",
      "styleDeclaration": [
        "-webkit-box-ordinal-group",
        "WebkitBoxOrdinalGroup",
        "webkitBoxOrdinalGroup"
      ],
      "extended": []
    },
    {
      "name": "-webkit-box-orient",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-box-orient",
      "styleDeclaration": [
        "-webkit-box-orient",
        "WebkitBoxOrient",
        "webkitBoxOrient"
      ],
      "extended": []
    },
    {
      "name": "-webkit-box-pack",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-box-pack",
      "styleDeclaration": [
        "-webkit-box-pack",
        "WebkitBoxPack",
        "webkitBoxPack"
      ],
      "extended": []
    },
    {
      "name": "-webkit-box-shadow",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-box-shadow",
      "legacyAliasOf": "box-shadow",
      "styleDeclaration": [
        "-webkit-box-shadow",
        "WebkitBoxShadow",
        "webkitBoxShadow"
      ],
      "longhands": [
        "box-shadow-color",
        "box-shadow-offset",
        "box-shadow-blur",
        "box-shadow-spread",
        "box-shadow-position"
      ],
      "syntax": "<spread-shadow>#",
      "extended": []
    },
    {
      "name": "-webkit-box-sizing",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-box-sizing",
      "legacyAliasOf": "box-sizing",
      "styleDeclaration": [
        "-webkit-box-sizing",
        "WebkitBoxSizing",
        "webkitBoxSizing"
      ],
      "syntax": "content-box | border-box",
      "extended": []
    },
    {
      "name": "-webkit-filter",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-filter",
      "legacyAliasOf": "filter",
      "styleDeclaration": [
        "-webkit-filter",
        "WebkitFilter",
        "webkitFilter"
      ],
      "syntax": "none | <filter-value-list>",
      "extended": []
    },
    {
      "name": "-webkit-flex",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-flex-propdef",
      "legacyAliasOf": "flex",
      "styleDeclaration": [
        "-webkit-flex",
        "WebkitFlex",
        "webkitFlex"
      ],
      "longhands": [
        "flex-grow",
        "flex-shrink",
        "flex-basis"
      ],
      "syntax": "none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]",
      "extended": []
    },
    {
      "name": "-webkit-flex-basis",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-flex-basis",
      "legacyAliasOf": "flex-basis",
      "styleDeclaration": [
        "-webkit-flex-basis",
        "WebkitFlexBasis",
        "webkitFlexBasis"
      ],
      "syntax": "content | <'width'>",
      "extended": []
    },
    {
      "name": "-webkit-flex-direction",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-flex-direction",
      "legacyAliasOf": "flex-direction",
      "styleDeclaration": [
        "-webkit-flex-direction",
        "WebkitFlexDirection",
        "webkitFlexDirection"
      ],
      "syntax": "row | row-reverse | column | column-reverse",
      "extended": []
    },
    {
      "name": "-webkit-flex-flow",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-flex-flow",
      "legacyAliasOf": "flex-flow",
      "styleDeclaration": [
        "-webkit-flex-flow",
        "WebkitFlexFlow",
        "webkitFlexFlow"
      ],
      "longhands": [
        "flex-direction",
        "flex-wrap"
      ],
      "syntax": "<'flex-direction'> || <'flex-wrap'>",
      "extended": []
    },
    {
      "name": "-webkit-flex-grow",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-flex-grow",
      "legacyAliasOf": "flex-grow",
      "styleDeclaration": [
        "-webkit-flex-grow",
        "WebkitFlexGrow",
        "webkitFlexGrow"
      ],
      "syntax": "<number [0,∞]>",
      "extended": []
    },
    {
      "name": "-webkit-flex-shrink",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-flex-shrink",
      "legacyAliasOf": "flex-shrink",
      "styleDeclaration": [
        "-webkit-flex-shrink",
        "WebkitFlexShrink",
        "webkitFlexShrink"
      ],
      "syntax": "<number [0,∞]>",
      "extended": []
    },
    {
      "name": "-webkit-flex-wrap",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-flex-wrap",
      "legacyAliasOf": "flex-wrap",
      "styleDeclaration": [
        "-webkit-flex-wrap",
        "WebkitFlexWrap",
        "webkitFlexWrap"
      ],
      "syntax": "nowrap | [ wrap | wrap-reverse ] || balance",
      "extended": []
    },
    {
      "name": "-webkit-justify-content",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-justify-content",
      "legacyAliasOf": "justify-content",
      "styleDeclaration": [
        "-webkit-justify-content",
        "WebkitJustifyContent",
        "webkitJustifyContent"
      ],
      "syntax": "normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]",
      "extended": []
    },
    {
      "name": "-webkit-line-clamp",
      "href": "https://drafts.csswg.org/css-overflow-4/#propdef--webkit-line-clamp",
      "initial": "none",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "N/A",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "-webkit-line-clamp",
        "WebkitLineClamp",
        "webkitLineClamp"
      ],
      "longhands": [
        "max-lines",
        "block-ellipsis",
        "continue"
      ],
      "syntax": "none | <integer [1,∞]>",
      "extended": []
    },
    {
      "name": "-webkit-mask",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-mask",
      "legacyAliasOf": "mask",
      "styleDeclaration": [
        "-webkit-mask",
        "WebkitMask",
        "webkitMask"
      ],
      "longhands": [
        "mask-image",
        "mask-position",
        "mask-size",
        "mask-repeat",
        "mask-origin",
        "mask-clip",
        "mask-composite",
        "mask-mode"
      ],
      "resetLonghands": [
        "mask-border"
      ],
      "syntax": "<mask-layer>#",
      "extended": []
    },
    {
      "name": "-webkit-mask-box-image",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-mask-box-image",
      "legacyAliasOf": "mask-border",
      "styleDeclaration": [
        "-webkit-mask-box-image",
        "WebkitMaskBoxImage",
        "webkitMaskBoxImage"
      ],
      "longhands": [
        "mask-border-source",
        "mask-border-slice",
        "mask-border-width",
        "mask-border-outset",
        "mask-border-repeat",
        "mask-border-mode"
      ],
      "syntax": "<'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>",
      "extended": []
    },
    {
      "name": "-webkit-mask-box-image-outset",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-mask-box-image-outset",
      "legacyAliasOf": "mask-border-outset",
      "styleDeclaration": [
        "-webkit-mask-box-image-outset",
        "WebkitMaskBoxImageOutset",
        "webkitMaskBoxImageOutset"
      ],
      "syntax": "<'border-image-outset'>",
      "extended": []
    },
    {
      "name": "-webkit-mask-box-image-repeat",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-mask-box-image-repeat",
      "legacyAliasOf": "mask-border-repeat",
      "styleDeclaration": [
        "-webkit-mask-box-image-repeat",
        "WebkitMaskBoxImageRepeat",
        "webkitMaskBoxImageRepeat"
      ],
      "syntax": "<'border-image-repeat'>",
      "extended": []
    },
    {
      "name": "-webkit-mask-box-image-slice",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-mask-box-image-slice",
      "legacyAliasOf": "mask-border-slice",
      "styleDeclaration": [
        "-webkit-mask-box-image-slice",
        "WebkitMaskBoxImageSlice",
        "webkitMaskBoxImageSlice"
      ],
      "syntax": "<'border-image-slice'>",
      "extended": []
    },
    {
      "name": "-webkit-mask-box-image-source",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-mask-box-image-source",
      "legacyAliasOf": "mask-border-source",
      "styleDeclaration": [
        "-webkit-mask-box-image-source",
        "WebkitMaskBoxImageSource",
        "webkitMaskBoxImageSource"
      ],
      "syntax": "<'border-image-source'>",
      "extended": []
    },
    {
      "name": "-webkit-mask-box-image-width",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-mask-box-image-width",
      "legacyAliasOf": "mask-border-width",
      "styleDeclaration": [
        "-webkit-mask-box-image-width",
        "WebkitMaskBoxImageWidth",
        "webkitMaskBoxImageWidth"
      ],
      "syntax": "<'border-image-width'>",
      "extended": []
    },
    {
      "name": "-webkit-mask-clip",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-mask-clip",
      "legacyAliasOf": "mask-clip",
      "styleDeclaration": [
        "-webkit-mask-clip",
        "WebkitMaskClip",
        "webkitMaskClip"
      ],
      "syntax": "[ <coord-box> | no-clip ]#",
      "extended": []
    },
    {
      "name": "-webkit-mask-composite",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-mask-composite",
      "legacyAliasOf": "mask-composite",
      "styleDeclaration": [
        "-webkit-mask-composite",
        "WebkitMaskComposite",
        "webkitMaskComposite"
      ],
      "syntax": "<compositing-operator>#",
      "extended": []
    },
    {
      "name": "-webkit-mask-image",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-mask-image",
      "legacyAliasOf": "mask-image",
      "styleDeclaration": [
        "-webkit-mask-image",
        "WebkitMaskImage",
        "webkitMaskImage"
      ],
      "syntax": "<mask-reference>#",
      "extended": []
    },
    {
      "name": "-webkit-mask-origin",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-mask-origin",
      "legacyAliasOf": "mask-origin",
      "styleDeclaration": [
        "-webkit-mask-origin",
        "WebkitMaskOrigin",
        "webkitMaskOrigin"
      ],
      "syntax": "<coord-box>#",
      "extended": []
    },
    {
      "name": "-webkit-mask-position",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-mask-position",
      "legacyAliasOf": "mask-position",
      "styleDeclaration": [
        "-webkit-mask-position",
        "WebkitMaskPosition",
        "webkitMaskPosition"
      ],
      "syntax": "<position>#",
      "extended": []
    },
    {
      "name": "-webkit-mask-repeat",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-mask-repeat",
      "legacyAliasOf": "mask-repeat",
      "styleDeclaration": [
        "-webkit-mask-repeat",
        "WebkitMaskRepeat",
        "webkitMaskRepeat"
      ],
      "syntax": "<repeat-style>#",
      "extended": []
    },
    {
      "name": "-webkit-mask-size",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-mask-size",
      "legacyAliasOf": "mask-size",
      "styleDeclaration": [
        "-webkit-mask-size",
        "WebkitMaskSize",
        "webkitMaskSize"
      ],
      "syntax": "<bg-size>#",
      "extended": []
    },
    {
      "name": "-webkit-order",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-order",
      "legacyAliasOf": "order",
      "styleDeclaration": [
        "-webkit-order",
        "WebkitOrder",
        "webkitOrder"
      ],
      "syntax": "<integer>",
      "extended": []
    },
    {
      "name": "-webkit-perspective",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-perspective",
      "legacyAliasOf": "perspective",
      "styleDeclaration": [
        "-webkit-perspective",
        "WebkitPerspective",
        "webkitPerspective"
      ],
      "syntax": "none | <length [0,∞]>",
      "extended": []
    },
    {
      "name": "-webkit-perspective-origin",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-perspective-origin",
      "legacyAliasOf": "perspective-origin",
      "styleDeclaration": [
        "-webkit-perspective-origin",
        "WebkitPerspectiveOrigin",
        "webkitPerspectiveOrigin"
      ],
      "syntax": "<position>",
      "extended": []
    },
    {
      "name": "-webkit-text-fill-color",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-text-fill-color",
      "initial": "currentcolor",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "an RGBA color",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "media": "visual",
      "styleDeclaration": [
        "-webkit-text-fill-color",
        "WebkitTextFillColor",
        "webkitTextFillColor"
      ],
      "syntax": "<color>",
      "extended": []
    },
    {
      "name": "-webkit-text-size-adjust",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-text-size-adjust",
      "legacyAliasOf": "text-size-adjust",
      "styleDeclaration": [
        "-webkit-text-size-adjust",
        "WebkitTextSizeAdjust",
        "webkitTextSizeAdjust"
      ],
      "syntax": "auto | none | <percentage [0,∞]>",
      "extended": []
    },
    {
      "name": "-webkit-text-stroke",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-text-stroke",
      "initial": "See individual properties",
      "appliesTo": "See individual properties",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "See individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "See individual properties",
      "media": "visual",
      "styleDeclaration": [
        "-webkit-text-stroke",
        "WebkitTextStroke",
        "webkitTextStroke"
      ],
      "longhands": [
        "-webkit-text-stroke-width",
        "-webkit-text-stroke-color"
      ],
      "syntax": "<line-width> || <color>",
      "extended": []
    },
    {
      "name": "-webkit-text-stroke-color",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-text-stroke-color",
      "initial": "currentcolor",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "an RGBA color",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "media": "visual",
      "styleDeclaration": [
        "-webkit-text-stroke-color",
        "WebkitTextStrokeColor",
        "webkitTextStrokeColor"
      ],
      "syntax": "<color>",
      "extended": []
    },
    {
      "name": "-webkit-text-stroke-width",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-text-stroke-width",
      "initial": "0",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "absolute length",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "-webkit-text-stroke-width",
        "WebkitTextStrokeWidth",
        "webkitTextStrokeWidth"
      ],
      "syntax": "<line-width>",
      "extended": []
    },
    {
      "name": "-webkit-transform",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-transform",
      "legacyAliasOf": "transform",
      "styleDeclaration": [
        "-webkit-transform",
        "WebkitTransform",
        "webkitTransform"
      ],
      "syntax": "none | <transform-list>",
      "extended": []
    },
    {
      "name": "-webkit-transform-origin",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-transform-origin",
      "legacyAliasOf": "transform-origin",
      "styleDeclaration": [
        "-webkit-transform-origin",
        "WebkitTransformOrigin",
        "webkitTransformOrigin"
      ],
      "syntax": "[ left | center | right | top | bottom | <length-percentage> ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] <length>? | [ [ center | left | right ] && [ center | top | bottom ] ] <length>?",
      "extended": []
    },
    {
      "name": "-webkit-transform-style",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-transform-style",
      "legacyAliasOf": "transform-style",
      "styleDeclaration": [
        "-webkit-transform-style",
        "WebkitTransformStyle",
        "webkitTransformStyle"
      ],
      "syntax": "flat | preserve-3d",
      "extended": []
    },
    {
      "name": "-webkit-transition",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-transition",
      "legacyAliasOf": "transition",
      "styleDeclaration": [
        "-webkit-transition",
        "WebkitTransition",
        "webkitTransition"
      ],
      "longhands": [
        "transition-property",
        "transition-duration",
        "transition-timing-function",
        "transition-delay",
        "transition-behavior"
      ],
      "syntax": "<single-transition>#",
      "extended": []
    },
    {
      "name": "-webkit-transition-delay",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-transition-delay",
      "legacyAliasOf": "transition-delay",
      "styleDeclaration": [
        "-webkit-transition-delay",
        "WebkitTransitionDelay",
        "webkitTransitionDelay"
      ],
      "syntax": "<time>#",
      "extended": []
    },
    {
      "name": "-webkit-transition-duration",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-transition-duration",
      "legacyAliasOf": "transition-duration",
      "styleDeclaration": [
        "-webkit-transition-duration",
        "WebkitTransitionDuration",
        "webkitTransitionDuration"
      ],
      "syntax": "<time [0s,∞]>#",
      "extended": []
    },
    {
      "name": "-webkit-transition-property",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-transition-property",
      "legacyAliasOf": "transition-property",
      "styleDeclaration": [
        "-webkit-transition-property",
        "WebkitTransitionProperty",
        "webkitTransitionProperty"
      ],
      "syntax": "none | <single-transition-property>#",
      "extended": []
    },
    {
      "name": "-webkit-transition-timing-function",
      "href": "https://compat.spec.whatwg.org/#propdef--webkit-transition-timing-function",
      "legacyAliasOf": "transition-timing-function",
      "styleDeclaration": [
        "-webkit-transition-timing-function",
        "WebkitTransitionTimingFunction",
        "webkitTransitionTimingFunction"
      ],
      "syntax": "<easing-function>#",
      "extended": []
    },
    {
      "name": "-webkit-user-select",
      "href": "https://drafts.csswg.org/css-ui-4/#propdef--webkit-user-select",
      "styleDeclaration": [
        "-webkit-user-select",
        "WebkitUserSelect",
        "webkitUserSelect"
      ],
      "syntax": "auto | text | none | contain | all",
      "extended": []
    },
    {
      "name": "accent-color",
      "href": "https://drafts.csswg.org/css-ui-4/#propdef-accent-color",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "the keyword auto or a computed color",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "accent-color",
        "accentColor"
      ],
      "syntax": "auto | <color>",
      "extended": []
    },
    {
      "name": "align-content",
      "href": "https://drafts.csswg.org/css-align-3/#propdef-align-content",
      "initial": "normal",
      "appliesTo": "block containers, multicol containers, flex containers, and grid containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword(s)",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "align-content",
        "alignContent"
      ],
      "syntax": "normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>",
      "extended": []
    },
    {
      "name": "align-items",
      "href": "https://drafts.csswg.org/css-align-3/#propdef-align-items",
      "initial": "normal",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword(s)",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "align-items",
        "alignItems"
      ],
      "syntax": "normal | stretch | <baseline-position> | <overflow-position>? <self-position>",
      "extended": []
    },
    {
      "name": "align-self",
      "href": "https://drafts.csswg.org/css-align-3/#propdef-align-self",
      "initial": "auto",
      "appliesTo": "flex items, grid items, and absolutely-positioned boxes",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword(s)",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "align-self",
        "alignSelf"
      ],
      "syntax": "auto | <overflow-position>? [ normal | <self-position> ]| stretch | <baseline-position> | anchor-center",
      "extended": [
        "https://drafts.csswg.org/css-anchor-position-1/#propdef-align-self"
      ]
    },
    {
      "name": "alignment-baseline",
      "href": "https://drafts.csswg.org/css-inline-3/#propdef-alignment-baseline",
      "initial": "baseline",
      "appliesTo": "inline-level boxes, flex items, grid items, table cells, and SVG text content elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "alignment-baseline",
        "alignmentBaseline"
      ],
      "syntax": "baseline | <baseline-metric>",
      "extended": []
    },
    {
      "name": "all",
      "href": "https://drafts.csswg.org/css-cascade-5/#propdef-all",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "all"
      ],
      "syntax": "initial | inherit | unset | revert | revert-layer | revert-rule",
      "extended": []
    },
    {
      "name": "anchor-name",
      "href": "https://drafts.csswg.org/css-anchor-position-1/#propdef-anchor-name",
      "initial": "none",
      "appliesTo": "all elements that generate a principal box",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "anchor-name",
        "anchorName"
      ],
      "syntax": "none | <anchor-name>#",
      "extended": []
    },
    {
      "name": "anchor-scope",
      "href": "https://drafts.csswg.org/css-anchor-position-1/#propdef-anchor-scope",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "anchor-scope",
        "anchorScope"
      ],
      "syntax": "none | all | <anchor-name>#",
      "extended": []
    },
    {
      "name": "animation",
      "href": "https://drafts.csswg.org/css-animations-1/#propdef-animation",
      "initial": "see individual properties",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "see individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "animation"
      ],
      "longhands": [
        "animation-name",
        "animation-duration",
        "animation-timing-function",
        "animation-delay",
        "animation-iteration-count",
        "animation-direction",
        "animation-fill-mode",
        "animation-play-state",
        "animation-timeline"
      ],
      "resetLonghands": [
        "animation-range",
        "animation-trigger"
      ],
      "syntax": "<single-animation>#",
      "extended": []
    },
    {
      "name": "animation-composition",
      "href": "https://drafts.csswg.org/css-animations-2/#propdef-animation-composition",
      "initial": "replace",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "list, each item a keyword as specified",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "animation-composition",
        "animationComposition"
      ],
      "syntax": "<single-animation-composition>#",
      "extended": []
    },
    {
      "name": "animation-delay",
      "href": "https://drafts.csswg.org/css-animations-1/#propdef-animation-delay",
      "initial": "0s",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "list, each item a duration",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "animation-delay",
        "animationDelay"
      ],
      "syntax": "<time>#",
      "extended": []
    },
    {
      "name": "animation-direction",
      "href": "https://drafts.csswg.org/css-animations-1/#propdef-animation-direction",
      "initial": "normal",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "list, each item a keyword as specified",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "animation-direction",
        "animationDirection"
      ],
      "syntax": "<single-animation-direction>#",
      "extended": []
    },
    {
      "name": "animation-duration",
      "href": "https://drafts.csswg.org/css-animations-2/#propdef-animation-duration",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "list, each item either a time or the keyword auto",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "animation-duration",
        "animationDuration"
      ],
      "syntax": "[ auto | <time [0s,∞]> ]#",
      "extended": []
    },
    {
      "name": "animation-fill-mode",
      "href": "https://drafts.csswg.org/css-animations-1/#propdef-animation-fill-mode",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "list, each item a keyword as specified",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "animation-fill-mode",
        "animationFillMode"
      ],
      "syntax": "<single-animation-fill-mode>#",
      "extended": []
    },
    {
      "name": "animation-iteration-count",
      "href": "https://drafts.csswg.org/css-animations-1/#propdef-animation-iteration-count",
      "initial": "1",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "list, each item either a number or the keyword infinite",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "animation-iteration-count",
        "animationIterationCount"
      ],
      "syntax": "<single-animation-iteration-count>#",
      "extended": []
    },
    {
      "name": "animation-name",
      "href": "https://drafts.csswg.org/css-animations-1/#propdef-animation-name",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "list, each item either a case-sensitive css identifier or the keyword none",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "animation-name",
        "animationName"
      ],
      "syntax": "[ none | <keyframes-name> ]#",
      "extended": []
    },
    {
      "name": "animation-play-state",
      "href": "https://drafts.csswg.org/css-animations-1/#propdef-animation-play-state",
      "initial": "running",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "list, each item a keyword as specified",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "animation-play-state",
        "animationPlayState"
      ],
      "syntax": "<single-animation-play-state>#",
      "extended": []
    },
    {
      "name": "animation-range",
      "href": "https://drafts.csswg.org/scroll-animations-1/#propdef-animation-range",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "animation-range",
        "animationRange"
      ],
      "longhands": [
        "animation-range-start",
        "animation-range-end"
      ],
      "syntax": "[ <'animation-range-start'> <'animation-range-end'>? ]#",
      "extended": []
    },
    {
      "name": "animation-range-center",
      "href": "https://drafts.csswg.org/pointer-animations-1/#propdef-animation-range-center",
      "initial": "normal",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "relative to the corresponding dimension of the specified timeline range center subject, else relative to the start of the animation attachment range",
      "computedValue": "list, each item either the keyword normal or a timeline range center subject and a length-percentage value",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "animation-range-center",
        "animationRangeCenter"
      ],
      "syntax": "[ normal | [ <length-percentage> | <timeline-range-center-subject> <length-percentage>? ] ]#",
      "extended": []
    },
    {
      "name": "animation-range-end",
      "href": "https://drafts.csswg.org/scroll-animations-1/#propdef-animation-range-end",
      "initial": "normal",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "relative to the specified named timeline range if one was specified, else to the entire timeline",
      "computedValue": "list, each item either the keyword normal or a timeline range and progress percentage",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "animation-range-end",
        "animationRangeEnd"
      ],
      "syntax": "[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
      "extended": []
    },
    {
      "name": "animation-range-start",
      "href": "https://drafts.csswg.org/scroll-animations-1/#propdef-animation-range-start",
      "initial": "normal",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "relative to the specified named timeline range if one was specified, else to the entire timeline",
      "computedValue": "list, each item either the keyword normal or a timeline range and progress percentage",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "animation-range-start",
        "animationRangeStart"
      ],
      "syntax": "[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
      "extended": []
    },
    {
      "name": "animation-timeline",
      "href": "https://drafts.csswg.org/css-animations-2/#propdef-animation-timeline",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "list, each item either the keyword none, the keyword auto, a case-sensitive css identifier, a computed scroll() function, or a computed view() function",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "animation-timeline",
        "animationTimeline"
      ],
      "syntax": "<single-animation-timeline>#",
      "extended": []
    },
    {
      "name": "animation-timing-function",
      "href": "https://drafts.csswg.org/css-animations-1/#propdef-animation-timing-function",
      "initial": "ease",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "list, each item a computed <easing-function>",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "animation-timing-function",
        "animationTimingFunction"
      ],
      "syntax": "<easing-function>#",
      "extended": []
    },
    {
      "name": "animation-trigger",
      "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-animation-trigger",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "animation-trigger",
        "animationTrigger"
      ],
      "syntax": "[ none | [ <dashed-ident> <animation-action>+ ]+ ]#",
      "extended": []
    },
    {
      "name": "appearance",
      "href": "https://drafts.csswg.org/css-ui-4/#propdef-appearance",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "appearance"
      ],
      "syntax": "none | auto | base | base-select | <compat-auto> | <compat-special> | base",
      "extended": [
        "https://drafts.csswg.org/css-forms-1/"
      ]
    },
    {
      "name": "aspect-ratio",
      "href": "https://drafts.csswg.org/css-sizing-4/#propdef-aspect-ratio",
      "initial": "auto",
      "appliesTo": "all elements except inline boxes and internal ruby or table boxes",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword or a pair of numbers",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "aspect-ratio",
        "aspectRatio"
      ],
      "syntax": "auto || <ratio>",
      "extended": []
    },
    {
      "name": "backdrop-filter",
      "href": "https://drafts.csswg.org/filter-effects-2/#propdef-backdrop-filter",
      "initial": "none",
      "appliesTo": "All elements. In SVG, it applies to container elements without the defs element and all graphics elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "see prose in Filter Effects 1 § 14. Animation of Filters.",
      "media": "visual",
      "styleDeclaration": [
        "backdrop-filter",
        "backdropFilter"
      ],
      "syntax": "none | <filter-value-list>",
      "extended": []
    },
    {
      "name": "backface-visibility",
      "href": "https://drafts.csswg.org/css-transforms-2/#propdef-backface-visibility",
      "initial": "visible",
      "appliesTo": "transformable elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "backface-visibility",
        "backfaceVisibility"
      ],
      "syntax": "visible | hidden",
      "extended": []
    },
    {
      "name": "background",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background",
      "initial": "see individual properties",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "background"
      ],
      "longhands": [
        "background-image",
        "background-position",
        "background-size",
        "background-repeat",
        "background-attachment",
        "background-origin",
        "background-clip",
        "background-color"
      ],
      "resetLonghands": [
        "background-blend-mode"
      ],
      "syntax": "<bg-layer>#? , <final-bg-layer>",
      "extended": []
    },
    {
      "name": "background-attachment",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-attachment",
      "initial": "scroll",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "list, each item the keyword as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "background-attachment",
        "backgroundAttachment"
      ],
      "syntax": "<attachment>#",
      "extended": []
    },
    {
      "name": "background-blend-mode",
      "href": "https://drafts.csswg.org/compositing-2/#propdef-background-blend-mode",
      "initial": "normal",
      "appliesTo": "All HTML elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "background-blend-mode",
        "backgroundBlendMode"
      ],
      "syntax": "<'mix-blend-mode'>#",
      "extended": []
    },
    {
      "name": "background-clip",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-clip",
      "initial": "border-box",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "repeatable list",
      "styleDeclaration": [
        "background-clip",
        "backgroundClip"
      ],
      "syntax": "<bg-clip>#",
      "extended": []
    },
    {
      "name": "background-color",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-color",
      "initial": "transparent",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "computed color",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "background-color",
        "backgroundColor"
      ],
      "syntax": "<color>",
      "extended": []
    },
    {
      "name": "background-image",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-image",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "list, each item either an <image> or the keyword none",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "background-image",
        "backgroundImage"
      ],
      "syntax": "<bg-image>#",
      "extended": []
    },
    {
      "name": "background-origin",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-origin",
      "initial": "padding-box",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "list, each item a keyword as specified",
      "canonicalOrder": "per grammar",
      "animationType": "repeatable list",
      "styleDeclaration": [
        "background-origin",
        "backgroundOrigin"
      ],
      "syntax": "<visual-box>#",
      "extended": []
    },
    {
      "name": "background-position",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-position",
      "initial": "0% 0%",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "refer to size of background positioning area minus size of background image; see text",
      "computedValue": "a list, each item a pair of offsets (horizontal and vertical) from the top left origin, each offset given as a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "repeatable list",
      "styleDeclaration": [
        "background-position",
        "backgroundPosition"
      ],
      "longhands": [
        "background-position-x",
        "background-position-y"
      ],
      "syntax": "<bg-position>#",
      "extended": []
    },
    {
      "name": "background-position-block",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-position-block",
      "initial": "0%",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "refer to size of background positioning area minus size of background image",
      "computedValue": "A list, each item consisting of: an offset given as a computed <length-percentage> value, plus an origin keyword",
      "canonicalOrder": "per grammar",
      "animationType": "repeatable list",
      "logicalPropertyGroup": "background-position",
      "styleDeclaration": [
        "background-position-block",
        "backgroundPositionBlock"
      ],
      "syntax": "[ center | [ [ start | end ]? <length-percentage>? ]! ]#",
      "extended": []
    },
    {
      "name": "background-position-inline",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-position-inline",
      "initial": "0%",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "refer to inline-size of background positioning area minus inline-size of background image",
      "computedValue": "A list, each item consisting of: an offset given as a computed <length-percentage> value, plus an origin keyword",
      "canonicalOrder": "per grammar",
      "animationType": "repeatable list",
      "logicalPropertyGroup": "background-position",
      "styleDeclaration": [
        "background-position-inline",
        "backgroundPositionInline"
      ],
      "syntax": "[ center | [ [ start | end ]? <length-percentage>? ]! ]#",
      "extended": []
    },
    {
      "name": "background-position-x",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-position-x",
      "initial": "0%",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "refer to width of background positioning area minus width of background image",
      "computedValue": "A list, each item consisting of: an offset given as a computed <length-percentage> value, plus an origin keyword",
      "canonicalOrder": "per grammar",
      "animationType": "repeatable list",
      "logicalPropertyGroup": "background-position",
      "styleDeclaration": [
        "background-position-x",
        "backgroundPositionX"
      ],
      "syntax": "[ center | [ [ left | right | x-start | x-end ]? <length-percentage>? ]! ]#",
      "extended": []
    },
    {
      "name": "background-position-y",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-position-y",
      "initial": "0%",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "refer to height of background positioning area minus height of background image",
      "computedValue": "A list, each item consisting of: an offset given as a computed <length-percentage> value, plus an origin keyword",
      "canonicalOrder": "per grammar",
      "animationType": "repeatable list",
      "logicalPropertyGroup": "background-position",
      "styleDeclaration": [
        "background-position-y",
        "backgroundPositionY"
      ],
      "syntax": "[ center | [ [ top | bottom | y-start | y-end ]? <length-percentage>? ]! ]#",
      "extended": []
    },
    {
      "name": "background-repeat",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-repeat",
      "initial": "repeat",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "list, each item a pair of keywords, one per dimension",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "background-repeat",
        "backgroundRepeat"
      ],
      "syntax": "<repeat-style>#",
      "extended": []
    },
    {
      "name": "background-repeat-block",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-repeat-block",
      "initial": "repeat",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "logicalPropertyGroup": "background-repeat",
      "styleDeclaration": [
        "background-repeat-block",
        "backgroundRepeatBlock"
      ],
      "syntax": "<repetition>#",
      "extended": []
    },
    {
      "name": "background-repeat-inline",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-repeat-inline",
      "initial": "repeat",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "logicalPropertyGroup": "background-repeat",
      "styleDeclaration": [
        "background-repeat-inline",
        "backgroundRepeatInline"
      ],
      "syntax": "<repetition>#",
      "extended": []
    },
    {
      "name": "background-repeat-x",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-repeat-x",
      "initial": "repeat",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "logicalPropertyGroup": "background-repeat",
      "styleDeclaration": [
        "background-repeat-x",
        "backgroundRepeatX"
      ],
      "syntax": "<repetition>#",
      "extended": []
    },
    {
      "name": "background-repeat-y",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-repeat-y",
      "initial": "repeat",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "logicalPropertyGroup": "background-repeat",
      "styleDeclaration": [
        "background-repeat-y",
        "backgroundRepeatY"
      ],
      "syntax": "<repetition>#",
      "extended": []
    },
    {
      "name": "background-size",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-size",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "see text",
      "computedValue": "list, each item a pair of sizes (one per axis) each represented as either a keyword or a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "repeatable list",
      "styleDeclaration": [
        "background-size",
        "backgroundSize"
      ],
      "syntax": "<bg-size>#",
      "extended": []
    },
    {
      "name": "background-tbd",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-tbd",
      "initial": "see individual properties",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "see individual properties",
      "styleDeclaration": [
        "background-tbd",
        "backgroundTbd"
      ],
      "syntax": "<bg-layer>#",
      "extended": []
    },
    {
      "name": "baseline-shift",
      "href": "https://drafts.csswg.org/css-inline-3/#propdef-baseline-shift",
      "initial": "0",
      "appliesTo": "inline-level boxes and SVG text content elements",
      "inherited": "no",
      "percentages": "refer to the used value of line-height",
      "computedValue": "the specified keyword or a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "baseline-shift",
        "baselineShift"
      ],
      "syntax": "<length-percentage> | sub | super | top | center | bottom",
      "extended": []
    },
    {
      "name": "baseline-source",
      "href": "https://drafts.csswg.org/css-inline-3/#propdef-baseline-source",
      "initial": "auto",
      "appliesTo": "inline-level boxes",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "baseline-source",
        "baselineSource"
      ],
      "syntax": "auto | first | last",
      "extended": []
    },
    {
      "name": "block-ellipsis",
      "href": "https://drafts.csswg.org/css-overflow-4/#propdef-block-ellipsis",
      "initial": "no-ellipsis",
      "appliesTo": "block containers",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified value",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "block-ellipsis",
        "blockEllipsis"
      ],
      "syntax": "no-ellipsis | auto | <string>",
      "extended": []
    },
    {
      "name": "block-size",
      "href": "https://drafts.csswg.org/css-logical-1/#propdef-block-size",
      "initial": "auto",
      "appliesTo": "Same as height and width",
      "inherited": "no",
      "percentages": "As for the corresponding physical property",
      "computedValue": "Same as height, width",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "size",
      "styleDeclaration": [
        "block-size",
        "blockSize"
      ],
      "syntax": "<'width'>",
      "extended": []
    },
    {
      "name": "block-step",
      "href": "https://drafts.csswg.org/css-rhythm-1/#propdef-block-step",
      "initial": "see individual properties",
      "appliesTo": "block-level boxes",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "block-step",
        "blockStep"
      ],
      "longhands": [
        "block-step-size",
        "block-step-insert",
        "block-step-align",
        "block-step-round"
      ],
      "syntax": "<'block-step-size'> || <'block-step-insert'> || <'block-step-align'> || <'block-step-round'>",
      "extended": []
    },
    {
      "name": "block-step-align",
      "href": "https://drafts.csswg.org/css-rhythm-1/#propdef-block-step-align",
      "initial": "auto",
      "appliesTo": "block-level boxes",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "block-step-align",
        "blockStepAlign"
      ],
      "syntax": "auto | center | start | end",
      "extended": []
    },
    {
      "name": "block-step-insert",
      "href": "https://drafts.csswg.org/css-rhythm-1/#propdef-block-step-insert",
      "initial": "margin-box",
      "appliesTo": "block-level boxes",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "block-step-insert",
        "blockStepInsert"
      ],
      "syntax": "margin-box | padding-box | content-box",
      "extended": []
    },
    {
      "name": "block-step-round",
      "href": "https://drafts.csswg.org/css-rhythm-1/#propdef-block-step-round",
      "initial": "up",
      "appliesTo": "block-level boxes",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "block-step-round",
        "blockStepRound"
      ],
      "syntax": "up | down | nearest",
      "extended": []
    },
    {
      "name": "block-step-size",
      "href": "https://drafts.csswg.org/css-rhythm-1/#propdef-block-step-size",
      "initial": "none",
      "appliesTo": "block-level boxes",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword or absolute length",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "block-step-size",
        "blockStepSize"
      ],
      "syntax": "none | <length [0,∞]>",
      "extended": []
    },
    {
      "name": "bookmark-label",
      "href": "https://drafts.csswg.org/css-content-3/#propdef-bookmark-label",
      "initial": "content(text)",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified value",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "bookmark-label",
        "bookmarkLabel"
      ],
      "syntax": "<content-list>",
      "extended": []
    },
    {
      "name": "bookmark-level",
      "href": "https://drafts.csswg.org/css-content-3/#propdef-bookmark-level",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "the keyword none or the specified integer",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "bookmark-level",
        "bookmarkLevel"
      ],
      "syntax": "none | <integer [1,∞]>",
      "extended": []
    },
    {
      "name": "bookmark-state",
      "href": "https://drafts.csswg.org/css-content-3/#propdef-bookmark-state",
      "initial": "open",
      "appliesTo": "block-level elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "bookmark-state",
        "bookmarkState"
      ],
      "syntax": "open | closed",
      "extended": []
    },
    {
      "name": "border",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border"
      ],
      "longhands": [
        "border-width",
        "border-style",
        "border-color"
      ],
      "resetLonghands": [
        "border-image"
      ],
      "syntax": "<line-width> || <line-style> || <color>",
      "extended": []
    },
    {
      "name": "border-block",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-block",
        "borderBlock"
      ],
      "longhands": [
        "border-block-start",
        "border-block-end"
      ],
      "syntax": "<'border-block-start'>",
      "extended": []
    },
    {
      "name": "border-block-clip",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-clip",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-block-clip",
        "borderBlockClip"
      ],
      "longhands": [
        "border-block-start-clip",
        "border-block-end-clip"
      ],
      "syntax": "<'border-top-clip'>",
      "extended": []
    },
    {
      "name": "border-block-color",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-color",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-block-color",
        "borderBlockColor"
      ],
      "longhands": [
        "border-block-start-color",
        "border-block-end-color"
      ],
      "syntax": "<'border-top-color'>{1,2}",
      "extended": []
    },
    {
      "name": "border-block-end",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-end",
      "initial": "See individual properties",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-block-end",
        "borderBlockEnd"
      ],
      "longhands": [
        "border-block-end-width",
        "border-block-end-style",
        "border-block-end-color"
      ],
      "syntax": "<line-width> || <line-style> || <color>",
      "extended": []
    },
    {
      "name": "border-block-end-clip",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-end-clip",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "refer to length of border-edge side",
      "computedValue": "none, or a list consisting of absolute lengths, or percentages as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "logicalPropertyGroup": "border-clip",
      "styleDeclaration": [
        "border-block-end-clip",
        "borderBlockEndClip"
      ],
      "syntax": "none | [ <length-percentage [0,∞]> | <flex> ]+",
      "extended": []
    },
    {
      "name": "border-block-end-color",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-end-color",
      "initial": "currentcolor",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "the computed color and/or a one-dimensional image function",
      "canonicalOrder": "per grammar",
      "animationType": "see prose",
      "logicalPropertyGroup": "border-color",
      "styleDeclaration": [
        "border-block-end-color",
        "borderBlockEndColor"
      ],
      "syntax": "<color> | <image-1D>",
      "extended": []
    },
    {
      "name": "border-block-end-radius",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-end-radius",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-block-end-radius",
        "borderBlockEndRadius"
      ],
      "longhands": [
        "border-end-start-radius",
        "border-end-end-radius"
      ],
      "syntax": "<length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?",
      "extended": []
    },
    {
      "name": "border-block-end-style",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-end-style",
      "initial": "none",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "logicalPropertyGroup": "border-style",
      "styleDeclaration": [
        "border-block-end-style",
        "borderBlockEndStyle"
      ],
      "syntax": "<line-style>",
      "extended": []
    },
    {
      "name": "border-block-end-width",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-end-width",
      "initial": "medium",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "absolute length, snapped as a border width",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "logicalPropertyGroup": "border-width",
      "styleDeclaration": [
        "border-block-end-width",
        "borderBlockEndWidth"
      ],
      "syntax": "<line-width>",
      "extended": []
    },
    {
      "name": "border-block-start",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-start",
      "initial": "See individual properties",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-block-start",
        "borderBlockStart"
      ],
      "longhands": [
        "border-block-start-width",
        "border-block-start-style",
        "border-block-start-color"
      ],
      "syntax": "<line-width> || <line-style> || <color>",
      "extended": []
    },
    {
      "name": "border-block-start-clip",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-start-clip",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "refer to length of border-edge side",
      "computedValue": "none, or a list consisting of absolute lengths, or percentages as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "logicalPropertyGroup": "border-clip",
      "styleDeclaration": [
        "border-block-start-clip",
        "borderBlockStartClip"
      ],
      "syntax": "none | [ <length-percentage [0,∞]> | <flex> ]+",
      "extended": []
    },
    {
      "name": "border-block-start-color",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-start-color",
      "initial": "currentcolor",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "the computed color and/or a one-dimensional image function",
      "canonicalOrder": "per grammar",
      "animationType": "see prose",
      "logicalPropertyGroup": "border-color",
      "styleDeclaration": [
        "border-block-start-color",
        "borderBlockStartColor"
      ],
      "syntax": "<color> | <image-1D>",
      "extended": []
    },
    {
      "name": "border-block-start-radius",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-start-radius",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-block-start-radius",
        "borderBlockStartRadius"
      ],
      "longhands": [
        "border-start-start-radius",
        "border-start-end-radius"
      ],
      "syntax": "<length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?",
      "extended": []
    },
    {
      "name": "border-block-start-style",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-start-style",
      "initial": "none",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "logicalPropertyGroup": "border-style",
      "styleDeclaration": [
        "border-block-start-style",
        "borderBlockStartStyle"
      ],
      "syntax": "<line-style>",
      "extended": []
    },
    {
      "name": "border-block-start-width",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-start-width",
      "initial": "medium",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "absolute length, snapped as a border width",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "logicalPropertyGroup": "border-width",
      "styleDeclaration": [
        "border-block-start-width",
        "borderBlockStartWidth"
      ],
      "syntax": "<line-width>",
      "extended": []
    },
    {
      "name": "border-block-style",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-style",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-block-style",
        "borderBlockStyle"
      ],
      "longhands": [
        "border-block-start-style",
        "border-block-end-style"
      ],
      "syntax": "<'border-top-style'>{1,2}",
      "extended": []
    },
    {
      "name": "border-block-width",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-width",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-block-width",
        "borderBlockWidth"
      ],
      "longhands": [
        "border-block-start-width",
        "border-block-end-width"
      ],
      "syntax": "<'border-top-width'>{1,2}",
      "extended": []
    },
    {
      "name": "border-bottom",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-bottom",
      "initial": "See individual properties",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-bottom",
        "borderBottom"
      ],
      "longhands": [
        "border-bottom-width",
        "border-bottom-style",
        "border-bottom-color"
      ],
      "syntax": "<line-width> || <line-style> || <color>",
      "extended": []
    },
    {
      "name": "border-bottom-clip",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-bottom-clip",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "refer to length of border-edge side",
      "computedValue": "none, or a list consisting of absolute lengths, or percentages as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "logicalPropertyGroup": "border-clip",
      "styleDeclaration": [
        "border-bottom-clip",
        "borderBottomClip"
      ],
      "syntax": "none | [ <length-percentage [0,∞]> | <flex> ]+",
      "extended": []
    },
    {
      "name": "border-bottom-color",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-bottom-color",
      "initial": "currentcolor",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "the computed color and/or a one-dimensional image function",
      "canonicalOrder": "per grammar",
      "animationType": "see prose",
      "logicalPropertyGroup": "border-color",
      "styleDeclaration": [
        "border-bottom-color",
        "borderBottomColor"
      ],
      "syntax": "<color> | <image-1D>",
      "extended": []
    },
    {
      "name": "border-bottom-left-radius",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-bottom-left-radius",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "pair of computed <length-percentage> values",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "logicalPropertyGroup": "border-radius",
      "styleDeclaration": [
        "border-bottom-left-radius",
        "borderBottomLeftRadius"
      ],
      "syntax": "<border-radius>",
      "extended": []
    },
    {
      "name": "border-bottom-radius",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-bottom-radius",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-bottom-radius",
        "borderBottomRadius"
      ],
      "longhands": [
        "border-bottom-left-radius",
        "border-bottom-right-radius"
      ],
      "syntax": "<length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?",
      "extended": []
    },
    {
      "name": "border-bottom-right-radius",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-bottom-right-radius",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "pair of computed <length-percentage> values",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "logicalPropertyGroup": "border-radius",
      "styleDeclaration": [
        "border-bottom-right-radius",
        "borderBottomRightRadius"
      ],
      "syntax": "<border-radius>",
      "extended": []
    },
    {
      "name": "border-bottom-style",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-bottom-style",
      "initial": "none",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "logicalPropertyGroup": "border-style",
      "styleDeclaration": [
        "border-bottom-style",
        "borderBottomStyle"
      ],
      "syntax": "<line-style>",
      "extended": []
    },
    {
      "name": "border-bottom-width",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-bottom-width",
      "initial": "medium",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "absolute length, snapped as a border width",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "logicalPropertyGroup": "border-width",
      "styleDeclaration": [
        "border-bottom-width",
        "borderBottomWidth"
      ],
      "syntax": "<line-width>",
      "extended": []
    },
    {
      "name": "border-boundary",
      "href": "https://drafts.csswg.org/css-round-display-1/#propdef-border-boundary",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "border-boundary",
        "borderBoundary"
      ],
      "syntax": "none | parent | display",
      "extended": []
    },
    {
      "name": "border-clip",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-clip",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-clip",
        "borderClip"
      ],
      "longhands": [
        "border-top-clip",
        "border-right-clip",
        "border-bottom-clip",
        "border-left-clip"
      ],
      "syntax": "<'border-top-clip'>",
      "extended": []
    },
    {
      "name": "border-collapse",
      "href": "https://drafts.csswg.org/css-tables-3/#propdef-border-collapse",
      "initial": "separate",
      "appliesTo": "table grid boxes",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "border-collapse",
        "borderCollapse"
      ],
      "syntax": "separate | collapse",
      "extended": []
    },
    {
      "name": "border-color",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-color",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-color",
        "borderColor"
      ],
      "longhands": [
        "border-top-color",
        "border-right-color",
        "border-bottom-color",
        "border-left-color"
      ],
      "syntax": "[ <color> | <image-1D> ]{1,4}",
      "extended": []
    },
    {
      "name": "border-end-end-radius",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-end-end-radius",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "pair of computed <length-percentage> values",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "logicalPropertyGroup": "border-radius",
      "styleDeclaration": [
        "border-end-end-radius",
        "borderEndEndRadius"
      ],
      "syntax": "<border-radius>",
      "extended": []
    },
    {
      "name": "border-end-start-radius",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-end-start-radius",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "pair of computed <length-percentage> values",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "logicalPropertyGroup": "border-radius",
      "styleDeclaration": [
        "border-end-start-radius",
        "borderEndStartRadius"
      ],
      "syntax": "<border-radius>",
      "extended": []
    },
    {
      "name": "border-image",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-image",
      "initial": "See individual properties",
      "appliesTo": "See individual properties",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "See individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "See individual properties",
      "styleDeclaration": [
        "border-image",
        "borderImage"
      ],
      "longhands": [
        "border-image-source",
        "border-image-slice",
        "border-image-width",
        "border-image-outset",
        "border-image-repeat"
      ],
      "syntax": "<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>",
      "extended": []
    },
    {
      "name": "border-image-outset",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-image-outset",
      "initial": "0",
      "appliesTo": "All elements, except internal table elements when border-collapse is collapse",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "four values, each a number or absolute length",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "border-image-outset",
        "borderImageOutset"
      ],
      "syntax": "[ <length [0,∞]> | <number [0,∞]> ]{1,4}",
      "extended": []
    },
    {
      "name": "border-image-repeat",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-image-repeat",
      "initial": "stretch",
      "appliesTo": "All elements, except internal table elements when border-collapse is collapse",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "two keywords, one per axis",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "border-image-repeat",
        "borderImageRepeat"
      ],
      "syntax": "[ stretch | repeat | round | space ]{1,2}",
      "extended": []
    },
    {
      "name": "border-image-slice",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-image-slice",
      "initial": "100%",
      "appliesTo": "All elements, except internal table elements when border-collapse is collapse",
      "inherited": "no",
      "percentages": "refer to size of the border image",
      "computedValue": "four values, each either a number or percentage; plus a fill keyword if specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "border-image-slice",
        "borderImageSlice"
      ],
      "syntax": "[<number [0,∞]> | <percentage [0,∞]>]{1,4} && fill?",
      "extended": []
    },
    {
      "name": "border-image-source",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-image-source",
      "initial": "none",
      "appliesTo": "All elements, except internal table elements when border-collapse is collapse",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "the keyword none or the computed <image>",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "border-image-source",
        "borderImageSource"
      ],
      "syntax": "none | <image>",
      "extended": []
    },
    {
      "name": "border-image-width",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-image-width",
      "initial": "1",
      "appliesTo": "All elements, except internal table elements when border-collapse is collapse",
      "inherited": "no",
      "percentages": "Relative to width/height of the border image area",
      "computedValue": "four values, each either a number, the keyword auto, or a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "border-image-width",
        "borderImageWidth"
      ],
      "syntax": "[ <length-percentage [0,∞]> | <number [0,∞]> | auto ]{1,4}",
      "extended": []
    },
    {
      "name": "border-inline",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-inline",
        "borderInline"
      ],
      "longhands": [
        "border-inline-start",
        "border-inline-end"
      ],
      "syntax": "<'border-block-start'>",
      "extended": []
    },
    {
      "name": "border-inline-clip",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-clip",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-inline-clip",
        "borderInlineClip"
      ],
      "longhands": [
        "border-inline-start-clip",
        "border-inline-end-clip"
      ],
      "syntax": "<'border-top-clip'>",
      "extended": []
    },
    {
      "name": "border-inline-color",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-color",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-inline-color",
        "borderInlineColor"
      ],
      "longhands": [
        "border-inline-start-color",
        "border-inline-end-color"
      ],
      "syntax": "<'border-top-color'>{1,2}",
      "extended": []
    },
    {
      "name": "border-inline-end",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-end",
      "initial": "See individual properties",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-inline-end",
        "borderInlineEnd"
      ],
      "longhands": [
        "border-inline-end-width",
        "border-inline-end-style",
        "border-inline-end-color"
      ],
      "syntax": "<line-width> || <line-style> || <color>",
      "extended": []
    },
    {
      "name": "border-inline-end-clip",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-end-clip",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "refer to length of border-edge side",
      "computedValue": "none, or a list consisting of absolute lengths, or percentages as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "logicalPropertyGroup": "border-clip",
      "styleDeclaration": [
        "border-inline-end-clip",
        "borderInlineEndClip"
      ],
      "syntax": "none | [ <length-percentage [0,∞]> | <flex> ]+",
      "extended": []
    },
    {
      "name": "border-inline-end-color",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-end-color",
      "initial": "currentcolor",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "the computed color and/or a one-dimensional image function",
      "canonicalOrder": "per grammar",
      "animationType": "see prose",
      "logicalPropertyGroup": "border-color",
      "styleDeclaration": [
        "border-inline-end-color",
        "borderInlineEndColor"
      ],
      "syntax": "<color> | <image-1D>",
      "extended": []
    },
    {
      "name": "border-inline-end-radius",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-end-radius",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-inline-end-radius",
        "borderInlineEndRadius"
      ],
      "longhands": [
        "border-start-end-radius",
        "border-end-end-radius"
      ],
      "syntax": "<length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?",
      "extended": []
    },
    {
      "name": "border-inline-end-style",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-end-style",
      "initial": "none",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "logicalPropertyGroup": "border-style",
      "styleDeclaration": [
        "border-inline-end-style",
        "borderInlineEndStyle"
      ],
      "syntax": "<line-style>",
      "extended": []
    },
    {
      "name": "border-inline-end-width",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-end-width",
      "initial": "medium",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "absolute length, snapped as a border width",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "logicalPropertyGroup": "border-width",
      "styleDeclaration": [
        "border-inline-end-width",
        "borderInlineEndWidth"
      ],
      "syntax": "<line-width>",
      "extended": []
    },
    {
      "name": "border-inline-start",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-start",
      "initial": "See individual properties",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-inline-start",
        "borderInlineStart"
      ],
      "longhands": [
        "border-inline-start-width",
        "border-inline-start-style",
        "border-inline-start-color"
      ],
      "syntax": "<line-width> || <line-style> || <color>",
      "extended": []
    },
    {
      "name": "border-inline-start-clip",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-start-clip",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "refer to length of border-edge side",
      "computedValue": "none, or a list consisting of absolute lengths, or percentages as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "logicalPropertyGroup": "border-clip",
      "styleDeclaration": [
        "border-inline-start-clip",
        "borderInlineStartClip"
      ],
      "syntax": "none | [ <length-percentage [0,∞]> | <flex> ]+",
      "extended": []
    },
    {
      "name": "border-inline-start-color",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-start-color",
      "initial": "currentcolor",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "the computed color and/or a one-dimensional image function",
      "canonicalOrder": "per grammar",
      "animationType": "see prose",
      "logicalPropertyGroup": "border-color",
      "styleDeclaration": [
        "border-inline-start-color",
        "borderInlineStartColor"
      ],
      "syntax": "<color> | <image-1D>",
      "extended": []
    },
    {
      "name": "border-inline-start-radius",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-start-radius",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-inline-start-radius",
        "borderInlineStartRadius"
      ],
      "longhands": [
        "border-start-start-radius",
        "border-end-start-radius"
      ],
      "syntax": "<length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?",
      "extended": []
    },
    {
      "name": "border-inline-start-style",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-start-style",
      "initial": "none",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "logicalPropertyGroup": "border-style",
      "styleDeclaration": [
        "border-inline-start-style",
        "borderInlineStartStyle"
      ],
      "syntax": "<line-style>",
      "extended": []
    },
    {
      "name": "border-inline-start-width",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-start-width",
      "initial": "medium",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "absolute length, snapped as a border width",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "logicalPropertyGroup": "border-width",
      "styleDeclaration": [
        "border-inline-start-width",
        "borderInlineStartWidth"
      ],
      "syntax": "<line-width>",
      "extended": []
    },
    {
      "name": "border-inline-style",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-style",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-inline-style",
        "borderInlineStyle"
      ],
      "longhands": [
        "border-inline-start-style",
        "border-inline-end-style"
      ],
      "syntax": "<'border-top-style'>{1,2}",
      "extended": []
    },
    {
      "name": "border-inline-width",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-width",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-inline-width",
        "borderInlineWidth"
      ],
      "longhands": [
        "border-inline-start-width",
        "border-inline-end-width"
      ],
      "syntax": "<'border-top-width'>{1,2}",
      "extended": []
    },
    {
      "name": "border-left",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-left",
      "initial": "See individual properties",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-left",
        "borderLeft"
      ],
      "longhands": [
        "border-left-width",
        "border-left-style",
        "border-left-color"
      ],
      "syntax": "<line-width> || <line-style> || <color>",
      "extended": []
    },
    {
      "name": "border-left-clip",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-left-clip",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "refer to length of border-edge side",
      "computedValue": "none, or a list consisting of absolute lengths, or percentages as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "logicalPropertyGroup": "border-clip",
      "styleDeclaration": [
        "border-left-clip",
        "borderLeftClip"
      ],
      "syntax": "none | [ <length-percentage [0,∞]> | <flex> ]+",
      "extended": []
    },
    {
      "name": "border-left-color",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-left-color",
      "initial": "currentcolor",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "the computed color and/or a one-dimensional image function",
      "canonicalOrder": "per grammar",
      "animationType": "see prose",
      "logicalPropertyGroup": "border-color",
      "styleDeclaration": [
        "border-left-color",
        "borderLeftColor"
      ],
      "syntax": "<color> | <image-1D>",
      "extended": []
    },
    {
      "name": "border-left-radius",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-left-radius",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-left-radius",
        "borderLeftRadius"
      ],
      "longhands": [
        "border-top-left-radius",
        "border-bottom-left-radius"
      ],
      "syntax": "<length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?",
      "extended": []
    },
    {
      "name": "border-left-style",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-left-style",
      "initial": "none",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "logicalPropertyGroup": "border-style",
      "styleDeclaration": [
        "border-left-style",
        "borderLeftStyle"
      ],
      "syntax": "<line-style>",
      "extended": []
    },
    {
      "name": "border-left-width",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-left-width",
      "initial": "medium",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "absolute length, snapped as a border width",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "logicalPropertyGroup": "border-width",
      "styleDeclaration": [
        "border-left-width",
        "borderLeftWidth"
      ],
      "syntax": "<line-width>",
      "extended": []
    },
    {
      "name": "border-limit",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-limit",
      "initial": "all",
      "appliesTo": "all elements, except table element when border-collapse is collapse",
      "inherited": "no",
      "percentages": "relative to border-box",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "border-limit",
        "borderLimit"
      ],
      "syntax": "all | [ sides | corners ] <length-percentage [0,∞]>? | [ top | right | bottom | left ] <length-percentage [0,∞]>",
      "extended": []
    },
    {
      "name": "border-radius",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-radius",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-radius",
        "borderRadius"
      ],
      "longhands": [
        "border-top-left-radius",
        "border-top-right-radius",
        "border-bottom-right-radius",
        "border-bottom-left-radius"
      ],
      "syntax": "<length-percentage [0,∞]>{1,4} [ / <length-percentage [0,∞]>{1,4} ]?",
      "extended": []
    },
    {
      "name": "border-right",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-right",
      "initial": "See individual properties",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-right",
        "borderRight"
      ],
      "longhands": [
        "border-right-width",
        "border-right-style",
        "border-right-color"
      ],
      "syntax": "<line-width> || <line-style> || <color>",
      "extended": []
    },
    {
      "name": "border-right-clip",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-right-clip",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "refer to length of border-edge side",
      "computedValue": "none, or a list consisting of absolute lengths, or percentages as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "logicalPropertyGroup": "border-clip",
      "styleDeclaration": [
        "border-right-clip",
        "borderRightClip"
      ],
      "syntax": "none | [ <length-percentage [0,∞]> | <flex> ]+",
      "extended": []
    },
    {
      "name": "border-right-color",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-right-color",
      "initial": "currentcolor",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "the computed color and/or a one-dimensional image function",
      "canonicalOrder": "per grammar",
      "animationType": "see prose",
      "logicalPropertyGroup": "border-color",
      "styleDeclaration": [
        "border-right-color",
        "borderRightColor"
      ],
      "syntax": "<color> | <image-1D>",
      "extended": []
    },
    {
      "name": "border-right-radius",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-right-radius",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-right-radius",
        "borderRightRadius"
      ],
      "longhands": [
        "border-top-right-radius",
        "border-bottom-right-radius"
      ],
      "syntax": "<length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?",
      "extended": []
    },
    {
      "name": "border-right-style",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-right-style",
      "initial": "none",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "logicalPropertyGroup": "border-style",
      "styleDeclaration": [
        "border-right-style",
        "borderRightStyle"
      ],
      "syntax": "<line-style>",
      "extended": []
    },
    {
      "name": "border-right-width",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-right-width",
      "initial": "medium",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "absolute length, snapped as a border width",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "logicalPropertyGroup": "border-width",
      "styleDeclaration": [
        "border-right-width",
        "borderRightWidth"
      ],
      "syntax": "<line-width>",
      "extended": []
    },
    {
      "name": "border-shape",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-shape",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "see prose",
      "computedValue": "list, each item a computed color",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "border-shape",
        "borderShape"
      ],
      "syntax": "none | [ <basic-shape> <geometry-box>?]{1,2}",
      "extended": []
    },
    {
      "name": "border-spacing",
      "href": "https://drafts.csswg.org/css-tables-3/#propdef-border-spacing",
      "initial": "0px 0px",
      "appliesTo": "table grid boxes when border-collapse is separate",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "two absolute lengths",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "border-spacing",
        "borderSpacing"
      ],
      "syntax": "<length [0,∞]>{1,2}",
      "extended": []
    },
    {
      "name": "border-start-end-radius",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-start-end-radius",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "pair of computed <length-percentage> values",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "logicalPropertyGroup": "border-radius",
      "styleDeclaration": [
        "border-start-end-radius",
        "borderStartEndRadius"
      ],
      "syntax": "<border-radius>",
      "extended": []
    },
    {
      "name": "border-start-start-radius",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-start-start-radius",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "pair of computed <length-percentage> values",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "logicalPropertyGroup": "border-radius",
      "styleDeclaration": [
        "border-start-start-radius",
        "borderStartStartRadius"
      ],
      "syntax": "<border-radius>",
      "extended": []
    },
    {
      "name": "border-style",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-style",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-style",
        "borderStyle"
      ],
      "longhands": [
        "border-top-style",
        "border-right-style",
        "border-bottom-style",
        "border-left-style"
      ],
      "syntax": "<'border-top-style'>{1,4}",
      "extended": []
    },
    {
      "name": "border-top",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-top",
      "initial": "See individual properties",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-top",
        "borderTop"
      ],
      "longhands": [
        "border-top-width",
        "border-top-style",
        "border-top-color"
      ],
      "syntax": "<line-width> || <line-style> || <color>",
      "extended": []
    },
    {
      "name": "border-top-clip",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-top-clip",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "refer to length of border-edge side",
      "computedValue": "none, or a list consisting of absolute lengths, or percentages as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "logicalPropertyGroup": "border-clip",
      "styleDeclaration": [
        "border-top-clip",
        "borderTopClip"
      ],
      "syntax": "none | [ <length-percentage [0,∞]> | <flex> ]+",
      "extended": []
    },
    {
      "name": "border-top-color",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-top-color",
      "initial": "currentcolor",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "the computed color and/or a one-dimensional image function",
      "canonicalOrder": "per grammar",
      "animationType": "see prose",
      "logicalPropertyGroup": "border-color",
      "styleDeclaration": [
        "border-top-color",
        "borderTopColor"
      ],
      "syntax": "<color> | <image-1D>",
      "extended": []
    },
    {
      "name": "border-top-left-radius",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-top-left-radius",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "pair of computed <length-percentage> values",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "logicalPropertyGroup": "border-radius",
      "styleDeclaration": [
        "border-top-left-radius",
        "borderTopLeftRadius"
      ],
      "syntax": "<border-radius>",
      "extended": []
    },
    {
      "name": "border-top-radius",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-top-radius",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-top-radius",
        "borderTopRadius"
      ],
      "longhands": [
        "border-top-left-radius",
        "border-top-right-radius"
      ],
      "syntax": "<length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?",
      "extended": []
    },
    {
      "name": "border-top-right-radius",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-top-right-radius",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "pair of computed <length-percentage> values",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "logicalPropertyGroup": "border-radius",
      "styleDeclaration": [
        "border-top-right-radius",
        "borderTopRightRadius"
      ],
      "syntax": "<border-radius>",
      "extended": []
    },
    {
      "name": "border-top-style",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-top-style",
      "initial": "none",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "logicalPropertyGroup": "border-style",
      "styleDeclaration": [
        "border-top-style",
        "borderTopStyle"
      ],
      "syntax": "<line-style>",
      "extended": []
    },
    {
      "name": "border-top-width",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-top-width",
      "initial": "medium",
      "appliesTo": "all elements except ruby base containers and ruby annotation containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "absolute length, snapped as a border width",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "logicalPropertyGroup": "border-width",
      "styleDeclaration": [
        "border-top-width",
        "borderTopWidth"
      ],
      "syntax": "<line-width>",
      "extended": []
    },
    {
      "name": "border-width",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-width",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "border-width",
        "borderWidth"
      ],
      "longhands": [
        "border-top-width",
        "border-right-width",
        "border-bottom-width",
        "border-left-width"
      ],
      "syntax": "<'border-top-width'>{1,4}",
      "extended": []
    },
    {
      "name": "bottom",
      "href": "https://drafts.csswg.org/css-position-3/#propdef-bottom",
      "initial": "auto",
      "appliesTo": "positioned elements",
      "inherited": "no",
      "percentages": "refer to size of containing block; see prose",
      "computedValue": "the keyword auto or a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "inset",
      "styleDeclaration": [
        "bottom"
      ],
      "syntax": "auto | <length-percentage> | <anchor()> | <anchor-size()>",
      "extended": [
        "https://drafts.csswg.org/css-anchor-position-1/"
      ]
    },
    {
      "name": "box-decoration-break",
      "href": "https://drafts.csswg.org/css-break-4/#propdef-box-decoration-break",
      "initial": "slice",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "box-decoration-break",
        "boxDecorationBreak"
      ],
      "syntax": "slice | clone",
      "extended": []
    },
    {
      "name": "box-shadow",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-box-shadow",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "see individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "see individual properties",
      "styleDeclaration": [
        "box-shadow",
        "boxShadow"
      ],
      "longhands": [
        "box-shadow-color",
        "box-shadow-offset",
        "box-shadow-blur",
        "box-shadow-spread",
        "box-shadow-position"
      ],
      "syntax": "<spread-shadow>#",
      "extended": []
    },
    {
      "name": "box-shadow-blur",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-box-shadow-blur",
      "initial": "0",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "list, each item a <length>",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "box-shadow-blur",
        "boxShadowBlur"
      ],
      "syntax": "<length [0,∞]>#",
      "extended": []
    },
    {
      "name": "box-shadow-color",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-box-shadow-color",
      "initial": "currentcolor",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "list, each item a computed color",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "box-shadow-color",
        "boxShadowColor"
      ],
      "syntax": "<color>#",
      "extended": []
    },
    {
      "name": "box-shadow-offset",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-box-shadow-offset",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "list, each item either none or a pair of offsets (horizontal and vertical) from the element‘s box",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value, treating none as 0 0 when interpolated with non-none values.",
      "styleDeclaration": [
        "box-shadow-offset",
        "boxShadowOffset"
      ],
      "syntax": "[ none | <length>{1,2} ]#",
      "extended": []
    },
    {
      "name": "box-shadow-position",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-box-shadow-position",
      "initial": "outset",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "list, each item one of the keywords",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "box-shadow-position",
        "boxShadowPosition"
      ],
      "syntax": "[ outset | inset ]#",
      "extended": []
    },
    {
      "name": "box-shadow-spread",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-box-shadow-spread",
      "initial": "0",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "list, each item a <length>",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "box-shadow-spread",
        "boxShadowSpread"
      ],
      "syntax": "<length>#",
      "extended": []
    },
    {
      "name": "box-sizing",
      "href": "https://drafts.csswg.org/css-sizing-3/#propdef-box-sizing",
      "initial": "content-box",
      "appliesTo": "all elements that accept width or height",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "box-sizing",
        "boxSizing"
      ],
      "syntax": "content-box | border-box",
      "extended": []
    },
    {
      "name": "box-snap",
      "href": "https://drafts.csswg.org/css-line-grid-1/#propdef-box-snap",
      "initial": "none",
      "appliesTo": "block-level boxes and internal table elements except table cells",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "box-snap",
        "boxSnap"
      ],
      "syntax": "none | block-start | block-end | center | baseline | last-baseline",
      "extended": []
    },
    {
      "name": "break-after",
      "href": "https://drafts.csswg.org/css-break-4/#propdef-break-after",
      "initial": "auto",
      "appliesTo": "block-level boxes, grid items, flex items, table row groups, table rows (but see prose)",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "break-after",
        "breakAfter"
      ],
      "syntax": "auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region",
      "extended": []
    },
    {
      "name": "break-before",
      "href": "https://drafts.csswg.org/css-break-4/#propdef-break-before",
      "initial": "auto",
      "appliesTo": "block-level boxes, grid items, flex items, table row groups, table rows (but see prose)",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "break-before",
        "breakBefore"
      ],
      "syntax": "auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region",
      "extended": []
    },
    {
      "name": "break-inside",
      "href": "https://drafts.csswg.org/css-break-4/#propdef-break-inside",
      "initial": "auto",
      "appliesTo": "all elements except inline-level boxes, internal ruby boxes, table column boxes, table column group boxes, absolutely-positioned boxes",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "break-inside",
        "breakInside"
      ],
      "syntax": "auto | avoid | avoid-page | avoid-column | avoid-region",
      "extended": []
    },
    {
      "name": "caption-side",
      "href": "https://drafts.csswg.org/css-tables-3/#propdef-caption-side",
      "initial": "top",
      "appliesTo": "table-caption boxes",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "caption-side",
        "captionSide"
      ],
      "syntax": "top | bottom",
      "extended": []
    },
    {
      "name": "caret",
      "href": "https://drafts.csswg.org/css-ui-4/#propdef-caret",
      "initial": "auto",
      "appliesTo": "text or elements that accept text input",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "caret"
      ],
      "longhands": [
        "caret-color",
        "caret-animation",
        "caret-shape"
      ],
      "syntax": "<'caret-color'> || <'caret-animation'> || <'caret-shape'>",
      "extended": []
    },
    {
      "name": "caret-animation",
      "href": "https://drafts.csswg.org/css-ui-4/#propdef-caret-animation",
      "initial": "auto",
      "appliesTo": "text or elements that accept text input",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "caret-animation",
        "caretAnimation"
      ],
      "syntax": "auto | manual",
      "extended": []
    },
    {
      "name": "caret-color",
      "href": "https://drafts.csswg.org/css-ui-4/#propdef-caret-color",
      "initial": "auto",
      "appliesTo": "text or elements that accept text input",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "The computed value for auto is auto. For <color> values, see CSS Color 4 § 15. Resolving <color> Values.",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "caret-color",
        "caretColor"
      ],
      "syntax": "auto | <color> [auto | <color>]?",
      "extended": []
    },
    {
      "name": "caret-shape",
      "href": "https://drafts.csswg.org/css-ui-4/#propdef-caret-shape",
      "initial": "auto",
      "appliesTo": "text or elements that accept text input",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "caret-shape",
        "caretShape"
      ],
      "syntax": "auto | bar | block | underscore",
      "extended": []
    },
    {
      "name": "clear",
      "href": "https://drafts.csswg.org/css-page-floats-3/#propdef-clear",
      "initial": "none",
      "appliesTo": "block-level elements, floats, regions, pages",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "clear"
      ],
      "syntax": "inline-start | inline-end | block-start | block-end | left | right | top | bottom | both-inline | both-block | both | none",
      "extended": []
    },
    {
      "name": "clip",
      "href": "https://drafts.csswg.org/css-masking-1/#propdef-clip",
      "initial": "auto",
      "appliesTo": "Absolutely positioned elements. In SVG, it applies to elements which establish a new viewport, pattern elements and mask elements.",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "media": "visual",
      "styleDeclaration": [
        "clip"
      ],
      "syntax": "<rect()> | auto",
      "extended": []
    },
    {
      "name": "clip-path",
      "href": "https://drafts.csswg.org/css-masking-1/#propdef-clip-path",
      "initial": "none",
      "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified, but with <url> values made absolute",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "media": "visual",
      "styleDeclaration": [
        "clip-path",
        "clipPath"
      ],
      "syntax": "<clip-source> | [ <basic-shape> || <geometry-box> ] | none",
      "extended": []
    },
    {
      "name": "clip-rule",
      "href": "https://drafts.csswg.org/css-masking-1/#propdef-clip-rule",
      "initial": "nonzero",
      "appliesTo": "Applies to SVG graphics elements",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "clip-rule",
        "clipRule"
      ],
      "syntax": "nonzero | evenodd",
      "extended": []
    },
    {
      "name": "color",
      "href": "https://drafts.csswg.org/css-color-4/#propdef-color",
      "initial": "CanvasText",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "computed color, see resolving color values",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "color"
      ],
      "syntax": "<color>",
      "extended": []
    },
    {
      "name": "color-adjust",
      "href": "https://drafts.csswg.org/css-color-adjust-1/#propdef-color-adjust",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "color-adjust",
        "colorAdjust"
      ],
      "longhands": [
        "print-color-adjust"
      ],
      "syntax": "<'print-color-adjust'>",
      "extended": []
    },
    {
      "name": "color-interpolation",
      "href": "https://w3c.github.io/svgwg/svg2-draft/painting.html#ColorInterpolationProperty",
      "initial": "sRGB",
      "appliesTo": "container elements, graphics elements, gradient elements, ‘use’ and ‘animate’",
      "inherited": "yes",
      "percentages": "N/A",
      "media": "visual",
      "computedValue": "as specified",
      "animationType": "discrete",
      "styleDeclaration": [
        "color-interpolation",
        "colorInterpolation"
      ],
      "syntax": "auto | sRGB | linearRGB",
      "extended": []
    },
    {
      "name": "color-interpolation-filters",
      "href": "https://drafts.csswg.org/filter-effects-1/#propdef-color-interpolation-filters",
      "initial": "linearRGB",
      "appliesTo": "All filter primitives",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "color-interpolation-filters",
        "colorInterpolationFilters"
      ],
      "syntax": "auto | sRGB | linearRGB",
      "extended": []
    },
    {
      "name": "color-scheme",
      "href": "https://drafts.csswg.org/css-color-adjust-1/#propdef-color-scheme",
      "initial": "normal",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "the keyword normal, or a color scheme support",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "color-scheme",
        "colorScheme"
      ],
      "syntax": "normal | [ light | dark | <custom-ident> ]+ && only?",
      "extended": []
    },
    {
      "name": "column-count",
      "href": "https://drafts.csswg.org/css-multicol-2/#propdef-column-count",
      "initial": "auto",
      "appliesTo": "block containers except table wrapper boxes",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "column-count",
        "columnCount"
      ],
      "syntax": "auto | <integer [1,∞]>",
      "extended": []
    },
    {
      "name": "column-fill",
      "href": "https://drafts.csswg.org/css-multicol-2/#propdef-column-fill",
      "initial": "balance",
      "appliesTo": "multicol containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "column-fill",
        "columnFill"
      ],
      "syntax": "auto | balance | balance-all",
      "extended": []
    },
    {
      "name": "column-gap",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-column-gap",
      "initial": "normal",
      "appliesTo": "multi-column containers, flex containers, grid containers",
      "inherited": "no",
      "percentages": "see § 2.3 Percentages In gap Properties",
      "computedValue": "specified keyword, else a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "column-gap",
        "columnGap"
      ],
      "syntax": "normal | <length-percentage [0,∞]> | <line-width>",
      "extended": []
    },
    {
      "name": "column-height",
      "href": "https://drafts.csswg.org/css-multicol-2/#propdef-column-height",
      "initial": "auto",
      "appliesTo": "block containers except table wrapper boxes",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "the keyword auto or an absolute length",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "column-height",
        "columnHeight"
      ],
      "syntax": "auto | <length [0,∞]>",
      "extended": []
    },
    {
      "name": "column-rule",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-column-rule",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "column-rule",
        "columnRule"
      ],
      "longhands": [
        "column-rule-width",
        "column-rule-style",
        "column-rule-color"
      ],
      "syntax": "<gap-rule-list> | <gap-auto-rule-list>",
      "extended": []
    },
    {
      "name": "column-rule-break",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-column-rule-break",
      "initial": "normal",
      "appliesTo": "grid containers, flex containers, multicol containers, and grid lanes containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "column-rule-break",
        "columnRuleBreak"
      ],
      "syntax": "none | normal | intersection",
      "extended": []
    },
    {
      "name": "column-rule-color",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-column-rule-color",
      "initial": "currentcolor",
      "appliesTo": "grid containers, flex containers, multicol containers, and grid lanes containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "repeatable list, see § 4.7 Interpolation of list values.",
      "styleDeclaration": [
        "column-rule-color",
        "columnRuleColor"
      ],
      "syntax": "<line-color-list> | <auto-line-color-list>",
      "extended": []
    },
    {
      "name": "column-rule-inset",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-column-rule-inset",
      "initial": "see individual properties",
      "appliesTo": "Same as column-rule-inset-cap, column-rule-inset-junction, row-rule-inset-cap, and row-rule-inset-junction",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "column-rule-inset",
        "columnRuleInset"
      ],
      "longhands": [
        "column-rule-inset-cap-start",
        "column-rule-inset-cap-end",
        "column-rule-inset-junction-start",
        "column-rule-inset-junction-end"
      ],
      "syntax": "<'column-rule-inset-cap'> [ / <'column-rule-inset-junction'> ]?",
      "extended": []
    },
    {
      "name": "column-rule-inset-cap",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-column-rule-inset-cap",
      "initial": "see individual properties",
      "appliesTo": "Same as column-rule-inset-cap-start, column-rule-inset-cap-end, column-rule-inset-junction-start, column-rule-inset-junction-end, row-rule-inset-cap-start, row-rule-inset-cap-end, row-rule-inset-junction-start, and row-rule-inset-junction-end",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "column-rule-inset-cap",
        "columnRuleInsetCap"
      ],
      "longhands": [
        "column-rule-inset-cap-start",
        "column-rule-inset-cap-end"
      ],
      "syntax": "<inset-value> <inset-value>?",
      "extended": []
    },
    {
      "name": "column-rule-inset-cap-end",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-column-rule-inset-cap-end",
      "initial": "0",
      "appliesTo": "grid containers, flex containers, multicol containers, and grid lanes containers",
      "inherited": "no",
      "percentages": "refer to the crossing gap width",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "column-rule-inset-cap-end",
        "columnRuleInsetCapEnd"
      ],
      "syntax": "<inset-value>",
      "extended": []
    },
    {
      "name": "column-rule-inset-cap-start",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-column-rule-inset-cap-start",
      "initial": "0",
      "appliesTo": "grid containers, flex containers, multicol containers, and grid lanes containers",
      "inherited": "no",
      "percentages": "refer to the crossing gap width",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "column-rule-inset-cap-start",
        "columnRuleInsetCapStart"
      ],
      "syntax": "<inset-value>",
      "extended": []
    },
    {
      "name": "column-rule-inset-end",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-column-rule-inset-end",
      "initial": "see individual properties",
      "appliesTo": "Same as column-rule-inset-cap-start, column-rule-inset-junction-start, column-rule-inset-cap-end, column-rule-inset-junction-end, row-rule-inset-cap-start, row-rule-inset-junction-start, row-rule-inset-cap-end, and row-rule-inset-junction-end",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "column-rule-inset-end",
        "columnRuleInsetEnd"
      ],
      "longhands": [
        "column-rule-inset-cap-end",
        "column-rule-inset-junction-end"
      ],
      "syntax": "<inset-value>",
      "extended": []
    },
    {
      "name": "column-rule-inset-junction",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-column-rule-inset-junction",
      "initial": "see individual properties",
      "appliesTo": "Same as column-rule-inset-cap-start, column-rule-inset-cap-end, column-rule-inset-junction-start, column-rule-inset-junction-end, row-rule-inset-cap-start, row-rule-inset-cap-end, row-rule-inset-junction-start, and row-rule-inset-junction-end",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "column-rule-inset-junction",
        "columnRuleInsetJunction"
      ],
      "longhands": [
        "column-rule-inset-junction-start",
        "column-rule-inset-junction-end"
      ],
      "syntax": "<inset-value> <inset-value>?",
      "extended": []
    },
    {
      "name": "column-rule-inset-junction-end",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-column-rule-inset-junction-end",
      "initial": "0",
      "appliesTo": "grid containers, flex containers, multicol containers, and grid lanes containers",
      "inherited": "no",
      "percentages": "refer to the crossing gap width",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "column-rule-inset-junction-end",
        "columnRuleInsetJunctionEnd"
      ],
      "syntax": "<inset-value>",
      "extended": []
    },
    {
      "name": "column-rule-inset-junction-start",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-column-rule-inset-junction-start",
      "initial": "0",
      "appliesTo": "grid containers, flex containers, multicol containers, and grid lanes containers",
      "inherited": "no",
      "percentages": "refer to the crossing gap width",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "column-rule-inset-junction-start",
        "columnRuleInsetJunctionStart"
      ],
      "syntax": "<inset-value>",
      "extended": []
    },
    {
      "name": "column-rule-inset-start",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-column-rule-inset-start",
      "initial": "see individual properties",
      "appliesTo": "Same as column-rule-inset-cap-start, column-rule-inset-junction-start, column-rule-inset-cap-end, column-rule-inset-junction-end, row-rule-inset-cap-start, row-rule-inset-junction-start, row-rule-inset-cap-end, and row-rule-inset-junction-end",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "column-rule-inset-start",
        "columnRuleInsetStart"
      ],
      "longhands": [
        "column-rule-inset-cap-start",
        "column-rule-inset-junction-start"
      ],
      "syntax": "<inset-value>",
      "extended": []
    },
    {
      "name": "column-rule-style",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-column-rule-style",
      "initial": "none",
      "appliesTo": "grid containers, flex containers, multicol containers, and grid lanes containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "column-rule-style",
        "columnRuleStyle"
      ],
      "syntax": "<line-style-list> | <auto-line-style-list>",
      "extended": []
    },
    {
      "name": "column-rule-visibility-items",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-column-rule-visibility-items",
      "initial": "normal",
      "appliesTo": "grid containers and multicol containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "column-rule-visibility-items",
        "columnRuleVisibilityItems"
      ],
      "syntax": "all | around | between | normal",
      "extended": []
    },
    {
      "name": "column-rule-width",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-column-rule-width",
      "initial": "medium",
      "appliesTo": "grid containers, flex containers, multicol containers, and grid lanes containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "list of absolute lengths, snapped as a border width",
      "canonicalOrder": "per grammar",
      "animationType": "repeatable list, see § 4.7 Interpolation of list values.",
      "styleDeclaration": [
        "column-rule-width",
        "columnRuleWidth"
      ],
      "syntax": "<line-width-list> | <auto-line-width-list>",
      "extended": []
    },
    {
      "name": "column-span",
      "href": "https://drafts.csswg.org/css-multicol-2/#propdef-column-span",
      "initial": "none",
      "appliesTo": "in-flow block-level elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified value",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "column-span",
        "columnSpan"
      ],
      "syntax": "none | <integer [1,∞]> | all | auto",
      "extended": []
    },
    {
      "name": "column-width",
      "href": "https://drafts.csswg.org/css-multicol-2/#propdef-column-width",
      "initial": "auto",
      "appliesTo": "block containers except table wrapper boxes",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "the keyword auto or an absolute length",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "column-width",
        "columnWidth"
      ],
      "syntax": "auto | <length [0,∞]> | min-content | max-content | fit-content(<length-percentage>)",
      "extended": [
        "https://drafts.csswg.org/css-sizing-3/"
      ]
    },
    {
      "name": "column-wrap",
      "href": "https://drafts.csswg.org/css-multicol-2/#propdef-column-wrap",
      "initial": "auto",
      "appliesTo": "multicol containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "column-wrap",
        "columnWrap"
      ],
      "syntax": "auto | nowrap | wrap",
      "extended": []
    },
    {
      "name": "columns",
      "href": "https://drafts.csswg.org/css-multicol-2/#propdef-columns",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "columns"
      ],
      "longhands": [
        "column-width",
        "column-count",
        "column-height"
      ],
      "syntax": "[ <'column-width'> || <'column-count'> ] [ / <'column-height'> ]?",
      "extended": []
    },
    {
      "name": "contain",
      "href": "https://drafts.csswg.org/css-contain-2/#propdef-contain",
      "initial": "none",
      "appliesTo": "See below",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "the keyword none or one or more of size, layout, style, paint",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "contain"
      ],
      "syntax": "none | strict | content | [ [size | inline-size] || layout || style || paint ]",
      "extended": []
    },
    {
      "name": "contain-intrinsic-block-size",
      "href": "https://drafts.csswg.org/css-sizing-4/#propdef-contain-intrinsic-block-size",
      "initial": "none",
      "appliesTo": "elements with size containment",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified, with <length> values computed",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "contain-intrinsic-size",
      "styleDeclaration": [
        "contain-intrinsic-block-size",
        "containIntrinsicBlockSize"
      ],
      "syntax": "auto? [ none | <length [0,∞]> ]",
      "extended": []
    },
    {
      "name": "contain-intrinsic-height",
      "href": "https://drafts.csswg.org/css-sizing-4/#propdef-contain-intrinsic-height",
      "initial": "none",
      "appliesTo": "elements with size containment",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified, with <length> values computed",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "contain-intrinsic-size",
      "styleDeclaration": [
        "contain-intrinsic-height",
        "containIntrinsicHeight"
      ],
      "syntax": "auto? [ none | <length [0,∞]> ]",
      "extended": []
    },
    {
      "name": "contain-intrinsic-inline-size",
      "href": "https://drafts.csswg.org/css-sizing-4/#propdef-contain-intrinsic-inline-size",
      "initial": "none",
      "appliesTo": "elements with size containment",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified, with <length> values computed",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "contain-intrinsic-size",
      "styleDeclaration": [
        "contain-intrinsic-inline-size",
        "containIntrinsicInlineSize"
      ],
      "syntax": "auto? [ none | <length [0,∞]> ]",
      "extended": []
    },
    {
      "name": "contain-intrinsic-size",
      "href": "https://drafts.csswg.org/css-sizing-4/#propdef-contain-intrinsic-size",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "contain-intrinsic-size",
        "containIntrinsicSize"
      ],
      "longhands": [
        "contain-intrinsic-width",
        "contain-intrinsic-height"
      ],
      "syntax": "[ auto? [ none | <length [0,∞]> ] ]{1,2}",
      "extended": []
    },
    {
      "name": "contain-intrinsic-width",
      "href": "https://drafts.csswg.org/css-sizing-4/#propdef-contain-intrinsic-width",
      "initial": "none",
      "appliesTo": "elements with size containment",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified, with <length> values computed",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "contain-intrinsic-size",
      "styleDeclaration": [
        "contain-intrinsic-width",
        "containIntrinsicWidth"
      ],
      "syntax": "auto? [ none | <length [0,∞]> ]",
      "extended": []
    },
    {
      "name": "container",
      "href": "https://drafts.csswg.org/css-conditional-5/#propdef-container",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "container"
      ],
      "longhands": [
        "container-name",
        "container-type"
      ],
      "syntax": "<'container-name'> [ / <'container-type'> ]?",
      "extended": []
    },
    {
      "name": "container-name",
      "href": "https://drafts.csswg.org/css-conditional-5/#propdef-container-name",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "the keyword none, or an ordered list of identifiers",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "container-name",
        "containerName"
      ],
      "syntax": "none | <custom-ident>+",
      "extended": []
    },
    {
      "name": "container-type",
      "href": "https://drafts.csswg.org/css-conditional-5/#propdef-container-type",
      "initial": "normal",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "container-type",
        "containerType"
      ],
      "syntax": "normal | [ [ size | inline-size ] || scroll-state ]",
      "extended": []
    },
    {
      "name": "content",
      "href": "https://drafts.csswg.org/css-content-3/#propdef-content",
      "initial": "normal",
      "appliesTo": "all elements, tree-abiding pseudo-elements, and page margin boxes",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "See prose below",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "content"
      ],
      "syntax": "normal | none | [ <content-replacement> | <content-list> ] [/ [ <string> | <counter> | <attr()> ]+ ]? | <element()>",
      "extended": [
        "https://drafts.csswg.org/css-gcpm-3/"
      ]
    },
    {
      "name": "content-visibility",
      "href": "https://drafts.csswg.org/css-contain-2/#propdef-content-visibility",
      "initial": "visible",
      "appliesTo": "elements for which size containment can apply",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "see § 4.1 Animating and Interpolating content-visibility",
      "styleDeclaration": [
        "content-visibility",
        "contentVisibility"
      ],
      "syntax": "visible | auto | hidden",
      "extended": []
    },
    {
      "name": "continue",
      "href": "https://drafts.csswg.org/css-overflow-4/#propdef-continue",
      "initial": "auto",
      "appliesTo": "block containers and multicol containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "continue"
      ],
      "syntax": "auto | discard | collapse | -webkit-legacy | overflow | paginate | fragments",
      "extended": [
        "https://drafts.csswg.org/css-overflow-5/"
      ]
    },
    {
      "name": "copy-into",
      "href": "https://drafts.csswg.org/css-gcpm-4/#propdef-copy-into",
      "initial": "none",
      "appliesTo": "all elements and pseudo-elements, but not ::first-line or ::first-letter.",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "copy-into",
        "copyInto"
      ],
      "syntax": "none | [ [ <custom-ident> <content-level>] [, <custom-ident> <content-level>]* ]?",
      "extended": []
    },
    {
      "name": "corner",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "see individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "see individual properties",
      "styleDeclaration": [
        "corner"
      ],
      "longhands": [
        "border-radius",
        "corner-shape"
      ],
      "syntax": "<'border-radius'> || <'corner-shape'>",
      "extended": []
    },
    {
      "name": "corner-block-end",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-block-end",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "corner-block-end",
        "cornerBlockEnd"
      ],
      "longhands": [
        "border-block-end-radius",
        "corner-block-end-shape"
      ],
      "syntax": "<'border-top-radius'> || <'corner-top-shape'>",
      "extended": []
    },
    {
      "name": "corner-block-end-shape",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-block-end-shape",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "corner-block-end-shape",
        "cornerBlockEndShape"
      ],
      "longhands": [
        "corner-end-start-shape",
        "corner-end-end-shape"
      ],
      "syntax": "<'corner-top-left-shape'>{1,2}",
      "extended": []
    },
    {
      "name": "corner-block-start",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-block-start",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "corner-block-start",
        "cornerBlockStart"
      ],
      "longhands": [
        "border-block-start-radius",
        "corner-block-start-shape"
      ],
      "syntax": "<'border-top-radius'> || <'corner-top-shape'>",
      "extended": []
    },
    {
      "name": "corner-block-start-shape",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-block-start-shape",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "corner-block-start-shape",
        "cornerBlockStartShape"
      ],
      "longhands": [
        "corner-start-start-shape",
        "corner-start-end-shape"
      ],
      "syntax": "<'corner-top-left-shape'>{1,2}",
      "extended": []
    },
    {
      "name": "corner-bottom",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-bottom",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "corner-bottom",
        "cornerBottom"
      ],
      "longhands": [
        "border-bottom-radius",
        "corner-bottom-shape"
      ],
      "syntax": "<'border-top-radius'> || <'corner-top-shape'>",
      "extended": []
    },
    {
      "name": "corner-bottom-left",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-bottom-left",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "see individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "see individual properties",
      "styleDeclaration": [
        "corner-bottom-left",
        "cornerBottomLeft"
      ],
      "longhands": [
        "border-bottom-left-radius",
        "corner-bottom-left-shape"
      ],
      "syntax": "<'border-top-left-radius'> || <'corner-top-left-shape'>",
      "extended": []
    },
    {
      "name": "corner-bottom-left-shape",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-bottom-left-shape",
      "initial": "round",
      "appliesTo": "all elements where border-radius can apply",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "the corresponding superellipse() value",
      "canonicalOrder": "per grammar",
      "animationType": "see superellipse interpolation",
      "logicalPropertyGroup": "corner-shape",
      "styleDeclaration": [
        "corner-bottom-left-shape",
        "cornerBottomLeftShape"
      ],
      "syntax": "<corner-shape-value>",
      "extended": []
    },
    {
      "name": "corner-bottom-right",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-bottom-right",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "see individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "see individual properties",
      "styleDeclaration": [
        "corner-bottom-right",
        "cornerBottomRight"
      ],
      "longhands": [
        "border-bottom-right-radius",
        "corner-bottom-right-shape"
      ],
      "syntax": "<'border-top-left-radius'> || <'corner-top-left-shape'>",
      "extended": []
    },
    {
      "name": "corner-bottom-right-shape",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-bottom-right-shape",
      "initial": "round",
      "appliesTo": "all elements where border-radius can apply",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "the corresponding superellipse() value",
      "canonicalOrder": "per grammar",
      "animationType": "see superellipse interpolation",
      "logicalPropertyGroup": "corner-shape",
      "styleDeclaration": [
        "corner-bottom-right-shape",
        "cornerBottomRightShape"
      ],
      "syntax": "<corner-shape-value>",
      "extended": []
    },
    {
      "name": "corner-bottom-shape",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-bottom-shape",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "corner-bottom-shape",
        "cornerBottomShape"
      ],
      "longhands": [
        "corner-bottom-left-shape",
        "corner-bottom-right-shape"
      ],
      "syntax": "<'corner-top-left-shape'>{1,2}",
      "extended": []
    },
    {
      "name": "corner-end-end",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-end-end",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "see individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "see individual properties",
      "styleDeclaration": [
        "corner-end-end",
        "cornerEndEnd"
      ],
      "longhands": [
        "border-end-end-radius",
        "corner-end-end-shape"
      ],
      "syntax": "<'border-top-left-radius'> || <'corner-top-left-shape'>",
      "extended": []
    },
    {
      "name": "corner-end-end-shape",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-end-end-shape",
      "initial": "round",
      "appliesTo": "all elements where border-radius can apply",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "the corresponding superellipse() value",
      "canonicalOrder": "per grammar",
      "animationType": "see superellipse interpolation",
      "logicalPropertyGroup": "corner-shape",
      "styleDeclaration": [
        "corner-end-end-shape",
        "cornerEndEndShape"
      ],
      "syntax": "<corner-shape-value>",
      "extended": []
    },
    {
      "name": "corner-end-start",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-end-start",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "see individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "see individual properties",
      "styleDeclaration": [
        "corner-end-start",
        "cornerEndStart"
      ],
      "longhands": [
        "border-end-start-radius",
        "corner-end-start-shape"
      ],
      "syntax": "<'border-top-left-radius'> || <'corner-top-left-shape'>",
      "extended": []
    },
    {
      "name": "corner-end-start-shape",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-end-start-shape",
      "initial": "round",
      "appliesTo": "all elements where border-radius can apply",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "the corresponding superellipse() value",
      "canonicalOrder": "per grammar",
      "animationType": "see superellipse interpolation",
      "logicalPropertyGroup": "corner-shape",
      "styleDeclaration": [
        "corner-end-start-shape",
        "cornerEndStartShape"
      ],
      "syntax": "<corner-shape-value>",
      "extended": []
    },
    {
      "name": "corner-inline-end",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-inline-end",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "corner-inline-end",
        "cornerInlineEnd"
      ],
      "longhands": [
        "border-inline-end-radius",
        "corner-inline-end-shape"
      ],
      "syntax": "<'border-top-radius'> || <'corner-top-shape'>",
      "extended": []
    },
    {
      "name": "corner-inline-end-shape",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-inline-end-shape",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "corner-inline-end-shape",
        "cornerInlineEndShape"
      ],
      "longhands": [
        "corner-start-end-shape",
        "corner-end-end-shape"
      ],
      "syntax": "<'corner-top-left-shape'>{1,2}",
      "extended": []
    },
    {
      "name": "corner-inline-start",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-inline-start",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "corner-inline-start",
        "cornerInlineStart"
      ],
      "longhands": [
        "border-inline-start-radius",
        "corner-inline-start-shape"
      ],
      "syntax": "<'border-top-radius'> || <'corner-top-shape'>",
      "extended": []
    },
    {
      "name": "corner-inline-start-shape",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-inline-start-shape",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "corner-inline-start-shape",
        "cornerInlineStartShape"
      ],
      "longhands": [
        "corner-start-start-shape",
        "corner-end-start-shape"
      ],
      "syntax": "<'corner-top-left-shape'>{1,2}",
      "extended": []
    },
    {
      "name": "corner-left",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-left",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "corner-left",
        "cornerLeft"
      ],
      "longhands": [
        "border-left-radius",
        "corner-left-shape"
      ],
      "syntax": "<'border-top-radius'> || <'corner-top-shape'>",
      "extended": []
    },
    {
      "name": "corner-left-shape",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-left-shape",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "corner-left-shape",
        "cornerLeftShape"
      ],
      "longhands": [
        "corner-top-left-shape",
        "corner-bottom-left-shape"
      ],
      "syntax": "<'corner-top-left-shape'>{1,2}",
      "extended": []
    },
    {
      "name": "corner-right",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-right",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "corner-right",
        "cornerRight"
      ],
      "longhands": [
        "border-right-radius",
        "corner-right-shape"
      ],
      "syntax": "<'border-top-radius'> || <'corner-top-shape'>",
      "extended": []
    },
    {
      "name": "corner-right-shape",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-right-shape",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "corner-right-shape",
        "cornerRightShape"
      ],
      "longhands": [
        "corner-top-right-shape",
        "corner-bottom-right-shape"
      ],
      "syntax": "<'corner-top-left-shape'>{1,2}",
      "extended": []
    },
    {
      "name": "corner-shape",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-shape",
      "initial": "round",
      "appliesTo": "all elements where border-radius can apply",
      "inherited": "no",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "corner-shape",
        "cornerShape"
      ],
      "longhands": [
        "corner-top-left-shape",
        "corner-top-right-shape",
        "corner-bottom-right-shape",
        "corner-bottom-left-shape"
      ],
      "syntax": "<'corner-top-left-shape'>{1,4}",
      "extended": []
    },
    {
      "name": "corner-start-end",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-start-end",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "see individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "see individual properties",
      "styleDeclaration": [
        "corner-start-end",
        "cornerStartEnd"
      ],
      "longhands": [
        "border-start-end-radius",
        "corner-start-end-shape"
      ],
      "syntax": "<'border-top-left-radius'> || <'corner-top-left-shape'>",
      "extended": []
    },
    {
      "name": "corner-start-end-shape",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-start-end-shape",
      "initial": "round",
      "appliesTo": "all elements where border-radius can apply",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "the corresponding superellipse() value",
      "canonicalOrder": "per grammar",
      "animationType": "see superellipse interpolation",
      "logicalPropertyGroup": "corner-shape",
      "styleDeclaration": [
        "corner-start-end-shape",
        "cornerStartEndShape"
      ],
      "syntax": "<corner-shape-value>",
      "extended": []
    },
    {
      "name": "corner-start-start",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-start-start",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "see individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "see individual properties",
      "styleDeclaration": [
        "corner-start-start",
        "cornerStartStart"
      ],
      "longhands": [
        "border-start-start-radius",
        "corner-start-start-shape"
      ],
      "syntax": "<'border-top-left-radius'> || <'corner-top-left-shape'>",
      "extended": []
    },
    {
      "name": "corner-start-start-shape",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-start-start-shape",
      "initial": "round",
      "appliesTo": "all elements where border-radius can apply",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "the corresponding superellipse() value",
      "canonicalOrder": "per grammar",
      "animationType": "see superellipse interpolation",
      "logicalPropertyGroup": "corner-shape",
      "styleDeclaration": [
        "corner-start-start-shape",
        "cornerStartStartShape"
      ],
      "syntax": "<corner-shape-value>",
      "extended": []
    },
    {
      "name": "corner-top",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-top",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "corner-top",
        "cornerTop"
      ],
      "longhands": [
        "border-top-radius",
        "corner-top-shape"
      ],
      "syntax": "<'border-top-radius'> || <'corner-top-shape'>",
      "extended": []
    },
    {
      "name": "corner-top-left",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-top-left",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "see individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "see individual properties",
      "styleDeclaration": [
        "corner-top-left",
        "cornerTopLeft"
      ],
      "longhands": [
        "border-top-left-radius",
        "corner-top-left-shape"
      ],
      "syntax": "<'border-top-left-radius'> || <'corner-top-left-shape'>",
      "extended": []
    },
    {
      "name": "corner-top-left-shape",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-top-left-shape",
      "initial": "round",
      "appliesTo": "all elements where border-radius can apply",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "the corresponding superellipse() value",
      "canonicalOrder": "per grammar",
      "animationType": "see superellipse interpolation",
      "logicalPropertyGroup": "corner-shape",
      "styleDeclaration": [
        "corner-top-left-shape",
        "cornerTopLeftShape"
      ],
      "syntax": "<corner-shape-value>",
      "extended": []
    },
    {
      "name": "corner-top-right",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-top-right",
      "initial": "0",
      "appliesTo": "all elements (but see prose)",
      "inherited": "no",
      "percentages": "Refer to corresponding dimension of the border box.",
      "computedValue": "see individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "see individual properties",
      "styleDeclaration": [
        "corner-top-right",
        "cornerTopRight"
      ],
      "longhands": [
        "border-top-right-radius",
        "corner-top-right-shape"
      ],
      "syntax": "<'border-top-left-radius'> || <'corner-top-left-shape'>",
      "extended": []
    },
    {
      "name": "corner-top-right-shape",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-top-right-shape",
      "initial": "round",
      "appliesTo": "all elements where border-radius can apply",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "the corresponding superellipse() value",
      "canonicalOrder": "per grammar",
      "animationType": "see superellipse interpolation",
      "logicalPropertyGroup": "corner-shape",
      "styleDeclaration": [
        "corner-top-right-shape",
        "cornerTopRightShape"
      ],
      "syntax": "<corner-shape-value>",
      "extended": []
    },
    {
      "name": "corner-top-shape",
      "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-top-shape",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "corner-top-shape",
        "cornerTopShape"
      ],
      "longhands": [
        "corner-top-left-shape",
        "corner-top-right-shape"
      ],
      "syntax": "<'corner-top-left-shape'>{1,2}",
      "extended": []
    },
    {
      "name": "counter-increment",
      "href": "https://drafts.csswg.org/css-lists-3/#propdef-counter-increment",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "the keyword none or a list, each item an identifier paired with an integer",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "counter-increment",
        "counterIncrement"
      ],
      "syntax": "[ <counter-name> <integer>? ]+ | none",
      "extended": []
    },
    {
      "name": "counter-reset",
      "href": "https://drafts.csswg.org/css-lists-3/#propdef-counter-reset",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "the keyword none or a list, each item an identifier or a reversed() function paired with an integer",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "counter-reset",
        "counterReset"
      ],
      "syntax": "[ <counter-name> <integer>? | <reversed-counter-name> <integer>? ]+ | none",
      "extended": []
    },
    {
      "name": "counter-set",
      "href": "https://drafts.csswg.org/css-lists-3/#propdef-counter-set",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "the keyword none or a list, each item an identifier paired with an integer",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "counter-set",
        "counterSet"
      ],
      "syntax": "[ <counter-name> <integer>? ]+ | none",
      "extended": []
    },
    {
      "name": "cue",
      "href": "https://drafts.csswg.org/css-speech-1/#propdef-cue",
      "initial": "see individual properties",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "cue"
      ],
      "longhands": [
        "cue-before",
        "cue-after"
      ],
      "syntax": "<'cue-before'> <'cue-after'>?",
      "extended": []
    },
    {
      "name": "cue-after",
      "href": "https://drafts.csswg.org/css-speech-1/#propdef-cue-after",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "cue-after",
        "cueAfter"
      ],
      "syntax": "<url> <decibel>? | none",
      "extended": []
    },
    {
      "name": "cue-before",
      "href": "https://drafts.csswg.org/css-speech-1/#propdef-cue-before",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "cue-before",
        "cueBefore"
      ],
      "syntax": "<url> <decibel>? | none",
      "extended": []
    },
    {
      "name": "cursor",
      "href": "https://drafts.csswg.org/css-ui-4/#propdef-cursor",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "as specified, except with any relative URLs converted to absolute",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "cursor"
      ],
      "syntax": "[<cursor-image>,]* <cursor-predefined>",
      "extended": []
    },
    {
      "name": "cx",
      "href": "https://w3c.github.io/svgwg/svg2-draft/geometry.html#CxProperty",
      "initial": "0",
      "appliesTo": "‘circle’ and ‘ellipse’ elements",
      "inherited": "no",
      "percentages": "refer to the width of the current SVG viewport (see Units)",
      "media": "visual",
      "computedValue": "an absolute length or percentage",
      "animationType": "by computed value",
      "styleDeclaration": [
        "cx"
      ],
      "syntax": "<length-percentage>",
      "extended": []
    },
    {
      "name": "cy",
      "href": "https://w3c.github.io/svgwg/svg2-draft/geometry.html#CyProperty",
      "initial": "0",
      "appliesTo": "‘circle’ and ‘ellipse’ elements",
      "inherited": "no",
      "percentages": "refer to the height of the current SVG viewport (see Units)",
      "media": "visual",
      "computedValue": "an absolute length or percentage",
      "animationType": "by computed value",
      "styleDeclaration": [
        "cy"
      ],
      "syntax": "<length-percentage>",
      "extended": []
    },
    {
      "name": "d",
      "href": "https://w3c.github.io/svgwg/svg2-draft/paths.html#DProperty",
      "initial": "none",
      "appliesTo": "‘path’",
      "inherited": "no",
      "percentages": "N/A",
      "media": "visual",
      "computedValue": "as specified",
      "animationType": "See prose",
      "styleDeclaration": [
        "d"
      ],
      "syntax": "none | <string>",
      "extended": []
    },
    {
      "name": "direction",
      "href": "https://drafts.csswg.org/css-writing-modes-4/#propdef-direction",
      "initial": "ltr",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified value",
      "canonicalOrder": "n/a",
      "animationType": "not animatable",
      "styleDeclaration": [
        "direction"
      ],
      "syntax": "ltr | rtl",
      "extended": []
    },
    {
      "name": "display",
      "href": "https://drafts.csswg.org/css-display-4/#propdef-display",
      "initial": "inline",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "a pair of keywords representing the inner and outer display types plus optional list-item flag, or a <display-internal> or <display-box> keyword; see prose in a variety of specs for computation rules",
      "canonicalOrder": "per grammar",
      "animationType": "see § 2.9 Animating and Interpolating display",
      "styleDeclaration": [
        "display"
      ],
      "syntax": "[ <display-outside> || <display-inside> ] | <display-listitem> | <display-internal> | <display-box> | <display-legacy> | grid-lanes | inline-grid-lanes | <display-outside> || [ <display-inside> | math ]",
      "extended": [
        "https://drafts.csswg.org/css-grid-3/",
        "https://w3c.github.io/mathml-core/"
      ]
    },
    {
      "name": "dominant-baseline",
      "href": "https://drafts.csswg.org/css-inline-3/#propdef-dominant-baseline",
      "initial": "auto",
      "appliesTo": "block containers, inline boxes, table rows, grid containers, flex containers, and SVG text content elements",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "dominant-baseline",
        "dominantBaseline"
      ],
      "syntax": "auto | <baseline-metric>",
      "extended": []
    },
    {
      "name": "dynamic-range-limit",
      "href": "https://drafts.csswg.org/css-color-hdr-1/#propdef-dynamic-range-limit",
      "initial": "no-limit",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "see Computed Value for dynamic-range-limit",
      "canonicalOrder": "per grammar",
      "animationType": "by dynamic-range-limit-mix()",
      "styleDeclaration": [
        "dynamic-range-limit",
        "dynamicRangeLimit"
      ],
      "syntax": "standard | no-limit | constrained | <dynamic-range-limit-mix()>",
      "extended": []
    },
    {
      "name": "empty-cells",
      "href": "https://drafts.csswg.org/css-tables-3/#propdef-empty-cells",
      "initial": "show",
      "appliesTo": "table-cell boxes",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "empty-cells",
        "emptyCells"
      ],
      "syntax": "show | hide",
      "extended": []
    },
    {
      "name": "event-trigger",
      "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-event-trigger",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "animationType": "not animatable",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "event-trigger",
        "eventTrigger"
      ],
      "syntax": "none | [ <'event-trigger-name'> <'event-trigger-source'> ]#",
      "extended": []
    },
    {
      "name": "event-trigger-name",
      "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-event-trigger-name",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "event-trigger-name",
        "eventTriggerName"
      ],
      "syntax": "none | <dashed-ident>#",
      "extended": []
    },
    {
      "name": "event-trigger-source",
      "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-event-trigger-source",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "event-trigger-source",
        "eventTriggerSource"
      ],
      "syntax": "[ none | <event-trigger-event>+ [ / <event-trigger-event>+ ]? ]#",
      "extended": []
    },
    {
      "name": "field-sizing",
      "href": "https://drafts.csswg.org/css-forms-1/#propdef-field-sizing",
      "initial": "fixed",
      "appliesTo": "elements with default preferred size",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "field-sizing",
        "fieldSizing"
      ],
      "syntax": "fixed | content",
      "extended": []
    },
    {
      "name": "fill",
      "href": "https://w3c.github.io/svgwg/svg2-draft/painting.html#FillProperty",
      "initial": "black",
      "appliesTo": "shapes and text content elements",
      "inherited": "yes",
      "percentages": "N/A",
      "media": "visual",
      "computedValue": "as specified, but with <color> values computed and <url> values made absolute",
      "animationType": "by computed value",
      "styleDeclaration": [
        "fill"
      ],
      "syntax": "<paint>",
      "extended": []
    },
    {
      "name": "fill-break",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-fill-break",
      "initial": "bounding-box",
      "appliesTo": "all elements",
      "inherited": "yes?",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "fill-break",
        "fillBreak"
      ],
      "syntax": "bounding-box | slice | clone",
      "extended": []
    },
    {
      "name": "fill-color",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-fill-color",
      "initial": "currentcolor",
      "appliesTo": "text and SVG shapes",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "the computed color",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "media": "visual",
      "styleDeclaration": [
        "fill-color",
        "fillColor"
      ],
      "syntax": "<color>",
      "extended": []
    },
    {
      "name": "fill-image",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-fill-image",
      "initial": "none",
      "appliesTo": "text and SVG shapes",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "as specified, with any <image> computed",
      "canonicalOrder": "per grammar",
      "animationType": "repeatable list",
      "media": "visual",
      "styleDeclaration": [
        "fill-image",
        "fillImage"
      ],
      "syntax": "<paint>#",
      "extended": []
    },
    {
      "name": "fill-opacity",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-fill-opacity",
      "initial": "1",
      "appliesTo": "text and SVG shapes",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "the specified value converted to a <number>, clamped to the range [0,1]",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "media": "visual",
      "styleDeclaration": [
        "fill-opacity",
        "fillOpacity"
      ],
      "syntax": "<'opacity'>",
      "extended": []
    },
    {
      "name": "fill-origin",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-fill-origin",
      "initial": "match-parent",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "fill-origin",
        "fillOrigin"
      ],
      "syntax": "match-parent | fill-box | stroke-box | content-box | padding-box | border-box",
      "extended": []
    },
    {
      "name": "fill-position",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-fill-position",
      "initial": "0% 0%",
      "appliesTo": "text and SVG shapes",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "A list, each item consisting of: a pair of offsets (horizontal and vertical) from the top left origin each given as a combination of an absolute length and a percentage",
      "canonicalOrder": "per grammar",
      "animationType": "repeatable list",
      "media": "visual",
      "styleDeclaration": [
        "fill-position",
        "fillPosition"
      ],
      "syntax": "<position>#",
      "extended": []
    },
    {
      "name": "fill-repeat",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-fill-repeat",
      "initial": "repeat",
      "appliesTo": "text and SVG shapes",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "A list, each item consisting of: two keywords, one per dimension",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "fill-repeat",
        "fillRepeat"
      ],
      "syntax": "<repeat-style>#",
      "extended": []
    },
    {
      "name": "fill-rule",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-fill-rule",
      "initial": "nonzero",
      "appliesTo": "SVG shapes",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "fill-rule",
        "fillRule"
      ],
      "syntax": "nonzero | evenodd",
      "extended": []
    },
    {
      "name": "fill-size",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-fill-size",
      "initial": "auto",
      "appliesTo": "text and SVG shapes",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "as specified, but with lengths made absolute and omitted auto keywords filled in",
      "canonicalOrder": "per grammar",
      "animationType": "repeatable list",
      "media": "visual",
      "styleDeclaration": [
        "fill-size",
        "fillSize"
      ],
      "syntax": "<bg-size>#",
      "extended": []
    },
    {
      "name": "filter",
      "href": "https://drafts.csswg.org/filter-effects-1/#propdef-filter",
      "initial": "none",
      "appliesTo": "All elements. In SVG, it applies to container elements without the defs element, all graphics elements and the use element.",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "See prose in Animation of Filters.",
      "media": "visual",
      "styleDeclaration": [
        "filter"
      ],
      "syntax": "none | <filter-value-list>",
      "extended": []
    },
    {
      "name": "flex",
      "href": "https://drafts.csswg.org/css-flexbox-2/#propdef-flex",
      "initial": "0 1 auto",
      "appliesTo": "flex items",
      "inherited": "no",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "by computed value type",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "flex"
      ],
      "longhands": [
        "flex-grow",
        "flex-shrink",
        "flex-basis"
      ],
      "syntax": "none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]",
      "extended": []
    },
    {
      "name": "flex-basis",
      "href": "https://drafts.csswg.org/css-flexbox-2/#propdef-flex-basis",
      "initial": "auto",
      "appliesTo": "flex items",
      "inherited": "no",
      "percentages": "relative to the flex container’s inner main size",
      "computedValue": "specified keyword or a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "flex-basis",
        "flexBasis"
      ],
      "syntax": "content | <'width'>",
      "extended": []
    },
    {
      "name": "flex-direction",
      "href": "https://drafts.csswg.org/css-flexbox-2/#propdef-flex-direction",
      "initial": "row",
      "appliesTo": "flex containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "flex-direction",
        "flexDirection"
      ],
      "syntax": "row | row-reverse | column | column-reverse",
      "extended": []
    },
    {
      "name": "flex-flow",
      "href": "https://drafts.csswg.org/css-flexbox-2/#propdef-flex-flow",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "flex-flow",
        "flexFlow"
      ],
      "longhands": [
        "flex-direction",
        "flex-wrap"
      ],
      "syntax": "<'flex-direction'> || <'flex-wrap'>",
      "extended": []
    },
    {
      "name": "flex-grow",
      "href": "https://drafts.csswg.org/css-flexbox-2/#propdef-flex-grow",
      "initial": "0",
      "appliesTo": "flex items",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified number",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "flex-grow",
        "flexGrow"
      ],
      "syntax": "<number [0,∞]>",
      "extended": []
    },
    {
      "name": "flex-line-count",
      "href": "https://drafts.csswg.org/css-flexbox-2/#propdef-flex-line-count",
      "initial": "1",
      "appliesTo": "multi-line flex containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "the specified integer, computed",
      "canonicalOrder": "per grammar",
      "animationType": "as integer",
      "styleDeclaration": [
        "flex-line-count",
        "flexLineCount"
      ],
      "syntax": "<integer [1,∞]>",
      "extended": []
    },
    {
      "name": "flex-shrink",
      "href": "https://drafts.csswg.org/css-flexbox-2/#propdef-flex-shrink",
      "initial": "1",
      "appliesTo": "flex items",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified value",
      "canonicalOrder": "per grammar",
      "animationType": "number",
      "styleDeclaration": [
        "flex-shrink",
        "flexShrink"
      ],
      "syntax": "<number [0,∞]>",
      "extended": []
    },
    {
      "name": "flex-wrap",
      "href": "https://drafts.csswg.org/css-flexbox-2/#propdef-flex-wrap",
      "initial": "nowrap",
      "appliesTo": "flex containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "flex-wrap",
        "flexWrap"
      ],
      "syntax": "nowrap | [ wrap | wrap-reverse ] || balance",
      "extended": []
    },
    {
      "name": "float",
      "href": "https://drafts.csswg.org/css-page-floats-3/#propdef-float",
      "initial": "none",
      "appliesTo": "all elements.",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "float"
      ],
      "syntax": "block-start | block-end | inline-start | inline-end | snap-block | <snap-block()> | snap-inline | <snap-inline()> | left | right | top | bottom | none | footnote",
      "extended": [
        "https://drafts.csswg.org/css-gcpm-3/"
      ]
    },
    {
      "name": "float-defer",
      "href": "https://drafts.csswg.org/css-page-floats-3/#propdef-float-defer",
      "initial": "none",
      "appliesTo": "floats",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword or integer",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "float-defer",
        "floatDefer"
      ],
      "syntax": "<integer> | last | none",
      "extended": []
    },
    {
      "name": "float-offset",
      "href": "https://drafts.csswg.org/css-page-floats-3/#propdef-float-offset",
      "initial": "0",
      "appliesTo": "floats",
      "inherited": "no",
      "percentages": "see prose",
      "computedValue": "computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "float-offset",
        "floatOffset"
      ],
      "syntax": "<length-percentage>",
      "extended": []
    },
    {
      "name": "float-reference",
      "href": "https://drafts.csswg.org/css-page-floats-3/#propdef-float-reference",
      "initial": "inline",
      "appliesTo": "all elements.",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "float-reference",
        "floatReference"
      ],
      "syntax": "inline | column | region | page",
      "extended": []
    },
    {
      "name": "flood-color",
      "href": "https://drafts.csswg.org/filter-effects-1/#propdef-flood-color",
      "initial": "black",
      "appliesTo": "feFlood and feDropShadow elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "media": "visual",
      "styleDeclaration": [
        "flood-color",
        "floodColor"
      ],
      "syntax": "<color>",
      "extended": []
    },
    {
      "name": "flood-opacity",
      "href": "https://drafts.csswg.org/filter-effects-1/#propdef-flood-opacity",
      "initial": "1",
      "appliesTo": "feFlood and feDropShadow elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "the specified value converted to a number, clamped to the range [0,1]",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "media": "visual",
      "styleDeclaration": [
        "flood-opacity",
        "floodOpacity"
      ],
      "syntax": "<'opacity'>",
      "extended": []
    },
    {
      "name": "flow-from",
      "href": "https://drafts.csswg.org/css-regions-1/#propdef-flow-from",
      "initial": "none",
      "appliesTo": "Non-replaced block containers. This might be expanded in future versions of the specification to allow other types of containers to receive flow content.",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "flow-from",
        "flowFrom"
      ],
      "syntax": "<custom-ident> | none",
      "extended": []
    },
    {
      "name": "flow-into",
      "href": "https://drafts.csswg.org/css-regions-1/#propdef-flow-into",
      "initial": "none",
      "appliesTo": "All elements, but not pseudo-elements such as ::first-line, ::first-letter, ::before or ::after.",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "flow-into",
        "flowInto"
      ],
      "syntax": "none | <custom-ident> [element | content]?",
      "extended": []
    },
    {
      "name": "flow-tolerance",
      "href": "https://drafts.csswg.org/css-grid-3/#propdef-flow-tolerance",
      "initial": "normal",
      "appliesTo": "grid lanes containers",
      "inherited": "no",
      "percentages": "relative to the grid-axis content box size of the grid lanes container",
      "computedValue": "a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "as length",
      "styleDeclaration": [
        "flow-tolerance",
        "flowTolerance"
      ],
      "syntax": "normal | <length-percentage [0,∞]> | infinite",
      "extended": []
    },
    {
      "name": "font",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font",
      "initial": "see individual properties",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "see individual properties",
      "styleDeclaration": [
        "font"
      ],
      "longhands": [
        "font-style",
        "font-variant",
        "font-weight",
        "font-stretch",
        "font-size",
        "line-height",
        "font-family"
      ],
      "resetLonghands": [
        "font-feature-settings",
        "font-kerning",
        "font-language-override",
        "font-optical-sizing",
        "font-size-adjust",
        "font-variation-settings"
      ],
      "syntax": "[ [ <'font-style'> || <font-variant-css2> || <'font-weight'> || <font-width-css3> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'># ] | <system-font-family-name>",
      "extended": []
    },
    {
      "name": "font-family",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-family",
      "initial": "depends on user agent",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "list, each item a string and/or <generic-font-family> keywords",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "font-family",
        "fontFamily"
      ],
      "syntax": "[ <font-family-name> | <generic-font-family> ]#",
      "extended": []
    },
    {
      "name": "font-feature-settings",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-feature-settings",
      "initial": "normal",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "font-feature-settings",
        "fontFeatureSettings"
      ],
      "syntax": "normal | <feature-tag-value>#",
      "extended": []
    },
    {
      "name": "font-kerning",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-kerning",
      "initial": "auto",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "font-kerning",
        "fontKerning"
      ],
      "syntax": "auto | normal | none",
      "extended": []
    },
    {
      "name": "font-language-override",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-language-override",
      "initial": "normal",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified string or the keyword none",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "font-language-override",
        "fontLanguageOverride"
      ],
      "syntax": "normal | <string>",
      "extended": []
    },
    {
      "name": "font-optical-sizing",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-optical-sizing",
      "initial": "auto",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "font-optical-sizing",
        "fontOpticalSizing"
      ],
      "syntax": "auto | none",
      "extended": []
    },
    {
      "name": "font-palette",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-palette",
      "initial": "normal",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "N/a",
      "computedValue": "specified keyword, identifier or <palette-mix()> function. <palette-mix()> must be simplified to a single keyword or identifier if resulting palette is equivalent.",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "font-palette",
        "fontPalette"
      ],
      "syntax": "normal | light | dark | <palette-identifier> | <palette-mix()>",
      "extended": []
    },
    {
      "name": "font-size",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-size",
      "initial": "medium",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "refer to parent element’s font size",
      "computedValue": "an absolute length",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "font-size",
        "fontSize"
      ],
      "syntax": "<absolute-size> | <relative-size> | <length-percentage [0,∞]> | math",
      "extended": []
    },
    {
      "name": "font-size-adjust",
      "href": "https://drafts.csswg.org/css-fonts-5/#propdef-font-size-adjust",
      "initial": "none",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "the keyword none, or a pair of a metric keyword and a <number>",
      "canonicalOrder": "per grammar",
      "animationType": "discrete if the keywords differ, otherwise by computed value type",
      "styleDeclaration": [
        "font-size-adjust",
        "fontSizeAdjust"
      ],
      "syntax": "none | [ ex-height | cap-height | ch-width | ic-width | ic-height ]? [ from-font | <number [0,∞]> ]",
      "extended": []
    },
    {
      "name": "font-stretch",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-stretch",
      "legacyAliasOf": "font-width",
      "styleDeclaration": [
        "font-stretch",
        "fontStretch"
      ],
      "syntax": "normal | <percentage [0,∞]> | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded",
      "extended": []
    },
    {
      "name": "font-style",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-style",
      "initial": "normal",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "the keyword specified, plus angle in degrees if specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type; normal animates as oblique 0deg",
      "styleDeclaration": [
        "font-style",
        "fontStyle"
      ],
      "syntax": "normal | italic | left | right | oblique <angle [-90deg,90deg]>?",
      "extended": []
    },
    {
      "name": "font-synthesis",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-synthesis",
      "initial": "weight style small-caps position",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified keyword(s)",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "font-synthesis",
        "fontSynthesis"
      ],
      "longhands": [
        "font-synthesis-weight",
        "font-synthesis-style",
        "font-synthesis-small-caps"
      ],
      "syntax": "none | [ weight || style || small-caps || position]",
      "extended": []
    },
    {
      "name": "font-synthesis-position",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-synthesis-position",
      "initial": "auto",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "font-synthesis-position",
        "fontSynthesisPosition"
      ],
      "syntax": "auto | none",
      "extended": []
    },
    {
      "name": "font-synthesis-small-caps",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-synthesis-small-caps",
      "initial": "auto",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "font-synthesis-small-caps",
        "fontSynthesisSmallCaps"
      ],
      "syntax": "auto | none",
      "extended": []
    },
    {
      "name": "font-synthesis-style",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-synthesis-style",
      "initial": "auto",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "font-synthesis-style",
        "fontSynthesisStyle"
      ],
      "syntax": "auto | none | oblique-only",
      "extended": []
    },
    {
      "name": "font-synthesis-weight",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-synthesis-weight",
      "initial": "auto",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "font-synthesis-weight",
        "fontSynthesisWeight"
      ],
      "syntax": "auto | none",
      "extended": []
    },
    {
      "name": "font-variant",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-variant",
      "initial": "normal",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "font-variant",
        "fontVariant"
      ],
      "longhands": [
        "font-variant-ligatures",
        "font-variant-caps",
        "font-variant-alternates",
        "font-variant-numeric",
        "font-variant-east-asian",
        "font-variant-position",
        "font-variant-emoji"
      ],
      "syntax": "normal | none | [ [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ] || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || [ stylistic(<font-feature-value-name>) || historical-forms || styleset(<font-feature-value-name>#) || character-variant(<font-feature-value-name>#) || swash(<font-feature-value-name>) || ornaments(<font-feature-value-name>) || annotation(<font-feature-value-name>) ] || [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ] || [ <east-asian-variant-values> || <east-asian-width-values> || ruby ] || [ sub | super ] || [ text | emoji | unicode ] ]",
      "extended": []
    },
    {
      "name": "font-variant-alternates",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-variant-alternates",
      "initial": "normal",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "font-variant-alternates",
        "fontVariantAlternates"
      ],
      "syntax": "normal | [ stylistic(<font-feature-value-name>) || historical-forms || styleset(<font-feature-value-name>#) || character-variant(<font-feature-value-name>#) || swash(<font-feature-value-name>) || ornaments(<font-feature-value-name>) || annotation(<font-feature-value-name>) ]",
      "extended": []
    },
    {
      "name": "font-variant-caps",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-variant-caps",
      "initial": "normal",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "font-variant-caps",
        "fontVariantCaps"
      ],
      "syntax": "normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps",
      "extended": []
    },
    {
      "name": "font-variant-east-asian",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-variant-east-asian",
      "initial": "normal",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "font-variant-east-asian",
        "fontVariantEastAsian"
      ],
      "syntax": "normal | [ <east-asian-variant-values> || <east-asian-width-values> || ruby ]",
      "extended": []
    },
    {
      "name": "font-variant-emoji",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-variant-emoji",
      "initial": "normal",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "N/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "font-variant-emoji",
        "fontVariantEmoji"
      ],
      "syntax": "normal | text | emoji | unicode",
      "extended": []
    },
    {
      "name": "font-variant-ligatures",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-variant-ligatures",
      "initial": "normal",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "font-variant-ligatures",
        "fontVariantLigatures"
      ],
      "syntax": "normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]",
      "extended": []
    },
    {
      "name": "font-variant-numeric",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-variant-numeric",
      "initial": "normal",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "font-variant-numeric",
        "fontVariantNumeric"
      ],
      "syntax": "normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ]",
      "extended": []
    },
    {
      "name": "font-variant-position",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-variant-position",
      "initial": "normal",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "font-variant-position",
        "fontVariantPosition"
      ],
      "syntax": "normal | sub | super",
      "extended": []
    },
    {
      "name": "font-variation-settings",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-variation-settings",
      "initial": "normal",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "the keyword normal or a list, each item a string paired with a number",
      "canonicalOrder": "per grammar",
      "animationType": "see prose",
      "styleDeclaration": [
        "font-variation-settings",
        "fontVariationSettings"
      ],
      "syntax": "normal | [ <opentype-tag> <number> ]#",
      "extended": []
    },
    {
      "name": "font-weight",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-weight",
      "initial": "normal",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "a number, see below",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "font-weight",
        "fontWeight"
      ],
      "syntax": "<font-weight-absolute> | bolder | lighter",
      "extended": []
    },
    {
      "name": "font-width",
      "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-width",
      "initial": "normal",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "Not resolved",
      "computedValue": "a percentage, see below",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "font-width",
        "fontWidth"
      ],
      "syntax": "normal | <percentage [0,∞]> | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded",
      "extended": []
    },
    {
      "name": "footnote-display",
      "href": "https://drafts.csswg.org/css-gcpm-3/#propdef-footnote-display",
      "initial": "block",
      "appliesTo": "elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified value",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "footnote-display",
        "footnoteDisplay"
      ],
      "syntax": "block | inline | compact",
      "extended": []
    },
    {
      "name": "footnote-policy",
      "href": "https://drafts.csswg.org/css-gcpm-3/#propdef-footnote-policy",
      "initial": "auto",
      "appliesTo": "elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified value",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "footnote-policy",
        "footnotePolicy"
      ],
      "syntax": "auto | line | block",
      "extended": []
    },
    {
      "name": "forced-color-adjust",
      "href": "https://drafts.csswg.org/css-color-adjust-1/#propdef-forced-color-adjust",
      "initial": "auto",
      "appliesTo": "all elements and text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "forced-color-adjust",
        "forcedColorAdjust"
      ],
      "syntax": "auto | none | preserve-parent-color",
      "extended": []
    },
    {
      "name": "frame-sizing",
      "href": "https://drafts.csswg.org/css-sizing-4/#propdef-frame-sizing",
      "initial": "auto",
      "appliesTo": "replaced elements (but see below for details)",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "frame-sizing",
        "frameSizing"
      ],
      "syntax": "auto | content-width | content-height | content-block-size | content-inline-size",
      "extended": []
    },
    {
      "name": "gap",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-gap",
      "initial": "see individual properties",
      "appliesTo": "multi-column containers, flex containers, grid containers",
      "inherited": "no",
      "percentages": "refer to corresponding dimension of the content area",
      "computedValue": "see individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "gap"
      ],
      "longhands": [
        "row-gap",
        "column-gap"
      ],
      "syntax": "<'row-gap'> <'column-gap'>?",
      "extended": []
    },
    {
      "name": "glyph-orientation-vertical",
      "href": "https://drafts.csswg.org/css-writing-modes-4/#propdef-glyph-orientation-vertical",
      "initial": "n/a",
      "appliesTo": "n/a",
      "inherited": "n/a",
      "percentages": "n/a",
      "computedValue": "n/a",
      "canonicalOrder": "n/a",
      "animationType": "n/a",
      "styleDeclaration": [
        "glyph-orientation-vertical",
        "glyphOrientationVertical"
      ],
      "syntax": "auto | 0deg | 90deg | 0 | 90",
      "extended": []
    },
    {
      "name": "grid",
      "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid",
      "initial": "none",
      "appliesTo": "grid containers",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "grid"
      ],
      "longhands": [
        "grid-template-rows",
        "grid-template-columns",
        "grid-template-areas",
        "grid-auto-rows",
        "grid-auto-columns",
        "grid-auto-flow"
      ],
      "syntax": "<'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>",
      "extended": []
    },
    {
      "name": "grid-area",
      "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-area",
      "initial": "auto",
      "appliesTo": "grid items and absolutely-positioned boxes whose containing block is a grid container",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "see individual properties",
      "animationType": "discrete",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "grid-area",
        "gridArea"
      ],
      "longhands": [
        "grid-row-start",
        "grid-column-start",
        "grid-row-end",
        "grid-column-end"
      ],
      "syntax": "<grid-line> [ / <grid-line> ]{0,3}",
      "extended": []
    },
    {
      "name": "grid-auto-columns",
      "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-auto-columns",
      "initial": "auto",
      "appliesTo": "grid containers",
      "inherited": "no",
      "percentages": "see Track Sizing",
      "computedValue": "see Track Sizing",
      "canonicalOrder": "per grammar",
      "animationType": "if the list lengths match, by computed value type per item; discrete otherwise",
      "styleDeclaration": [
        "grid-auto-columns",
        "gridAutoColumns"
      ],
      "syntax": "<track-size>+",
      "extended": []
    },
    {
      "name": "grid-auto-flow",
      "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-auto-flow",
      "initial": "row",
      "appliesTo": "grid containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword(s)",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "grid-auto-flow",
        "gridAutoFlow"
      ],
      "syntax": "[ row | column ] || dense",
      "extended": []
    },
    {
      "name": "grid-auto-rows",
      "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-auto-rows",
      "initial": "auto",
      "appliesTo": "grid containers",
      "inherited": "no",
      "percentages": "see Track Sizing",
      "computedValue": "see Track Sizing",
      "canonicalOrder": "per grammar",
      "animationType": "if the list lengths match, by computed value type per item; discrete otherwise",
      "styleDeclaration": [
        "grid-auto-rows",
        "gridAutoRows"
      ],
      "syntax": "<track-size>+",
      "extended": []
    },
    {
      "name": "grid-column",
      "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-column",
      "initial": "auto",
      "appliesTo": "grid items and absolutely-positioned boxes whose containing block is a grid container",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "see individual properties",
      "animationType": "discrete",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "grid-column",
        "gridColumn"
      ],
      "longhands": [
        "grid-column-start",
        "grid-column-end"
      ],
      "syntax": "<grid-line> [ / <grid-line> ]?",
      "extended": []
    },
    {
      "name": "grid-column-end",
      "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-column-end",
      "initial": "auto",
      "appliesTo": "grid items and absolutely-positioned boxes whose containing block is a grid container",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword, identifier, and/or integer",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "grid-column-end",
        "gridColumnEnd"
      ],
      "syntax": "<grid-line>",
      "extended": []
    },
    {
      "name": "grid-column-gap",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-grid-column-gap",
      "legacyAliasOf": "column-gap",
      "styleDeclaration": [
        "grid-column-gap",
        "gridColumnGap"
      ],
      "syntax": "normal | <length-percentage [0,∞]> | <line-width>",
      "extended": []
    },
    {
      "name": "grid-column-start",
      "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-column-start",
      "initial": "auto",
      "appliesTo": "grid items and absolutely-positioned boxes whose containing block is a grid container",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword, identifier, and/or integer",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "grid-column-start",
        "gridColumnStart"
      ],
      "syntax": "<grid-line>",
      "extended": []
    },
    {
      "name": "grid-gap",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-grid-gap",
      "legacyAliasOf": "gap",
      "styleDeclaration": [
        "grid-gap",
        "gridGap"
      ],
      "longhands": [
        "row-gap",
        "column-gap"
      ],
      "syntax": "<'row-gap'> <'column-gap'>?",
      "extended": []
    },
    {
      "name": "grid-row",
      "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-row",
      "initial": "auto",
      "appliesTo": "grid items and absolutely-positioned boxes whose containing block is a grid container",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "see individual properties",
      "animationType": "discrete",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "grid-row",
        "gridRow"
      ],
      "longhands": [
        "grid-row-start",
        "grid-row-end"
      ],
      "syntax": "<grid-line> [ / <grid-line> ]?",
      "extended": []
    },
    {
      "name": "grid-row-end",
      "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-row-end",
      "initial": "auto",
      "appliesTo": "grid items and absolutely-positioned boxes whose containing block is a grid container",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword, identifier, and/or integer",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "grid-row-end",
        "gridRowEnd"
      ],
      "syntax": "<grid-line>",
      "extended": []
    },
    {
      "name": "grid-row-gap",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-grid-row-gap",
      "legacyAliasOf": "row-gap",
      "styleDeclaration": [
        "grid-row-gap",
        "gridRowGap"
      ],
      "syntax": "normal | <length-percentage [0,∞]> | <line-width>",
      "extended": []
    },
    {
      "name": "grid-row-start",
      "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-row-start",
      "initial": "auto",
      "appliesTo": "grid items and absolutely-positioned boxes whose containing block is a grid container",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword, identifier, and/or integer",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "grid-row-start",
        "gridRowStart"
      ],
      "syntax": "<grid-line>",
      "extended": []
    },
    {
      "name": "grid-template",
      "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-template",
      "initial": "none",
      "appliesTo": "grid containers",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "grid-template",
        "gridTemplate"
      ],
      "longhands": [
        "grid-template-rows",
        "grid-template-columns",
        "grid-template-areas"
      ],
      "syntax": "none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?",
      "extended": []
    },
    {
      "name": "grid-template-areas",
      "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-template-areas",
      "initial": "none",
      "appliesTo": "grid containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "the keyword none or a list of string values",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "grid-template-areas",
        "gridTemplateAreas"
      ],
      "syntax": "none | <string>+",
      "extended": []
    },
    {
      "name": "grid-template-columns",
      "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-template-columns",
      "initial": "none",
      "appliesTo": "grid containers",
      "inherited": "no",
      "percentages": "refer to corresponding dimension of the content area",
      "computedValue": "the keyword none or a computed track list",
      "canonicalOrder": "per grammar",
      "animationType": "if the list lengths match, by computed value type per item in the computed track list (see § 7.2.5 Computed Value of a Track Listing and § 7.2.3.3 Interpolation/Combination of repeat()); discrete otherwise",
      "styleDeclaration": [
        "grid-template-columns",
        "gridTemplateColumns"
      ],
      "syntax": "none | <track-list> | <auto-track-list> | subgrid <line-name-list>?",
      "extended": []
    },
    {
      "name": "grid-template-rows",
      "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-template-rows",
      "initial": "none",
      "appliesTo": "grid containers",
      "inherited": "no",
      "percentages": "refer to corresponding dimension of the content area",
      "computedValue": "the keyword none or a computed track list",
      "canonicalOrder": "per grammar",
      "animationType": "if the list lengths match, by computed value type per item in the computed track list (see § 7.2.5 Computed Value of a Track Listing and § 7.2.3.3 Interpolation/Combination of repeat()); discrete otherwise",
      "styleDeclaration": [
        "grid-template-rows",
        "gridTemplateRows"
      ],
      "syntax": "none | <track-list> | <auto-track-list> | subgrid <line-name-list>?",
      "extended": []
    },
    {
      "name": "hanging-punctuation",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-hanging-punctuation",
      "initial": "none",
      "appliesTo": "text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword(s)",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "hanging-punctuation",
        "hangingPunctuation"
      ],
      "syntax": "none | [ first || [ force-end | allow-end ] || last ]",
      "extended": []
    },
    {
      "name": "height",
      "href": "https://drafts.csswg.org/css-sizing-3/#propdef-height",
      "initial": "auto",
      "appliesTo": "all elements except non-replaced inlines",
      "inherited": "no",
      "percentages": "relative to width/height of containing block",
      "computedValue": "as specified, with <length-percentage> values computed",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type, recursing into fit-content()",
      "logicalPropertyGroup": "size",
      "styleDeclaration": [
        "height"
      ],
      "syntax": "auto | <length-percentage [0,∞]> | min-content | max-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()> | stretch | fit-content | contain",
      "extended": [
        "https://drafts.csswg.org/css-anchor-position-1/",
        "https://drafts.csswg.org/css-sizing-4/"
      ]
    },
    {
      "name": "hyphenate-character",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-hyphenate-character",
      "initial": "auto",
      "appliesTo": "text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "hyphenate-character",
        "hyphenateCharacter"
      ],
      "syntax": "auto | <string>",
      "extended": []
    },
    {
      "name": "hyphenate-limit-chars",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-hyphenate-limit-chars",
      "initial": "auto",
      "appliesTo": "text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "three values, each either the auto keyword or an integer",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "hyphenate-limit-chars",
        "hyphenateLimitChars"
      ],
      "syntax": "[ auto | <integer> ]{1,3}",
      "extended": []
    },
    {
      "name": "hyphenate-limit-last",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-hyphenate-limit-last",
      "initial": "none",
      "appliesTo": "block containers",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "hyphenate-limit-last",
        "hyphenateLimitLast"
      ],
      "syntax": "none | always | column | page | spread",
      "extended": []
    },
    {
      "name": "hyphenate-limit-lines",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-hyphenate-limit-lines",
      "initial": "no-limit",
      "appliesTo": "block containers",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword or integer",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "hyphenate-limit-lines",
        "hyphenateLimitLines"
      ],
      "syntax": "no-limit | <integer>",
      "extended": []
    },
    {
      "name": "hyphenate-limit-zone",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-hyphenate-limit-zone",
      "initial": "0",
      "appliesTo": "block containers",
      "inherited": "yes",
      "percentages": "refers to length of the line box",
      "computedValue": "computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "hyphenate-limit-zone",
        "hyphenateLimitZone"
      ],
      "syntax": "<length-percentage>",
      "extended": []
    },
    {
      "name": "hyphens",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-hyphens",
      "initial": "manual",
      "appliesTo": "text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "n/a",
      "animationType": "discrete",
      "styleDeclaration": [
        "hyphens"
      ],
      "syntax": "none | manual | auto",
      "extended": []
    },
    {
      "name": "image-animation",
      "href": "https://drafts.csswg.org/css-image-animation-1/#propdef-image-animation",
      "initial": "normal",
      "appliesTo": "content images and elements with decorative images",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "image-animation",
        "imageAnimation"
      ],
      "syntax": "normal | paused | stopped | running",
      "extended": []
    },
    {
      "name": "image-orientation",
      "href": "https://drafts.csswg.org/css-images-3/#propdef-image-orientation",
      "initial": "from-image",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "the specified keyword, or an <angle>, rounded and normalized (see text), plus optionally a flip keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "image-orientation",
        "imageOrientation"
      ],
      "syntax": "from-image | none | [ <angle> || flip ]",
      "extended": []
    },
    {
      "name": "image-rendering",
      "href": "https://drafts.csswg.org/css-images-3/#propdef-image-rendering",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "image-rendering",
        "imageRendering"
      ],
      "syntax": "auto | smooth | high-quality | pixelated | crisp-edges",
      "extended": []
    },
    {
      "name": "image-resolution",
      "href": "https://drafts.csswg.org/css-images-4/#propdef-image-resolution",
      "initial": "1dppx",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword(s) and/or <resolution> (possibly adjusted for snap, see below)",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "image-resolution",
        "imageResolution"
      ],
      "syntax": "[ from-image || <resolution> ] && snap?",
      "extended": []
    },
    {
      "name": "initial-letter",
      "href": "https://drafts.csswg.org/css-inline-3/#propdef-initial-letter",
      "initial": "normal",
      "appliesTo": "certain inline-level boxes and ::first-letter and inside ::marker boxes (see prose)",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "the keyword normal or a number paired with an integer",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "initial-letter",
        "initialLetter"
      ],
      "syntax": "normal | <number [1,∞]> <integer [1,∞]> | <number [1,∞]> && [ drop | raise ]?",
      "extended": []
    },
    {
      "name": "initial-letter-align",
      "href": "https://drafts.csswg.org/css-inline-3/#propdef-initial-letter-align",
      "initial": "alphabetic",
      "appliesTo": "certain inline-level boxes and ::first-letter and inside ::marker boxes (see prose)",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified keyword(s)",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "initial-letter-align",
        "initialLetterAlign"
      ],
      "syntax": "[ border-box? [ alphabetic | ideographic | hanging | leading ]? ]!",
      "extended": []
    },
    {
      "name": "initial-letter-wrap",
      "href": "https://drafts.csswg.org/css-inline-3/#propdef-initial-letter-wrap",
      "initial": "none",
      "appliesTo": "certain inline-level boxes and ::first-letter and inside ::marker boxes (see prose)",
      "inherited": "yes",
      "percentages": "relative to logical width of (last fragment of) initial letter",
      "computedValue": "specified keyword or computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "initial-letter-wrap",
        "initialLetterWrap"
      ],
      "syntax": "none | first | all | grid | <length-percentage>",
      "extended": []
    },
    {
      "name": "inline-size",
      "href": "https://drafts.csswg.org/css-logical-1/#propdef-inline-size",
      "initial": "auto",
      "appliesTo": "Same as height and width",
      "inherited": "no",
      "percentages": "As for the corresponding physical property",
      "computedValue": "Same as height, width",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "size",
      "styleDeclaration": [
        "inline-size",
        "inlineSize"
      ],
      "syntax": "<'width'>",
      "extended": []
    },
    {
      "name": "inline-sizing",
      "href": "https://drafts.csswg.org/css-inline-3/#propdef-inline-sizing",
      "initial": "normal",
      "appliesTo": "inline boxes, but not ruby container boxes nor internal ruby boxes",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "inline-sizing",
        "inlineSizing"
      ],
      "syntax": "normal | stretch",
      "extended": []
    },
    {
      "name": "input-security",
      "href": "https://drafts.csswg.org/css-forms-1/#propdef-input-security",
      "initial": "auto",
      "appliesTo": "sensitive text inputs",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "input-security",
        "inputSecurity"
      ],
      "syntax": "auto | none",
      "extended": []
    },
    {
      "name": "inset",
      "href": "https://drafts.csswg.org/css-position-3/#propdef-inset",
      "initial": "auto",
      "appliesTo": "positioned elements",
      "inherited": "no",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "inset"
      ],
      "longhands": [
        "top",
        "right",
        "bottom",
        "left"
      ],
      "syntax": "<'top'>{1,4}",
      "extended": []
    },
    {
      "name": "inset-block",
      "href": "https://drafts.csswg.org/css-position-3/#propdef-inset-block",
      "initial": "auto",
      "appliesTo": "positioned elements",
      "inherited": "no",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "inset-block",
        "insetBlock"
      ],
      "longhands": [
        "inset-block-start",
        "inset-block-end"
      ],
      "syntax": "<'top'>{1,2}",
      "extended": []
    },
    {
      "name": "inset-block-end",
      "href": "https://drafts.csswg.org/css-position-3/#propdef-inset-block-end",
      "initial": "auto",
      "appliesTo": "positioned elements",
      "inherited": "no",
      "percentages": "refer to size of containing block; see prose",
      "computedValue": "the keyword auto or a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "inset",
      "styleDeclaration": [
        "inset-block-end",
        "insetBlockEnd"
      ],
      "syntax": "auto | <length-percentage>",
      "extended": []
    },
    {
      "name": "inset-block-start",
      "href": "https://drafts.csswg.org/css-position-3/#propdef-inset-block-start",
      "initial": "auto",
      "appliesTo": "positioned elements",
      "inherited": "no",
      "percentages": "refer to size of containing block; see prose",
      "computedValue": "the keyword auto or a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "inset",
      "styleDeclaration": [
        "inset-block-start",
        "insetBlockStart"
      ],
      "syntax": "auto | <length-percentage>",
      "extended": []
    },
    {
      "name": "inset-inline",
      "href": "https://drafts.csswg.org/css-position-3/#propdef-inset-inline",
      "initial": "auto",
      "appliesTo": "positioned elements",
      "inherited": "no",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "inset-inline",
        "insetInline"
      ],
      "longhands": [
        "inset-inline-start",
        "inset-inline-end"
      ],
      "syntax": "<'top'>{1,2}",
      "extended": []
    },
    {
      "name": "inset-inline-end",
      "href": "https://drafts.csswg.org/css-position-3/#propdef-inset-inline-end",
      "initial": "auto",
      "appliesTo": "positioned elements",
      "inherited": "no",
      "percentages": "refer to size of containing block; see prose",
      "computedValue": "the keyword auto or a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "inset",
      "styleDeclaration": [
        "inset-inline-end",
        "insetInlineEnd"
      ],
      "syntax": "auto | <length-percentage>",
      "extended": []
    },
    {
      "name": "inset-inline-start",
      "href": "https://drafts.csswg.org/css-position-3/#propdef-inset-inline-start",
      "initial": "auto",
      "appliesTo": "positioned elements",
      "inherited": "no",
      "percentages": "refer to size of containing block; see prose",
      "computedValue": "the keyword auto or a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "inset",
      "styleDeclaration": [
        "inset-inline-start",
        "insetInlineStart"
      ],
      "syntax": "auto | <length-percentage>",
      "extended": []
    },
    {
      "name": "interactivity",
      "href": "https://drafts.csswg.org/css-ui-4/#propdef-interactivity",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "interactivity"
      ],
      "syntax": "auto | inert",
      "extended": []
    },
    {
      "name": "interest-delay",
      "href": "https://drafts.csswg.org/css-ui-4/#propdef-interest-delay",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "interest-delay",
        "interestDelay"
      ],
      "longhands": [
        "interest-delay-start",
        "interest-delay-end"
      ],
      "syntax": "<'interest-delay-start'>{1,2}",
      "extended": []
    },
    {
      "name": "interest-delay-end",
      "href": "https://drafts.csswg.org/css-ui-4/#propdef-interest-delay-end",
      "initial": "normal",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "the keyword normal or a computed time",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "interest-delay-end",
        "interestDelayEnd"
      ],
      "syntax": "normal | <time>",
      "extended": []
    },
    {
      "name": "interest-delay-start",
      "href": "https://drafts.csswg.org/css-ui-4/#propdef-interest-delay-start",
      "initial": "normal",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "the keyword normal or a computed time",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "interest-delay-start",
        "interestDelayStart"
      ],
      "syntax": "normal | <time>",
      "extended": []
    },
    {
      "name": "interpolate-size",
      "href": "https://drafts.csswg.org/css-values-5/#propdef-interpolate-size",
      "initial": "numeric-only",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "interpolate-size",
        "interpolateSize"
      ],
      "syntax": "numeric-only | allow-keywords",
      "extended": []
    },
    {
      "name": "isolation",
      "href": "https://drafts.csswg.org/compositing-2/#propdef-isolation",
      "initial": "auto",
      "appliesTo": "All elements. In SVG, it applies to container elements, graphics elements and graphics referencing elements. [SVG11]",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "isolation"
      ],
      "syntax": "<isolation-mode>",
      "extended": []
    },
    {
      "name": "justify-content",
      "href": "https://drafts.csswg.org/css-align-3/#propdef-justify-content",
      "initial": "normal",
      "appliesTo": "multicol containers, flex containers, and grid containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword(s)",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "justify-content",
        "justifyContent"
      ],
      "syntax": "normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]",
      "extended": []
    },
    {
      "name": "justify-items",
      "href": "https://drafts.csswg.org/css-align-3/#propdef-justify-items",
      "initial": "legacy",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword(s), except for legacy (see prose)",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "justify-items",
        "justifyItems"
      ],
      "syntax": "normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]",
      "extended": []
    },
    {
      "name": "justify-self",
      "href": "https://drafts.csswg.org/css-align-3/#propdef-justify-self",
      "initial": "auto",
      "appliesTo": "block-level boxes, absolutely-positioned boxes, and grid items",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword(s)",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "justify-self",
        "justifySelf"
      ],
      "syntax": "auto | <overflow-position>? [ normal | <self-position> | left | right ] | stretch | <baseline-position> | anchor-center",
      "extended": [
        "https://drafts.csswg.org/css-anchor-position-1/#propdef-justify-self"
      ]
    },
    {
      "name": "left",
      "href": "https://drafts.csswg.org/css-position-3/#propdef-left",
      "initial": "auto",
      "appliesTo": "positioned elements",
      "inherited": "no",
      "percentages": "refer to size of containing block; see prose",
      "computedValue": "the keyword auto or a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "inset",
      "styleDeclaration": [
        "left"
      ],
      "syntax": "auto | <length-percentage> | <anchor()> | <anchor-size()>",
      "extended": [
        "https://drafts.csswg.org/css-anchor-position-1/"
      ]
    },
    {
      "name": "letter-spacing",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-letter-spacing",
      "initial": "normal",
      "appliesTo": "inline boxes and text",
      "inherited": "yes",
      "percentages": "relative to used font-size",
      "computedValue": "an absolute length and/or a percentage",
      "canonicalOrder": "n/a",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "letter-spacing",
        "letterSpacing"
      ],
      "syntax": "normal | <length-percentage>",
      "extended": []
    },
    {
      "name": "lighting-color",
      "href": "https://drafts.csswg.org/filter-effects-1/#propdef-lighting-color",
      "initial": "white",
      "appliesTo": "feDiffuseLighting and feSpecularLighting elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "media": "visual",
      "styleDeclaration": [
        "lighting-color",
        "lightingColor"
      ],
      "syntax": "<color>",
      "extended": []
    },
    {
      "name": "line-break",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-line-break",
      "initial": "auto",
      "appliesTo": "text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "n/a",
      "animationType": "discrete",
      "styleDeclaration": [
        "line-break",
        "lineBreak"
      ],
      "syntax": "auto | loose | normal | strict | anywhere",
      "extended": []
    },
    {
      "name": "line-clamp",
      "href": "https://drafts.csswg.org/css-overflow-4/#propdef-line-clamp",
      "initial": "none",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "N/A",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "line-clamp",
        "lineClamp"
      ],
      "longhands": [
        "max-lines",
        "block-ellipsis",
        "continue"
      ],
      "syntax": "none | [<integer [1,∞]> || <'block-ellipsis'>] -webkit-legacy?",
      "extended": []
    },
    {
      "name": "line-fit-edge",
      "href": "https://drafts.csswg.org/css-inline-3/#propdef-line-fit-edge",
      "initial": "leading",
      "appliesTo": "inline boxes",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "the specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "line-fit-edge",
        "lineFitEdge"
      ],
      "syntax": "leading | <text-edge>",
      "extended": []
    },
    {
      "name": "line-grid",
      "href": "https://drafts.csswg.org/css-line-grid-1/#propdef-line-grid",
      "initial": "match-parent",
      "appliesTo": "block, flex and grid containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "line-grid",
        "lineGrid"
      ],
      "syntax": "match-parent | create",
      "extended": []
    },
    {
      "name": "line-height",
      "href": "https://drafts.csswg.org/css-inline-3/#propdef-line-height",
      "initial": "normal",
      "appliesTo": "non-replaced inline boxes and SVG text content elements",
      "inherited": "yes",
      "percentages": "computed relative to 1em",
      "computedValue": "the specified keyword, a number, or a computed <length> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "line-height",
        "lineHeight"
      ],
      "syntax": "normal | <number [0,∞]> | <length-percentage [0,∞]>",
      "extended": []
    },
    {
      "name": "line-height-step",
      "href": "https://drafts.csswg.org/css-rhythm-1/#propdef-line-height-step",
      "initial": "0",
      "appliesTo": "block containers",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "absolute length",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "line-height-step",
        "lineHeightStep"
      ],
      "syntax": "<length [0,∞]>",
      "extended": []
    },
    {
      "name": "line-padding",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-line-padding",
      "initial": "0",
      "appliesTo": "inline boxes",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "absolute length",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "line-padding",
        "linePadding"
      ],
      "syntax": "<length>",
      "extended": []
    },
    {
      "name": "line-snap",
      "href": "https://drafts.csswg.org/css-line-grid-1/#propdef-line-snap",
      "initial": "none",
      "appliesTo": "block container elements",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "line-snap",
        "lineSnap"
      ],
      "syntax": "none | baseline | contain",
      "extended": []
    },
    {
      "name": "link-parameters",
      "href": "https://drafts.csswg.org/css-link-params-1/#propdef-link-parameters",
      "initial": "none",
      "appliesTo": "all elements and pseudo-elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "link-parameters",
        "linkParameters"
      ],
      "syntax": "none | <param()>#",
      "extended": []
    },
    {
      "name": "list-style",
      "href": "https://drafts.csswg.org/css-lists-3/#propdef-list-style",
      "initial": "see individual properties",
      "appliesTo": "list items",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "list-style",
        "listStyle"
      ],
      "longhands": [
        "list-style-type",
        "list-style-position",
        "list-style-image"
      ],
      "syntax": "<'list-style-position'> || <'list-style-image'> || <'list-style-type'>",
      "extended": []
    },
    {
      "name": "list-style-image",
      "href": "https://drafts.csswg.org/css-lists-3/#propdef-list-style-image",
      "initial": "none",
      "appliesTo": "list items",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "the keyword noneor the computed <image>",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "list-style-image",
        "listStyleImage"
      ],
      "syntax": "<image> | none",
      "extended": []
    },
    {
      "name": "list-style-position",
      "href": "https://drafts.csswg.org/css-lists-3/#propdef-list-style-position",
      "initial": "outside",
      "appliesTo": "list items",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "keyword, but see prose",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "list-style-position",
        "listStylePosition"
      ],
      "syntax": "inside | outside",
      "extended": []
    },
    {
      "name": "list-style-type",
      "href": "https://drafts.csswg.org/css-lists-3/#propdef-list-style-type",
      "initial": "disc",
      "appliesTo": "list items",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified value",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "list-style-type",
        "listStyleType"
      ],
      "syntax": "<counter-style> | <string> | none",
      "extended": []
    },
    {
      "name": "margin",
      "href": "https://drafts.csswg.org/css-box-4/#propdef-margin",
      "initial": "0",
      "appliesTo": "all elements except internal table elements, ruby base containers, and ruby annotation containers",
      "inherited": "no",
      "percentages": "refer to logical width of containing block",
      "computedValue": "see individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "margin"
      ],
      "longhands": [
        "margin-top",
        "margin-right",
        "margin-bottom",
        "margin-left"
      ],
      "syntax": "<'margin-top'>{1,4}",
      "extended": []
    },
    {
      "name": "margin-block",
      "href": "https://drafts.csswg.org/css-logical-1/#propdef-margin-block",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "margin-block",
        "marginBlock"
      ],
      "longhands": [
        "margin-block-start",
        "margin-block-end"
      ],
      "syntax": "<'margin-top'>{1,2}",
      "extended": []
    },
    {
      "name": "margin-block-end",
      "href": "https://drafts.csswg.org/css-logical-1/#propdef-margin-block-end",
      "initial": "0",
      "appliesTo": "Same as margin-top",
      "inherited": "no",
      "percentages": "As for the corresponding physical property",
      "computedValue": "Same as corresponding margin-* properties",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "margin",
      "styleDeclaration": [
        "margin-block-end",
        "marginBlockEnd"
      ],
      "syntax": "<'margin-top'>",
      "extended": []
    },
    {
      "name": "margin-block-start",
      "href": "https://drafts.csswg.org/css-logical-1/#propdef-margin-block-start",
      "initial": "0",
      "appliesTo": "Same as margin-top",
      "inherited": "no",
      "percentages": "As for the corresponding physical property",
      "computedValue": "Same as corresponding margin-* properties",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "margin",
      "styleDeclaration": [
        "margin-block-start",
        "marginBlockStart"
      ],
      "syntax": "<'margin-top'>",
      "extended": []
    },
    {
      "name": "margin-bottom",
      "href": "https://drafts.csswg.org/css-box-4/#propdef-margin-bottom",
      "initial": "0",
      "appliesTo": "all elements except internal table elements, ruby base containers, and ruby annotation containers",
      "inherited": "no",
      "percentages": "refer to logical width of containing block",
      "computedValue": "the keyword auto or a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "margin",
      "styleDeclaration": [
        "margin-bottom",
        "marginBottom"
      ],
      "syntax": "<length-percentage> | auto | <anchor-size()>",
      "extended": [
        "https://drafts.csswg.org/css-anchor-position-1/"
      ]
    },
    {
      "name": "margin-break",
      "href": "https://drafts.csswg.org/css-break-4/#propdef-margin-break",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "margin-break",
        "marginBreak"
      ],
      "syntax": "auto | keep | discard",
      "extended": []
    },
    {
      "name": "margin-inline",
      "href": "https://drafts.csswg.org/css-logical-1/#propdef-margin-inline",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "margin-inline",
        "marginInline"
      ],
      "longhands": [
        "margin-inline-start",
        "margin-inline-end"
      ],
      "syntax": "<'margin-top'>{1,2}",
      "extended": []
    },
    {
      "name": "margin-inline-end",
      "href": "https://drafts.csswg.org/css-logical-1/#propdef-margin-inline-end",
      "initial": "0",
      "appliesTo": "Same as margin-top",
      "inherited": "no",
      "percentages": "As for the corresponding physical property",
      "computedValue": "Same as corresponding margin-* properties",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "margin",
      "styleDeclaration": [
        "margin-inline-end",
        "marginInlineEnd"
      ],
      "syntax": "<'margin-top'>",
      "extended": []
    },
    {
      "name": "margin-inline-start",
      "href": "https://drafts.csswg.org/css-logical-1/#propdef-margin-inline-start",
      "initial": "0",
      "appliesTo": "Same as margin-top",
      "inherited": "no",
      "percentages": "As for the corresponding physical property",
      "computedValue": "Same as corresponding margin-* properties",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "margin",
      "styleDeclaration": [
        "margin-inline-start",
        "marginInlineStart"
      ],
      "syntax": "<'margin-top'>",
      "extended": []
    },
    {
      "name": "margin-left",
      "href": "https://drafts.csswg.org/css-box-4/#propdef-margin-left",
      "initial": "0",
      "appliesTo": "all elements except internal table elements, ruby base containers, and ruby annotation containers",
      "inherited": "no",
      "percentages": "refer to logical width of containing block",
      "computedValue": "the keyword auto or a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "margin",
      "styleDeclaration": [
        "margin-left",
        "marginLeft"
      ],
      "syntax": "<length-percentage> | auto | <anchor-size()>",
      "extended": [
        "https://drafts.csswg.org/css-anchor-position-1/"
      ]
    },
    {
      "name": "margin-right",
      "href": "https://drafts.csswg.org/css-box-4/#propdef-margin-right",
      "initial": "0",
      "appliesTo": "all elements except internal table elements, ruby base containers, and ruby annotation containers",
      "inherited": "no",
      "percentages": "refer to logical width of containing block",
      "computedValue": "the keyword auto or a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "margin",
      "styleDeclaration": [
        "margin-right",
        "marginRight"
      ],
      "syntax": "<length-percentage> | auto | <anchor-size()>",
      "extended": [
        "https://drafts.csswg.org/css-anchor-position-1/"
      ]
    },
    {
      "name": "margin-top",
      "href": "https://drafts.csswg.org/css-box-4/#propdef-margin-top",
      "initial": "0",
      "appliesTo": "all elements except internal table elements, ruby base containers, and ruby annotation containers",
      "inherited": "no",
      "percentages": "refer to logical width of containing block",
      "computedValue": "the keyword auto or a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "margin",
      "styleDeclaration": [
        "margin-top",
        "marginTop"
      ],
      "syntax": "<length-percentage> | auto | <anchor-size()>",
      "extended": [
        "https://drafts.csswg.org/css-anchor-position-1/"
      ]
    },
    {
      "name": "margin-trim",
      "href": "https://drafts.csswg.org/css-box-4/#propdef-margin-trim",
      "initial": "none",
      "appliesTo": "block containers, multi-column containers, flex containers, grid containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "a set of zero to four keywords indicating which sides to trim",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "margin-trim",
        "marginTrim"
      ],
      "syntax": "none | [ block || inline ] | [ block-start || inline-start || block-end || inline-end ]",
      "extended": []
    },
    {
      "name": "marker",
      "href": "https://w3c.github.io/svgwg/svg2-draft/painting.html#MarkerProperty",
      "initial": "not defined for shorthand properties",
      "appliesTo": "shapes",
      "inherited": "yes",
      "percentages": "N/A",
      "media": "visual",
      "computedValue": "see individual properties",
      "animationType": "discrete",
      "styleDeclaration": [
        "marker"
      ],
      "longhands": [
        "marker-start",
        "marker-mid",
        "marker-end"
      ],
      "syntax": "none | <marker-ref>",
      "extended": []
    },
    {
      "name": "marker-end",
      "href": "https://w3c.github.io/svgwg/svg2-draft/painting.html#MarkerEndProperty",
      "initial": "none",
      "appliesTo": "shapes",
      "inherited": "yes",
      "percentages": "N/A",
      "media": "visual",
      "computedValue": "as specified, but with <url> values (that are part of a <marker-ref>) made absolute",
      "animationType": "discrete",
      "styleDeclaration": [
        "marker-end",
        "markerEnd"
      ],
      "syntax": "none | <marker-ref>",
      "extended": []
    },
    {
      "name": "marker-mid",
      "href": "https://w3c.github.io/svgwg/svg2-draft/painting.html#MarkerMidProperty",
      "initial": "none",
      "appliesTo": "shapes",
      "inherited": "yes",
      "percentages": "N/A",
      "media": "visual",
      "computedValue": "as specified, but with <url> values (that are part of a <marker-ref>) made absolute",
      "animationType": "discrete",
      "styleDeclaration": [
        "marker-mid",
        "markerMid"
      ],
      "syntax": "none | <marker-ref>",
      "extended": []
    },
    {
      "name": "marker-side",
      "href": "https://drafts.csswg.org/css-lists-3/#propdef-marker-side",
      "initial": "match-self",
      "appliesTo": "list items",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "marker-side",
        "markerSide"
      ],
      "syntax": "match-self | match-parent",
      "extended": []
    },
    {
      "name": "marker-start",
      "href": "https://w3c.github.io/svgwg/svg2-draft/painting.html#MarkerStartProperty",
      "initial": "none",
      "appliesTo": "shapes",
      "inherited": "yes",
      "percentages": "N/A",
      "media": "visual",
      "computedValue": "as specified, but with <url> values (that are part of a <marker-ref>) made absolute",
      "animationType": "discrete",
      "styleDeclaration": [
        "marker-start",
        "markerStart"
      ],
      "syntax": "none | <marker-ref>",
      "extended": []
    },
    {
      "name": "mask",
      "href": "https://drafts.csswg.org/css-masking-1/#propdef-mask",
      "initial": "see individual properties",
      "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element",
      "inherited": "no",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "see individual properties",
      "media": "visual",
      "styleDeclaration": [
        "mask"
      ],
      "longhands": [
        "mask-image",
        "mask-position",
        "mask-size",
        "mask-repeat",
        "mask-origin",
        "mask-clip",
        "mask-composite",
        "mask-mode"
      ],
      "resetLonghands": [
        "mask-border"
      ],
      "syntax": "<mask-layer>#",
      "extended": []
    },
    {
      "name": "mask-border",
      "href": "https://drafts.csswg.org/css-masking-1/#propdef-mask-border",
      "initial": "See individual properties",
      "appliesTo": "See individual properties",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "See individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "See individual properties",
      "media": "visual",
      "styleDeclaration": [
        "mask-border",
        "maskBorder"
      ],
      "longhands": [
        "mask-border-source",
        "mask-border-slice",
        "mask-border-width",
        "mask-border-outset",
        "mask-border-repeat",
        "mask-border-mode"
      ],
      "syntax": "<'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>",
      "extended": []
    },
    {
      "name": "mask-border-mode",
      "href": "https://drafts.csswg.org/css-masking-1/#propdef-mask-border-mode",
      "initial": "alpha",
      "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "mask-border-mode",
        "maskBorderMode"
      ],
      "syntax": "luminance | alpha",
      "extended": []
    },
    {
      "name": "mask-border-outset",
      "href": "https://drafts.csswg.org/css-masking-1/#propdef-mask-border-outset",
      "initial": "0",
      "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "all <length>s made absolute, otherwise as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "media": "visual",
      "styleDeclaration": [
        "mask-border-outset",
        "maskBorderOutset"
      ],
      "syntax": "<'border-image-outset'>",
      "extended": []
    },
    {
      "name": "mask-border-repeat",
      "href": "https://drafts.csswg.org/css-masking-1/#propdef-mask-border-repeat",
      "initial": "stretch",
      "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "mask-border-repeat",
        "maskBorderRepeat"
      ],
      "syntax": "<'border-image-repeat'>",
      "extended": []
    },
    {
      "name": "mask-border-slice",
      "href": "https://drafts.csswg.org/css-masking-1/#propdef-mask-border-slice",
      "initial": "0",
      "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element",
      "inherited": "no",
      "percentages": "refer to size of the mask border image",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "media": "visual",
      "styleDeclaration": [
        "mask-border-slice",
        "maskBorderSlice"
      ],
      "syntax": "<'border-image-slice'>",
      "extended": []
    },
    {
      "name": "mask-border-source",
      "href": "https://drafts.csswg.org/css-masking-1/#propdef-mask-border-source",
      "initial": "none",
      "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "they keyword none or the computed <image>",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "mask-border-source",
        "maskBorderSource"
      ],
      "syntax": "<'border-image-source'>",
      "extended": []
    },
    {
      "name": "mask-border-width",
      "href": "https://drafts.csswg.org/css-masking-1/#propdef-mask-border-width",
      "initial": "auto",
      "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element",
      "inherited": "no",
      "percentages": "relative to width/height of the mask border image area",
      "computedValue": "all <length>s made absolute, otherwise as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "media": "visual",
      "styleDeclaration": [
        "mask-border-width",
        "maskBorderWidth"
      ],
      "syntax": "<'border-image-width'>",
      "extended": []
    },
    {
      "name": "mask-clip",
      "href": "https://drafts.csswg.org/css-masking-1/#propdef-mask-clip",
      "initial": "border-box",
      "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "list, each item the keyword as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "mask-clip",
        "maskClip"
      ],
      "syntax": "[ <coord-box> | no-clip ]#",
      "extended": []
    },
    {
      "name": "mask-composite",
      "href": "https://drafts.csswg.org/css-masking-1/#propdef-mask-composite",
      "initial": "add",
      "appliesTo": "All elements. In SVG, it applies to container elements without the defs element and all graphics elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "list, each item the keyword as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "mask-composite",
        "maskComposite"
      ],
      "syntax": "<compositing-operator>#",
      "extended": []
    },
    {
      "name": "mask-image",
      "href": "https://drafts.csswg.org/css-masking-1/#propdef-mask-image",
      "initial": "none",
      "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "list, each item the keyword none, a computed <image>, or a computed <url>",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "mask-image",
        "maskImage"
      ],
      "syntax": "<mask-reference>#",
      "extended": []
    },
    {
      "name": "mask-mode",
      "href": "https://drafts.csswg.org/css-masking-1/#propdef-mask-mode",
      "initial": "match-source",
      "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "list, each item the keyword as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "mask-mode",
        "maskMode"
      ],
      "syntax": "<masking-mode>#",
      "extended": []
    },
    {
      "name": "mask-origin",
      "href": "https://drafts.csswg.org/css-masking-1/#propdef-mask-origin",
      "initial": "border-box",
      "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "list, each item the keyword as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "mask-origin",
        "maskOrigin"
      ],
      "syntax": "<coord-box>#",
      "extended": []
    },
    {
      "name": "mask-position",
      "href": "https://drafts.csswg.org/css-masking-1/#propdef-mask-position",
      "initial": "0% 0%",
      "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element",
      "inherited": "no",
      "percentages": "refer to size of mask painting area minus size of mask layer image; see text background-position [CSS3BG]",
      "computedValue": "list, each item consists of two keywords representing the origin and two offsets from that origin, each given as an absolute length (if given a <length>), otherwise as a percentage.",
      "canonicalOrder": "per grammar",
      "animationType": "repeatable list",
      "media": "visual",
      "styleDeclaration": [
        "mask-position",
        "maskPosition"
      ],
      "syntax": "<position>#",
      "extended": []
    },
    {
      "name": "mask-repeat",
      "href": "https://drafts.csswg.org/css-masking-1/#propdef-mask-repeat",
      "initial": "repeat",
      "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "list, each item a pair of keywords, one per dimension",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "mask-repeat",
        "maskRepeat"
      ],
      "syntax": "<repeat-style>#",
      "extended": []
    },
    {
      "name": "mask-size",
      "href": "https://drafts.csswg.org/css-masking-1/#propdef-mask-size",
      "initial": "auto",
      "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "list, each item as specified, but with lengths made absolute",
      "canonicalOrder": "per grammar",
      "animationType": "repeatable list",
      "media": "visual",
      "styleDeclaration": [
        "mask-size",
        "maskSize"
      ],
      "syntax": "<bg-size>#",
      "extended": []
    },
    {
      "name": "mask-type",
      "href": "https://drafts.csswg.org/css-masking-1/#propdef-mask-type",
      "initial": "luminance",
      "appliesTo": "mask elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "mask-type",
        "maskType"
      ],
      "syntax": "luminance | alpha",
      "extended": []
    },
    {
      "name": "math-depth",
      "href": "https://w3c.github.io/mathml-core/#propdef-math-depth",
      "initial": "0",
      "appliesTo": "All elements",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "an integer, see below",
      "canonicalOrder": "n/a",
      "animationType": "by computed value type",
      "media": "visual",
      "styleDeclaration": [
        "math-depth",
        "mathDepth"
      ],
      "syntax": "auto-add | add(<integer>) | <integer>",
      "extended": []
    },
    {
      "name": "math-shift",
      "href": "https://w3c.github.io/mathml-core/#propdef-math-shift",
      "initial": "normal",
      "appliesTo": "All elements",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "n/a",
      "animationType": "by computed value type",
      "media": "visual",
      "styleDeclaration": [
        "math-shift",
        "mathShift"
      ],
      "syntax": "normal | compact",
      "extended": []
    },
    {
      "name": "math-style",
      "href": "https://w3c.github.io/mathml-core/#propdef-math-style",
      "initial": "normal",
      "appliesTo": "All elements",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "n/a",
      "animationType": "by computed value type",
      "media": "visual",
      "styleDeclaration": [
        "math-style",
        "mathStyle"
      ],
      "syntax": "normal | compact",
      "extended": []
    },
    {
      "name": "max-block-size",
      "href": "https://drafts.csswg.org/css-logical-1/#propdef-max-block-size",
      "initial": "none",
      "appliesTo": "same as height and width",
      "inherited": "no",
      "percentages": "As for the corresponding physical property",
      "computedValue": "Same as max-height, max-width",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "max-size",
      "styleDeclaration": [
        "max-block-size",
        "maxBlockSize"
      ],
      "syntax": "<'max-width'>",
      "extended": []
    },
    {
      "name": "max-height",
      "href": "https://drafts.csswg.org/css-sizing-3/#propdef-max-height",
      "initial": "none",
      "appliesTo": "all elements that accept width or height",
      "inherited": "no",
      "percentages": "relative to width/height of containing block",
      "computedValue": "as specified, with <length-percentage> values computed",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value, recursing into fit-content()",
      "logicalPropertyGroup": "max-size",
      "styleDeclaration": [
        "max-height",
        "maxHeight"
      ],
      "syntax": "none | <length-percentage [0,∞]> | min-content | max-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()> | stretch | fit-content | contain",
      "extended": [
        "https://drafts.csswg.org/css-anchor-position-1/",
        "https://drafts.csswg.org/css-sizing-4/"
      ]
    },
    {
      "name": "max-inline-size",
      "href": "https://drafts.csswg.org/css-logical-1/#propdef-max-inline-size",
      "initial": "none",
      "appliesTo": "same as height and width",
      "inherited": "no",
      "percentages": "As for the corresponding physical property",
      "computedValue": "Same as max-height, max-width",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "max-size",
      "styleDeclaration": [
        "max-inline-size",
        "maxInlineSize"
      ],
      "syntax": "<'max-width'>",
      "extended": []
    },
    {
      "name": "max-lines",
      "href": "https://drafts.csswg.org/css-overflow-4/#propdef-max-lines",
      "initial": "none",
      "appliesTo": "block containers which are also either line-clamp containers or fragmentation containers that capture region breaks",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "the keyword none or an integer",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "max-lines",
        "maxLines"
      ],
      "syntax": "none | <integer [1,∞]>",
      "extended": []
    },
    {
      "name": "max-width",
      "href": "https://drafts.csswg.org/css-sizing-3/#propdef-max-width",
      "initial": "none",
      "appliesTo": "all elements that accept width or height",
      "inherited": "no",
      "percentages": "relative to width/height of containing block",
      "computedValue": "as specified, with <length-percentage> values computed",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value, recursing into fit-content()",
      "logicalPropertyGroup": "max-size",
      "styleDeclaration": [
        "max-width",
        "maxWidth"
      ],
      "syntax": "none | <length-percentage [0,∞]> | min-content | max-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()> | stretch | fit-content | contain",
      "extended": [
        "https://drafts.csswg.org/css-anchor-position-1/",
        "https://drafts.csswg.org/css-sizing-4/"
      ]
    },
    {
      "name": "min-block-size",
      "href": "https://drafts.csswg.org/css-logical-1/#propdef-min-block-size",
      "initial": "0",
      "appliesTo": "same as height and width",
      "inherited": "no",
      "percentages": "As for the corresponding physical property",
      "computedValue": "Same as min-height, min-width",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "min-size",
      "styleDeclaration": [
        "min-block-size",
        "minBlockSize"
      ],
      "syntax": "<'min-width'>",
      "extended": []
    },
    {
      "name": "min-height",
      "href": "https://drafts.csswg.org/css-sizing-3/#propdef-min-height",
      "initial": "auto",
      "appliesTo": "all elements that accept width or height",
      "inherited": "no",
      "percentages": "relative to width/height of containing block",
      "computedValue": "as specified, with <length-percentage> values computed",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value, recursing into fit-content()",
      "logicalPropertyGroup": "min-size",
      "styleDeclaration": [
        "min-height",
        "minHeight"
      ],
      "syntax": "auto | <length-percentage [0,∞]> | min-content | max-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()> | stretch | fit-content | contain",
      "extended": [
        "https://drafts.csswg.org/css-anchor-position-1/",
        "https://drafts.csswg.org/css-sizing-4/"
      ]
    },
    {
      "name": "min-inline-size",
      "href": "https://drafts.csswg.org/css-logical-1/#propdef-min-inline-size",
      "initial": "0",
      "appliesTo": "same as height and width",
      "inherited": "no",
      "percentages": "As for the corresponding physical property",
      "computedValue": "Same as min-height, min-width",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "min-size",
      "styleDeclaration": [
        "min-inline-size",
        "minInlineSize"
      ],
      "syntax": "<'min-width'>",
      "extended": []
    },
    {
      "name": "min-intrinsic-sizing",
      "href": "https://drafts.csswg.org/css-sizing-4/#propdef-min-intrinsic-sizing",
      "initial": "legacy",
      "appliesTo": "all elements except inline boxes",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "min-intrinsic-sizing",
        "minIntrinsicSizing"
      ],
      "syntax": "legacy | zero-if-scroll || zero-if-extrinsic",
      "extended": []
    },
    {
      "name": "min-width",
      "href": "https://drafts.csswg.org/css-sizing-3/#propdef-min-width",
      "initial": "auto",
      "appliesTo": "all elements that accept width or height",
      "inherited": "no",
      "percentages": "relative to width/height of containing block",
      "computedValue": "as specified, with <length-percentage> values computed",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value, recursing into fit-content()",
      "logicalPropertyGroup": "min-size",
      "styleDeclaration": [
        "min-width",
        "minWidth"
      ],
      "syntax": "auto | <length-percentage [0,∞]> | min-content | max-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()> | stretch | fit-content | contain",
      "extended": [
        "https://drafts.csswg.org/css-anchor-position-1/",
        "https://drafts.csswg.org/css-sizing-4/"
      ]
    },
    {
      "name": "mix-blend-mode",
      "href": "https://drafts.csswg.org/compositing-2/#propdef-mix-blend-mode",
      "initial": "normal",
      "appliesTo": "All elements. In SVG, it applies to container elements, graphics elements and graphics referencing elements. [SVG11]",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "mix-blend-mode",
        "mixBlendMode"
      ],
      "syntax": "<blend-mode> | plus-lighter",
      "extended": []
    },
    {
      "name": "nav-down",
      "href": "https://drafts.csswg.org/css-ui-4/#propdef-nav-down",
      "initial": "auto",
      "appliesTo": "all enabled elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "nav-down",
        "navDown"
      ],
      "syntax": "auto | <id> [ current | root | <target-name> ]?",
      "extended": []
    },
    {
      "name": "nav-left",
      "href": "https://drafts.csswg.org/css-ui-4/#propdef-nav-left",
      "initial": "auto",
      "appliesTo": "all enabled elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "nav-left",
        "navLeft"
      ],
      "syntax": "auto | <id> [ current | root | <target-name> ]?",
      "extended": []
    },
    {
      "name": "nav-right",
      "href": "https://drafts.csswg.org/css-ui-4/#propdef-nav-right",
      "initial": "auto",
      "appliesTo": "all enabled elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "nav-right",
        "navRight"
      ],
      "syntax": "auto | <id> [ current | root | <target-name> ]?",
      "extended": []
    },
    {
      "name": "nav-up",
      "href": "https://drafts.csswg.org/css-ui-4/#propdef-nav-up",
      "initial": "auto",
      "appliesTo": "all enabled elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "nav-up",
        "navUp"
      ],
      "syntax": "auto | <id> [ current | root | <target-name> ]?",
      "extended": []
    },
    {
      "name": "object-fit",
      "href": "https://drafts.csswg.org/css-images-4/#propdef-object-fit",
      "initial": "fill",
      "appliesTo": "replaced elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword(s)",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "object-fit",
        "objectFit"
      ],
      "syntax": "fill | none | [contain | cover] || scale-down",
      "extended": []
    },
    {
      "name": "object-position",
      "href": "https://drafts.csswg.org/css-images-3/#propdef-object-position",
      "initial": "50% 50%",
      "appliesTo": "replaced elements",
      "inherited": "no",
      "percentages": "refer to width and height of element itself",
      "computedValue": "as for background-position",
      "canonicalOrder": "the horizontal component of the <position>, followed by the vertical component",
      "animationType": "as for background-position",
      "styleDeclaration": [
        "object-position",
        "objectPosition"
      ],
      "syntax": "<position>",
      "extended": []
    },
    {
      "name": "object-view-box",
      "href": "https://drafts.csswg.org/css-images-5/#propdef-object-view-box",
      "initial": "none",
      "appliesTo": "replaced elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword, or computed <basic-shape> function",
      "canonicalOrder": "per grammar",
      "animationType": "as <basic-shape> if possible, otherwise discrete",
      "styleDeclaration": [
        "object-view-box",
        "objectViewBox"
      ],
      "syntax": "none | <basic-shape-rect>",
      "extended": []
    },
    {
      "name": "offset",
      "href": "https://drafts.csswg.org/motion-1/#propdef-offset",
      "initial": "see individual properties",
      "appliesTo": "transformable elements",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "offset"
      ],
      "longhands": [
        "offset-path",
        "offset-distance",
        "offset-rotate",
        "offset-anchor",
        "offset-position"
      ],
      "syntax": "[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?",
      "extended": []
    },
    {
      "name": "offset-anchor",
      "href": "https://drafts.csswg.org/motion-1/#propdef-offset-anchor",
      "initial": "auto",
      "appliesTo": "transformable elements",
      "inherited": "no",
      "percentages": "relative to the width and the height of the element’s reference box",
      "computedValue": "the auto keyword or a computed <position>",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "media": "visual",
      "styleDeclaration": [
        "offset-anchor",
        "offsetAnchor"
      ],
      "syntax": "auto | <position>",
      "extended": []
    },
    {
      "name": "offset-distance",
      "href": "https://drafts.csswg.org/motion-1/#propdef-offset-distance",
      "initial": "0",
      "appliesTo": "transformable elements",
      "inherited": "no",
      "percentages": "relative to the offset path length",
      "computedValue": "a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "media": "visual",
      "styleDeclaration": [
        "offset-distance",
        "offsetDistance"
      ],
      "syntax": "<length-percentage>",
      "extended": []
    },
    {
      "name": "offset-path",
      "href": "https://drafts.csswg.org/motion-1/#propdef-offset-path",
      "initial": "none",
      "appliesTo": "transformable elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "media": "visual",
      "styleDeclaration": [
        "offset-path",
        "offsetPath"
      ],
      "syntax": "none | <offset-path> || <coord-box>",
      "extended": []
    },
    {
      "name": "offset-position",
      "href": "https://drafts.csswg.org/motion-1/#propdef-offset-position",
      "initial": "normal",
      "appliesTo": "transformable elements",
      "inherited": "no",
      "percentages": "Refer to the size of containing block",
      "computedValue": "The normal or auto keywords, or a computed <position>",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "media": "visual",
      "styleDeclaration": [
        "offset-position",
        "offsetPosition"
      ],
      "syntax": "normal | auto | <position>",
      "extended": []
    },
    {
      "name": "offset-rotate",
      "href": "https://drafts.csswg.org/motion-1/#propdef-offset-rotate",
      "initial": "auto",
      "appliesTo": "transformable elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "computed <angle> value, optionally preceded by auto",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "media": "visual",
      "styleDeclaration": [
        "offset-rotate",
        "offsetRotate"
      ],
      "syntax": "[ auto | reverse ] || <angle>",
      "extended": []
    },
    {
      "name": "opacity",
      "href": "https://drafts.csswg.org/css-color-4/#propdef-opacity",
      "initial": "1",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "map to the range [0,1]",
      "computedValue": "specified number, clamped to the range [0,1]",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "opacity"
      ],
      "syntax": "<opacity-value>",
      "extended": []
    },
    {
      "name": "order",
      "href": "https://drafts.csswg.org/css-display-4/#propdef-order",
      "initial": "0",
      "appliesTo": "flex items and grid items",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified integer",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "order"
      ],
      "syntax": "<integer>",
      "extended": []
    },
    {
      "name": "orphans",
      "href": "https://drafts.csswg.org/css-break-4/#propdef-orphans",
      "initial": "2",
      "appliesTo": "block containers that establish an inline formatting context",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified integer",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "orphans"
      ],
      "syntax": "<integer [1,∞]>",
      "extended": []
    },
    {
      "name": "outline",
      "href": "https://drafts.csswg.org/css-ui-4/#propdef-outline",
      "initial": "see individual properties",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "outline"
      ],
      "longhands": [
        "outline-width",
        "outline-style",
        "outline-color"
      ],
      "syntax": "<'outline-width'> || <'outline-style'> || <'outline-color'>",
      "extended": []
    },
    {
      "name": "outline-color",
      "href": "https://drafts.csswg.org/css-ui-4/#propdef-outline-color",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "see below",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "outline-color",
        "outlineColor"
      ],
      "syntax": "auto | <'border-top-color'>",
      "extended": []
    },
    {
      "name": "outline-offset",
      "href": "https://drafts.csswg.org/css-ui-4/#propdef-outline-offset",
      "initial": "0",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "absolute length",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "outline-offset",
        "outlineOffset"
      ],
      "syntax": "<length>",
      "extended": []
    },
    {
      "name": "outline-style",
      "href": "https://drafts.csswg.org/css-ui-4/#propdef-outline-style",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "outline-style",
        "outlineStyle"
      ],
      "syntax": "auto | <outline-line-style>",
      "extended": []
    },
    {
      "name": "outline-width",
      "href": "https://drafts.csswg.org/css-ui-4/#propdef-outline-width",
      "initial": "medium",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "absolute length, snapped as a border width",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "outline-width",
        "outlineWidth"
      ],
      "syntax": "<line-width>",
      "extended": []
    },
    {
      "name": "overflow",
      "href": "https://drafts.csswg.org/css-overflow-3/#propdef-overflow",
      "initial": "visible",
      "appliesTo": "block containers [CSS2], flex containers [CSS3-FLEXBOX], and grid containers [CSS3-GRID-LAYOUT]",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "see individual properties",
      "animationType": "discrete",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "overflow"
      ],
      "longhands": [
        "overflow-x",
        "overflow-y"
      ],
      "syntax": "<'overflow-block'>{1,2}",
      "extended": []
    },
    {
      "name": "overflow-anchor",
      "href": "https://drafts.csswg.org/css-scroll-anchoring-1/#propdef-overflow-anchor",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "overflow-anchor",
        "overflowAnchor"
      ],
      "syntax": "auto | none",
      "extended": []
    },
    {
      "name": "overflow-block",
      "href": "https://drafts.csswg.org/css-overflow-3/#propdef-overflow-block",
      "initial": "visible",
      "appliesTo": "block containers [CSS2], flex containers [CSS-FLEXBOX-1], grid containers [CSS-GRID-1], and table grid boxes [CSS-TABLES-3]",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "usually specified value, but see text",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "logicalPropertyGroup": "overflow",
      "styleDeclaration": [
        "overflow-block",
        "overflowBlock"
      ],
      "syntax": "visible | hidden | clip | scroll | auto",
      "extended": []
    },
    {
      "name": "overflow-clip-margin",
      "href": "https://drafts.csswg.org/css-overflow-4/#propdef-overflow-clip-margin",
      "initial": "0px",
      "appliesTo": "boxes to which overflow applies",
      "inherited": "no",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "overflow-clip-margin",
        "overflowClipMargin"
      ],
      "longhands": [
        "overflow-clip-margin-top",
        "overflow-clip-margin-right",
        "overflow-clip-margin-bottom",
        "overflow-clip-margin-left"
      ],
      "syntax": "<visual-box> || <length>",
      "extended": []
    },
    {
      "name": "overflow-clip-margin-block",
      "href": "https://drafts.csswg.org/css-overflow-4/#propdef-overflow-clip-margin-block",
      "initial": "0px",
      "appliesTo": "boxes to which overflow applies",
      "inherited": "no",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "overflow-clip-margin-block",
        "overflowClipMarginBlock"
      ],
      "longhands": [
        "overflow-clip-margin-block-start",
        "overflow-clip-margin-block-end"
      ],
      "syntax": "<visual-box> || <length>",
      "extended": []
    },
    {
      "name": "overflow-clip-margin-block-end",
      "href": "https://drafts.csswg.org/css-overflow-4/#propdef-overflow-clip-margin-block-end",
      "initial": "0px",
      "appliesTo": "boxes to which overflow applies",
      "inherited": "no",
      "percentages": "see individual properties",
      "computedValue": "the computed <length> and a <visual-box> keyword",
      "animationType": "per computed value if the <visual-box> values match; otherwise discrete",
      "canonicalOrder": "per grammar",
      "logicalPropertyGroup": "overflow-clip-margin",
      "styleDeclaration": [
        "overflow-clip-margin-block-end",
        "overflowClipMarginBlockEnd"
      ],
      "syntax": "<visual-box> || <length>",
      "extended": []
    },
    {
      "name": "overflow-clip-margin-block-start",
      "href": "https://drafts.csswg.org/css-overflow-4/#propdef-overflow-clip-margin-block-start",
      "initial": "0px",
      "appliesTo": "boxes to which overflow applies",
      "inherited": "no",
      "percentages": "see individual properties",
      "computedValue": "the computed <length> and a <visual-box> keyword",
      "animationType": "per computed value if the <visual-box> values match; otherwise discrete",
      "canonicalOrder": "per grammar",
      "logicalPropertyGroup": "overflow-clip-margin",
      "styleDeclaration": [
        "overflow-clip-margin-block-start",
        "overflowClipMarginBlockStart"
      ],
      "syntax": "<visual-box> || <length>",
      "extended": []
    },
    {
      "name": "overflow-clip-margin-bottom",
      "href": "https://drafts.csswg.org/css-overflow-4/#propdef-overflow-clip-margin-bottom",
      "initial": "0px",
      "appliesTo": "boxes to which overflow applies",
      "inherited": "no",
      "percentages": "see individual properties",
      "computedValue": "the computed <length> and a <visual-box> keyword",
      "animationType": "per computed value if the <visual-box> values match; otherwise discrete",
      "canonicalOrder": "per grammar",
      "logicalPropertyGroup": "overflow-clip-margin",
      "styleDeclaration": [
        "overflow-clip-margin-bottom",
        "overflowClipMarginBottom"
      ],
      "syntax": "<visual-box> || <length>",
      "extended": []
    },
    {
      "name": "overflow-clip-margin-inline",
      "href": "https://drafts.csswg.org/css-overflow-4/#propdef-overflow-clip-margin-inline",
      "initial": "0px",
      "appliesTo": "boxes to which overflow applies",
      "inherited": "no",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "overflow-clip-margin-inline",
        "overflowClipMarginInline"
      ],
      "longhands": [
        "overflow-clip-margin-inline-start",
        "overflow-clip-margin-inline-end"
      ],
      "syntax": "<visual-box> || <length>",
      "extended": []
    },
    {
      "name": "overflow-clip-margin-inline-end",
      "href": "https://drafts.csswg.org/css-overflow-4/#propdef-overflow-clip-margin-inline-end",
      "initial": "0px",
      "appliesTo": "boxes to which overflow applies",
      "inherited": "no",
      "percentages": "see individual properties",
      "computedValue": "the computed <length> and a <visual-box> keyword",
      "animationType": "per computed value if the <visual-box> values match; otherwise discrete",
      "canonicalOrder": "per grammar",
      "logicalPropertyGroup": "overflow-clip-margin",
      "styleDeclaration": [
        "overflow-clip-margin-inline-end",
        "overflowClipMarginInlineEnd"
      ],
      "syntax": "<visual-box> || <length>",
      "extended": []
    },
    {
      "name": "overflow-clip-margin-inline-start",
      "href": "https://drafts.csswg.org/css-overflow-4/#propdef-overflow-clip-margin-inline-start",
      "initial": "0px",
      "appliesTo": "boxes to which overflow applies",
      "inherited": "no",
      "percentages": "see individual properties",
      "computedValue": "the computed <length> and a <visual-box> keyword",
      "animationType": "per computed value if the <visual-box> values match; otherwise discrete",
      "canonicalOrder": "per grammar",
      "logicalPropertyGroup": "overflow-clip-margin",
      "styleDeclaration": [
        "overflow-clip-margin-inline-start",
        "overflowClipMarginInlineStart"
      ],
      "syntax": "<visual-box> || <length>",
      "extended": []
    },
    {
      "name": "overflow-clip-margin-left",
      "href": "https://drafts.csswg.org/css-overflow-4/#propdef-overflow-clip-margin-left",
      "initial": "0px",
      "appliesTo": "boxes to which overflow applies",
      "inherited": "no",
      "percentages": "see individual properties",
      "computedValue": "the computed <length> and a <visual-box> keyword",
      "animationType": "per computed value if the <visual-box> values match; otherwise discrete",
      "canonicalOrder": "per grammar",
      "logicalPropertyGroup": "overflow-clip-margin",
      "styleDeclaration": [
        "overflow-clip-margin-left",
        "overflowClipMarginLeft"
      ],
      "syntax": "<visual-box> || <length>",
      "extended": []
    },
    {
      "name": "overflow-clip-margin-right",
      "href": "https://drafts.csswg.org/css-overflow-4/#propdef-overflow-clip-margin-right",
      "initial": "0px",
      "appliesTo": "boxes to which overflow applies",
      "inherited": "no",
      "percentages": "see individual properties",
      "computedValue": "the computed <length> and a <visual-box> keyword",
      "animationType": "per computed value if the <visual-box> values match; otherwise discrete",
      "canonicalOrder": "per grammar",
      "logicalPropertyGroup": "overflow-clip-margin",
      "styleDeclaration": [
        "overflow-clip-margin-right",
        "overflowClipMarginRight"
      ],
      "syntax": "<visual-box> || <length>",
      "extended": []
    },
    {
      "name": "overflow-clip-margin-top",
      "href": "https://drafts.csswg.org/css-overflow-4/#propdef-overflow-clip-margin-top",
      "initial": "0px",
      "appliesTo": "boxes to which overflow applies",
      "inherited": "no",
      "percentages": "see individual properties",
      "computedValue": "the computed <length> and a <visual-box> keyword",
      "animationType": "per computed value if the <visual-box> values match; otherwise discrete",
      "canonicalOrder": "per grammar",
      "logicalPropertyGroup": "overflow-clip-margin",
      "styleDeclaration": [
        "overflow-clip-margin-top",
        "overflowClipMarginTop"
      ],
      "syntax": "<visual-box> || <length>",
      "extended": []
    },
    {
      "name": "overflow-inline",
      "href": "https://drafts.csswg.org/css-overflow-3/#propdef-overflow-inline",
      "initial": "visible",
      "appliesTo": "block containers [CSS2], flex containers [CSS-FLEXBOX-1], grid containers [CSS-GRID-1], and table grid boxes [CSS-TABLES-3]",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "usually specified value, but see text",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "logicalPropertyGroup": "overflow",
      "styleDeclaration": [
        "overflow-inline",
        "overflowInline"
      ],
      "syntax": "visible | hidden | clip | scroll | auto",
      "extended": []
    },
    {
      "name": "overflow-wrap",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-overflow-wrap",
      "initial": "normal",
      "appliesTo": "text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "n/a",
      "animationType": "discrete",
      "styleDeclaration": [
        "overflow-wrap",
        "overflowWrap"
      ],
      "syntax": "normal | break-word | anywhere",
      "extended": []
    },
    {
      "name": "overflow-x",
      "href": "https://drafts.csswg.org/css-overflow-3/#propdef-overflow-x",
      "initial": "visible",
      "appliesTo": "block containers [CSS2], flex containers [CSS-FLEXBOX-1], grid containers [CSS-GRID-1], and table grid boxes [CSS-TABLES-3]",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "usually specified value, but see text",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "logicalPropertyGroup": "overflow",
      "styleDeclaration": [
        "overflow-x",
        "overflowX"
      ],
      "syntax": "visible | hidden | clip | scroll | auto",
      "extended": []
    },
    {
      "name": "overflow-y",
      "href": "https://drafts.csswg.org/css-overflow-3/#propdef-overflow-y",
      "initial": "visible",
      "appliesTo": "block containers [CSS2], flex containers [CSS-FLEXBOX-1], grid containers [CSS-GRID-1], and table grid boxes [CSS-TABLES-3]",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "usually specified value, but see text",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "logicalPropertyGroup": "overflow",
      "styleDeclaration": [
        "overflow-y",
        "overflowY"
      ],
      "syntax": "visible | hidden | clip | scroll | auto",
      "extended": []
    },
    {
      "name": "overlay",
      "href": "https://drafts.csswg.org/css-position-4/#propdef-overlay",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "see prose",
      "styleDeclaration": [
        "overlay"
      ],
      "syntax": "none | auto",
      "extended": []
    },
    {
      "name": "overscroll-behavior",
      "href": "https://drafts.csswg.org/css-overscroll-1/#propdef-overscroll-behavior",
      "initial": "auto auto",
      "appliesTo": "scroll container elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "see individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "overscroll-behavior",
        "overscrollBehavior"
      ],
      "longhands": [
        "overscroll-behavior-x",
        "overscroll-behavior-y"
      ],
      "syntax": "[ contain | none | auto | chain ]{1,2}",
      "extended": []
    },
    {
      "name": "overscroll-behavior-block",
      "href": "https://drafts.csswg.org/css-overscroll-1/#propdef-overscroll-behavior-block",
      "initial": "auto",
      "appliesTo": "scroll container elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "logicalPropertyGroup": "overscroll-behavior",
      "media": "visual",
      "styleDeclaration": [
        "overscroll-behavior-block",
        "overscrollBehaviorBlock"
      ],
      "syntax": "contain | none | auto | chain",
      "extended": []
    },
    {
      "name": "overscroll-behavior-inline",
      "href": "https://drafts.csswg.org/css-overscroll-1/#propdef-overscroll-behavior-inline",
      "initial": "auto",
      "appliesTo": "scroll container elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "logicalPropertyGroup": "overscroll-behavior",
      "media": "visual",
      "styleDeclaration": [
        "overscroll-behavior-inline",
        "overscrollBehaviorInline"
      ],
      "syntax": "contain | none | auto | chain",
      "extended": []
    },
    {
      "name": "overscroll-behavior-x",
      "href": "https://drafts.csswg.org/css-overscroll-1/#propdef-overscroll-behavior-x",
      "initial": "auto",
      "appliesTo": "scroll container elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "logicalPropertyGroup": "overscroll-behavior",
      "media": "visual",
      "styleDeclaration": [
        "overscroll-behavior-x",
        "overscrollBehaviorX"
      ],
      "syntax": "contain | none | auto | chain",
      "extended": []
    },
    {
      "name": "overscroll-behavior-y",
      "href": "https://drafts.csswg.org/css-overscroll-1/#propdef-overscroll-behavior-y",
      "initial": "auto",
      "appliesTo": "scroll container elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "logicalPropertyGroup": "overscroll-behavior",
      "media": "visual",
      "styleDeclaration": [
        "overscroll-behavior-y",
        "overscrollBehaviorY"
      ],
      "syntax": "contain | none | auto | chain",
      "extended": []
    },
    {
      "name": "padding",
      "href": "https://drafts.csswg.org/css-box-4/#propdef-padding",
      "initial": "0",
      "appliesTo": "all elements except: internal table elements other than table cells, ruby base containers, and ruby annotation containers",
      "inherited": "no",
      "percentages": "refer to logical width of containing block",
      "computedValue": "see individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "padding"
      ],
      "longhands": [
        "padding-top",
        "padding-right",
        "padding-bottom",
        "padding-left"
      ],
      "syntax": "<'padding-top'>{1,4}",
      "extended": []
    },
    {
      "name": "padding-block",
      "href": "https://drafts.csswg.org/css-logical-1/#propdef-padding-block",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "padding-block",
        "paddingBlock"
      ],
      "longhands": [
        "padding-block-start",
        "padding-block-end"
      ],
      "syntax": "<'padding-top'>{1,2}",
      "extended": []
    },
    {
      "name": "padding-block-end",
      "href": "https://drafts.csswg.org/css-logical-1/#propdef-padding-block-end",
      "initial": "0",
      "appliesTo": "Same as padding-top",
      "inherited": "no",
      "percentages": "As for the corresponding physical property",
      "computedValue": "Same as corresponding padding-* properties",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "padding",
      "styleDeclaration": [
        "padding-block-end",
        "paddingBlockEnd"
      ],
      "syntax": "<'padding-top'>",
      "extended": []
    },
    {
      "name": "padding-block-start",
      "href": "https://drafts.csswg.org/css-logical-1/#propdef-padding-block-start",
      "initial": "0",
      "appliesTo": "Same as padding-top",
      "inherited": "no",
      "percentages": "As for the corresponding physical property",
      "computedValue": "Same as corresponding padding-* properties",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "padding",
      "styleDeclaration": [
        "padding-block-start",
        "paddingBlockStart"
      ],
      "syntax": "<'padding-top'>",
      "extended": []
    },
    {
      "name": "padding-bottom",
      "href": "https://drafts.csswg.org/css-box-4/#propdef-padding-bottom",
      "initial": "0",
      "appliesTo": "all elements except: internal table elements other than table cells, ruby base containers, and ruby annotation containers",
      "inherited": "no",
      "percentages": "refer to logical width of containing block",
      "computedValue": "a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "padding",
      "styleDeclaration": [
        "padding-bottom",
        "paddingBottom"
      ],
      "syntax": "<length-percentage [0,∞]>",
      "extended": []
    },
    {
      "name": "padding-inline",
      "href": "https://drafts.csswg.org/css-logical-1/#propdef-padding-inline",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "padding-inline",
        "paddingInline"
      ],
      "longhands": [
        "padding-inline-start",
        "padding-inline-end"
      ],
      "syntax": "<'padding-top'>{1,2}",
      "extended": []
    },
    {
      "name": "padding-inline-end",
      "href": "https://drafts.csswg.org/css-logical-1/#propdef-padding-inline-end",
      "initial": "0",
      "appliesTo": "Same as padding-top",
      "inherited": "no",
      "percentages": "As for the corresponding physical property",
      "computedValue": "Same as corresponding padding-* properties",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "padding",
      "styleDeclaration": [
        "padding-inline-end",
        "paddingInlineEnd"
      ],
      "syntax": "<'padding-top'>",
      "extended": []
    },
    {
      "name": "padding-inline-start",
      "href": "https://drafts.csswg.org/css-logical-1/#propdef-padding-inline-start",
      "initial": "0",
      "appliesTo": "Same as padding-top",
      "inherited": "no",
      "percentages": "As for the corresponding physical property",
      "computedValue": "Same as corresponding padding-* properties",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "padding",
      "styleDeclaration": [
        "padding-inline-start",
        "paddingInlineStart"
      ],
      "syntax": "<'padding-top'>",
      "extended": []
    },
    {
      "name": "padding-left",
      "href": "https://drafts.csswg.org/css-box-4/#propdef-padding-left",
      "initial": "0",
      "appliesTo": "all elements except: internal table elements other than table cells, ruby base containers, and ruby annotation containers",
      "inherited": "no",
      "percentages": "refer to logical width of containing block",
      "computedValue": "a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "padding",
      "styleDeclaration": [
        "padding-left",
        "paddingLeft"
      ],
      "syntax": "<length-percentage [0,∞]>",
      "extended": []
    },
    {
      "name": "padding-right",
      "href": "https://drafts.csswg.org/css-box-4/#propdef-padding-right",
      "initial": "0",
      "appliesTo": "all elements except: internal table elements other than table cells, ruby base containers, and ruby annotation containers",
      "inherited": "no",
      "percentages": "refer to logical width of containing block",
      "computedValue": "a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "padding",
      "styleDeclaration": [
        "padding-right",
        "paddingRight"
      ],
      "syntax": "<length-percentage [0,∞]>",
      "extended": []
    },
    {
      "name": "padding-top",
      "href": "https://drafts.csswg.org/css-box-4/#propdef-padding-top",
      "initial": "0",
      "appliesTo": "all elements except: internal table elements other than table cells, ruby base containers, and ruby annotation containers",
      "inherited": "no",
      "percentages": "refer to logical width of containing block",
      "computedValue": "a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "padding",
      "styleDeclaration": [
        "padding-top",
        "paddingTop"
      ],
      "syntax": "<length-percentage [0,∞]>",
      "extended": []
    },
    {
      "name": "page",
      "href": "https://drafts.csswg.org/css-page-3/#propdef-page",
      "initial": "auto",
      "appliesTo": "boxes that create class A break points",
      "inherited": "no (but see prose)",
      "percentages": "n/a",
      "computedValue": "specified value",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "page"
      ],
      "syntax": "auto | <custom-ident>",
      "extended": []
    },
    {
      "name": "page-break-after",
      "href": "https://drafts.csswg.org/css2/#propdef-page-break-after",
      "initial": "auto",
      "appliesTo": "block-level elements (but see text)",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual, paged",
      "styleDeclaration": [
        "page-break-after",
        "pageBreakAfter"
      ],
      "syntax": "auto | always | avoid | left | right | inherit",
      "extended": []
    },
    {
      "name": "page-break-before",
      "href": "https://drafts.csswg.org/css2/#propdef-page-break-before",
      "initial": "auto",
      "appliesTo": "block-level elements (but see text)",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual, paged",
      "styleDeclaration": [
        "page-break-before",
        "pageBreakBefore"
      ],
      "syntax": "auto | always | avoid | left | right | inherit",
      "extended": []
    },
    {
      "name": "page-break-inside",
      "href": "https://drafts.csswg.org/css2/#propdef-page-break-inside",
      "initial": "auto",
      "appliesTo": "block-level elements (but see text)",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual, paged",
      "styleDeclaration": [
        "page-break-inside",
        "pageBreakInside"
      ],
      "syntax": "avoid | auto | inherit",
      "extended": []
    },
    {
      "name": "paint-order",
      "href": "https://w3c.github.io/svgwg/svg2-draft/painting.html#PaintOrderProperty",
      "initial": "normal",
      "appliesTo": "shapes and text content elements",
      "inherited": "yes",
      "percentages": "N/A",
      "media": "visual",
      "computedValue": "as specified",
      "animationType": "discrete",
      "styleDeclaration": [
        "paint-order",
        "paintOrder"
      ],
      "syntax": "normal | [ fill || stroke || markers ]",
      "extended": []
    },
    {
      "name": "path-length",
      "href": "https://w3c.github.io/svgwg/svg2-draft/paths.html#PathLengthCSSProperty",
      "initial": "none",
      "appliesTo": "‘path’, ‘circle’, ‘ellipse’, ‘line’, ‘polygon’, ‘polyline’, ‘rect’",
      "inherited": "no",
      "percentages": "N/A",
      "media": "visual",
      "computedValue": "the keyword none, or an absolute length",
      "animationType": "by computed value",
      "styleDeclaration": [
        "path-length",
        "pathLength"
      ],
      "syntax": "none | <length> [0,∞]",
      "extended": []
    },
    {
      "name": "pause",
      "href": "https://drafts.csswg.org/css-speech-1/#propdef-pause",
      "initial": "see individual properties",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "pause"
      ],
      "longhands": [
        "pause-before",
        "pause-after"
      ],
      "syntax": "<'pause-before'> <'pause-after'>?",
      "extended": []
    },
    {
      "name": "pause-after",
      "href": "https://drafts.csswg.org/css-speech-1/#propdef-pause-after",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "pause-after",
        "pauseAfter"
      ],
      "syntax": "<time [0s,∞]> | none | x-weak | weak | medium | strong | x-strong",
      "extended": []
    },
    {
      "name": "pause-before",
      "href": "https://drafts.csswg.org/css-speech-1/#propdef-pause-before",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "pause-before",
        "pauseBefore"
      ],
      "syntax": "<time [0s,∞]> | none | x-weak | weak | medium | strong | x-strong",
      "extended": []
    },
    {
      "name": "perspective",
      "href": "https://drafts.csswg.org/css-transforms-2/#propdef-perspective",
      "initial": "none",
      "appliesTo": "transformable elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "the keyword none or an absolute length",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "perspective"
      ],
      "syntax": "none | <length [0,∞]>",
      "extended": []
    },
    {
      "name": "perspective-origin",
      "href": "https://drafts.csswg.org/css-transforms-2/#propdef-perspective-origin",
      "initial": "50% 50%",
      "appliesTo": "transformable elements",
      "inherited": "no",
      "percentages": "refer to the size of the reference box",
      "computedValue": "see background-position",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "perspective-origin",
        "perspectiveOrigin"
      ],
      "syntax": "<position>",
      "extended": []
    },
    {
      "name": "place-content",
      "href": "https://drafts.csswg.org/css-align-3/#propdef-place-content",
      "initial": "normal",
      "appliesTo": "see individual properties",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "see individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "place-content",
        "placeContent"
      ],
      "longhands": [
        "align-content",
        "justify-content"
      ],
      "syntax": "<'align-content'> <'justify-content'>?",
      "extended": []
    },
    {
      "name": "place-items",
      "href": "https://drafts.csswg.org/css-align-3/#propdef-place-items",
      "initial": "see individual properties",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "see individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "place-items",
        "placeItems"
      ],
      "longhands": [
        "align-items",
        "justify-items"
      ],
      "syntax": "<'align-items'> <'justify-items'>?",
      "extended": []
    },
    {
      "name": "place-self",
      "href": "https://drafts.csswg.org/css-align-3/#propdef-place-self",
      "initial": "auto",
      "appliesTo": "see individual properties",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "see individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "place-self",
        "placeSelf"
      ],
      "longhands": [
        "align-self",
        "justify-self"
      ],
      "syntax": "<'align-self'> <'justify-self'>?",
      "extended": []
    },
    {
      "name": "pointer-events",
      "href": "https://w3c.github.io/svgwg/svg2-draft/interact.html#PointerEventsProperty",
      "initial": "auto",
      "appliesTo": "container elements, graphics elements and ‘use’",
      "inherited": "yes",
      "percentages": "N/A",
      "media": "visual",
      "computedValue": "as specified",
      "animationType": "discrete",
      "styleDeclaration": [
        "pointer-events",
        "pointerEvents"
      ],
      "syntax": "auto | bounding-box | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | none",
      "extended": []
    },
    {
      "name": "pointer-timeline",
      "href": "https://drafts.csswg.org/pointer-animations-1/#propdef-pointer-timeline",
      "initial": "see individual properties",
      "appliesTo": "all elements",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "pointer-timeline",
        "pointerTimeline"
      ],
      "longhands": [
        "pointer-timeline-name",
        "pointer-timeline-axis"
      ],
      "syntax": "[ <'pointer-timeline-name'> <'pointer-timeline-axis'>? ]#",
      "extended": []
    },
    {
      "name": "pointer-timeline-axis",
      "href": "https://drafts.csswg.org/pointer-animations-1/#propdef-pointer-timeline-axis",
      "initial": "block",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "a list of the keywords specified",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "pointer-timeline-axis",
        "pointerTimelineAxis"
      ],
      "syntax": "[ block | inline | x | y ]#",
      "extended": []
    },
    {
      "name": "pointer-timeline-name",
      "href": "https://drafts.csswg.org/pointer-animations-1/#propdef-pointer-timeline-name",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "the keyword none or a list of CSS identifiers",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "pointer-timeline-name",
        "pointerTimelineName"
      ],
      "syntax": "[ none | <dashed-ident> ]#",
      "extended": []
    },
    {
      "name": "position",
      "href": "https://drafts.csswg.org/css-position-3/#propdef-position",
      "initial": "static",
      "appliesTo": "all elements except table-column-group and table-column",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "position"
      ],
      "syntax": "static | relative | absolute | sticky | fixed | <running()>",
      "extended": [
        "https://drafts.csswg.org/css-gcpm-3/"
      ]
    },
    {
      "name": "position-anchor",
      "href": "https://drafts.csswg.org/css-anchor-position-1/#propdef-position-anchor",
      "initial": "normal",
      "appliesTo": "absolutely positioned boxes",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "position-anchor",
        "positionAnchor"
      ],
      "syntax": "normal | none | auto | <anchor-name> | match-parent",
      "extended": []
    },
    {
      "name": "position-area",
      "href": "https://drafts.csswg.org/css-anchor-position-1/#propdef-position-area",
      "initial": "none",
      "appliesTo": "positioned boxes with a default anchor box",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "the keyword none or a pair of keywords, see § 3.1.3 Computed Value and Serialization of <position-area>",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "position-area",
        "positionArea"
      ],
      "syntax": "none | <position-area>",
      "extended": []
    },
    {
      "name": "position-try",
      "href": "https://drafts.csswg.org/css-anchor-position-1/#propdef-position-try",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "position-try",
        "positionTry"
      ],
      "longhands": [
        "position-try-order",
        "position-try-fallbacks"
      ],
      "syntax": "<'position-try-order'>? <'position-try-fallbacks'>",
      "extended": []
    },
    {
      "name": "position-try-fallbacks",
      "href": "https://drafts.csswg.org/css-anchor-position-1/#propdef-position-try-fallbacks",
      "initial": "none",
      "appliesTo": "absolutely positioned boxes",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "position-try-fallbacks",
        "positionTryFallbacks"
      ],
      "syntax": "none | [ [<dashed-ident> || <try-tactic>] | <position-area> ]#",
      "extended": []
    },
    {
      "name": "position-try-order",
      "href": "https://drafts.csswg.org/css-anchor-position-1/#propdef-position-try-order",
      "initial": "normal",
      "appliesTo": "absolutely positioned boxes",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "position-try-order",
        "positionTryOrder"
      ],
      "syntax": "normal | <try-size>",
      "extended": []
    },
    {
      "name": "position-visibility",
      "href": "https://drafts.csswg.org/css-anchor-position-1/#propdef-position-visibility",
      "initial": "anchor-visible",
      "appliesTo": "absolutely positioned boxes",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "position-visibility",
        "positionVisibility"
      ],
      "syntax": "always | [ anchor-valid || anchor-visible || no-overflow ]",
      "extended": []
    },
    {
      "name": "print-color-adjust",
      "href": "https://drafts.csswg.org/css-color-adjust-1/#propdef-print-color-adjust",
      "initial": "economy",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "print-color-adjust",
        "printColorAdjust"
      ],
      "syntax": "economy | exact",
      "extended": []
    },
    {
      "name": "quotes",
      "href": "https://drafts.csswg.org/css-content-3/#propdef-quotes",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "the keyword none, the keyword auto or match-parent, or a list, each item a pair of string values",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "quotes"
      ],
      "syntax": "auto | none | match-parent | [ <string> <string> ]+",
      "extended": []
    },
    {
      "name": "r",
      "href": "https://w3c.github.io/svgwg/svg2-draft/geometry.html#RProperty",
      "initial": "0",
      "appliesTo": "‘circle’ element",
      "inherited": "no",
      "percentages": "refer to the normalized diagonal of the current SVG viewport (see Units)",
      "media": "visual",
      "computedValue": "an absolute length or percentage",
      "animationType": "by computed value",
      "styleDeclaration": [
        "r"
      ],
      "syntax": "<length-percentage>",
      "extended": []
    },
    {
      "name": "reading-flow",
      "href": "https://drafts.csswg.org/css-display-4/#propdef-reading-flow",
      "initial": "normal",
      "appliesTo": "block, flex and grid containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "reading-flow",
        "readingFlow"
      ],
      "syntax": "normal | source-order | flex-visual | flex-flow | grid-rows | grid-columns | grid-order",
      "extended": []
    },
    {
      "name": "reading-order",
      "href": "https://drafts.csswg.org/css-display-4/#propdef-reading-order",
      "initial": "0",
      "appliesTo": "Direct block-level, grid item, or flex item children of a reading flow container.",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified integer",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "reading-order",
        "readingOrder"
      ],
      "syntax": "<integer>",
      "extended": []
    },
    {
      "name": "region-fragment",
      "href": "https://drafts.csswg.org/css-regions-1/#propdef-region-fragment",
      "initial": "auto",
      "appliesTo": "CSS Regions",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "region-fragment",
        "regionFragment"
      ],
      "syntax": "auto | break",
      "extended": []
    },
    {
      "name": "resize",
      "href": "https://drafts.csswg.org/css-ui-4/#propdef-resize",
      "initial": "none",
      "appliesTo": "elements that are scroll containers and optionally replaced elements such as images, videos, and iframes",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "resize"
      ],
      "syntax": "none | both | horizontal | vertical | block | inline",
      "extended": []
    },
    {
      "name": "rest",
      "href": "https://drafts.csswg.org/css-speech-1/#propdef-rest",
      "initial": "see individual properties",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "rest"
      ],
      "longhands": [
        "rest-before",
        "rest-after"
      ],
      "syntax": "<'rest-before'> <'rest-after'>?",
      "extended": []
    },
    {
      "name": "rest-after",
      "href": "https://drafts.csswg.org/css-speech-1/#propdef-rest-after",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "rest-after",
        "restAfter"
      ],
      "syntax": "<time [0s,∞]> | none | x-weak | weak | medium | strong | x-strong",
      "extended": []
    },
    {
      "name": "rest-before",
      "href": "https://drafts.csswg.org/css-speech-1/#propdef-rest-before",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "rest-before",
        "restBefore"
      ],
      "syntax": "<time [0s,∞]> | none | x-weak | weak | medium | strong | x-strong",
      "extended": []
    },
    {
      "name": "right",
      "href": "https://drafts.csswg.org/css-position-3/#propdef-right",
      "initial": "auto",
      "appliesTo": "positioned elements",
      "inherited": "no",
      "percentages": "refer to size of containing block; see prose",
      "computedValue": "the keyword auto or a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "inset",
      "styleDeclaration": [
        "right"
      ],
      "syntax": "auto | <length-percentage> | <anchor()> | <anchor-size()>",
      "extended": [
        "https://drafts.csswg.org/css-anchor-position-1/"
      ]
    },
    {
      "name": "rotate",
      "href": "https://drafts.csswg.org/css-transforms-2/#propdef-rotate",
      "initial": "none",
      "appliesTo": "transformable elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "the keyword none, or an <angle> with an axis consisting of a list of three <number>s",
      "canonicalOrder": "per grammar",
      "animationType": "as SLERP, but see below for none",
      "styleDeclaration": [
        "rotate"
      ],
      "syntax": "none | <angle> | [ x | y | z | <number>{3} ] && <angle>",
      "extended": []
    },
    {
      "name": "row-gap",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-row-gap",
      "initial": "normal",
      "appliesTo": "multi-column containers, flex containers, grid containers",
      "inherited": "no",
      "percentages": "see § 2.3 Percentages In gap Properties",
      "computedValue": "specified keyword, else a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "row-gap",
        "rowGap"
      ],
      "syntax": "normal | <length-percentage [0,∞]> | <line-width>",
      "extended": []
    },
    {
      "name": "row-rule",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-row-rule",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "row-rule",
        "rowRule"
      ],
      "longhands": [
        "row-rule-width",
        "row-rule-style",
        "row-rule-color"
      ],
      "syntax": "<gap-rule-list> | <gap-auto-rule-list>",
      "extended": []
    },
    {
      "name": "row-rule-break",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-row-rule-break",
      "initial": "normal",
      "appliesTo": "grid containers, flex containers, multicol containers, and grid lanes containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "row-rule-break",
        "rowRuleBreak"
      ],
      "syntax": "none | normal | intersection",
      "extended": []
    },
    {
      "name": "row-rule-color",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-row-rule-color",
      "initial": "currentcolor",
      "appliesTo": "grid containers, flex containers, multicol containers, and grid lanes containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "repeatable list, see § 4.7 Interpolation of list values.",
      "styleDeclaration": [
        "row-rule-color",
        "rowRuleColor"
      ],
      "syntax": "<line-color-list> | <auto-line-color-list>",
      "extended": []
    },
    {
      "name": "row-rule-inset",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-row-rule-inset",
      "initial": "see individual properties",
      "appliesTo": "Same as column-rule-inset-cap, column-rule-inset-junction, row-rule-inset-cap, and row-rule-inset-junction",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "row-rule-inset",
        "rowRuleInset"
      ],
      "longhands": [
        "row-rule-inset-cap-start",
        "row-rule-inset-cap-end",
        "row-rule-inset-junction-start",
        "row-rule-inset-junction-end"
      ],
      "syntax": "<'column-rule-inset-cap'> [ / <'column-rule-inset-junction'> ]?",
      "extended": []
    },
    {
      "name": "row-rule-inset-cap",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-row-rule-inset-cap",
      "initial": "see individual properties",
      "appliesTo": "Same as column-rule-inset-cap-start, column-rule-inset-cap-end, column-rule-inset-junction-start, column-rule-inset-junction-end, row-rule-inset-cap-start, row-rule-inset-cap-end, row-rule-inset-junction-start, and row-rule-inset-junction-end",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "row-rule-inset-cap",
        "rowRuleInsetCap"
      ],
      "longhands": [
        "row-rule-inset-cap-start",
        "row-rule-inset-cap-end"
      ],
      "syntax": "<inset-value> <inset-value>?",
      "extended": []
    },
    {
      "name": "row-rule-inset-cap-end",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-row-rule-inset-cap-end",
      "initial": "0",
      "appliesTo": "grid containers, flex containers, multicol containers, and grid lanes containers",
      "inherited": "no",
      "percentages": "refer to the crossing gap width",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "row-rule-inset-cap-end",
        "rowRuleInsetCapEnd"
      ],
      "syntax": "<inset-value>",
      "extended": []
    },
    {
      "name": "row-rule-inset-cap-start",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-row-rule-inset-cap-start",
      "initial": "0",
      "appliesTo": "grid containers, flex containers, multicol containers, and grid lanes containers",
      "inherited": "no",
      "percentages": "refer to the crossing gap width",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "row-rule-inset-cap-start",
        "rowRuleInsetCapStart"
      ],
      "syntax": "<inset-value>",
      "extended": []
    },
    {
      "name": "row-rule-inset-end",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-row-rule-inset-end",
      "initial": "see individual properties",
      "appliesTo": "Same as column-rule-inset-cap-start, column-rule-inset-junction-start, column-rule-inset-cap-end, column-rule-inset-junction-end, row-rule-inset-cap-start, row-rule-inset-junction-start, row-rule-inset-cap-end, and row-rule-inset-junction-end",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "row-rule-inset-end",
        "rowRuleInsetEnd"
      ],
      "longhands": [
        "row-rule-inset-cap-end",
        "row-rule-inset-junction-end"
      ],
      "syntax": "<inset-value>",
      "extended": []
    },
    {
      "name": "row-rule-inset-junction",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-row-rule-inset-junction",
      "initial": "see individual properties",
      "appliesTo": "Same as column-rule-inset-cap-start, column-rule-inset-cap-end, column-rule-inset-junction-start, column-rule-inset-junction-end, row-rule-inset-cap-start, row-rule-inset-cap-end, row-rule-inset-junction-start, and row-rule-inset-junction-end",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "row-rule-inset-junction",
        "rowRuleInsetJunction"
      ],
      "longhands": [
        "row-rule-inset-junction-start",
        "row-rule-inset-junction-end"
      ],
      "syntax": "<inset-value> <inset-value>?",
      "extended": []
    },
    {
      "name": "row-rule-inset-junction-end",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-row-rule-inset-junction-end",
      "initial": "0",
      "appliesTo": "grid containers, flex containers, multicol containers, and grid lanes containers",
      "inherited": "no",
      "percentages": "refer to the crossing gap width",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "row-rule-inset-junction-end",
        "rowRuleInsetJunctionEnd"
      ],
      "syntax": "<inset-value>",
      "extended": []
    },
    {
      "name": "row-rule-inset-junction-start",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-row-rule-inset-junction-start",
      "initial": "0",
      "appliesTo": "grid containers, flex containers, multicol containers, and grid lanes containers",
      "inherited": "no",
      "percentages": "refer to the crossing gap width",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "row-rule-inset-junction-start",
        "rowRuleInsetJunctionStart"
      ],
      "syntax": "<inset-value>",
      "extended": []
    },
    {
      "name": "row-rule-inset-start",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-row-rule-inset-start",
      "initial": "see individual properties",
      "appliesTo": "Same as column-rule-inset-cap-start, column-rule-inset-junction-start, column-rule-inset-cap-end, column-rule-inset-junction-end, row-rule-inset-cap-start, row-rule-inset-junction-start, row-rule-inset-cap-end, and row-rule-inset-junction-end",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "row-rule-inset-start",
        "rowRuleInsetStart"
      ],
      "longhands": [
        "row-rule-inset-cap-start",
        "row-rule-inset-junction-start"
      ],
      "syntax": "<inset-value>",
      "extended": []
    },
    {
      "name": "row-rule-style",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-row-rule-style",
      "initial": "none",
      "appliesTo": "grid containers, flex containers, multicol containers, and grid lanes containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "row-rule-style",
        "rowRuleStyle"
      ],
      "syntax": "<line-style-list> | <auto-line-style-list>",
      "extended": []
    },
    {
      "name": "row-rule-visibility-items",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-row-rule-visibility-items",
      "initial": "normal",
      "appliesTo": "grid containers and multicol containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "row-rule-visibility-items",
        "rowRuleVisibilityItems"
      ],
      "syntax": "all | around | between | normal",
      "extended": []
    },
    {
      "name": "row-rule-width",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-row-rule-width",
      "initial": "medium",
      "appliesTo": "grid containers, flex containers, multicol containers, and grid lanes containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "list of absolute lengths, snapped as a border width",
      "canonicalOrder": "per grammar",
      "animationType": "repeatable list, see § 4.7 Interpolation of list values.",
      "styleDeclaration": [
        "row-rule-width",
        "rowRuleWidth"
      ],
      "syntax": "<line-width-list> | <auto-line-width-list>",
      "extended": []
    },
    {
      "name": "ruby-align",
      "href": "https://drafts.csswg.org/css-ruby-1/#propdef-ruby-align",
      "initial": "space-around",
      "appliesTo": "ruby bases, ruby annotations, ruby base containers, ruby annotation containers",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "ruby-align",
        "rubyAlign"
      ],
      "syntax": "start | center | space-between | space-around",
      "extended": []
    },
    {
      "name": "ruby-merge",
      "href": "https://drafts.csswg.org/css-ruby-1/#propdef-ruby-merge",
      "initial": "separate",
      "appliesTo": "interlinear ruby annotation containers",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "ruby-merge",
        "rubyMerge"
      ],
      "syntax": "separate | merge | auto",
      "extended": []
    },
    {
      "name": "ruby-overhang",
      "href": "https://drafts.csswg.org/css-ruby-1/#propdef-ruby-overhang",
      "initial": "auto",
      "appliesTo": "ruby annotation containers",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "ruby-overhang",
        "rubyOverhang"
      ],
      "syntax": "auto | spaces",
      "extended": []
    },
    {
      "name": "ruby-position",
      "href": "https://drafts.csswg.org/css-ruby-1/#propdef-ruby-position",
      "initial": "alternate",
      "appliesTo": "ruby annotation containers",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "ruby-position",
        "rubyPosition"
      ],
      "syntax": "[ alternate || [ over | under ] ] | inter-character",
      "extended": []
    },
    {
      "name": "rule",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-rule",
      "initial": "see individual properties",
      "appliesTo": "Same as column-rule and row-rule",
      "inherited": "no",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "rule"
      ],
      "longhands": [
        "column-rule",
        "row-rule"
      ],
      "syntax": "<'column-rule'>",
      "extended": []
    },
    {
      "name": "rule-break",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-rule-break",
      "initial": "see individual properties",
      "appliesTo": "Same as column-rule-break and row-rule-break",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "rule-break",
        "ruleBreak"
      ],
      "longhands": [
        "column-rule-break",
        "row-rule-break"
      ],
      "syntax": "<'column-rule-break'>",
      "extended": []
    },
    {
      "name": "rule-color",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-rule-color",
      "initial": "see individual properties",
      "appliesTo": "Same as column-rule-color and row-rule-color",
      "inherited": "no",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "rule-color",
        "ruleColor"
      ],
      "longhands": [
        "column-rule-color",
        "row-rule-color"
      ],
      "syntax": "<'column-rule-color'>",
      "extended": []
    },
    {
      "name": "rule-inset",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-rule-inset",
      "initial": "see individual properties",
      "appliesTo": "Same as column-rule-inset and row-rule-inset",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "rule-inset",
        "ruleInset"
      ],
      "longhands": [
        "column-rule-inset",
        "row-rule-inset"
      ],
      "syntax": "<'column-rule-inset'>",
      "extended": []
    },
    {
      "name": "rule-inset-cap",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-rule-inset-cap",
      "initial": "see individual properties",
      "appliesTo": "Same as column-rule-inset-cap and row-rule-inset-cap",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "rule-inset-cap",
        "ruleInsetCap"
      ],
      "longhands": [
        "column-rule-inset-cap"
      ],
      "syntax": "<'column-rule-inset-cap'>",
      "extended": []
    },
    {
      "name": "rule-inset-end",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-rule-inset-end",
      "initial": "see individual properties",
      "appliesTo": "Same as column-rule-inset-end and row-rule-inset-end",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "rule-inset-end",
        "ruleInsetEnd"
      ],
      "longhands": [
        "column-rule-inset-end",
        "row-rule-inset-end"
      ],
      "syntax": "<'column-rule-inset-end'>",
      "extended": []
    },
    {
      "name": "rule-inset-junction",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-rule-inset-junction",
      "initial": "see individual properties",
      "appliesTo": "Same as column-rule-inset-junction and row-rule-inset-junction",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "rule-inset-junction",
        "ruleInsetJunction"
      ],
      "longhands": [
        "column-rule-inset-junction"
      ],
      "syntax": "<'column-rule-inset-junction'>",
      "extended": []
    },
    {
      "name": "rule-inset-start",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-rule-inset-start",
      "initial": "see individual properties",
      "appliesTo": "Same as column-rule-inset-start and row-rule-inset-start",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "rule-inset-start",
        "ruleInsetStart"
      ],
      "longhands": [
        "column-rule-inset-start",
        "row-rule-inset-start"
      ],
      "syntax": "<'column-rule-inset-start'>",
      "extended": []
    },
    {
      "name": "rule-overlap",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-rule-overlap",
      "initial": "row-over-column",
      "appliesTo": "grid containers, flex containers, and grid lanes containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "rule-overlap",
        "ruleOverlap"
      ],
      "syntax": "row-over-column | column-over-row",
      "extended": []
    },
    {
      "name": "rule-style",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-rule-style",
      "initial": "see individual properties",
      "appliesTo": "Same as column-rule-style and row-rule-style",
      "inherited": "no",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "rule-style",
        "ruleStyle"
      ],
      "longhands": [
        "column-rule-style",
        "row-rule-style"
      ],
      "syntax": "<'column-rule-style'>",
      "extended": []
    },
    {
      "name": "rule-visibility-items",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-rule-visibility-items",
      "initial": "see individual properties",
      "appliesTo": "Same as column-rule-visibility-items and row-rule-visibility-items",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "rule-visibility-items",
        "ruleVisibilityItems"
      ],
      "longhands": [
        "column-rule-visibility-items"
      ],
      "syntax": "<'column-rule-visibility-items'>",
      "extended": []
    },
    {
      "name": "rule-width",
      "href": "https://drafts.csswg.org/css-gaps-1/#propdef-rule-width",
      "initial": "see individual properties",
      "appliesTo": "Same as column-rule-width and row-rule-width",
      "inherited": "no",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "rule-width",
        "ruleWidth"
      ],
      "longhands": [
        "column-rule-width",
        "row-rule-width"
      ],
      "syntax": "<'column-rule-width'>",
      "extended": []
    },
    {
      "name": "rx",
      "href": "https://w3c.github.io/svgwg/svg2-draft/geometry.html#RxProperty",
      "initial": "auto",
      "appliesTo": "‘ellipse’, ‘rect’ elements",
      "inherited": "no",
      "percentages": "refer to the width of the current SVG viewport (see Units)",
      "media": "visual",
      "computedValue": "an absolute length or percentage",
      "animationType": "by computed value",
      "styleDeclaration": [
        "rx"
      ],
      "syntax": "<length-percentage> | auto",
      "extended": []
    },
    {
      "name": "ry",
      "href": "https://w3c.github.io/svgwg/svg2-draft/geometry.html#RyProperty",
      "initial": "auto",
      "appliesTo": "‘ellipse’, ‘rect’",
      "inherited": "no",
      "percentages": "refer to the height of the current SVG viewport (see Units)",
      "media": "visual",
      "computedValue": "an absolute length or percentage",
      "animatableType": "by computed value",
      "styleDeclaration": [
        "ry"
      ],
      "syntax": "<length-percentage> | auto",
      "extended": []
    },
    {
      "name": "scale",
      "href": "https://drafts.csswg.org/css-transforms-2/#propdef-scale",
      "initial": "none",
      "appliesTo": "transformable elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "the keyword none, or a list of 3 <number>s",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value, but see below for none",
      "styleDeclaration": [
        "scale"
      ],
      "syntax": "none | [ <number> | <percentage> ]{1,3}",
      "extended": []
    },
    {
      "name": "scroll-behavior",
      "href": "https://drafts.csswg.org/css-overflow-3/#propdef-scroll-behavior",
      "initial": "auto",
      "appliesTo": "scroll containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified value",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "scroll-behavior",
        "scrollBehavior"
      ],
      "syntax": "auto | smooth",
      "extended": []
    },
    {
      "name": "scroll-initial-target",
      "href": "https://drafts.csswg.org/css-scroll-snap-2/#propdef-scroll-initial-target",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "none",
      "styleDeclaration": [
        "scroll-initial-target",
        "scrollInitialTarget"
      ],
      "syntax": "none | nearest",
      "extended": []
    },
    {
      "name": "scroll-margin",
      "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin",
      "initial": "0",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "per side, an absolute length",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "scroll-margin",
        "scrollMargin"
      ],
      "longhands": [
        "scroll-margin-top",
        "scroll-margin-right",
        "scroll-margin-bottom",
        "scroll-margin-left"
      ],
      "syntax": "<length>{1,4}",
      "extended": []
    },
    {
      "name": "scroll-margin-block",
      "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin-block",
      "initial": "0",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "see individual properties",
      "animationType": "by computed value type",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "scroll-margin-block",
        "scrollMarginBlock"
      ],
      "longhands": [
        "scroll-margin-block-start",
        "scroll-margin-block-end"
      ],
      "syntax": "<length>{1,2}",
      "extended": []
    },
    {
      "name": "scroll-margin-block-end",
      "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin-block-end",
      "initial": "0",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "absolute length",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "scroll-margin",
      "styleDeclaration": [
        "scroll-margin-block-end",
        "scrollMarginBlockEnd"
      ],
      "syntax": "<length>",
      "extended": []
    },
    {
      "name": "scroll-margin-block-start",
      "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin-block-start",
      "initial": "0",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "absolute length",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "scroll-margin",
      "styleDeclaration": [
        "scroll-margin-block-start",
        "scrollMarginBlockStart"
      ],
      "syntax": "<length>",
      "extended": []
    },
    {
      "name": "scroll-margin-bottom",
      "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin-bottom",
      "initial": "0",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "absolute length",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "scroll-margin",
      "styleDeclaration": [
        "scroll-margin-bottom",
        "scrollMarginBottom"
      ],
      "syntax": "<length>",
      "extended": []
    },
    {
      "name": "scroll-margin-inline",
      "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin-inline",
      "initial": "0",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "see individual properties",
      "animationType": "by computed value type",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "scroll-margin-inline",
        "scrollMarginInline"
      ],
      "longhands": [
        "scroll-margin-inline-start",
        "scroll-margin-inline-end"
      ],
      "syntax": "<length>{1,2}",
      "extended": []
    },
    {
      "name": "scroll-margin-inline-end",
      "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin-inline-end",
      "initial": "0",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "absolute length",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "scroll-margin",
      "styleDeclaration": [
        "scroll-margin-inline-end",
        "scrollMarginInlineEnd"
      ],
      "syntax": "<length>",
      "extended": []
    },
    {
      "name": "scroll-margin-inline-start",
      "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin-inline-start",
      "initial": "0",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "absolute length",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "scroll-margin",
      "styleDeclaration": [
        "scroll-margin-inline-start",
        "scrollMarginInlineStart"
      ],
      "syntax": "<length>",
      "extended": []
    },
    {
      "name": "scroll-margin-left",
      "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin-left",
      "initial": "0",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "absolute length",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "scroll-margin",
      "styleDeclaration": [
        "scroll-margin-left",
        "scrollMarginLeft"
      ],
      "syntax": "<length>",
      "extended": []
    },
    {
      "name": "scroll-margin-right",
      "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin-right",
      "initial": "0",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "absolute length",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "scroll-margin",
      "styleDeclaration": [
        "scroll-margin-right",
        "scrollMarginRight"
      ],
      "syntax": "<length>",
      "extended": []
    },
    {
      "name": "scroll-margin-top",
      "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin-top",
      "initial": "0",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "absolute length",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "scroll-margin",
      "styleDeclaration": [
        "scroll-margin-top",
        "scrollMarginTop"
      ],
      "syntax": "<length>",
      "extended": []
    },
    {
      "name": "scroll-marker-group",
      "href": "https://drafts.csswg.org/css-overflow-5/#propdef-scroll-marker-group",
      "initial": "none",
      "appliesTo": "scroll containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword(s)",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "scroll-marker-group",
        "scrollMarkerGroup"
      ],
      "syntax": "none | [ [ before | after ] || [ links | tabs ] ]",
      "extended": []
    },
    {
      "name": "scroll-padding",
      "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding",
      "initial": "auto",
      "appliesTo": "scroll containers",
      "inherited": "no",
      "percentages": "relative to the corresponding dimension of the scroll container’s scrollport",
      "computedValue": "per side, either the keyword auto or a computed <length-percentage> value",
      "animationType": "by computed value type",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "scroll-padding",
        "scrollPadding"
      ],
      "longhands": [
        "scroll-padding-top",
        "scroll-padding-right",
        "scroll-padding-bottom",
        "scroll-padding-left"
      ],
      "syntax": "[ auto | <length-percentage [0,∞]> ]{1,4}",
      "extended": []
    },
    {
      "name": "scroll-padding-block",
      "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding-block",
      "initial": "auto",
      "appliesTo": "scroll containers",
      "inherited": "no",
      "percentages": "relative to the scroll container’s scrollport",
      "computedValue": "see individual properties",
      "animationType": "by computed value",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "scroll-padding-block",
        "scrollPaddingBlock"
      ],
      "longhands": [
        "scroll-padding-block-start",
        "scroll-padding-block-end"
      ],
      "syntax": "[ auto | <length-percentage [0,∞]> ]{1,2}",
      "extended": []
    },
    {
      "name": "scroll-padding-block-end",
      "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding-block-end",
      "initial": "auto",
      "appliesTo": "scroll containers",
      "inherited": "no",
      "percentages": "relative to the scroll container’s scrollport",
      "computedValue": "the keyword auto or a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "scroll-padding",
      "styleDeclaration": [
        "scroll-padding-block-end",
        "scrollPaddingBlockEnd"
      ],
      "syntax": "auto | <length-percentage [0,∞]>",
      "extended": []
    },
    {
      "name": "scroll-padding-block-start",
      "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding-block-start",
      "initial": "auto",
      "appliesTo": "scroll containers",
      "inherited": "no",
      "percentages": "relative to the scroll container’s scrollport",
      "computedValue": "the keyword auto or a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "scroll-padding",
      "styleDeclaration": [
        "scroll-padding-block-start",
        "scrollPaddingBlockStart"
      ],
      "syntax": "auto | <length-percentage [0,∞]>",
      "extended": []
    },
    {
      "name": "scroll-padding-bottom",
      "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding-bottom",
      "initial": "auto",
      "appliesTo": "scroll containers",
      "inherited": "no",
      "percentages": "relative to the scroll container’s scrollport",
      "computedValue": "the keyword auto or a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "scroll-padding",
      "styleDeclaration": [
        "scroll-padding-bottom",
        "scrollPaddingBottom"
      ],
      "syntax": "auto | <length-percentage [0,∞]>",
      "extended": []
    },
    {
      "name": "scroll-padding-inline",
      "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding-inline",
      "initial": "auto",
      "appliesTo": "scroll containers",
      "inherited": "no",
      "percentages": "relative to the scroll container’s scrollport",
      "computedValue": "see individual properties",
      "animationType": "by computed value",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "scroll-padding-inline",
        "scrollPaddingInline"
      ],
      "longhands": [
        "scroll-padding-inline-start",
        "scroll-padding-inline-end"
      ],
      "syntax": "[ auto | <length-percentage [0,∞]> ]{1,2}",
      "extended": []
    },
    {
      "name": "scroll-padding-inline-end",
      "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding-inline-end",
      "initial": "auto",
      "appliesTo": "scroll containers",
      "inherited": "no",
      "percentages": "relative to the scroll container’s scrollport",
      "computedValue": "the keyword auto or a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "scroll-padding",
      "styleDeclaration": [
        "scroll-padding-inline-end",
        "scrollPaddingInlineEnd"
      ],
      "syntax": "auto | <length-percentage [0,∞]>",
      "extended": []
    },
    {
      "name": "scroll-padding-inline-start",
      "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding-inline-start",
      "initial": "auto",
      "appliesTo": "scroll containers",
      "inherited": "no",
      "percentages": "relative to the scroll container’s scrollport",
      "computedValue": "the keyword auto or a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "scroll-padding",
      "styleDeclaration": [
        "scroll-padding-inline-start",
        "scrollPaddingInlineStart"
      ],
      "syntax": "auto | <length-percentage [0,∞]>",
      "extended": []
    },
    {
      "name": "scroll-padding-left",
      "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding-left",
      "initial": "auto",
      "appliesTo": "scroll containers",
      "inherited": "no",
      "percentages": "relative to the scroll container’s scrollport",
      "computedValue": "the keyword auto or a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "scroll-padding",
      "styleDeclaration": [
        "scroll-padding-left",
        "scrollPaddingLeft"
      ],
      "syntax": "auto | <length-percentage [0,∞]>",
      "extended": []
    },
    {
      "name": "scroll-padding-right",
      "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding-right",
      "initial": "auto",
      "appliesTo": "scroll containers",
      "inherited": "no",
      "percentages": "relative to the scroll container’s scrollport",
      "computedValue": "the keyword auto or a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "scroll-padding",
      "styleDeclaration": [
        "scroll-padding-right",
        "scrollPaddingRight"
      ],
      "syntax": "auto | <length-percentage [0,∞]>",
      "extended": []
    },
    {
      "name": "scroll-padding-top",
      "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding-top",
      "initial": "auto",
      "appliesTo": "scroll containers",
      "inherited": "no",
      "percentages": "relative to the scroll container’s scrollport",
      "computedValue": "the keyword auto or a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "scroll-padding",
      "styleDeclaration": [
        "scroll-padding-top",
        "scrollPaddingTop"
      ],
      "syntax": "auto | <length-percentage [0,∞]>",
      "extended": []
    },
    {
      "name": "scroll-snap-align",
      "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-snap-align",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "two keywords",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "scroll-snap-align",
        "scrollSnapAlign"
      ],
      "syntax": "[ none | start | end | center ]{1,2}",
      "extended": []
    },
    {
      "name": "scroll-snap-stop",
      "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-snap-stop",
      "initial": "normal",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "scroll-snap-stop",
        "scrollSnapStop"
      ],
      "syntax": "normal | always",
      "extended": []
    },
    {
      "name": "scroll-snap-type",
      "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-snap-type",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword(s)",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "scroll-snap-type",
        "scrollSnapType"
      ],
      "syntax": "none | [ x | y | block | inline | both ] [ mandatory | proximity ]?",
      "extended": []
    },
    {
      "name": "scroll-target-group",
      "href": "https://drafts.csswg.org/css-overflow-5/#propdef-scroll-target-group",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified value",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "scroll-target-group",
        "scrollTargetGroup"
      ],
      "syntax": "none | auto",
      "extended": []
    },
    {
      "name": "scroll-timeline",
      "href": "https://drafts.csswg.org/scroll-animations-1/#propdef-scroll-timeline",
      "initial": "see individual properties",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "not animatable",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "scroll-timeline",
        "scrollTimeline"
      ],
      "longhands": [
        "scroll-timeline-name",
        "scroll-timeline-axis"
      ],
      "syntax": "[ <'scroll-timeline-name'> <'scroll-timeline-axis'>? ]#",
      "extended": []
    },
    {
      "name": "scroll-timeline-axis",
      "href": "https://drafts.csswg.org/scroll-animations-1/#propdef-scroll-timeline-axis",
      "initial": "block",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "a list of the keywords specified",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "scroll-timeline-axis",
        "scrollTimelineAxis"
      ],
      "syntax": "[ block | inline | x | y ]#",
      "extended": []
    },
    {
      "name": "scroll-timeline-name",
      "href": "https://drafts.csswg.org/scroll-animations-1/#propdef-scroll-timeline-name",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "list, each item either a CSS identifier or the keyword none",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "scroll-timeline-name",
        "scrollTimelineName"
      ],
      "syntax": "[ none | <dashed-ident> ]#",
      "extended": []
    },
    {
      "name": "scrollbar-color",
      "href": "https://drafts.csswg.org/css-scrollbars-1/#propdef-scrollbar-color",
      "initial": "auto",
      "appliesTo": "scroll containers",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword or two computed colors",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "scrollbar-color",
        "scrollbarColor"
      ],
      "syntax": "auto | <color>{2}",
      "extended": []
    },
    {
      "name": "scrollbar-gutter",
      "href": "https://drafts.csswg.org/css-overflow-3/#propdef-scrollbar-gutter",
      "initial": "auto",
      "appliesTo": "scroll containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword(s)",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "scrollbar-gutter",
        "scrollbarGutter"
      ],
      "syntax": "auto | stable && both-edges?",
      "extended": []
    },
    {
      "name": "scrollbar-width",
      "href": "https://drafts.csswg.org/css-scrollbars-1/#propdef-scrollbar-width",
      "initial": "auto",
      "appliesTo": "scroll containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "scrollbar-width",
        "scrollbarWidth"
      ],
      "syntax": "auto | thin | none",
      "extended": []
    },
    {
      "name": "shape-image-threshold",
      "href": "https://drafts.csswg.org/css-shapes-1/#propdef-shape-image-threshold",
      "initial": "0",
      "appliesTo": "floats",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified number, clamped to the range [0,1]",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "shape-image-threshold",
        "shapeImageThreshold"
      ],
      "syntax": "<opacity-value>",
      "extended": []
    },
    {
      "name": "shape-inside",
      "href": "https://drafts.csswg.org/css-shapes-2/#propdef-shape-inside",
      "initial": "auto",
      "appliesTo": "block-level elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "computed lengths for <basic-shape>, the absolute URL for <url>, otherwise as specified",
      "canonicalOrder": "per grammar",
      "animationType": "as defined for <basic-shape>, otherwise discrete",
      "styleDeclaration": [
        "shape-inside",
        "shapeInside"
      ],
      "syntax": "auto | outside-shape | [ <basic-shape> || shape-box ] | <image> | display",
      "extended": []
    },
    {
      "name": "shape-margin",
      "href": "https://drafts.csswg.org/css-shapes-1/#propdef-shape-margin",
      "initial": "0",
      "appliesTo": "floats and initial letter boxes",
      "inherited": "no",
      "percentages": "refer to the inline size of the containing block",
      "computedValue": "computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "shape-margin",
        "shapeMargin"
      ],
      "syntax": "<length-percentage [0,∞]>",
      "extended": []
    },
    {
      "name": "shape-outside",
      "href": "https://drafts.csswg.org/css-shapes-1/#propdef-shape-outside",
      "initial": "none",
      "appliesTo": "floats and initial letter boxes",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as defined for <basic-shape> (with <shape-box> following, if supplied); else the computed <image>; else the keyword as specified",
      "canonicalOrder": "per grammar",
      "animationType": "as defined for <basic-shape>, otherwise discrete",
      "styleDeclaration": [
        "shape-outside",
        "shapeOutside"
      ],
      "syntax": "none | [ <basic-shape> || <shape-box> ] | <image>",
      "extended": []
    },
    {
      "name": "shape-padding",
      "href": "https://drafts.csswg.org/css-shapes-2/#propdef-shape-padding",
      "initial": "0",
      "appliesTo": "block-level elements",
      "inherited": "no",
      "percentages": "refer to the inline size of the containing block",
      "computedValue": "computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "shape-padding",
        "shapePadding"
      ],
      "syntax": "<length-percentage [0,∞]>",
      "extended": []
    },
    {
      "name": "shape-rendering",
      "href": "https://w3c.github.io/svgwg/svg2-draft/painting.html#ShapeRenderingProperty",
      "initial": "auto",
      "appliesTo": "shapes",
      "inherited": "yes",
      "percentages": "N/A",
      "media": "visual",
      "computedValue": "as specified",
      "animationType": "discrete",
      "styleDeclaration": [
        "shape-rendering",
        "shapeRendering"
      ],
      "syntax": "auto | optimizeSpeed | crispEdges | geometricPrecision",
      "extended": []
    },
    {
      "name": "slider-orientation",
      "href": "https://drafts.csswg.org/css-forms-1/#propdef-slider-orientation",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "slider-orientation",
        "sliderOrientation"
      ],
      "syntax": "auto | left-to-right | right-to-left | top-to-bottom | bottom-to-top",
      "extended": []
    },
    {
      "name": "spatial-navigation-action",
      "href": "https://drafts.csswg.org/css-spatial-nav-1/#propdef-spatial-navigation-action",
      "initial": "auto",
      "appliesTo": "scroll containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "spatial-navigation-action",
        "spatialNavigationAction"
      ],
      "syntax": "auto | focus | scroll",
      "extended": []
    },
    {
      "name": "spatial-navigation-contain",
      "href": "https://drafts.csswg.org/css-spatial-nav-1/#propdef-spatial-navigation-contain",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "spatial-navigation-contain",
        "spatialNavigationContain"
      ],
      "syntax": "auto | contain",
      "extended": []
    },
    {
      "name": "spatial-navigation-function",
      "href": "https://drafts.csswg.org/css-spatial-nav-1/#propdef-spatial-navigation-function",
      "initial": "normal",
      "appliesTo": "spatial navigation containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "spatial-navigation-function",
        "spatialNavigationFunction"
      ],
      "syntax": "normal | grid",
      "extended": []
    },
    {
      "name": "speak",
      "href": "https://drafts.csswg.org/css-speech-1/#propdef-speak",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified value",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "speak"
      ],
      "syntax": "auto | never | always",
      "extended": []
    },
    {
      "name": "speak-as",
      "href": "https://drafts.csswg.org/css-speech-1/#propdef-speak-as",
      "initial": "normal",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified value",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "speak-as",
        "speakAs"
      ],
      "syntax": "normal | spell-out || digits || [ literal-punctuation | no-punctuation ]",
      "extended": []
    },
    {
      "name": "stop-color",
      "href": "https://w3c.github.io/svgwg/svg2-draft/pservers.html#StopColorProperty",
      "styleDeclaration": [
        "stop-color",
        "stopColor"
      ],
      "syntax": "<'color'>",
      "extended": []
    },
    {
      "name": "stop-opacity",
      "href": "https://w3c.github.io/svgwg/svg2-draft/pservers.html#StopOpacityProperty",
      "styleDeclaration": [
        "stop-opacity",
        "stopOpacity"
      ],
      "syntax": "<'opacity'>",
      "extended": []
    },
    {
      "name": "string-set",
      "href": "https://drafts.csswg.org/css-content-3/#propdef-string-set",
      "initial": "none",
      "appliesTo": "all elements, but not pseudo-elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "the keyword none or a list, each item an identifier paired with a list of string values",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "string-set",
        "stringSet"
      ],
      "syntax": "none | [ <custom-ident> <string>+ ]#",
      "extended": []
    },
    {
      "name": "stroke",
      "href": "https://w3c.github.io/svgwg/svg2-draft/painting.html#StrokeProperty",
      "initial": "none",
      "appliesTo": "shapes and text content elements",
      "inherited": "yes",
      "percentages": "N/A",
      "media": "visual",
      "computedValue": "as specified, but with <color> values computed and <url> values made absolute",
      "animationType": "by computed value",
      "styleDeclaration": [
        "stroke"
      ],
      "syntax": "<paint>",
      "extended": []
    },
    {
      "name": "stroke-align",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-stroke-align",
      "initial": "center",
      "appliesTo": "text and SVG shapes",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "stroke-align",
        "strokeAlign"
      ],
      "syntax": "center | inset | outset",
      "extended": []
    },
    {
      "name": "stroke-alignment",
      "href": "https://svgwg.org/specs/strokes/#StrokeAlignmentProperty",
      "initial": "center",
      "appliesTo": "shapes and text content elements",
      "inherited": "yes",
      "percentages": "N/A",
      "media": "visual",
      "computedValue": "as specified",
      "animatable": "yes",
      "styleDeclaration": [
        "stroke-alignment",
        "strokeAlignment"
      ],
      "syntax": "center | inner | outer",
      "extended": []
    },
    {
      "name": "stroke-break",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-stroke-break",
      "initial": "bounding-box",
      "appliesTo": "all elements",
      "inherited": "?",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "stroke-break",
        "strokeBreak"
      ],
      "syntax": "bounding-box | slice | clone",
      "extended": []
    },
    {
      "name": "stroke-color",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-stroke-color",
      "initial": "transparent",
      "appliesTo": "text and SVG shapes",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "the computed color",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "media": "visual",
      "styleDeclaration": [
        "stroke-color",
        "strokeColor"
      ],
      "syntax": "<color>#",
      "extended": []
    },
    {
      "name": "stroke-dash-corner",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-stroke-dash-corner",
      "initial": "none",
      "appliesTo": "text and SVG shapes",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified value, with lengths made absolute",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value if <length>, otherwise discrete",
      "media": "visual",
      "styleDeclaration": [
        "stroke-dash-corner",
        "strokeDashCorner"
      ],
      "syntax": "none | <length>",
      "extended": []
    },
    {
      "name": "stroke-dash-justify",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-stroke-dash-justify",
      "initial": "none",
      "appliesTo": "text and SVG shapes",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified value, with lengths made absolute",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "stroke-dash-justify",
        "strokeDashJustify"
      ],
      "syntax": "none | [ stretch | compress ] || [ dashes || gaps ]",
      "extended": []
    },
    {
      "name": "stroke-dashadjust",
      "href": "https://svgwg.org/specs/strokes/#StrokeDashadjustProperty",
      "initial": "none",
      "appliesTo": "shapes and text content elements",
      "inherited": "yes",
      "percentages": "N/A",
      "media": "visual",
      "computedValue": "as specified",
      "animatable": "yes",
      "styleDeclaration": [
        "stroke-dashadjust",
        "strokeDashadjust"
      ],
      "syntax": "none | [stretch | compress] [dashes | gaps]?",
      "extended": []
    },
    {
      "name": "stroke-dasharray",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-stroke-dasharray",
      "initial": "none",
      "appliesTo": "text and SVG shapes",
      "inherited": "yes",
      "percentages": "relative to the scaled viewport size",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "repeatable list",
      "media": "visual",
      "styleDeclaration": [
        "stroke-dasharray",
        "strokeDasharray"
      ],
      "syntax": "none | [<length-percentage> | <number>]+#",
      "extended": []
    },
    {
      "name": "stroke-dashcorner",
      "href": "https://svgwg.org/specs/strokes/#StrokeDashcornerProperty",
      "initial": "none",
      "appliesTo": "shapes and text content elements",
      "inherited": "yes",
      "percentages": "refer to the size of the current viewport (see Units)",
      "media": "visual",
      "computedValue": "absolute length or keyword specified",
      "animatable": "yes",
      "styleDeclaration": [
        "stroke-dashcorner",
        "strokeDashcorner"
      ],
      "syntax": "none | <length>",
      "extended": []
    },
    {
      "name": "stroke-dashoffset",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-stroke-dashoffset",
      "initial": "0",
      "appliesTo": "text and SVG shapes",
      "inherited": "yes",
      "percentages": "relative to the scaled viewport size",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "repeatable list",
      "media": "visual",
      "styleDeclaration": [
        "stroke-dashoffset",
        "strokeDashoffset"
      ],
      "syntax": "<length-percentage> | <number>",
      "extended": []
    },
    {
      "name": "stroke-image",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-stroke-image",
      "initial": "none",
      "appliesTo": "text and SVG shapes",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "as specified, with any <image> computed",
      "canonicalOrder": "per grammar",
      "animationType": "repeatable list",
      "media": "visual",
      "styleDeclaration": [
        "stroke-image",
        "strokeImage"
      ],
      "syntax": "<paint>#",
      "extended": []
    },
    {
      "name": "stroke-linecap",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-stroke-linecap",
      "initial": "butt",
      "appliesTo": "text and SVG shapes",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "stroke-linecap",
        "strokeLinecap"
      ],
      "syntax": "butt | round | square",
      "extended": []
    },
    {
      "name": "stroke-linejoin",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-stroke-linejoin",
      "initial": "miter",
      "appliesTo": "text and SVG shapes",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "stroke-linejoin",
        "strokeLinejoin"
      ],
      "syntax": "[ crop | arcs | miter ] || [ bevel | round | fallback ]",
      "extended": []
    },
    {
      "name": "stroke-miterlimit",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-stroke-miterlimit",
      "initial": "4",
      "appliesTo": "text and SVG shapes",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "a number",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "stroke-miterlimit",
        "strokeMiterlimit"
      ],
      "syntax": "<number>",
      "extended": []
    },
    {
      "name": "stroke-opacity",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-stroke-opacity",
      "initial": "1",
      "appliesTo": "text and SVG shapes",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "the specified value converted to a <number>, clamped to the range [0,1]",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "media": "visual",
      "styleDeclaration": [
        "stroke-opacity",
        "strokeOpacity"
      ],
      "syntax": "<'opacity'>",
      "extended": []
    },
    {
      "name": "stroke-origin",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-stroke-origin",
      "initial": "match-parent",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "stroke-origin",
        "strokeOrigin"
      ],
      "syntax": "match-parent | fill-box | stroke-box | content-box | padding-box | border-box",
      "extended": []
    },
    {
      "name": "stroke-position",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-stroke-position",
      "initial": "0% 0%",
      "appliesTo": "text and SVG shapes",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "A list, each item consisting of: a pair of offsets (horizontal and vertical) from the top left origin each given as a combination of an absolute length and a percentage",
      "canonicalOrder": "per grammar",
      "animationType": "repeatable list",
      "media": "visual",
      "styleDeclaration": [
        "stroke-position",
        "strokePosition"
      ],
      "syntax": "<position>#",
      "extended": []
    },
    {
      "name": "stroke-repeat",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-stroke-repeat",
      "initial": "repeat",
      "appliesTo": "text and SVG shapes",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "A list, each item consisting of: two keywords, one per dimension",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "stroke-repeat",
        "strokeRepeat"
      ],
      "syntax": "<repeat-style>#",
      "extended": []
    },
    {
      "name": "stroke-size",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-stroke-size",
      "initial": "auto",
      "appliesTo": "text and SVG shapes",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "as specified, but with lengths made absolute and omitted auto keywords filled in",
      "canonicalOrder": "per grammar",
      "animationType": "repeatable list",
      "media": "visual",
      "styleDeclaration": [
        "stroke-size",
        "strokeSize"
      ],
      "syntax": "<bg-size>#",
      "extended": []
    },
    {
      "name": "stroke-width",
      "href": "https://drafts.csswg.org/fill-stroke-3/#propdef-stroke-width",
      "initial": "1px",
      "appliesTo": "text and SVG shapes",
      "inherited": "yes",
      "percentages": "relative to the scaled viewport size",
      "computedValue": "the absolute length, or percentage",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "media": "visual",
      "styleDeclaration": [
        "stroke-width",
        "strokeWidth"
      ],
      "syntax": "[ <length-percentage> | <line-width> | <number> ]#",
      "extended": []
    },
    {
      "name": "tab-size",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-tab-size",
      "initial": "8",
      "appliesTo": "text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "the specified number or absolute length",
      "canonicalOrder": "n/a",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "tab-size",
        "tabSize"
      ],
      "syntax": "<number [0,∞]> | <length [0,∞]>",
      "extended": []
    },
    {
      "name": "table-layout",
      "href": "https://drafts.csswg.org/css-tables-3/#propdef-table-layout",
      "initial": "auto",
      "appliesTo": "table grid boxes",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "table-layout",
        "tableLayout"
      ],
      "syntax": "auto | fixed",
      "extended": []
    },
    {
      "name": "text-align",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-text-align",
      "initial": "start",
      "appliesTo": "block containers",
      "inherited": "yes",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "discrete",
      "canonicalOrder": "n/a",
      "styleDeclaration": [
        "text-align",
        "textAlign"
      ],
      "longhands": [
        "text-align-all",
        "text-align-last"
      ],
      "syntax": "start | end | left | right | center | <string> | justify | match-parent | justify-all",
      "extended": []
    },
    {
      "name": "text-align-all",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-text-align-all",
      "initial": "start",
      "appliesTo": "block containers",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "keyword as specified, except for match-parent which computes as defined above",
      "canonicalOrder": "n/a",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-align-all",
        "textAlignAll"
      ],
      "syntax": "start | end | left | right | center | <string> | justify | match-parent",
      "extended": []
    },
    {
      "name": "text-align-last",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-text-align-last",
      "initial": "auto",
      "appliesTo": "block containers",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "keyword as specified, except for match-parent which computes as defined above",
      "canonicalOrder": "n/a",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-align-last",
        "textAlignLast"
      ],
      "syntax": "auto | start | end | left | right | center | justify | match-parent",
      "extended": []
    },
    {
      "name": "text-anchor",
      "href": "https://w3c.github.io/svgwg/svg2-draft/text.html#TextAnchorProperty",
      "initial": "start",
      "appliesTo": "text content elements",
      "inherited": "yes",
      "percentages": "N/A",
      "media": "visual",
      "computedValue": "as specified",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-anchor",
        "textAnchor"
      ],
      "syntax": "start | middle | end",
      "extended": []
    },
    {
      "name": "text-autospace",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-text-autospace",
      "initial": "normal",
      "appliesTo": "text",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified keyword(s)",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-autospace",
        "textAutospace"
      ],
      "syntax": "normal | <autospace> | auto",
      "extended": []
    },
    {
      "name": "text-box",
      "href": "https://drafts.csswg.org/css-inline-3/#propdef-text-box",
      "initial": "normal",
      "appliesTo": "block containers, multi-column containers, and inline boxes",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "the specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-box",
        "textBox"
      ],
      "syntax": "normal | <'text-box-trim'> || <'text-box-edge'>",
      "extended": []
    },
    {
      "name": "text-box-edge",
      "href": "https://drafts.csswg.org/css-inline-3/#propdef-text-box-edge",
      "initial": "auto",
      "appliesTo": "block containers and inline boxes",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "the specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-box-edge",
        "textBoxEdge"
      ],
      "syntax": "auto | <text-edge>",
      "extended": []
    },
    {
      "name": "text-box-trim",
      "href": "https://drafts.csswg.org/css-inline-3/#propdef-text-box-trim",
      "initial": "none",
      "appliesTo": "block containers, multi-column containers, and inline boxes",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "the specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-box-trim",
        "textBoxTrim"
      ],
      "syntax": "none | trim-start | trim-end | trim-both",
      "extended": []
    },
    {
      "name": "text-combine-upright",
      "href": "https://drafts.csswg.org/css-writing-modes-4/#propdef-text-combine-upright",
      "initial": "none",
      "appliesTo": "inline boxes and text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword, plus integer if digits",
      "canonicalOrder": "n/a",
      "animationType": "not animatable",
      "styleDeclaration": [
        "text-combine-upright",
        "textCombineUpright"
      ],
      "syntax": "none | all | [ digits <integer [2,4]>? ]",
      "extended": []
    },
    {
      "name": "text-decoration",
      "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-decoration",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "text-decoration",
        "textDecoration"
      ],
      "longhands": [
        "text-decoration-line",
        "text-decoration-thickness",
        "text-decoration-style",
        "text-decoration-color"
      ],
      "syntax": "<'text-decoration-line'> || <'text-decoration-thickness'> || <'text-decoration-style'> || <'text-decoration-color'>",
      "extended": []
    },
    {
      "name": "text-decoration-color",
      "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-decoration-color",
      "initial": "currentcolor",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "computed color",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "text-decoration-color",
        "textDecorationColor"
      ],
      "syntax": "<color>",
      "extended": []
    },
    {
      "name": "text-decoration-inset",
      "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-decoration-inset",
      "initial": "0",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword or absolute length",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "text-decoration-inset",
        "textDecorationInset"
      ],
      "syntax": "<length>{1,2} | auto",
      "extended": []
    },
    {
      "name": "text-decoration-line",
      "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-decoration-line",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no (but see prose, above)",
      "percentages": "n/a",
      "computedValue": "specified keyword(s)",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-decoration-line",
        "textDecorationLine"
      ],
      "syntax": "none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error",
      "extended": []
    },
    {
      "name": "text-decoration-skip",
      "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-decoration-skip",
      "initial": "See individual properties",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "See individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-decoration-skip",
        "textDecorationSkip"
      ],
      "longhands": [
        "text-decoration-skip-self",
        "text-decoration-skip-box",
        "text-decoration-skip-spaces",
        "text-decoration-skip-ink"
      ],
      "syntax": "none | auto",
      "extended": []
    },
    {
      "name": "text-decoration-skip-box",
      "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-decoration-skip-box",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified keyword(s)",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-decoration-skip-box",
        "textDecorationSkipBox"
      ],
      "syntax": "none | all",
      "extended": []
    },
    {
      "name": "text-decoration-skip-ink",
      "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-decoration-skip-ink",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-decoration-skip-ink",
        "textDecorationSkipInk"
      ],
      "syntax": "auto | none | all",
      "extended": []
    },
    {
      "name": "text-decoration-skip-self",
      "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-decoration-skip-self",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword(s) except for skip-all, see below",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-decoration-skip-self",
        "textDecorationSkipSelf"
      ],
      "syntax": "auto | skip-all | [ skip-underline || skip-overline || skip-line-through ] | no-skip",
      "extended": []
    },
    {
      "name": "text-decoration-skip-spaces",
      "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-decoration-skip-spaces",
      "initial": "start end",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified keyword(s)",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-decoration-skip-spaces",
        "textDecorationSkipSpaces"
      ],
      "syntax": "none | all | [ start || end ]",
      "extended": []
    },
    {
      "name": "text-decoration-style",
      "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-decoration-style",
      "initial": "solid",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-decoration-style",
        "textDecorationStyle"
      ],
      "syntax": "solid | double | dotted | dashed | wavy",
      "extended": []
    },
    {
      "name": "text-decoration-thickness",
      "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-decoration-thickness",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified, with <length-percentage> values computed",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "text-decoration-thickness",
        "textDecorationThickness"
      ],
      "syntax": "auto | from-font | <length-percentage> | <line-width>",
      "extended": []
    },
    {
      "name": "text-emphasis",
      "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-emphasis",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "text-emphasis",
        "textEmphasis"
      ],
      "longhands": [
        "text-emphasis-style",
        "text-emphasis-color"
      ],
      "syntax": "<'text-emphasis-style'> || <'text-emphasis-color'>",
      "extended": []
    },
    {
      "name": "text-emphasis-color",
      "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-emphasis-color",
      "initial": "currentcolor",
      "appliesTo": "text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "computed color",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "text-emphasis-color",
        "textEmphasisColor"
      ],
      "syntax": "<color>",
      "extended": []
    },
    {
      "name": "text-emphasis-position",
      "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-emphasis-position",
      "initial": "over right",
      "appliesTo": "text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword(s)",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-emphasis-position",
        "textEmphasisPosition"
      ],
      "syntax": "[ over | under ] && [ right | left ]?",
      "extended": []
    },
    {
      "name": "text-emphasis-skip",
      "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-emphasis-skip",
      "initial": "spaces punctuation",
      "appliesTo": "text",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified keyword(s)",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-emphasis-skip",
        "textEmphasisSkip"
      ],
      "syntax": "spaces || punctuation || symbols || narrow",
      "extended": []
    },
    {
      "name": "text-emphasis-style",
      "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-emphasis-style",
      "initial": "none",
      "appliesTo": "text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "the keyword none, a pair of keywords representing the shape and fill, or a string",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-emphasis-style",
        "textEmphasisStyle"
      ],
      "syntax": "none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>",
      "extended": []
    },
    {
      "name": "text-fit",
      "href": "https://drafts.csswg.org/css-text-5/#propdef-text-fit",
      "initial": "none",
      "appliesTo": "block containers",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified keywords or computed <percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-fit",
        "textFit"
      ],
      "syntax": "[ none | grow | shrink ] [consistent | per-line | per-line-all]? <percentage>?",
      "extended": []
    },
    {
      "name": "text-group-align",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-text-group-align",
      "initial": "none",
      "appliesTo": "block containers",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-group-align",
        "textGroupAlign"
      ],
      "syntax": "none | start | end | left | right | center",
      "extended": []
    },
    {
      "name": "text-indent",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-text-indent",
      "initial": "0",
      "appliesTo": "block containers",
      "inherited": "yes",
      "percentages": "refers to block container’s own inline-axis inner size",
      "computedValue": "computed <length-percentage> value, plus any specified keywords",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "text-indent",
        "textIndent"
      ],
      "syntax": "[ <length-percentage> ] && hanging? && each-line?",
      "extended": []
    },
    {
      "name": "text-justify",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-text-justify",
      "initial": "auto",
      "appliesTo": "text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword (except for the distribute legacy value)",
      "canonicalOrder": "n/a",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-justify",
        "textJustify"
      ],
      "syntax": "[ auto | none | inter-word | inter-character | ruby ] || no-compress",
      "extended": []
    },
    {
      "name": "text-orientation",
      "href": "https://drafts.csswg.org/css-writing-modes-4/#propdef-text-orientation",
      "initial": "mixed",
      "appliesTo": "all elements except table row groups, rows, column groups, and columns; and text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified value",
      "canonicalOrder": "n/a",
      "animationType": "not animatable",
      "styleDeclaration": [
        "text-orientation",
        "textOrientation"
      ],
      "syntax": "mixed | upright | sideways",
      "extended": []
    },
    {
      "name": "text-overflow",
      "href": "https://drafts.csswg.org/css-overflow-4/#propdef-text-overflow",
      "initial": "clip",
      "appliesTo": "block containers",
      "inherited": "no",
      "percentages": "refer to the width of the line box",
      "computedValue": "as specified, with lengths made absolute",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "text-overflow",
        "textOverflow"
      ],
      "syntax": "[ clip | ellipsis | <string> | fade | <fade()> ]{1,2}",
      "extended": []
    },
    {
      "name": "text-rendering",
      "href": "https://w3c.github.io/svgwg/svg2-draft/painting.html#TextRenderingProperty",
      "initial": "auto",
      "appliesTo": "‘text’",
      "inherited": "yes",
      "percentages": "N/A",
      "media": "visual",
      "computedValue": "as specified",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-rendering",
        "textRendering"
      ],
      "syntax": "auto | optimizeSpeed | optimizeLegibility | geometricPrecision",
      "extended": []
    },
    {
      "name": "text-shadow",
      "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-shadow",
      "initial": "none",
      "appliesTo": "text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "either the keyword none or a list, each item consisting of four absolute lengths plus a computed color and optionally also an inset keyword",
      "canonicalOrder": "per grammar",
      "animationType": "as shadow list",
      "styleDeclaration": [
        "text-shadow",
        "textShadow"
      ],
      "syntax": "none | <shadow>#",
      "extended": []
    },
    {
      "name": "text-size-adjust",
      "href": "https://drafts.csswg.org/css-size-adjust-1/#propdef-text-size-adjust",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "see below",
      "computedValue": "specified keyword or percentage",
      "canonicalOrder": "N/A",
      "animationType": "by computed value",
      "styleDeclaration": [
        "text-size-adjust",
        "textSizeAdjust"
      ],
      "syntax": "auto | none | <percentage [0,∞]>",
      "extended": []
    },
    {
      "name": "text-spacing",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-text-spacing",
      "initial": "see individual properties",
      "appliesTo": "text",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified keyword(s)",
      "animationType": "discrete",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "text-spacing",
        "textSpacing"
      ],
      "longhands": [
        "text-spacing-trim",
        "text-autospace"
      ],
      "syntax": "none | auto | <spacing-trim> || <autospace>",
      "extended": []
    },
    {
      "name": "text-spacing-trim",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-text-spacing-trim",
      "initial": "normal",
      "appliesTo": "text",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified keyword(s)",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-spacing-trim",
        "textSpacingTrim"
      ],
      "syntax": "<spacing-trim> | auto",
      "extended": []
    },
    {
      "name": "text-transform",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-text-transform",
      "initial": "none",
      "appliesTo": "text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "n/a",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-transform",
        "textTransform"
      ],
      "syntax": "none | [capitalize | uppercase | lowercase ] || full-width || full-size-kana | math-auto",
      "extended": []
    },
    {
      "name": "text-underline-offset",
      "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-underline-offset",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "as specified, with <length-percentage> values computed",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "text-underline-offset",
        "textUnderlineOffset"
      ],
      "syntax": "auto | <length-percentage>",
      "extended": []
    },
    {
      "name": "text-underline-position",
      "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-underline-position",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword(s)",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-underline-position",
        "textUnderlinePosition"
      ],
      "syntax": "auto | [ from-font | under ] || [ left | right ]",
      "extended": []
    },
    {
      "name": "text-wrap",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-text-wrap",
      "initial": "wrap",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "canonicalOrder": "per grammar",
      "animationType": "see individual properties",
      "styleDeclaration": [
        "text-wrap",
        "textWrap"
      ],
      "longhands": [
        "text-wrap-mode",
        "text-wrap-style"
      ],
      "syntax": "<'text-wrap-mode'> || <'text-wrap-style'>",
      "extended": []
    },
    {
      "name": "text-wrap-mode",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-text-wrap-mode",
      "initial": "wrap",
      "appliesTo": "text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-wrap-mode",
        "textWrapMode"
      ],
      "syntax": "wrap | nowrap",
      "extended": []
    },
    {
      "name": "text-wrap-style",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-text-wrap-style",
      "initial": "auto",
      "appliesTo": "block containers hat establish an inline formatting context",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "text-wrap-style",
        "textWrapStyle"
      ],
      "syntax": "auto | balance | stable | pretty | avoid-orphans",
      "extended": []
    },
    {
      "name": "timeline-scope",
      "href": "https://drafts.csswg.org/scroll-animations-1/#propdef-timeline-scope",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "the keyword none, the keyword all, or a list of CSS identifiers",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "timeline-scope",
        "timelineScope"
      ],
      "syntax": "none | all | <dashed-ident>#",
      "extended": []
    },
    {
      "name": "timeline-trigger",
      "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-timeline-trigger",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "timeline-trigger",
        "timelineTrigger"
      ],
      "longhands": [
        "timeline-trigger-name",
        "timeline-trigger-source",
        "timeline-trigger-activation-range",
        "timeline-trigger-active-range"
      ],
      "syntax": "none | [ <'timeline-trigger-name'> <'timeline-trigger-source'> <'timeline-trigger-activation-range'> [ / <'timeline-trigger-active-range'> ]? ]#",
      "extended": []
    },
    {
      "name": "timeline-trigger-activation-range",
      "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-timeline-trigger-activation-range",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "timeline-trigger-activation-range",
        "timelineTriggerActivationRange"
      ],
      "longhands": [
        "timeline-trigger-activation-range-start",
        "timeline-trigger-activation-range-end"
      ],
      "syntax": "[ <'timeline-trigger-activation-range-start'> <'timeline-trigger-activation-range-end'>? ]#",
      "extended": []
    },
    {
      "name": "timeline-trigger-activation-range-end",
      "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-timeline-trigger-activation-range-end",
      "initial": "normal",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "relative to the specified named timeline range if one was specified, else to the entire timeline",
      "computedValue": "list, each item either the keyword normal or a timeline range and progress percentage",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "timeline-trigger-activation-range-end",
        "timelineTriggerActivationRangeEnd"
      ],
      "syntax": "[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
      "extended": []
    },
    {
      "name": "timeline-trigger-activation-range-start",
      "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-timeline-trigger-activation-range-start",
      "initial": "normal",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "relative to the specified named timeline range if one was specified, else to the entire timeline",
      "computedValue": "list, each item either the keyword normal or a timeline range and progress percentage",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "timeline-trigger-activation-range-start",
        "timelineTriggerActivationRangeStart"
      ],
      "syntax": "[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
      "extended": []
    },
    {
      "name": "timeline-trigger-active-range",
      "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-timeline-trigger-active-range",
      "initial": "see individual properties",
      "appliesTo": "see individual properties",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "timeline-trigger-active-range",
        "timelineTriggerActiveRange"
      ],
      "longhands": [
        "timeline-trigger-active-range-start",
        "timeline-trigger-active-range-end"
      ],
      "syntax": "[ <'timeline-trigger-active-range-start'> <'timeline-trigger-active-range-end'>? ]#",
      "extended": []
    },
    {
      "name": "timeline-trigger-active-range-end",
      "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-timeline-trigger-active-range-end",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "relative to the specified named timeline range if one was specified, else to the entire timeline",
      "computedValue": "list, each item either the keyword normal or a timeline range and progress percentage",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "timeline-trigger-active-range-end",
        "timelineTriggerActiveRangeEnd"
      ],
      "syntax": "[ auto | normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
      "extended": []
    },
    {
      "name": "timeline-trigger-active-range-start",
      "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-timeline-trigger-active-range-start",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "relative to the specified named timeline range if one was specified, else to the entire timeline",
      "computedValue": "list, each item either the keyword normal or a timeline range and progress percentage",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "timeline-trigger-active-range-start",
        "timelineTriggerActiveRangeStart"
      ],
      "syntax": "[ auto | normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
      "extended": []
    },
    {
      "name": "timeline-trigger-name",
      "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-timeline-trigger-name",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "timeline-trigger-name",
        "timelineTriggerName"
      ],
      "syntax": "none | <dashed-ident>#",
      "extended": []
    },
    {
      "name": "timeline-trigger-source",
      "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-timeline-trigger-source",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "list, each item either the keyword none, the keyword auto, a case-sensitive css identifier, a computed scroll() function, or a computed view() function",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "timeline-trigger-source",
        "timelineTriggerSource"
      ],
      "syntax": "<single-animation-timeline>#",
      "extended": []
    },
    {
      "name": "top",
      "href": "https://drafts.csswg.org/css-position-3/#propdef-top",
      "initial": "auto",
      "appliesTo": "positioned elements",
      "inherited": "no",
      "percentages": "refer to size of containing block; see prose",
      "computedValue": "the keyword auto or a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "logicalPropertyGroup": "inset",
      "styleDeclaration": [
        "top"
      ],
      "syntax": "auto | <length-percentage> | <anchor()> | <anchor-size()>",
      "extended": [
        "https://drafts.csswg.org/css-anchor-position-1/"
      ]
    },
    {
      "name": "touch-action",
      "href": "https://compat.spec.whatwg.org/#propdef-touch-action",
      "initial": "auto",
      "appliesTo": "all elements except: non-replaced inline elements, table rows, row groups, table columns, and column groups.",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "Same as specified value",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "media": "visual",
      "styleDeclaration": [
        "touch-action",
        "touchAction"
      ],
      "syntax": "auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation",
      "extended": []
    },
    {
      "name": "transform",
      "href": "https://drafts.csswg.org/css-transforms-1/#propdef-transform",
      "initial": "none",
      "appliesTo": "transformable elements",
      "inherited": "no",
      "percentages": "refer to the size of reference box",
      "computedValue": "as specified, but with lengths made absolute",
      "canonicalOrder": "per grammar",
      "animationType": "transform list, see interpolation rules",
      "styleDeclaration": [
        "transform"
      ],
      "syntax": "none | <transform-list>",
      "extended": []
    },
    {
      "name": "transform-box",
      "href": "https://drafts.csswg.org/css-transforms-1/#propdef-transform-box",
      "initial": "view-box",
      "appliesTo": "transformable elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "transform-box",
        "transformBox"
      ],
      "syntax": "content-box | border-box | fill-box | stroke-box | view-box",
      "extended": []
    },
    {
      "name": "transform-origin",
      "href": "https://drafts.csswg.org/css-transforms-1/#propdef-transform-origin",
      "initial": "50% 50%",
      "appliesTo": "transformable elements",
      "inherited": "no",
      "percentages": "refer to the size of reference box",
      "computedValue": "see background-position",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value",
      "styleDeclaration": [
        "transform-origin",
        "transformOrigin"
      ],
      "syntax": "[ left | center | right | top | bottom | <length-percentage> ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] <length>? | [ [ center | left | right ] && [ center | top | bottom ] ] <length>?",
      "extended": []
    },
    {
      "name": "transform-style",
      "href": "https://drafts.csswg.org/css-transforms-2/#propdef-transform-style",
      "initial": "flat",
      "appliesTo": "transformable elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "usedValue": "flat if a grouping property is present, specified keyword otherwise",
      "styleDeclaration": [
        "transform-style",
        "transformStyle"
      ],
      "syntax": "flat | preserve-3d",
      "extended": []
    },
    {
      "name": "transition",
      "href": "https://drafts.csswg.org/css-transitions-1/#propdef-transition",
      "initial": "see individual properties",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "see individual properties",
      "animationType": "not animatable",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "transition"
      ],
      "longhands": [
        "transition-property",
        "transition-duration",
        "transition-timing-function",
        "transition-delay",
        "transition-behavior"
      ],
      "syntax": "<single-transition>#",
      "extended": []
    },
    {
      "name": "transition-behavior",
      "href": "https://drafts.csswg.org/css-transitions-2/#propdef-transition-behavior",
      "initial": "normal",
      "appliesTo": "All elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "transition-behavior",
        "transitionBehavior"
      ],
      "syntax": "<transition-behavior-value>#",
      "extended": []
    },
    {
      "name": "transition-delay",
      "href": "https://drafts.csswg.org/css-transitions-1/#propdef-transition-delay",
      "initial": "0s",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "list, each item a duration",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "transition-delay",
        "transitionDelay"
      ],
      "syntax": "<time>#",
      "extended": []
    },
    {
      "name": "transition-duration",
      "href": "https://drafts.csswg.org/css-transitions-1/#propdef-transition-duration",
      "initial": "0s",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "list, each item a duration",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "transition-duration",
        "transitionDuration"
      ],
      "syntax": "<time [0s,∞]>#",
      "extended": []
    },
    {
      "name": "transition-property",
      "href": "https://drafts.csswg.org/css-transitions-1/#propdef-transition-property",
      "initial": "all",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "the keyword none else a list of identifiers",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "transition-property",
        "transitionProperty"
      ],
      "syntax": "none | <single-transition-property>#",
      "extended": []
    },
    {
      "name": "transition-timing-function",
      "href": "https://drafts.csswg.org/css-transitions-1/#propdef-transition-timing-function",
      "initial": "ease",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "transition-timing-function",
        "transitionTimingFunction"
      ],
      "syntax": "<easing-function>#",
      "extended": []
    },
    {
      "name": "translate",
      "href": "https://drafts.csswg.org/css-transforms-2/#propdef-translate",
      "initial": "none",
      "appliesTo": "transformable elements",
      "inherited": "no",
      "percentages": "relative to the width of the reference box (for the first value) or the height (for the second value)",
      "computedValue": "the keyword none or a pair of computed <length-percentage> values and an absolute length",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value, but see below for none",
      "styleDeclaration": [
        "translate"
      ],
      "syntax": "none | <length-percentage> [ <length-percentage> <length>? ]?",
      "extended": []
    },
    {
      "name": "trigger-scope",
      "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-trigger-scope",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "trigger-scope",
        "triggerScope"
      ],
      "syntax": "none | all | <dashed-ident>#",
      "extended": []
    },
    {
      "name": "unicode-bidi",
      "href": "https://drafts.csswg.org/css-writing-modes-4/#propdef-unicode-bidi",
      "initial": "normal",
      "appliesTo": "all elements, but see prose",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified value",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "unicode-bidi",
        "unicodeBidi"
      ],
      "syntax": "normal | embed | isolate | bidi-override | isolate-override | plaintext",
      "extended": []
    },
    {
      "name": "user-select",
      "href": "https://drafts.csswg.org/css-ui-4/#propdef-user-select",
      "initial": "auto",
      "appliesTo": "all elements, and optionally to the ::before and ::after pseudo-elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "user-select",
        "userSelect"
      ],
      "syntax": "auto | text | none | contain | all",
      "extended": []
    },
    {
      "name": "vector-effect",
      "href": "https://w3c.github.io/svgwg/svg2-draft/coords.html#VectorEffectProperty",
      "initial": "none",
      "appliesTo": "graphics elements and ‘use’",
      "inherited": "no",
      "percentages": "N/A",
      "media": "visual",
      "computedValue": "as specified",
      "animationType": "discrete",
      "styleDeclaration": [
        "vector-effect",
        "vectorEffect"
      ],
      "syntax": "none | non-scaling-stroke | non-scaling-size | non-rotation | fixed-position",
      "extended": []
    },
    {
      "name": "vertical-align",
      "href": "https://drafts.csswg.org/css-inline-3/#propdef-vertical-align",
      "initial": "baseline",
      "appliesTo": "see individual properties",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "vertical-align",
        "verticalAlign"
      ],
      "longhands": [
        "alignment-baseline",
        "baseline-shift",
        "baseline-source"
      ],
      "syntax": "[ first | last] || <'alignment-baseline'> || <'baseline-shift'>",
      "extended": []
    },
    {
      "name": "view-timeline",
      "href": "https://drafts.csswg.org/scroll-animations-1/#propdef-view-timeline",
      "initial": "see individual properties",
      "appliesTo": "all elements",
      "inherited": "see individual properties",
      "percentages": "see individual properties",
      "computedValue": "see individual properties",
      "animationType": "see individual properties",
      "canonicalOrder": "per grammar",
      "styleDeclaration": [
        "view-timeline",
        "viewTimeline"
      ],
      "longhands": [
        "view-timeline-name",
        "view-timeline-axis"
      ],
      "syntax": "[ <'view-timeline-name'> [ <'view-timeline-axis'> || <'view-timeline-inset'> ]? ]#",
      "extended": []
    },
    {
      "name": "view-timeline-axis",
      "href": "https://drafts.csswg.org/scroll-animations-1/#propdef-view-timeline-axis",
      "initial": "block",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "a list of the keywords specified",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "view-timeline-axis",
        "viewTimelineAxis"
      ],
      "syntax": "[ block | inline | x | y ]#",
      "extended": []
    },
    {
      "name": "view-timeline-inset",
      "href": "https://drafts.csswg.org/scroll-animations-1/#propdef-view-timeline-inset",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "relative to the corresponding dimension of the relevant scrollport",
      "computedValue": "a list consisting of two-value pairs representing the start and end insets each as either the keyword auto or a computed <length-percentage> value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "view-timeline-inset",
        "viewTimelineInset"
      ],
      "syntax": "[ [ auto | <length-percentage> ]{1,2} ]#",
      "extended": []
    },
    {
      "name": "view-timeline-name",
      "href": "https://drafts.csswg.org/scroll-animations-1/#propdef-view-timeline-name",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "list, each item either a CSS identifier or the keyword none",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "view-timeline-name",
        "viewTimelineName"
      ],
      "syntax": "[ none | <dashed-ident> ]#",
      "extended": []
    },
    {
      "name": "view-transition-class",
      "href": "https://drafts.csswg.org/css-view-transitions-2/#propdef-view-transition-class",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "view-transition-class",
        "viewTransitionClass"
      ],
      "syntax": "none | <custom-ident>+",
      "extended": []
    },
    {
      "name": "view-transition-group",
      "href": "https://drafts.csswg.org/css-view-transitions-2/#propdef-view-transition-group",
      "initial": "normal",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "view-transition-group",
        "viewTransitionGroup"
      ],
      "syntax": "normal | contain | nearest | <custom-ident>",
      "extended": []
    },
    {
      "name": "view-transition-name",
      "href": "https://drafts.csswg.org/css-view-transitions-2/#propdef-view-transition-name",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "view-transition-name",
        "viewTransitionName"
      ],
      "syntax": "none | <custom-ident>",
      "extended": []
    },
    {
      "name": "view-transition-scope",
      "href": "https://drafts.csswg.org/css-view-transitions-2/#propdef-view-transition-scope",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "view-transition-scope",
        "viewTransitionScope"
      ],
      "syntax": "none | all",
      "extended": []
    },
    {
      "name": "visibility",
      "href": "https://drafts.csswg.org/css-display-4/#propdef-visibility",
      "initial": "visible",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "media": "visual",
      "styleDeclaration": [
        "visibility"
      ],
      "syntax": "visible | hidden | force-hidden | collapse",
      "extended": []
    },
    {
      "name": "voice-balance",
      "href": "https://drafts.csswg.org/css-speech-1/#propdef-voice-balance",
      "initial": "center",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "the specified value resolved to a <number> between -100 and 100 (inclusive)",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "voice-balance",
        "voiceBalance"
      ],
      "syntax": "<number> | left | center | right | leftwards | rightwards",
      "extended": []
    },
    {
      "name": "voice-duration",
      "href": "https://drafts.csswg.org/css-speech-1/#propdef-voice-duration",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "specified value",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "voice-duration",
        "voiceDuration"
      ],
      "syntax": "auto | <time [0s,∞]>",
      "extended": []
    },
    {
      "name": "voice-family",
      "href": "https://drafts.csswg.org/css-speech-1/#propdef-voice-family",
      "initial": "implementation-dependent",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified value",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "voice-family",
        "voiceFamily"
      ],
      "syntax": "[ <voice-family-name> | <generic-voice> ]# | preserve",
      "extended": []
    },
    {
      "name": "voice-pitch",
      "href": "https://drafts.csswg.org/css-speech-1/#propdef-voice-pitch",
      "initial": "medium",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "refer to inherited value",
      "computedValue": "one of the predefined pitch keywords if only the keyword is specified by itself, otherwise an absolute frequency calculated by converting the keyword value (if any) to a fixed frequency based on the current voice-family and by applying the specified relative offset (if any)",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "voice-pitch",
        "voicePitch"
      ],
      "syntax": "<frequency [0Hz,∞]> && absolute | [ [ x-low | low | medium | high | x-high ] || [ <frequency [0Hz,∞]> | <semitones> | <percentage> ] ]",
      "extended": []
    },
    {
      "name": "voice-range",
      "href": "https://drafts.csswg.org/css-speech-1/#propdef-voice-range",
      "initial": "medium",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "refer to inherited value",
      "computedValue": "one of the predefined pitch keywords if only the keyword is specified by itself, otherwise an absolute frequency calculated by converting the keyword value (if any) to a fixed frequency based on the current voice-family and by applying the specified relative offset (if any)",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "voice-range",
        "voiceRange"
      ],
      "syntax": "<frequency [0Hz,∞]> && absolute | [ [ x-low | low | medium | high | x-high ] || [ <frequency [0Hz,∞]> | <semitones> | <percentage> ] ]",
      "extended": []
    },
    {
      "name": "voice-rate",
      "href": "https://drafts.csswg.org/css-speech-1/#propdef-voice-rate",
      "initial": "normal",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "refer to default value",
      "computedValue": "a keyword value, and optionally also a percentage relative to the keyword (if not 100%)",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "voice-rate",
        "voiceRate"
      ],
      "syntax": "[ normal | x-slow | slow | medium | fast | x-fast ] || <percentage [0,∞]>",
      "extended": []
    },
    {
      "name": "voice-stress",
      "href": "https://drafts.csswg.org/css-speech-1/#propdef-voice-stress",
      "initial": "normal",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "specified value",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "voice-stress",
        "voiceStress"
      ],
      "syntax": "normal | strong | moderate | none | reduced",
      "extended": []
    },
    {
      "name": "voice-volume",
      "href": "https://drafts.csswg.org/css-speech-1/#propdef-voice-volume",
      "initial": "medium",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "silent, or a keyword value and optionally also a decibel offset (if not zero)",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "voice-volume",
        "voiceVolume"
      ],
      "syntax": "silent | [ [ x-soft | soft | medium | loud | x-loud ] || <decibel> ]",
      "extended": []
    },
    {
      "name": "white-space",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-white-space",
      "initial": "normal",
      "appliesTo": "text",
      "inherited": "see individual properties",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "n/a",
      "animationType": "discrete",
      "styleDeclaration": [
        "white-space",
        "whiteSpace"
      ],
      "longhands": [
        "white-space-collapse",
        "text-wrap-mode"
      ],
      "syntax": "normal | pre | pre-wrap | pre-line | <'white-space-collapse'> || <'text-wrap-mode'> || <'white-space-trim'>",
      "extended": []
    },
    {
      "name": "white-space-collapse",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-white-space-collapse",
      "initial": "collapse",
      "appliesTo": "text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "white-space-collapse",
        "whiteSpaceCollapse"
      ],
      "syntax": "collapse | discard | preserve | preserve-breaks | preserve-spaces | break-spaces",
      "extended": []
    },
    {
      "name": "white-space-trim",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-white-space-trim",
      "initial": "none",
      "appliesTo": "inline boxes and block containers",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword(s)",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "white-space-trim",
        "whiteSpaceTrim"
      ],
      "syntax": "none | discard-before || discard-after || discard-inner",
      "extended": []
    },
    {
      "name": "widows",
      "href": "https://drafts.csswg.org/css-break-4/#propdef-widows",
      "initial": "2",
      "appliesTo": "block containers that establish an inline formatting context",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified integer",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "widows"
      ],
      "syntax": "<integer [1,∞]>",
      "extended": []
    },
    {
      "name": "width",
      "href": "https://drafts.csswg.org/css-sizing-3/#propdef-width",
      "initial": "auto",
      "appliesTo": "all elements except non-replaced inlines",
      "inherited": "no",
      "percentages": "relative to width/height of containing block",
      "computedValue": "as specified, with <length-percentage> values computed",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type, recursing into fit-content()",
      "logicalPropertyGroup": "size",
      "styleDeclaration": [
        "width"
      ],
      "syntax": "auto | <length-percentage [0,∞]> | min-content | max-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()> | stretch | fit-content | contain",
      "extended": [
        "https://drafts.csswg.org/css-anchor-position-1/",
        "https://drafts.csswg.org/css-sizing-4/"
      ]
    },
    {
      "name": "will-change",
      "href": "https://drafts.csswg.org/css-will-change-1/#propdef-will-change",
      "initial": "auto",
      "appliesTo": "all elements",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified value",
      "canonicalOrder": "per grammar",
      "animationType": "not animatable",
      "styleDeclaration": [
        "will-change",
        "willChange"
      ],
      "syntax": "auto | <animateable-feature>#",
      "extended": []
    },
    {
      "name": "window-drag",
      "href": "https://drafts.csswg.org/css-ui-4/#propdef-window-drag",
      "initial": "none",
      "appliesTo": "all elements",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "window-drag",
        "windowDrag"
      ],
      "syntax": "none | move",
      "extended": []
    },
    {
      "name": "word-break",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-word-break",
      "initial": "normal",
      "appliesTo": "text",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "n/a",
      "animationType": "discrete",
      "styleDeclaration": [
        "word-break",
        "wordBreak"
      ],
      "syntax": "normal | break-all | keep-all | manual | auto-phrase | break-word",
      "extended": []
    },
    {
      "name": "word-space-transform",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-word-space-transform",
      "initial": "none",
      "appliesTo": "text",
      "inherited": "yes",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "word-space-transform",
        "wordSpaceTransform"
      ],
      "syntax": "none | [ space | ideographic-space ] && auto-phrase?",
      "extended": []
    },
    {
      "name": "word-spacing",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-word-spacing",
      "initial": "normal",
      "appliesTo": "text",
      "inherited": "yes",
      "percentages": "relative to used font-size",
      "computedValue": "an absolute length and/or a percentage",
      "canonicalOrder": "n/a",
      "animationType": "by computed value type",
      "styleDeclaration": [
        "word-spacing",
        "wordSpacing"
      ],
      "syntax": "normal | <length-percentage>",
      "extended": []
    },
    {
      "name": "word-wrap",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-word-wrap",
      "legacyAliasOf": "overflow-wrap",
      "styleDeclaration": [
        "word-wrap",
        "wordWrap"
      ],
      "syntax": "normal | break-word | anywhere",
      "extended": []
    },
    {
      "name": "wrap-after",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-wrap-after",
      "initial": "auto",
      "appliesTo": "inline-level boxes and flex items",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "wrap-after",
        "wrapAfter"
      ],
      "syntax": "auto | avoid | avoid-line | avoid-flex | line | flex",
      "extended": []
    },
    {
      "name": "wrap-before",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-wrap-before",
      "initial": "auto",
      "appliesTo": "inline-level boxes and flex items",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "wrap-before",
        "wrapBefore"
      ],
      "syntax": "auto | avoid | avoid-line | avoid-flex | line | flex",
      "extended": []
    },
    {
      "name": "wrap-flow",
      "href": "https://drafts.csswg.org/css-exclusions-1/#propdef-wrap-flow",
      "initial": "auto",
      "appliesTo": "block-level elements.",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified except for element’s whose float computed value is not none, in which case the computed value is auto.",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "wrap-flow",
        "wrapFlow"
      ],
      "syntax": "auto | both | start | end | minimum | maximum | clear",
      "extended": []
    },
    {
      "name": "wrap-inside",
      "href": "https://drafts.csswg.org/css-text-4/#propdef-wrap-inside",
      "initial": "auto",
      "appliesTo": "inline boxes",
      "inherited": "no",
      "percentages": "n/a",
      "computedValue": "specified keyword",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "wrap-inside",
        "wrapInside"
      ],
      "syntax": "auto | avoid",
      "extended": []
    },
    {
      "name": "wrap-through",
      "href": "https://drafts.csswg.org/css-exclusions-1/#propdef-wrap-through",
      "initial": "wrap",
      "appliesTo": "block-level elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "discrete",
      "styleDeclaration": [
        "wrap-through",
        "wrapThrough"
      ],
      "syntax": "wrap | none",
      "extended": []
    },
    {
      "name": "writing-mode",
      "href": "https://drafts.csswg.org/css-writing-modes-4/#propdef-writing-mode",
      "initial": "horizontal-tb",
      "appliesTo": "All elements except table row groups, table column groups, table rows, table columns, ruby base containers, ruby annotation containers",
      "inherited": "yes",
      "percentages": "n/a",
      "computedValue": "specified value",
      "canonicalOrder": "n/a",
      "animationType": "not animatable",
      "styleDeclaration": [
        "writing-mode",
        "writingMode"
      ],
      "syntax": "horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr",
      "extended": []
    },
    {
      "name": "x",
      "href": "https://w3c.github.io/svgwg/svg2-draft/geometry.html#XProperty",
      "initial": "0",
      "appliesTo": "‘svg’, ‘rect’, ‘image’, ‘foreignObject’ elements",
      "inherited": "no",
      "percentages": "refer to the width of the current SVG viewport (see Units)",
      "media": "visual",
      "computedValue": "an absolute length or percentage",
      "animationType": "by computed value",
      "styleDeclaration": [
        "x"
      ],
      "syntax": "<length-percentage>",
      "extended": []
    },
    {
      "name": "y",
      "href": "https://w3c.github.io/svgwg/svg2-draft/geometry.html#YProperty",
      "initial": "0",
      "appliesTo": "‘svg’, ‘rect’, ‘image’, ‘foreignObject’ elements",
      "inherited": "no",
      "percentages": "refer to the height of the current SVG viewport (see Units)",
      "media": "visual",
      "computedValue": "an absolute length or percentage",
      "animationType": "by computed value",
      "styleDeclaration": [
        "y"
      ],
      "syntax": "<length-percentage>",
      "extended": []
    },
    {
      "name": "z-index",
      "href": "https://drafts.csswg.org/css2/#propdef-z-index",
      "initial": "auto",
      "appliesTo": "positioned elements",
      "inherited": "no",
      "percentages": "N/A",
      "computedValue": "as specified",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "media": "visual",
      "styleDeclaration": [
        "z-index",
        "zIndex"
      ],
      "syntax": "auto | <integer> | inherit",
      "extended": []
    },
    {
      "name": "zoom",
      "href": "https://drafts.csswg.org/css-viewport/#propdef-zoom",
      "initial": "1",
      "appliesTo": "all <length> property values of all elements",
      "inherited": "no",
      "percentages": "Converted to <number>",
      "computedValue": "as specified, but with <percentage> converted to the equivalent <number>",
      "canonicalOrder": "per grammar",
      "animationType": "by computed value type",
      "media": "visual",
      "styleDeclaration": [
        "zoom"
      ],
      "syntax": "<number [0,∞]> | <percentage [0,∞]>",
      "extended": []
    }
  ],
  "selectors": [
    {
      "name": "::after",
      "prose": "Represents a styleable child pseudo-element immediately after the originating element’s actual content.",
      "href": "https://drafts.csswg.org/css-pseudo-4/#selectordef-after",
      "syntax": "::after",
      "extended": []
    },
    {
      "name": "::backdrop",
      "prose": "Each element rendered in the top layer has a ::backdrop pseudo-element, for which it is the originating element.",
      "href": "https://drafts.csswg.org/css-position-4/#selectordef-backdrop",
      "syntax": "::backdrop",
      "extended": []
    },
    {
      "name": "::before",
      "prose": "Represents a styleable child pseudo-element immediately before the originating element’s actual content.",
      "href": "https://drafts.csswg.org/css-pseudo-4/#selectordef-before",
      "syntax": "::before",
      "extended": []
    },
    {
      "name": "::checkmark",
      "prose": "The ::checkmark pseudo-element represents an indicator of whether the item is checked, and is present on checkboxes, radios, and option elements.",
      "href": "https://drafts.csswg.org/css-forms-1/#selectordef-checkmark",
      "syntax": "::checkmark",
      "extended": []
    },
    {
      "name": "::clear-icon",
      "prose": "The ::clear-icon pseudo-element represents the portion of the input that allows the user to clear the input when clicked if provided by the user agent. With appearance: textfield, the user agent must not generate this part.",
      "href": "https://drafts.csswg.org/css-forms-1/#selectordef-clear-icon",
      "syntax": "::clear-icon",
      "extended": []
    },
    {
      "name": "::color-swatch",
      "prose": "The ::color-swatch pseudo-element represents the portion of the control that displays the chosen color value.",
      "href": "https://drafts.csswg.org/css-forms-1/#selectordef-color-swatch",
      "syntax": "::color-swatch",
      "extended": []
    },
    {
      "name": "::column",
      "prose": "The ::column pseudo-element represents the individual columns in a multi-column container. It only exists on multi-column containers.",
      "href": "https://drafts.csswg.org/css-multicol-2/#selectordef-column",
      "syntax": "::column",
      "extended": []
    },
    {
      "name": "::cue",
      "prose": "The ::cue pseudo-element (with no argument) matches any list of WebVTT Node Objects constructed for the matched element, with the exception that the properties corresponding to the background shorthand must be applied to the WebVTT cue background box rather than the list of WebVTT Node Objects.",
      "href": "https://w3c.github.io/webvtt/#selectordef-cue",
      "syntax": "::cue",
      "extended": []
    },
    {
      "name": "::cue-region",
      "prose": "The ::cue-region pseudo-element (with no argument) matches any list of WebVTT region objects constructed for the matched element.",
      "href": "https://w3c.github.io/webvtt/#selectordef-cue-region",
      "syntax": "::cue-region",
      "extended": []
    },
    {
      "name": "::cue-region()",
      "href": "https://w3c.github.io/webvtt/#selectordef-cue-region-selector",
      "syntax": "::cue-region(selector)",
      "extended": []
    },
    {
      "name": "::cue()",
      "href": "https://w3c.github.io/webvtt/#selectordef-cue-selector",
      "syntax": "::cue(selector)",
      "extended": []
    },
    {
      "name": "::details-content",
      "prose": "The ::details-content pseudo-element targets the additional information in a details element that can be expanded or collapsed. It is an element-backed pseudo-element.",
      "href": "https://drafts.csswg.org/css-pseudo-4/#selectordef-details-content",
      "syntax": "::details-content",
      "extended": []
    },
    {
      "name": "::field-component",
      "prose": "The ::field-component pseudo-element represents the portions of the control that contain the date/time component values.",
      "href": "https://drafts.csswg.org/css-forms-1/#selectordef-field-component",
      "syntax": "::field-component",
      "extended": []
    },
    {
      "name": "::field-separator",
      "prose": "The ::field-separator pseudo-element represents the portions of the control that separate the date/time component values if the user agent provides those portions.",
      "href": "https://drafts.csswg.org/css-forms-1/#selectordef-field-separator",
      "syntax": "::field-separator",
      "extended": []
    },
    {
      "name": "::field-text",
      "prose": "The ::field-text pseudo-element represents the portion of the input that contains the editable text.",
      "href": "https://drafts.csswg.org/css-forms-1/#selectordef-field-text",
      "syntax": "::field-text",
      "extended": []
    },
    {
      "name": "::file-selector-button",
      "prose": "The ::file-selector-button pseudo-element represents the button used to open a file picker, if the UA renders such a button.",
      "href": "https://drafts.csswg.org/css-forms-1/#selectordef-file-selector-button",
      "syntax": "::file-selector-button",
      "extended": []
    },
    {
      "name": "::first-letter",
      "prose": "The ::first-letter pseudo-element represents the first Letter, Number, or Symbol (Unicode category L*, N*, or S*) typographic character unit on the first formatted line of its originating element (the first letter) as well as its associated punctuation. Collectively, this text is the first-letter text. The ::first-letter pseudo-element can be used to create “initial caps” and “drop caps”, which are common typographic effects.",
      "href": "https://drafts.csswg.org/css-pseudo-4/#selectordef-first-letter",
      "syntax": "::first-letter",
      "extended": []
    },
    {
      "name": "::first-line",
      "prose": "The ::first-line pseudo-element represents the contents of the first formatted line of its originating element.",
      "href": "https://drafts.csswg.org/css-pseudo-4/#selectordef-first-line",
      "syntax": "::first-line",
      "extended": []
    },
    {
      "name": "::grammar-error",
      "prose": "The ::grammar-error pseudo-element represents a portion of text that has been flagged by the user agent as grammatically incorrect.",
      "href": "https://drafts.csswg.org/css-pseudo-4/#selectordef-grammar-error",
      "syntax": "::grammar-error",
      "extended": []
    },
    {
      "name": "::highlight()",
      "href": "https://drafts.csswg.org/css-pseudo-4/#selectordef-highlight-custom-ident",
      "syntax": "::highlight(<custom-ident>)",
      "extended": []
    },
    {
      "name": "::marker",
      "prose": "The ::marker pseudo-element represents the automatically generated marker box of a list item. (See [CSS-DISPLAY-3] and [CSS-LISTS-3].)",
      "href": "https://drafts.csswg.org/css-pseudo-4/#selectordef-marker",
      "syntax": "::marker",
      "extended": []
    },
    {
      "name": "::nth-fragment()",
      "prose": "The ::nth-fragment() pseudo-element is a pseudo-element that describes some of the fragment boxes generated by an element. The argument to the pseudo-element takes the same syntax as the argument to the :nth-child() pseudo-class defined in [SELECT], and has the same meaning except that the number is relative to fragment boxes generated by the element instead of siblings of the element.",
      "href": "https://drafts.csswg.org/css-overflow-5/#selectordef-nth-fragment",
      "extended": []
    },
    {
      "name": "::part()",
      "prose": "The ::part() pseudo-element allows you to select elements that have been exposed via a part attribute. The syntax is:",
      "href": "https://drafts.csswg.org/css-shadow-1/#selectordef-part",
      "syntax": "::part( <ident>+ )",
      "extended": []
    },
    {
      "name": "::picker-icon",
      "prose": "The ::picker-icon pseudo-element represents the part of the control that represents the icon denoting the presence of the picker. It is only generated when the originating element has basic appearance and if it opens a picker. It is a fully styleable pseudo-element and inherits from its originating element.",
      "href": "https://drafts.csswg.org/css-forms-1/#selectordef-picker-icon",
      "syntax": "::picker-icon",
      "extended": []
    },
    {
      "name": "::picker()",
      "prose": "The ::picker() pseudo-element represents the part of the form control that pops out of the page.",
      "href": "https://drafts.csswg.org/css-forms-1/#selectordef-picker",
      "syntax": "::picker( <form-control-identifier>+ )",
      "extended": []
    },
    {
      "name": "::placeholder",
      "prose": "The ::placeholder pseudo-element represents the portion of the input that contains the placeholder text.",
      "href": "https://drafts.csswg.org/css-forms-1/#selectordef-placeholder",
      "syntax": "::placeholder",
      "extended": []
    },
    {
      "name": "::reveal-icon",
      "prose": "The ::reveal-icon pseudo-element represents the portion of the input that allows the user to temporarily disable obscuring of sensitive text input when clicked if provided by the user agent. User agents providing ::reveal-icon may choose to remove it in some circumstances to help protect sensitive text input from being revealed unintentionally.",
      "href": "https://drafts.csswg.org/css-forms-1/#selectordef-reveal-icon",
      "syntax": "::reveal-icon",
      "extended": []
    },
    {
      "name": "::scroll-button()",
      "href": "https://drafts.csswg.org/css-overflow-5/#selectordef-scroll-button---scroll-button-direction",
      "syntax": "::scroll-button( '*' | <scroll-button-direction> )",
      "extended": []
    },
    {
      "name": "::scroll-marker",
      "prose": "When the computed content value of a ::scroll-marker pseudo-element is not none and its nearest ancestor scroll container scroll container has a computed scroll-marker-group property that is not none, the pseudo-element generates a box attached as a child of the ::scroll-marker-group pseudo-element’s generated box on its nearest ancestor scroll container. These boxes are added in the tree order of their originating element.",
      "href": "https://drafts.csswg.org/css-overflow-5/#selectordef-scroll-marker",
      "syntax": "::scroll-marker",
      "extended": []
    },
    {
      "name": "::scroll-marker-group",
      "prose": "The ::scroll-marker-group fully styleable pseudo-element is generated by a scroll container element having a computed scroll-marker-group property that is not none.",
      "href": "https://drafts.csswg.org/css-overflow-5/#selectordef-scroll-marker-group",
      "syntax": "::scroll-marker-group",
      "extended": []
    },
    {
      "name": "::search-text",
      "prose": "The ::search-text pseudo-element represents text identified by the user agent’s find-in-page feature. Since not all UAs style matched text in ways expressible with the highlight pseudo-elements, this pseudo-element is optional to implement. The :current pseudo-class (but not ::current()) may be combined with ::search-text to represent the currently focused match instance. The :past and :future pseudo-classes are reserved for analogous use in the future. Any unsupported combination of these pseudo-classes with ::search-text must be treated as invalid.",
      "href": "https://drafts.csswg.org/css-pseudo-4/#selectordef-search-text",
      "syntax": "::search-text",
      "extended": []
    },
    {
      "name": "::selection",
      "prose": "The ::selection pseudo-element represents the portion of a document that has been selected as the target or object of some possible future user-agent operation(s). It applies, for example, to selected text within an editable text field, which would be copied by a copy operation or replaced by a paste operation.",
      "href": "https://drafts.csswg.org/css-pseudo-4/#selectordef-selection",
      "syntax": "::selection",
      "extended": []
    },
    {
      "name": "::slider-fill",
      "prose": "The ::slider-fill pseudo-element represents the portion containing the progressed portion of the control. When the progress of control is indeterminate (like with <progress>), the user agent must give this portion an inline-size of zero.",
      "href": "https://drafts.csswg.org/css-forms-1/#selectordef-slider-fill",
      "syntax": "::slider-fill",
      "extended": []
    },
    {
      "name": "::slider-thumb",
      "prose": "The ::slider-thumb pseudo-element represents the portion that allows the user to adjust the progress of the control.",
      "href": "https://drafts.csswg.org/css-forms-1/#selectordef-slider-thumb",
      "syntax": "::slider-thumb",
      "extended": []
    },
    {
      "name": "::slider-track",
      "prose": "The ::slider-track pseudo-element represents the portion containing both the progressed and unprogressed portions of the control.",
      "href": "https://drafts.csswg.org/css-forms-1/#selectordef-slider-track",
      "syntax": "::slider-track",
      "extended": []
    },
    {
      "name": "::slotted()",
      "prose": "The ::slotted() pseudo-element represents the elements assigned, after flattening, to a slot. This pseudo-element only exists on slots.",
      "href": "https://drafts.csswg.org/css-shadow-1/#selectordef-slotted",
      "extended": []
    },
    {
      "name": "::spelling-error",
      "prose": "The ::spelling-error pseudo-element represents a portion of text that has been flagged by the user agent as misspelled.",
      "href": "https://drafts.csswg.org/css-pseudo-4/#selectordef-spelling-error",
      "syntax": "::spelling-error",
      "extended": []
    },
    {
      "name": "::step-control",
      "prose": "The ::step-control pseudo-element represents the portion of a number input that contains the up and down buttons.",
      "href": "https://drafts.csswg.org/css-forms-1/#selectordef-step-control",
      "syntax": "::step-control",
      "extended": []
    },
    {
      "name": "::step-down",
      "prose": "The ::step-down pseudo-element represents the button that decrements the value inside a number input when activated.",
      "href": "https://drafts.csswg.org/css-forms-1/#selectordef-step-down",
      "syntax": "::step-down",
      "extended": []
    },
    {
      "name": "::step-up",
      "prose": "The ::step-up pseudo-element represents the button that increments the value inside a number input when activated.",
      "href": "https://drafts.csswg.org/css-forms-1/#selectordef-step-up",
      "syntax": "::step-up",
      "extended": []
    },
    {
      "name": "::target-text",
      "prose": "The ::target-text pseudo-element represents text directly targeted by the document URL’s fragment, if any.",
      "href": "https://drafts.csswg.org/css-pseudo-4/#selectordef-target-text",
      "syntax": "::target-text",
      "extended": []
    },
    {
      "name": "::view-transition",
      "prose": "The ::view-transition pseudo-element is a tree-abiding pseudo-element that is also a pseudo-element root. If its originating element is the document’s document element, its containing block is the snapshot containing block.",
      "href": "https://drafts.csswg.org/css-view-transitions-2/#selectordef-view-transition",
      "syntax": "::view-transition",
      "extended": []
    },
    {
      "name": "::view-transition-group-children()",
      "prose": "The ::view-transition-group-children() pseudo-element is created when mandated by the view-transition-group property on either the element itself or on its contained element. It serves as a container for descendant view-transition-group() pseudo-elements. By default, it is sized to the same size as the corresponding view-transition-group() pseudo element. By default, it has a transparent border that matches the size and shape of the border on the element that caused this structure to be created.",
      "href": "https://drafts.csswg.org/css-view-transitions-2/#selectordef-view-transition-group-children",
      "extended": []
    },
    {
      "name": "::view-transition-group()",
      "prose": "The ::view-transition-group() pseudo-element is a named view transition pseudo-element that represents a matching named view transition capture. A ::view-transition-group() pseudo-element is generated for each view transition name as a child of the ::view-transition pseudo-element, and contains a corresponding ::view-transition-image-pair().",
      "href": "https://drafts.csswg.org/css-view-transitions-2/#selectordef-view-transition-group",
      "extended": []
    },
    {
      "name": "::view-transition-image-pair()",
      "prose": "The ::view-transition-image-pair() pseudo-element is a named view transition pseudo-element that represents a pair of corresponding old/new view transition captures. This pseudo-element is a child of the corresponding ::view-transition-group() pseudo-element and contains a corresponding ::view-transition-old() pseudo-element and/or a corresponding ::view-transition-new() pseudo-element (in that order).",
      "href": "https://drafts.csswg.org/css-view-transitions-2/#selectordef-view-transition-image-pair",
      "extended": []
    },
    {
      "name": "::view-transition-new()",
      "prose": "The ::view-transition-new() pseudo-element (like the analogous ::view-transition-old() pseudo-element) is an empty named view transition pseudo-element that represents a visual snapshot of the “new” state as a replaced element; it is omitted if there’s no “new” state to represent. Each ::view-transition-new() pseudo-element is a child of the corresponding ::view-transition-image-pair() pseudo-element.",
      "href": "https://drafts.csswg.org/css-view-transitions-2/#selectordef-view-transition-new",
      "extended": []
    },
    {
      "name": "::view-transition-old()",
      "prose": "The ::view-transition-old() pseudo-element is an empty named view transition pseudo-element that represents a visual snapshot of the “old” state as a replaced element; it is omitted if there’s no “old” state to represent. Each ::view-transition-old() pseudo-element is a child of the corresponding ::view-transition-image-pair() pseudo-element.",
      "href": "https://drafts.csswg.org/css-view-transitions-2/#selectordef-view-transition-old",
      "extended": []
    },
    {
      "name": ":active",
      "prose": "The :active pseudo-class applies while an element is being “activated” by the user, as defined by the host language; for example, while a hyperlink is being triggered.",
      "href": "https://drafts.csswg.org/selectors-4/#active-pseudo",
      "syntax": ":active",
      "extended": []
    },
    {
      "name": ":active-view-transition",
      "prose": "The :active-view-transition pseudo-class applies to the root element of the document, if it has an active view transition.",
      "href": "https://drafts.csswg.org/css-view-transitions-2/#active-view-transition-pseudo",
      "syntax": ":active-view-transition",
      "extended": []
    },
    {
      "name": ":active-view-transition-type()",
      "prose": "The :active-view-transition-type() pseudo-class applies to the root element of the document, if it has a matching active view transition. It has the following syntax definition:",
      "href": "https://drafts.csswg.org/css-view-transitions-2/#active-view-transition-type-pseudo",
      "extended": []
    },
    {
      "name": ":after",
      "href": "https://drafts.csswg.org/css2/#selectordef-after",
      "syntax": ":after",
      "extended": []
    },
    {
      "name": ":animated-image",
      "prose": "The :animated-image pseudo-class represents content image elements where a animated image has been loaded. For the animated-image pseudo-class to match, the image must not only be in a format that is capable of animation, but must also be an actually animated image.",
      "href": "https://drafts.csswg.org/css-image-animation-1/#selectordef-animated-image",
      "syntax": ":animated-image",
      "extended": []
    },
    {
      "name": ":any-link",
      "prose": "The :any-link pseudo-class represents an element that acts as the source anchor of a hyperlink. For example, in [HTML5], any a or area elements with an href attribute are hyperlinks, and thus match :any-link. It matches an element if the element would match either :link or :visited, and is equivalent to :is(:link, :visited).",
      "href": "https://drafts.csswg.org/selectors-4/#any-link-pseudo",
      "syntax": ":any-link",
      "extended": []
    },
    {
      "name": ":autofill",
      "prose": "The :autofill pseudo-class represents input elements that have been automatically filled by the user agent, and have not been subsequently altered by the user.",
      "href": "https://drafts.csswg.org/selectors-4/#selectordef-autofill",
      "syntax": ":autofill",
      "extended": []
    },
    {
      "name": ":before",
      "href": "https://drafts.csswg.org/css2/#selectordef-before",
      "syntax": ":before",
      "extended": []
    },
    {
      "name": ":blank",
      "prose": "The :blank pseudo-class applies to user-input elements whose input value is empty (consists of the empty string or otherwise null input).",
      "href": "https://drafts.csswg.org/selectors-5/#blank-pseudo",
      "syntax": ":blank",
      "extended": []
    },
    {
      "name": ":buffering",
      "prose": "The :buffering pseudo-class represents an element that is capable of being “played” or “paused”, when that element cannot continue playing because it is actively attempting to obtain media data but has not yet obtained enough data to resume playback. (Note that the element is still considered to be “playing” when it is “buffering”. Whenever :buffering matches an element, :playing also matches the element.)",
      "href": "https://drafts.csswg.org/selectors-4/#selectordef-buffering",
      "syntax": ":buffering",
      "extended": []
    },
    {
      "name": ":checked",
      "prose": "When such elements are toggled “on” the :checked pseudo-class applies. For example, [HTML5] defines that checked checkboxes, radio buttons, and selected <option> elements match :checked. Similarly, when such elements are toggled “off”, the :unchecked pseudo-class applies.",
      "href": "https://drafts.csswg.org/selectors-4/#checked-pseudo",
      "syntax": ":checked",
      "extended": []
    },
    {
      "name": ":current",
      "prose": "The :current pseudo-class represents the element, or an ancestor of the element, that is currently being displayed.",
      "href": "https://drafts.csswg.org/selectors-5/#current-pseudo",
      "syntax": ":current",
      "extended": []
    },
    {
      "name": ":current()",
      "prose": "Its alternate form :current() takes a list of compound selectors as its argument: it represents the :current element that matches the argument or, if that does not match, the innermost ancestor of the :current element that does. (If neither the :current element nor its ancestors match the argument, then the selector does not represent anything.)",
      "href": "https://drafts.csswg.org/selectors-5/#selectordef-current",
      "extended": []
    },
    {
      "name": ":default",
      "prose": "The :default pseudo-class applies to the one or more UI elements that are the default among a set of similar elements. Typically applies to context menu items, buttons and select lists/menus.",
      "href": "https://drafts.csswg.org/selectors-4/#default-pseudo",
      "syntax": ":default",
      "extended": []
    },
    {
      "name": ":defined",
      "prose": "In some host languages, elements can have a distinction between being “defined”/“constructed” or not. The :defined pseudo-class matches elements that are fully defined, as dictated by the host language.",
      "href": "https://drafts.csswg.org/selectors-4/#defined-pseudo",
      "syntax": ":defined",
      "extended": []
    },
    {
      "name": ":dir()",
      "prose": "The :dir() pseudo-class allows the author to write selectors that represent an element based on its directionality as determined by the document language. For example, [HTML5] defines how to determine the directionality of an element, based on a combination of the dir attribute, the surrounding text, and other factors. As another example, the its:dir and dirRule element of the Internationalization Tag Set [ITS20] are able to define the directionality of an element in [XML10].",
      "href": "https://drafts.csswg.org/selectors-4/#dir-pseudo",
      "extended": []
    },
    {
      "name": ":disabled",
      "prose": "Conversely, the :disabled pseudo-class represents user interface elements that are in a disabled state; such elements must have a corresponding enabled state.",
      "href": "https://drafts.csswg.org/selectors-4/#disabled-pseudo",
      "syntax": ":disabled",
      "extended": []
    },
    {
      "name": ":empty",
      "prose": "The :empty pseudo-class represents an element that has no children except, optionally, document white space characters. In terms of the document tree, only element nodes and content nodes (such as [DOM] text nodes, and entity references) whose data has a non-zero length must be considered as affecting emptiness; comments, processing instructions, and other nodes must not affect whether an element is considered empty or not.",
      "href": "https://drafts.csswg.org/selectors-4/#empty-pseudo",
      "syntax": ":empty",
      "extended": []
    },
    {
      "name": ":enabled",
      "prose": "The :enabled pseudo-class represents user interface elements that are in an enabled state; such elements must have a corresponding disabled state.",
      "href": "https://drafts.csswg.org/selectors-4/#enabled-pseudo",
      "syntax": ":enabled",
      "extended": []
    },
    {
      "name": ":first",
      "prose": "Authors may also specify style for the first page of a document with the :first pseudo-class:",
      "href": "https://drafts.csswg.org/css2/#selectordef-first",
      "syntax": ":first",
      "extended": []
    },
    {
      "name": ":first-child",
      "prose": "The :first-child pseudo-class represents an element that is first among its inclusive siblings. Same as :nth-child(1).",
      "href": "https://drafts.csswg.org/selectors-4/#first-child-pseudo",
      "syntax": ":first-child",
      "extended": []
    },
    {
      "name": ":first-letter",
      "href": "https://drafts.csswg.org/css2/#selectordef-first-letter",
      "syntax": ":first-letter",
      "extended": []
    },
    {
      "name": ":first-line",
      "href": "https://drafts.csswg.org/css2/#selectordef-first-line",
      "syntax": ":first-line",
      "extended": []
    },
    {
      "name": ":first-of-page",
      "prose": "Same as :nth-of-page(n), but where n = 1 (it is the first matched element on the page).",
      "href": "https://drafts.csswg.org/css-gcpm-4/#selectordef-first-of-page",
      "syntax": ":first-of-page",
      "extended": []
    },
    {
      "name": ":first-of-type",
      "prose": "The :first-of-type pseudo-class represents the same element as :nth-of-type(1).",
      "href": "https://drafts.csswg.org/selectors-4/#first-of-type-pseudo",
      "syntax": ":first-of-type",
      "extended": []
    },
    {
      "name": ":focus",
      "prose": "The :focus pseudo-class applies while an element (or pseudo-element) has the focus (accepts keyboard or other forms of input).",
      "href": "https://drafts.csswg.org/selectors-4/#focus-pseudo",
      "syntax": ":focus",
      "extended": []
    },
    {
      "name": ":focus-visible",
      "prose": "While the :focus pseudo-class always matches the currently-focused element, UAs only sometimes visibly indicate focus (such as by drawing a “focus ring”), instead using a variety of heuristics to visibly indicate the focus only when it would be most helpful to the user. The :focus-visible pseudo-class matches a focused element (or pseudo-element) in these situations only, allowing authors to change the appearance of the focus indicator without changing when a focus indicator appears.",
      "href": "https://drafts.csswg.org/selectors-4/#focus-visible-pseudo",
      "syntax": ":focus-visible",
      "extended": []
    },
    {
      "name": ":focus-within",
      "prose": "The :focus-within pseudo-class applies to any element (or pseudo-element) for which the :focus pseudo-class applies, as well as to an element (or pseudo-element) whose descendant in the flat tree (including non-element nodes, such as text nodes) matches the conditions for matching :focus.",
      "href": "https://drafts.csswg.org/selectors-4/#focus-within-pseudo",
      "syntax": ":focus-within",
      "extended": []
    },
    {
      "name": ":fullscreen",
      "prose": "The :fullscreen pseudo-class represents an element which is displayed in a mode that takes up most (usually all) of the screen, such as that defined by the Fullscreen API. [FULLSCREEN]",
      "href": "https://drafts.csswg.org/selectors-4/#selectordef-fullscreen",
      "syntax": ":fullscreen",
      "extended": []
    },
    {
      "name": ":future",
      "prose": "The :future pseudo-class represents any element that is defined to occur entirely after a :current element. For example, the WebVTT spec defines the :future pseudo-class relative to the current playback position of a media element. If a time-based order of elements is not defined by the document language, then this represents any element that is a (possibly indirect) next sibling of a :current element.",
      "href": "https://drafts.csswg.org/selectors-5/#future-pseudo",
      "syntax": ":future",
      "extended": []
    },
    {
      "name": ":has-slotted",
      "prose": "The :has-slotted pseudo-class matches slot elements which have a non-empty list of flattened slotted nodes.",
      "href": "https://drafts.csswg.org/css-shadow-1/#selectordef-has-slotted",
      "syntax": ":has-slotted",
      "extended": []
    },
    {
      "name": ":has()",
      "prose": "The relational pseudo-class, :has(), is a functional pseudo-class taking a <relative-selector-list> as an argument. It represents an element if any of the relative selectors would match at least one element when anchored against this element.",
      "href": "https://drafts.csswg.org/selectors-4/#has-pseudo",
      "extended": []
    },
    {
      "name": ":heading",
      "prose": "The (non-functional) :heading pseudo-class matches an element which has a heading level, with respect to the semantics defined by the document language (e.g. [HTML5]).",
      "href": "https://drafts.csswg.org/selectors-5/#heading-pseudo",
      "syntax": ":heading",
      "extended": []
    },
    {
      "name": ":heading()",
      "prose": "As a functional pseudo-class, :heading() notation represents elements that have a heading level among matching any of the provided integer values. The syntax is:",
      "href": "https://drafts.csswg.org/selectors-5/#heading-functional-pseudo",
      "syntax": ":heading( <level># )",
      "extended": []
    },
    {
      "name": ":high-value",
      "prose": "The :high-value pseudo-class matches on a meter element when its value is over the value specified by the high HTML attribute.",
      "href": "https://drafts.csswg.org/css-forms-1/#selectordef-high-value",
      "syntax": ":high-value",
      "extended": []
    },
    {
      "name": ":host",
      "prose": "The :host pseudo-class, when evaluated in the context of a shadow tree, matches the shadow tree’s shadow host. In any other context, it matches nothing.",
      "href": "https://drafts.csswg.org/css-shadow-1/#selectordef-host",
      "syntax": ":host",
      "extended": []
    },
    {
      "name": ":host-context()",
      "prose": "The :host-context() functional pseudo-class tests whether there is an ancestor, outside the shadow tree, which matches a particular selector. Its syntax is:",
      "href": "https://drafts.csswg.org/css-shadow-1/#selectordef-host-context",
      "extended": []
    },
    {
      "name": ":host()",
      "prose": "The :host() function pseudo-class has the syntax:",
      "href": "https://drafts.csswg.org/css-shadow-1/#selectordef-host-function",
      "extended": []
    },
    {
      "name": ":hover",
      "prose": "The :hover pseudo-class applies while the user designates an element (or pseudo-element) with a pointing device, but does not necessarily activate it. For example, a visual user agent could apply this pseudo-class when the cursor (mouse pointer) hovers over a box generated by the element. Interactive user agents that cannot detect hovering due to hardware limitations (e.g., a pen device that does not detect hovering) are still conforming; the selector will simply never match in such a UA.",
      "href": "https://drafts.csswg.org/selectors-4/#hover-pseudo",
      "syntax": ":hover",
      "extended": []
    },
    {
      "name": ":in-range",
      "prose": "The :in-range and :out-of-range pseudo-classes apply only to elements that have range limitations. An element is :in-range or :out-of-range when the value that the element is bound to is in range or out of range with respect to its range limits as defined by the document language. An element that lacks data range limits or is not a form control is neither :in-range nor :out-of-range. E.g. a slider element with a value of 11 presented as a slider control that only represents the values from 1-10 is :out-of-range. Another example is a menu element with a value of \"E\" that happens to be presented in a popup menu that only has choices \"A\", \"B\" and \"C\".",
      "href": "https://drafts.csswg.org/selectors-4/#in-range-pseudo",
      "syntax": ":in-range",
      "extended": []
    },
    {
      "name": ":indeterminate",
      "prose": "If an element that could match :checked or :unchecked is neither \"on\" nor \"off\", the :indeterminate pseudo-class applies. :indeterminate also matches elements which do not have a notion of being \"checked\", but whose \"value\" is still in an indeterminate state, such as a progress meter whose progress percentage is unknown.",
      "href": "https://drafts.csswg.org/selectors-4/#indeterminate-pseudo",
      "syntax": ":indeterminate",
      "extended": []
    },
    {
      "name": ":interest-source",
      "prose": "The :interest-source pseudo-class applies to an interest source element that the user is currently \"showing interest\" in, and the :interest-target pseudo-class applies to the associated interest target of an element matching :interest-source.",
      "href": "https://drafts.csswg.org/selectors-5/#selectordef-interest-source",
      "syntax": ":interest-source",
      "extended": []
    },
    {
      "name": ":interest-target",
      "prose": "The :interest-source pseudo-class applies to an interest source element that the user is currently \"showing interest\" in, and the :interest-target pseudo-class applies to the associated interest target of an element matching :interest-source.",
      "href": "https://drafts.csswg.org/selectors-5/#selectordef-interest-target",
      "syntax": ":interest-target",
      "extended": []
    },
    {
      "name": ":invalid",
      "prose": "An element is :valid or :invalid when its contents or value is, respectively, valid or invalid with respect to data validity semantics defined by the document language (e.g. [XFORMS11] or [HTML5]). An element which lacks data validity semantics is neither :valid nor :invalid.",
      "href": "https://drafts.csswg.org/selectors-4/#invalid-pseudo",
      "syntax": ":invalid",
      "extended": []
    },
    {
      "name": ":is()",
      "prose": "The matches-any pseudo-class, :is(), is a functional pseudo-class taking a <forgiving-selector-list> as its sole argument.",
      "href": "https://drafts.csswg.org/selectors-4/#matches-pseudo",
      "extended": []
    },
    {
      "name": ":lang()",
      "prose": "If the document language specifies how the (human) content language of an element is determined, it is possible to write selectors that represent an element based on its content language. The :lang() pseudo-class, which accepts a comma-separated list of one or more language ranges, represents an element whose content language is one of the languages listed in its argument. Each language range in :lang() is an extended language range, as defined in BCP 47, and must be a valid CSS <ident> or <string>. (Thus language ranges containing asterisks, for example, must be either correctly escaped or quoted as strings, e.g. :lang(\\*-Latn) or :lang(\"*-Latn\").)",
      "href": "https://drafts.csswg.org/selectors-4/#lang-pseudo",
      "extended": []
    },
    {
      "name": ":last-child",
      "prose": "The :last-child pseudo-class represents an element that is last among its inclusive siblings. Same as :nth-last-child(1).",
      "href": "https://drafts.csswg.org/selectors-4/#last-child-pseudo",
      "syntax": ":last-child",
      "extended": []
    },
    {
      "name": ":last-of-page",
      "prose": "The element is the last matched element on the page.",
      "href": "https://drafts.csswg.org/css-gcpm-4/#selectordef-last-of-page",
      "syntax": ":last-of-page",
      "extended": []
    },
    {
      "name": ":last-of-type",
      "prose": "The :last-of-type pseudo-class represents the same element as :nth-last-of-type(1).",
      "href": "https://drafts.csswg.org/selectors-4/#last-of-type-pseudo",
      "syntax": ":last-of-type",
      "extended": []
    },
    {
      "name": ":left",
      "prose": "All pages are automatically classified by user agents into either the :left or :right pseudo-class. Whether the first page of a document is :left or :right depends on the major writing direction of the root element. For example, the first page of a document with a left-to-right major writing direction would be a :right page, and the first page of a document with a right-to-left major writing direction would be a :left page. To explicitly force a document to begin printing on a left or right page, authors can insert a page break before the first generated box.",
      "href": "https://drafts.csswg.org/css2/#selectordef-left",
      "syntax": ":left",
      "extended": []
    },
    {
      "name": ":link",
      "prose": "User agents commonly display unvisited hyperlinks differently from previously visited ones. Selectors provides the pseudo-classes :link and :visited to distinguish them:",
      "href": "https://drafts.csswg.org/selectors-4/#link-pseudo",
      "syntax": ":link",
      "extended": []
    },
    {
      "name": ":link-to()",
      "prose": "This specification defines a new :link-to() functional pseudo-class that matches link elements that link to a certain URL.",
      "href": "https://drafts.csswg.org/css-navigation-1/#link-to-pseudo",
      "extended": []
    },
    {
      "name": ":local-link",
      "prose": "The :local-link pseudo-class allows authors to style hyperlinks based on the users current location within a site and to differentiate site-internal versus site-external links.",
      "href": "https://drafts.csswg.org/selectors-5/#local-link-pseudo",
      "syntax": ":local-link",
      "extended": []
    },
    {
      "name": ":low-value",
      "prose": "The :low-value pseudo-class matches on a meter element when its value is under the value specified by the low HTML attribute.",
      "href": "https://drafts.csswg.org/css-forms-1/#selectordef-low-value",
      "syntax": ":low-value",
      "extended": []
    },
    {
      "name": ":matches()",
      "prose": "As previous drafts of this specification used the name :matches() for this pseudo-class, UAs may additionally implement this obsolete name as a legacy selector alias for :is() if needed for backwards-compatibility.",
      "href": "https://drafts.csswg.org/selectors-4/#selectordef-matches",
      "extended": []
    },
    {
      "name": ":modal",
      "prose": "The :modal pseudo-class represents an element which is in a state that excludes all interaction with elements outside it until it has been dismissed. Multiple elements can be :modal simultaneously, with only one of them active (able to receive input).",
      "href": "https://drafts.csswg.org/selectors-4/#selectordef-modal",
      "syntax": ":modal",
      "extended": []
    },
    {
      "name": ":muted",
      "prose": "The :muted pseudo-class represents an element that is capable of making sound, but is currently “muted“ (forced silent). (For the audio and video elements of HTML, see muted. [HTML])",
      "href": "https://drafts.csswg.org/selectors-4/#selectordef-muted",
      "syntax": ":muted",
      "extended": []
    },
    {
      "name": ":nav-source",
      "prose": "This specification defines a :nav-source pseudo-class, matching the element that triggered the current navigation. It is a CSS reflection of the sourceElement property in the Navigation API. The trigger element can be an [^a^], [^area^], [^form^], a [^input/type/submit^] input, or a [^button^].",
      "href": "https://drafts.csswg.org/css-navigation-1/#nav-source-pseudo",
      "syntax": ":nav-source",
      "extended": []
    },
    {
      "name": ":not()",
      "prose": "The negation pseudo-class, :not(), is a functional pseudo-class taking a <complex-real-selector-list> as an argument. It represents an element that is not represented by its argument.",
      "href": "https://drafts.csswg.org/selectors-4/#negation-pseudo",
      "extended": []
    },
    {
      "name": ":nth-child()",
      "href": "https://drafts.csswg.org/selectors-4/#nth-child-pseudo",
      "syntax": ":nth-child(An+B [of S]? )",
      "extended": []
    },
    {
      "name": ":nth-col()",
      "href": "https://drafts.csswg.org/selectors-5/#nth-col-pseudo",
      "syntax": ":nth-col(An+B)",
      "extended": []
    },
    {
      "name": ":nth-last-child()",
      "href": "https://drafts.csswg.org/selectors-4/#nth-last-child-pseudo",
      "syntax": ":nth-last-child(An+B [of S]? )",
      "extended": []
    },
    {
      "name": ":nth-last-col()",
      "href": "https://drafts.csswg.org/selectors-5/#nth-last-col-pseudo",
      "syntax": ":nth-last-col(An+B)",
      "extended": []
    },
    {
      "name": ":nth-last-of-type()",
      "href": "https://drafts.csswg.org/selectors-4/#nth-last-of-type-pseudo",
      "syntax": ":nth-last-of-type(An+B)",
      "extended": []
    },
    {
      "name": ":nth-of-page()",
      "href": "https://drafts.csswg.org/css-gcpm-4/#selectordef-nth-of-page-n",
      "syntax": ":nth-of-page(n)",
      "extended": []
    },
    {
      "name": ":nth-of-type()",
      "href": "https://drafts.csswg.org/selectors-4/#nth-of-type-pseudo",
      "syntax": ":nth-of-type(An+B)",
      "extended": []
    },
    {
      "name": ":nth()",
      "href": "https://drafts.csswg.org/css-gcpm-3/#selectordef-nth",
      "syntax": ":nth( <a-n-plus-b> [of <custom-ident>]? )",
      "extended": []
    },
    {
      "name": ":only-child",
      "prose": "The :only-child pseudo-class represents an element that has no siblings. Same as :first-child:last-child or :nth-child(1):nth-last-child(1), but with a lower specificity.",
      "href": "https://drafts.csswg.org/selectors-4/#only-child-pseudo",
      "syntax": ":only-child",
      "extended": []
    },
    {
      "name": ":only-of-type",
      "prose": "The :only-of-type pseudo-class represents the same element as :first-of-type:last-of-type.",
      "href": "https://drafts.csswg.org/selectors-4/#only-of-type-pseudo",
      "syntax": ":only-of-type",
      "extended": []
    },
    {
      "name": ":open",
      "prose": "The :open pseudo-class represents an element that has both “open” and “closed” states, and which is currently in the “open” state.",
      "href": "https://drafts.csswg.org/selectors-4/#selectordef-open",
      "syntax": ":open",
      "extended": []
    },
    {
      "name": ":optimal-value",
      "prose": "The :optimal-value pseudo-class matches on a meter element when its value is in the range determined by the optimum / low / high HTML attributes.",
      "href": "https://drafts.csswg.org/css-forms-1/#selectordef-optimal-value",
      "syntax": ":optimal-value",
      "extended": []
    },
    {
      "name": ":optional",
      "prose": "A form element is :required or :optional if a value for it is, respectively, required or optional before the form it belongs to can be validly submitted. Elements that are not form elements are neither required nor optional.",
      "href": "https://drafts.csswg.org/selectors-4/#optional-pseudo",
      "syntax": ":optional",
      "extended": []
    },
    {
      "name": ":out-of-range",
      "prose": "The :in-range and :out-of-range pseudo-classes apply only to elements that have range limitations. An element is :in-range or :out-of-range when the value that the element is bound to is in range or out of range with respect to its range limits as defined by the document language. An element that lacks data range limits or is not a form control is neither :in-range nor :out-of-range. E.g. a slider element with a value of 11 presented as a slider control that only represents the values from 1-10 is :out-of-range. Another example is a menu element with a value of \"E\" that happens to be presented in a popup menu that only has choices \"A\", \"B\" and \"C\".",
      "href": "https://drafts.csswg.org/selectors-4/#out-of-range-pseudo",
      "syntax": ":out-of-range",
      "extended": []
    },
    {
      "name": ":past",
      "prose": "The :past pseudo-class represents any element that is defined to occur entirely prior to a :current element. For example, the WebVTT spec defines the :past pseudo-class relative to the current playback position of a media element. If a time-based order of elements is not defined by the document language, then this represents any element that is a (possibly indirect) previous sibling of a :current element.",
      "href": "https://drafts.csswg.org/selectors-5/#past-pseudo",
      "syntax": ":past",
      "extended": []
    },
    {
      "name": ":paused",
      "prose": "The :paused pseudo-class represents an element that is capable of being “played” or “paused”, when that element is “paused” (i.e. not ”playing”). (This includes both an explicit “paused” state, and other non-playing states like “loaded, hasn’t been activated yet”, etc.)",
      "href": "https://drafts.csswg.org/selectors-4/#selectordef-paused",
      "syntax": ":paused",
      "extended": []
    },
    {
      "name": ":picture-in-picture",
      "prose": "The :picture-in-picture pseudo-class represents an element whose contents are being displayed in a “picture-in-picture” mode (i.e. displayed in a window confined to part of the screen and overlaying other content) rather than embedded in the document. For example, this pseudo-class can be used to style a video element’s box while its contents are being played in an overlaid window using the Picture-in-Picture API. [picture-in-picture]",
      "href": "https://drafts.csswg.org/selectors-4/#selectordef-picture-in-picture",
      "syntax": ":picture-in-picture",
      "extended": []
    },
    {
      "name": ":placeholder-shown",
      "prose": "Input elements can sometimes show placeholder text as a hint to the user on what to type in. See, for example, the placeholder attribute in [HTML5]. The :placeholder-shown pseudo-class matches an input element that is showing such placeholder text, whether that text is given by an attribute or a real element, or is otherwise implied by the UA.",
      "href": "https://drafts.csswg.org/selectors-4/#placeholder-shown-pseudo",
      "syntax": ":placeholder-shown",
      "extended": []
    },
    {
      "name": ":playing",
      "prose": "The :playing pseudo-class represents an element that is capable of being “played” or “paused”, when that element is “playing”. (This includes both when the element is explicitly playing, and when it’s temporarily stopped for some reason not connected to user intent, but will automatically resume when that reason is resolved, such as a “buffering” or “stalled” state.)",
      "href": "https://drafts.csswg.org/selectors-4/#selectordef-playing",
      "syntax": ":playing",
      "extended": []
    },
    {
      "name": ":popover-open",
      "prose": "The :popover-open pseudo-class represents an element that has both “popover-showing” and “popover-hidden” states and which is currently in the “popover-showing” state.",
      "href": "https://drafts.csswg.org/selectors-4/#selectordef-popover-open",
      "syntax": ":popover-open",
      "extended": []
    },
    {
      "name": ":read-only",
      "prose": "An element matches :read-write if it is user-alterable, as defined by the document language. Otherwise, it is :read-only.",
      "href": "https://drafts.csswg.org/selectors-4/#read-only-pseudo",
      "syntax": ":read-only",
      "extended": []
    },
    {
      "name": ":read-write",
      "prose": "An element matches :read-write if it is user-alterable, as defined by the document language. Otherwise, it is :read-only.",
      "href": "https://drafts.csswg.org/selectors-4/#read-write-pseudo",
      "syntax": ":read-write",
      "extended": []
    },
    {
      "name": ":required",
      "prose": "A form element is :required or :optional if a value for it is, respectively, required or optional before the form it belongs to can be validly submitted. Elements that are not form elements are neither required nor optional.",
      "href": "https://drafts.csswg.org/selectors-4/#required-pseudo",
      "syntax": ":required",
      "extended": []
    },
    {
      "name": ":right",
      "prose": "All pages are automatically classified by user agents into either the :left or :right pseudo-class. Whether the first page of a document is :left or :right depends on the major writing direction of the root element. For example, the first page of a document with a left-to-right major writing direction would be a :right page, and the first page of a document with a right-to-left major writing direction would be a :left page. To explicitly force a document to begin printing on a left or right page, authors can insert a page break before the first generated box.",
      "href": "https://drafts.csswg.org/css2/#selectordef-right",
      "syntax": ":right",
      "extended": []
    },
    {
      "name": ":root",
      "prose": "The :root pseudo-class represents an element that is the root of the document.",
      "href": "https://drafts.csswg.org/selectors-4/#root-pseudo",
      "syntax": ":root",
      "extended": []
    },
    {
      "name": ":scope",
      "prose": "In some contexts, selectors are matched with respect to one or more scoping roots, such as when calling the querySelector() method in [DOM]. The :scope pseudo-class represents this scoping root, and may be either a true element or a virtual one (such as a DocumentFragment).",
      "href": "https://drafts.csswg.org/selectors-4/#scope-pseudo",
      "syntax": ":scope",
      "extended": []
    },
    {
      "name": ":seeking",
      "prose": "The :seeking pseudo-class represents an element that is capable of ”seeking” when that element is ”seeking”. (For the audio and video elements of HTML, see HTML § 4.8.11.9 Seeking.)",
      "href": "https://drafts.csswg.org/selectors-4/#selectordef-seeking",
      "syntax": ":seeking",
      "extended": []
    },
    {
      "name": ":snapped",
      "prose": "The :snapped pseudo-class matches any snap targets, regardless of axis. The longform physical and logical pseudo-class selectors allow for more finite snapped children styling as they can target an individual axis.",
      "href": "https://drafts.csswg.org/css-scroll-snap-2/#selectordef-snapped",
      "syntax": ":snapped",
      "extended": []
    },
    {
      "name": ":snapped-block",
      "prose": "Matches the child snapped on the block axis.",
      "href": "https://drafts.csswg.org/css-scroll-snap-2/#selectordef-snapped-block",
      "syntax": ":snapped-block",
      "extended": []
    },
    {
      "name": ":snapped-inline",
      "prose": "Matches the child snapped on the inline axis.",
      "href": "https://drafts.csswg.org/css-scroll-snap-2/#selectordef-snapped-inline",
      "syntax": ":snapped-inline",
      "extended": []
    },
    {
      "name": ":snapped-x",
      "prose": "Matches the child snapped on the horizontal axis.",
      "href": "https://drafts.csswg.org/css-scroll-snap-2/#selectordef-snapped-x",
      "syntax": ":snapped-x",
      "extended": []
    },
    {
      "name": ":snapped-y",
      "prose": "Matches the child snapped on the vertical axis.",
      "href": "https://drafts.csswg.org/css-scroll-snap-2/#selectordef-snapped-y",
      "syntax": ":snapped-y",
      "extended": []
    },
    {
      "name": ":stalled",
      "prose": "The :stalled pseudo-class represents an element when that element cannot continue playing because it is actively attempting to obtain media data but it has failed to receive any data for some amount of time. For the audio and video elements of HTML, this amount of time is the media element stall timeout. [HTML] (Note that, like with the :buffering pseudo-class, the element is still considered to be “playing” when it is “stalled”. Whenever :stalled matches an element, :playing also matches the element.)",
      "href": "https://drafts.csswg.org/selectors-4/#selectordef-stalled",
      "syntax": ":stalled",
      "extended": []
    },
    {
      "name": ":start-of-page",
      "prose": "The element is the first matched element on the page, and neither it nor its ancestors have any previous siblings that appear on the page.",
      "href": "https://drafts.csswg.org/css-gcpm-4/#selectordef-start-of-page",
      "syntax": ":start-of-page",
      "extended": []
    },
    {
      "name": ":state()",
      "href": "https://drafts.csswg.org/selectors-5/#state-pseudo",
      "syntax": ":state( <ident> )",
      "extended": []
    },
    {
      "name": ":target",
      "prose": "The :target pseudo-class matches the document’s target elements. If the document’s URL has no fragment identifier, then the document has no target elements.",
      "href": "https://drafts.csswg.org/selectors-4/#target-pseudo",
      "syntax": ":target",
      "extended": []
    },
    {
      "name": ":target-after",
      "prose": "In addition to the :target-current pseudo-class, this specification introduces the :target-before and :target-after pseudo-classes for use with scroll marker elements.",
      "href": "https://drafts.csswg.org/css-overflow-5/#selectordef-target-after",
      "syntax": ":target-after",
      "extended": []
    },
    {
      "name": ":target-before",
      "prose": "In addition to the :target-current pseudo-class, this specification introduces the :target-before and :target-after pseudo-classes for use with scroll marker elements.",
      "href": "https://drafts.csswg.org/css-overflow-5/#selectordef-target-before",
      "syntax": ":target-before",
      "extended": []
    },
    {
      "name": ":target-current",
      "prose": "Exactly one scroll marker within each scroll marker group is determined to be active at a time. Such \"active\" scroll markers match the :target-current pseudo-class.",
      "href": "https://drafts.csswg.org/css-overflow-5/#selectordef-target-current",
      "syntax": ":target-current",
      "extended": []
    },
    {
      "name": ":unchecked",
      "prose": "When such elements are toggled “on” the :checked pseudo-class applies. For example, [HTML5] defines that checked checkboxes, radio buttons, and selected <option> elements match :checked. Similarly, when such elements are toggled “off”, the :unchecked pseudo-class applies.",
      "href": "https://drafts.csswg.org/selectors-4/#unchecked-pseudo",
      "syntax": ":unchecked",
      "extended": []
    },
    {
      "name": ":user-invalid",
      "prose": "The :user-invalid and the :user-valid pseudo-classes represent an element with incorrect or correct input, respectively, but only after the user has significantly interacted with it. Their purpose is to help the user identify mistakes in their input.",
      "href": "https://drafts.csswg.org/selectors-4/#user-invalid-pseudo",
      "syntax": ":user-invalid",
      "extended": []
    },
    {
      "name": ":user-valid",
      "prose": "The :user-invalid and the :user-valid pseudo-classes represent an element with incorrect or correct input, respectively, but only after the user has significantly interacted with it. Their purpose is to help the user identify mistakes in their input.",
      "href": "https://drafts.csswg.org/selectors-4/#user-valid-pseudo",
      "syntax": ":user-valid",
      "extended": []
    },
    {
      "name": ":valid",
      "prose": "An element is :valid or :invalid when its contents or value is, respectively, valid or invalid with respect to data validity semantics defined by the document language (e.g. [XFORMS11] or [HTML5]). An element which lacks data validity semantics is neither :valid nor :invalid.",
      "href": "https://drafts.csswg.org/selectors-4/#valid-pseudo",
      "syntax": ":valid",
      "extended": []
    },
    {
      "name": ":visited",
      "prose": "User agents commonly display unvisited hyperlinks differently from previously visited ones. Selectors provides the pseudo-classes :link and :visited to distinguish them:",
      "href": "https://drafts.csswg.org/selectors-4/#visited-pseudo",
      "syntax": ":visited",
      "extended": []
    },
    {
      "name": ":volume-locked",
      "prose": "The :volume-locked pseudo-class represents an element that is capable of making sound, and currently has its volume \"locked\" by the UA or the user, so the page author cannot change it. (For the audio and video elements of HTML, see the algorithm for setting the element’s effective media volume. [HTML])",
      "href": "https://drafts.csswg.org/selectors-4/#selectordef-volume-locked",
      "syntax": ":volume-locked",
      "extended": []
    },
    {
      "name": ":where()",
      "prose": "The Specificity-adjustment pseudo-class, :where(), is a functional pseudo-class with the same syntax and functionality as :is(). Unlike :is(), neither the :where() pseudo-class, nor any of its arguments, contribute to the specificity of the selector—​its specificity is always zero.",
      "href": "https://drafts.csswg.org/selectors-4/#where-pseudo",
      "extended": []
    },
    {
      "name": ":xr-overlay",
      "prose": "The :xr-overlay pseudo-class MUST match the overlay element for the duration of an immersive session using a DOM Overlay.",
      "href": "https://immersive-web.github.io/dom-overlays/#selectordef-xr-overlay",
      "syntax": ":xr-overlay",
      "extended": []
    },
    {
      "name": "&",
      "prose": "When using a nested style rule, one must be able to refer to the elements matched by the parent rule; that is, after all, the entire point of nesting. To accomplish that, this specification defines a new selector, the nesting selector, written as & (U+0026 AMPERSAND).",
      "href": "https://drafts.csswg.org/css-nesting-1/#selectordef-",
      "syntax": "'&'",
      "extended": []
    },
    {
      "name": "+",
      "prose": "The next-sibling combinator is made of the “plus sign” (U+002B, +) code point that separates two compound selectors. The elements represented by the two compound selectors share the same parent in the document tree and the element represented by the first compound selector immediately precedes the element represented by the second one. Non-element nodes (e.g. text between elements) are ignored when considering the adjacency of elements.",
      "href": "https://drafts.csswg.org/selectors-4/#selectordef-adjacent",
      "syntax": "'+'",
      "extended": []
    },
    {
      "name": ">",
      "prose": "A child combinator describes a childhood relationship between two elements. A child combinator is made of the \"greater-than sign\" (U+003E, >) code point and separates two compound selectors.",
      "href": "https://drafts.csswg.org/selectors-4/#selectordef-child",
      "syntax": "'>'",
      "extended": []
    },
    {
      "name": "||",
      "prose": "The column combinator, which consists of two pipes (||) represents the relationship of a column element to a cell element belonging to the column it represents. Column membership is determined based on the semantics of the document language only: whether and how the elements are presented is not considered. If a cell element belongs to more than one column, it is represented by a selector indicating membership in any of those columns.",
      "href": "https://drafts.csswg.org/selectors-5/#selectordef-column",
      "syntax": "'|' '|'",
      "extended": []
    },
    {
      "name": "~",
      "prose": "The subsequent-sibling combinator is made of the \"tilde\" (U+007E, ~) code point that separates two compound selectors. The elements represented by the two compound selectors share the same parent in the document tree and the element represented by the first compound selector precedes (not necessarily immediately) the element represented by the second one.",
      "href": "https://drafts.csswg.org/selectors-4/#selectordef-sibling",
      "syntax": "'~'",
      "extended": []
    }
  ],
  "types": [
    {
      "name": "(-token",
      "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <unicode-range-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>.",
      "href": "https://drafts.csswg.org/css-syntax-3/#tokendef-open-paren",
      "extended": []
    },
    {
      "name": ")-token",
      "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <unicode-range-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>.",
      "href": "https://drafts.csswg.org/css-syntax-3/#tokendef-close-paren",
      "extended": []
    },
    {
      "name": "[-token",
      "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <unicode-range-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>.",
      "href": "https://drafts.csswg.org/css-syntax-3/#tokendef-open-square",
      "extended": []
    },
    {
      "name": "]-token",
      "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <unicode-range-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>.",
      "href": "https://drafts.csswg.org/css-syntax-3/#tokendef-close-square",
      "extended": []
    },
    {
      "name": "{-token",
      "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <unicode-range-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>.",
      "href": "https://drafts.csswg.org/css-syntax-3/#tokendef-open-curly",
      "extended": []
    },
    {
      "name": "}-token",
      "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <unicode-range-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>.",
      "href": "https://drafts.csswg.org/css-syntax-3/#tokendef-close-curly",
      "extended": []
    },
    {
      "name": "a-n-plus-b",
      "href": "https://drafts.csswg.org/css-syntax-3/#anb-production",
      "syntax": "odd | even | <integer> | <n-dimension> | '+'? n | -n | <ndashdigit-dimension> | '+'? <ndashdigit-ident> | <dashndashdigit-ident> | <n-dimension> <signed-integer> | '+'? n <signed-integer> | -n <signed-integer> | <ndash-dimension> <signless-integer> | '+'? n- <signless-integer> | -n- <signless-integer> | <n-dimension> ['+' | '-'] <signless-integer> | '+'? n ['+' | '-'] <signless-integer> | -n ['+' | '-'] <signless-integer>",
      "extended": []
    },
    {
      "name": "absolute-size",
      "href": "https://drafts.csswg.org/css-fonts-4/#typedef-absolute-size",
      "syntax": "[ xx-small | x-small | small | medium | large | x-large | xx-large | xxx-large ]",
      "extended": []
    },
    {
      "for": [
        "voice-family"
      ],
      "name": "age",
      "prose": "Possible values are child, young and old, indicating the preferred age category to match during voice selection.",
      "href": "https://drafts.csswg.org/css-speech-1/#typedef-voice-family-age",
      "extended": []
    },
    {
      "for": [
        "<color>"
      ],
      "name": "alpha-value",
      "href": "https://drafts.csswg.org/css-color-4/#typedef-color-alpha-value",
      "syntax": "<number> | <percentage>",
      "extended": []
    },
    {
      "name": "anchor-name",
      "href": "https://drafts.csswg.org/css-anchor-position-1/#typedef-anchor-name",
      "syntax": "<dashed-ident>",
      "extended": []
    },
    {
      "name": "anchor-side",
      "href": "https://drafts.csswg.org/css-anchor-position-1/#typedef-anchor-side",
      "syntax": "inside | outside | top | left | right | bottom | start | end | self-start | self-end | <percentage> | center",
      "extended": []
    },
    {
      "name": "anchor-size",
      "href": "https://drafts.csswg.org/css-anchor-position-1/#typedef-anchor-size",
      "syntax": "width | height | block | inline | self-block | self-inline",
      "extended": []
    },
    {
      "name": "anchored-in-parens",
      "href": "https://drafts.csswg.org/css-anchor-position-2/#typedef-anchored-in-parens",
      "syntax": "( <anchored-query> ) | ( <anchored-feature> ) | <general-enclosed>",
      "extended": []
    },
    {
      "name": "anchored-query",
      "href": "https://drafts.csswg.org/css-anchor-position-2/#typedef-anchored-query",
      "syntax": "not <anchored-in-parens> | <anchored-in-parens> [ [ and <anchored-in-parens> ]* | [ or <anchored-in-parens> ]* ] | <anchored-feature>",
      "extended": []
    },
    {
      "name": "angle",
      "prose": "Angle values are <dimension>s denoted by <angle>. The angle unit identifiers are:",
      "href": "https://drafts.csswg.org/css-values-4/#angle-value",
      "extended": []
    },
    {
      "name": "angle-percentage",
      "href": "https://drafts.csswg.org/css-values-4/#typedef-angle-percentage",
      "syntax": "[ <angle> | <percentage> ]",
      "extended": []
    },
    {
      "name": "angular-color-hint",
      "href": "https://drafts.csswg.org/css-images-4/#typedef-angular-color-hint",
      "syntax": "<angle-percentage> | <zero>",
      "extended": []
    },
    {
      "name": "angular-color-stop",
      "href": "https://drafts.csswg.org/css-images-4/#typedef-angular-color-stop",
      "syntax": "<color> <color-stop-angle>?",
      "extended": []
    },
    {
      "name": "angular-color-stop-list",
      "href": "https://drafts.csswg.org/css-images-4/#typedef-angular-color-stop-list",
      "syntax": "<angular-color-stop> , [ <angular-color-hint>? , <angular-color-stop> ]#?",
      "extended": []
    },
    {
      "name": "animateable-feature",
      "href": "https://drafts.csswg.org/css-will-change-1/#typedef-animateable-feature",
      "syntax": "scroll-position | contents | <custom-ident>",
      "extended": []
    },
    {
      "name": "animation-action",
      "prose": "The possible <animation-action> values, and what effect they have in each animation state:",
      "href": "https://drafts.csswg.org/animation-triggers-1/#typedef-animation-action",
      "extended": []
    },
    {
      "name": "any-value",
      "prose": "The <any-value> production is identical to <declaration-value>, but also allows top-level <semicolon-token> tokens and <delim-token> tokens with a value of \"!\". It represents the entirety of what valid CSS can be in any context.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-any-value",
      "extended": []
    },
    {
      "for": [
        "shape()"
      ],
      "name": "arc-command",
      "href": "https://drafts.csswg.org/css-shapes-1/#typedef-shape-arc-command",
      "syntax": "arc <command-end-point> [ [ of <length-percentage>{1,2} ] && <arc-sweep>? && <arc-size>? && [rotate <angle>]? ]",
      "extended": []
    },
    {
      "for": [
        "shape()"
      ],
      "name": "arc-size",
      "prose": "<arc-size> can be large or small, indicating that the larger or smaller, respectively, of the two possible arcs must be chosen. If omitted, this defaults to small.",
      "href": "https://drafts.csswg.org/css-shapes-1/#typedef-shape-arc-size",
      "syntax": "large | small",
      "extended": []
    },
    {
      "for": [
        "shape()"
      ],
      "name": "arc-sweep",
      "prose": "<arc-sweep> can be cw or ccw, indicating that the arc that is traced around the ellipse clockwise or counter-clockwise from the center, respectively, must be chosen. If omitted, this defaults to ccw.",
      "href": "https://drafts.csswg.org/css-shapes-1/#typedef-shape-arc-sweep",
      "syntax": "cw | ccw",
      "extended": []
    },
    {
      "name": "at-keyword-token",
      "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <unicode-range-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-at-keyword-token",
      "extended": []
    },
    {
      "name": "at-rule-list",
      "prose": "<at-rule-list>: only at-rules are allowed; declarations and qualified rules are automatically invalid.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-at-rule-list",
      "extended": []
    },
    {
      "name": "attachment",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#typedef-attachment",
      "syntax": "scroll | fixed | local",
      "extended": []
    },
    {
      "name": "attr-args",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-attr-args",
      "syntax": "attr( <declaration-value>, <declaration-value>? )",
      "extended": []
    },
    {
      "name": "attr-matcher",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-attr-matcher",
      "syntax": "[ '~' | '|' | '^' | '$' | '*' ]? '='",
      "extended": []
    },
    {
      "name": "attr-modifier",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-attr-modifier",
      "syntax": "i | s",
      "extended": []
    },
    {
      "name": "attr-name",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-attr-name",
      "syntax": "[ <ident-token>? '|' ]? <ident-token>",
      "extended": []
    },
    {
      "name": "attr-type",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-attr-type",
      "syntax": "type( <syntax> ) | raw-string | number | <attr-unit>",
      "extended": []
    },
    {
      "name": "attr-unit",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-attr-unit",
      "syntax": "<custom-ident>",
      "extended": []
    },
    {
      "name": "attribute-selector",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-attribute-selector",
      "syntax": "'[' <wq-name> ']' | '[' <wq-name> <attr-matcher> [ <string-token> | <ident-token> ] <attr-modifier>? ']'",
      "extended": []
    },
    {
      "name": "auto-line-color-list",
      "href": "https://drafts.csswg.org/css-gaps-1/#typedef-auto-line-color-list",
      "syntax": "<line-color-or-repeat>#? , <auto-repeat-line-color> , <line-color-or-repeat>#?",
      "extended": []
    },
    {
      "name": "auto-line-style-list",
      "href": "https://drafts.csswg.org/css-gaps-1/#typedef-auto-line-style-list",
      "syntax": "<line-style-or-repeat>#? , <auto-repeat-line-style> , <line-style-or-repeat>#?",
      "extended": []
    },
    {
      "name": "auto-line-width-list",
      "href": "https://drafts.csswg.org/css-gaps-1/#typedef-auto-line-width-list",
      "syntax": "<line-width-or-repeat>#? , <auto-repeat-line-width> , <line-width-or-repeat>#?",
      "extended": []
    },
    {
      "name": "auto-repeat",
      "href": "https://drafts.csswg.org/css-grid-3/#typedef-auto-repeat",
      "syntax": "repeat( [ auto-fill | auto-fit ] , [ <line-names>? <track-size> ]+ <line-names>? )",
      "extended": []
    },
    {
      "name": "auto-repeat-line-color",
      "href": "https://drafts.csswg.org/css-gaps-1/#typedef-auto-repeat-line-color",
      "syntax": "repeat( auto , [ <color> ]# )",
      "extended": []
    },
    {
      "name": "auto-repeat-line-style",
      "href": "https://drafts.csswg.org/css-gaps-1/#typedef-auto-repeat-line-style",
      "syntax": "repeat( auto , [ <line-style> ]# )",
      "extended": []
    },
    {
      "name": "auto-repeat-line-width",
      "href": "https://drafts.csswg.org/css-gaps-1/#typedef-auto-repeat-line-width",
      "syntax": "repeat( auto , [ <line-width> ]# )",
      "extended": []
    },
    {
      "name": "auto-track-list",
      "href": "https://drafts.csswg.org/css-grid-2/#typedef-auto-track-list",
      "syntax": "[ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>? <auto-repeat> [ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>?",
      "extended": []
    },
    {
      "name": "autospace",
      "href": "https://drafts.csswg.org/css-text-4/#typedef-autospace",
      "syntax": "no-autospace | [ ideograph-alpha || ideograph-numeric || punctuation ] || [ insert | replace ]",
      "extended": []
    },
    {
      "name": "axis",
      "href": "https://drafts.csswg.org/scroll-animations-1/#typedef-axis",
      "syntax": "block | inline | x | y",
      "extended": []
    },
    {
      "name": "bad-string-token",
      "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <unicode-range-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-bad-string-token",
      "extended": []
    },
    {
      "name": "bad-url-token",
      "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <unicode-range-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-bad-url-token",
      "extended": []
    },
    {
      "name": "base-descriptor",
      "href": "https://drafts.csswg.org/css-navigation-1/#typedef-base-descriptor",
      "syntax": "base-url : stylesheet | document | <url>",
      "extended": []
    },
    {
      "name": "baseline-metric",
      "prose": "The <baseline-metric> value, which identifies specific baseline metrics, expands to",
      "href": "https://drafts.csswg.org/css-inline-3/#typedef-baseline-metric",
      "syntax": "text-bottom | alphabetic | ideographic | middle | central | mathematical | hanging | text-top",
      "extended": []
    },
    {
      "name": "baseline-position",
      "href": "https://drafts.csswg.org/css-align-3/#typedef-baseline-position",
      "syntax": "[ first | last ]? && baseline",
      "extended": []
    },
    {
      "name": "basic-shape",
      "prose": "The <basic-shape> type can be specified using basic shape functions.",
      "href": "https://drafts.csswg.org/css-shapes-1/#typedef-basic-shape",
      "syntax": "<basic-shape-rect> | <circle()> | <ellipse()> | <polygon()> | <path()> | <shape()>",
      "extended": []
    },
    {
      "name": "basic-shape-rect",
      "href": "https://drafts.csswg.org/css-shapes-1/#typedef-basic-shape-rect",
      "syntax": "<inset()> | <rect()> | <xywh()>",
      "extended": []
    },
    {
      "name": "bg-clip",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#typedef-bg-clip",
      "syntax": "<visual-box> | [ border-area || text ]",
      "extended": []
    },
    {
      "name": "bg-image",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#typedef-bg-image",
      "syntax": "<image> | none",
      "extended": []
    },
    {
      "name": "bg-layer",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#typedef-bg-layer",
      "syntax": "<bg-image> || <bg-position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <bg-clip> || <visual-box>",
      "extended": []
    },
    {
      "name": "bg-position",
      "prose": "Its value is given as a comma-separated list of <bg-position> values, which are interpreted as <position> values with the resized background image as the alignment subject and the background positioning area as the alignment container.",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#typedef-bg-position",
      "syntax": "<position> | <position-three>",
      "extended": []
    },
    {
      "name": "bg-size",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#typedef-bg-size",
      "syntax": "[ <length-percentage [0,∞]> | auto ]{1,2} | cover | contain",
      "extended": []
    },
    {
      "name": "blend-mode",
      "href": "https://drafts.csswg.org/compositing-2/#ltblendmodegt",
      "syntax": "normal | darken | multiply | color-burn | lighten | screen | color-dodge | overlay | soft-light | hard-light | difference | exclusion | hue | saturation | color | luminosity",
      "extended": []
    },
    {
      "name": "block-contents",
      "prose": "When writing a rule grammar, <block-contents> represents this agnostic parsing. It must only be used as the sole value in a block, and represents that no restrictions are implicitly placed on what the block can contain.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-block-contents",
      "extended": []
    },
    {
      "name": "boolean-condition",
      "prose": "Where <boolean-condition> is a boolean algebra a la Media Queries 4 § 3 Syntax, but with media() and supports() functions as leaves.",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-boolean-condition",
      "extended": []
    },
    {
      "name": "boolean-expr",
      "prose": "Several contexts (such as @media, @supports, if(), ...) specify conditions, and allow combining those conditions with boolean logic (and/or/not/grouping). Because they use the same non-trivial recursive syntax structure, the special <boolean-expr> production represents this pattern generically.",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-boolean-expr",
      "syntax": "not <boolean-expr-group> | <boolean-expr-group> [ [ and <boolean-expr-group> ]* | [ or <boolean-expr-group> ]* ]",
      "extended": []
    },
    {
      "name": "border-radius",
      "href": "https://drafts.csswg.org/css-borders-4/#typedef-border-radius",
      "syntax": "<slash-separated-border-radius-syntax> | <legacy-border-radius-syntax>",
      "extended": []
    },
    {
      "name": "border-style",
      "prose": "The border style properties specify the line style of a box’s border (solid, double, dashed, etc.). The properties defined in this section refer to the <border-style> value type, which may take one of the following values:",
      "href": "https://drafts.csswg.org/css2/#value-def-border-style",
      "extended": []
    },
    {
      "name": "border-width",
      "prose": "The border width properties specify the width of the border area. The properties defined in this section refer to the <border-width> value type, which may take one of the following values:",
      "href": "https://drafts.csswg.org/css2/#value-def-border-width",
      "extended": []
    },
    {
      "name": "bottom",
      "prose": "<top>, <right>, <bottom>, and <left> may either have a <length> value or auto. Negative lengths are permitted. The value auto means that a given edge of the clipping region will be the same as the edge of the element’s generated border box (i.e., auto means the same as 0 for <top> and <left>, the same as the used value of the height plus the sum of vertical padding and border widths for <bottom>, and the same as the used value of the width plus the sum of the horizontal padding and border widths for <right>, such that four auto values result in the clipping region being the same as the element’s border box).",
      "href": "https://drafts.csswg.org/css2/#value-def-bottom",
      "extended": []
    },
    {
      "name": "box",
      "prose": "The following <box> CSS keywords are defined for use in properties (such as transform-box and background-clip) that need to refer to various box edges:",
      "href": "https://drafts.csswg.org/css-box-4/#typedef-box",
      "extended": []
    },
    {
      "name": "calc-keyword",
      "href": "https://drafts.csswg.org/css-values-4/#typedef-calc-keyword",
      "syntax": "e | pi | infinity | -infinity | NaN",
      "extended": []
    },
    {
      "name": "calc-product",
      "href": "https://drafts.csswg.org/css-values-4/#typedef-calc-product",
      "syntax": "<calc-value> [ [ '*' | / ] <calc-value> ]*",
      "extended": []
    },
    {
      "name": "calc-size-basis",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-calc-size-basis",
      "syntax": "[ <size-keyword> | <calc-size()> | any | <calc-sum> ]",
      "extended": []
    },
    {
      "name": "calc-sum",
      "href": "https://drafts.csswg.org/css-values-4/#typedef-calc-sum",
      "syntax": "<calc-product> [ [ '+' | '-' ] <calc-product> ]*",
      "extended": []
    },
    {
      "name": "calc-value",
      "href": "https://drafts.csswg.org/css-values-4/#typedef-calc-value",
      "syntax": "<number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )",
      "extended": []
    },
    {
      "name": "CDC-token",
      "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <unicode-range-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-cdc-token",
      "extended": []
    },
    {
      "name": "CDO-token",
      "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <unicode-range-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-cdo-token",
      "extended": []
    },
    {
      "name": "cf-image",
      "href": "https://drafts.csswg.org/css-images-4/#typedef-cf-image",
      "syntax": "[ <image> | <color> ] && <percentage [0,100]>?",
      "extended": []
    },
    {
      "name": "class-selector",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-class-selector",
      "syntax": "'.' <ident-token>",
      "extended": []
    },
    {
      "name": "clip-source",
      "href": "https://drafts.csswg.org/css-masking-1/#typedef-clip-source",
      "syntax": "<url>",
      "extended": []
    },
    {
      "name": "cmyk-component",
      "href": "https://drafts.csswg.org/css-color-5/#typedef-cmyk-component",
      "syntax": "<number> | <percentage> | none",
      "extended": []
    },
    {
      "name": "colon-token",
      "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <unicode-range-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-colon-token",
      "extended": []
    },
    {
      "name": "color",
      "prose": "Colors in CSS are represented by the <color> type:",
      "href": "https://drafts.csswg.org/css-color-5/#typedef-color",
      "syntax": "<color-base> | currentColor | <system-color> | <contrast-color()> | <device-cmyk()> | <light-dark-color>",
      "extended": []
    },
    {
      "name": "color-base",
      "href": "https://drafts.csswg.org/css-color-5/#typedef-color-base",
      "syntax": "<hex-color> | <color-function> | <named-color> | <color-mix()> | transparent",
      "extended": []
    },
    {
      "name": "color-font-tech",
      "href": "https://drafts.csswg.org/css-fonts-5/#color-font-tech-values",
      "syntax": "[color-COLRv0 | color-COLRv1 | color-SVG | color-sbix | color-CBDT ]",
      "extended": []
    },
    {
      "name": "color-function",
      "href": "https://drafts.csswg.org/css-color-hdr-1/#typedef-color-function",
      "syntax": "<rgb()> | <rgba()> | <hsl()> | <hsla()> | <hwb()> | <lab()> | <lch()> | <oklab()> | <oklch()> | <ictcp()> | <jzazbz()> | <jzczhz()> | <alpha()> | <color()> | <hdr-color()>",
      "extended": []
    },
    {
      "name": "color-interpolation-method",
      "href": "https://drafts.csswg.org/css-color-5/#color-interpolation-method",
      "syntax": "in [ <rectangular-color-space> | <polar-color-space> <hue-interpolation-method>? | <custom-color-space> ]",
      "extended": []
    },
    {
      "name": "color-space",
      "href": "https://drafts.csswg.org/css-color-5/#typedef-color-space",
      "syntax": "<rectangular-color-space> | <polar-color-space> | <custom-color-space>",
      "extended": []
    },
    {
      "name": "color-stop",
      "href": "https://drafts.csswg.org/css-images-4/#typedef-color-stop",
      "syntax": "<color-stop-length> | <color-stop-angle>",
      "extended": []
    },
    {
      "name": "color-stop-angle",
      "href": "https://drafts.csswg.org/css-images-4/#typedef-color-stop-angle",
      "syntax": "[ <angle-percentage> | <zero> ]{1,2}",
      "extended": []
    },
    {
      "name": "color-stop-length",
      "href": "https://drafts.csswg.org/css-images-4/#typedef-color-stop-length",
      "syntax": "<length-percentage>{1,2}",
      "extended": []
    },
    {
      "name": "color-stop-list",
      "href": "https://drafts.csswg.org/css-images-4/#typedef-color-stop-list",
      "syntax": "<linear-color-stop> , [ <linear-color-hint>? , <linear-color-stop> ]#?",
      "extended": []
    },
    {
      "name": "color-stripe",
      "prose": "Each <color-stripe> entry defines a solid-color stripe with the specified <color> and thickness. If the thickness is omitted, it defaults to 1fr. Thickness values are interpreted as follows:",
      "href": "https://drafts.csswg.org/css-images-4/#typedef-color-stripe",
      "syntax": "<color> && [ <length-percentage> | <flex> ]?",
      "extended": []
    },
    {
      "name": "colorspace-params",
      "href": "https://drafts.csswg.org/css-color-5/#typedef-colorspace-params",
      "syntax": "[<custom-params> | <predefined-rgb-params> | <xyz-params>]",
      "extended": []
    },
    {
      "name": "combinator",
      "href": "https://drafts.csswg.org/selectors-5/#typedef-combinator",
      "syntax": "'>' | '+' | '~' | [ '|' '|' ] | [ / <wq-name> / ]",
      "extended": []
    },
    {
      "name": "comma-token",
      "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <unicode-range-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-comma-token",
      "extended": []
    },
    {
      "for": [
        "shape()"
      ],
      "name": "command-end-point",
      "href": "https://drafts.csswg.org/css-shapes-1/#typedef-shape-command-end-point",
      "syntax": "[ to <position> | by <coordinate-pair> ]",
      "extended": []
    },
    {
      "name": "common-lig-values",
      "href": "https://drafts.csswg.org/css-fonts-4/#common-lig-values",
      "syntax": "[ common-ligatures | no-common-ligatures ]",
      "extended": []
    },
    {
      "for": [
        "appearance"
      ],
      "name": "compat-auto",
      "href": "https://drafts.csswg.org/css-ui-4/#typedef-appearance-compat-auto",
      "syntax": "searchfield | textarea | checkbox | radio | menulist | listbox | meter | progress-bar | button",
      "extended": []
    },
    {
      "for": [
        "appearance"
      ],
      "name": "compat-special",
      "href": "https://drafts.csswg.org/css-ui-4/#typedef-appearance-compat-special",
      "syntax": "textfield | menulist-button",
      "extended": []
    },
    {
      "name": "complex-real-selector",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-complex-real-selector",
      "syntax": "<compound-selector> [ <combinator>? <compound-selector> ]*",
      "extended": []
    },
    {
      "name": "complex-real-selector-list",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-complex-real-selector-list",
      "syntax": "<complex-real-selector>#",
      "extended": []
    },
    {
      "name": "complex-selector",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-complex-selector",
      "syntax": "<complex-selector-unit> [ <combinator>? <complex-selector-unit> ]*",
      "extended": []
    },
    {
      "name": "complex-selector-list",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-complex-selector-list",
      "syntax": "<complex-selector>#",
      "extended": []
    },
    {
      "name": "complex-selector-unit",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-complex-selector-unit",
      "syntax": "[ <compound-selector>? <pseudo-compound-selector>* ]!",
      "extended": []
    },
    {
      "name": "composite-mode",
      "href": "https://drafts.csswg.org/compositing-2/#compositemode",
      "syntax": "clear | copy | source-over | destination-over | source-in | destination-in | source-out | destination-out | source-atop | destination-atop | xor | lighter | plus-darker | plus-lighter",
      "extended": []
    },
    {
      "name": "compositing-operator",
      "href": "https://drafts.csswg.org/css-masking-1/#typedef-compositing-operator",
      "syntax": "add | subtract | intersect | exclude",
      "extended": []
    },
    {
      "name": "compound-selector",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-compound-selector",
      "syntax": "[ <type-selector>? <subclass-selector>* ]!",
      "extended": []
    },
    {
      "name": "compound-selector-list",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-compound-selector-list",
      "syntax": "<compound-selector>#",
      "extended": []
    },
    {
      "name": "conic-gradient-syntax",
      "href": "https://drafts.csswg.org/css-images-4/#typedef-conic-gradient-syntax",
      "syntax": "[ [ [ from [ <angle> | <zero> ] ]? [ at <position> ]? ] || <color-interpolation-method> ]? , <angular-color-stop-list>",
      "extended": []
    },
    {
      "name": "container-condition",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-container-condition",
      "syntax": "[ <container-name>? <container-query>? ]!",
      "extended": []
    },
    {
      "name": "container-name",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-container-name",
      "syntax": "<custom-ident>",
      "extended": []
    },
    {
      "name": "container-query",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-container-query",
      "syntax": "not <query-in-parens> | <query-in-parens> [ [ and <query-in-parens> ]* | [ or <query-in-parens> ]* ]",
      "extended": []
    },
    {
      "name": "content-distribution",
      "href": "https://drafts.csswg.org/css-align-3/#typedef-content-distribution",
      "syntax": "space-between | space-around | space-evenly | stretch",
      "extended": []
    },
    {
      "name": "content-level",
      "href": "https://drafts.csswg.org/css-gcpm-4/#typedef-content-level",
      "syntax": "element | content | text | <attr()> | <counter>",
      "extended": []
    },
    {
      "name": "content-list",
      "href": "https://drafts.csswg.org/css-gcpm-3/#content-list",
      "syntax": "[ <string> | <counter()> | <counters()> | <content()> | <attr()> ]+",
      "extended": []
    },
    {
      "for": [
        "content"
      ],
      "name": "content-list",
      "prose": "Replaces the element’s contents with one or more anonymous inline boxes corresponding to the specified values, in the order specified. Its normal contents are suppressed and do not generate boxes, as if they were display: none. Each value contributes an inline box to the element’s contents. For <image>, this is an inline anonymous replaced element; for the others, it’s an anonymous inline run of text. If an <image> represents an invalid image, the user agent must do one of the following: \"Skip\" the <image>, generating nothing for it. Display some indication that the image can’t be displayed in place of the <image>, such as a \"broken image\" icon. This specification intentionally does not define which behavior a user agent must use, but it must use one or the other consistently.",
      "href": "https://drafts.csswg.org/css-content-3/#typedef-content-content-list",
      "syntax": "[ <string> | <image> | <attr()> | contents | <quote> | <leader()> | <target> | <string()> | <content()> | <counter> ]+",
      "extended": []
    },
    {
      "name": "content-position",
      "href": "https://drafts.csswg.org/css-align-3/#typedef-content-position",
      "syntax": "center | start | end | flex-start | flex-end",
      "extended": []
    },
    {
      "for": [
        "content"
      ],
      "name": "content-replacement",
      "href": "https://drafts.csswg.org/css-content-3/#typedef-content-content-replacement",
      "syntax": "<image>",
      "extended": []
    },
    {
      "name": "contextual-alt-values",
      "href": "https://drafts.csswg.org/css-fonts-4/#contextual-alt-values",
      "syntax": "[ contextual | no-contextual ]",
      "extended": []
    },
    {
      "for": [
        "shape()"
      ],
      "name": "control-point",
      "href": "https://drafts.csswg.org/css-shapes-1/#typedef-shape-control-point",
      "syntax": "[ <position> | <relative-control-point> ]",
      "extended": []
    },
    {
      "name": "coord-box",
      "href": "https://drafts.csswg.org/css-box-4/#typedef-coord-box",
      "syntax": "<paint-box> | view-box",
      "extended": []
    },
    {
      "for": [
        "shape()"
      ],
      "name": "coordinate-pair",
      "href": "https://drafts.csswg.org/css-shapes-1/#typedef-shape-coordinate-pair",
      "syntax": "<length-percentage>{2}",
      "extended": []
    },
    {
      "name": "corner-shape-value",
      "href": "https://drafts.csswg.org/css-borders-4/#typedef-corner-shape-value",
      "syntax": "round | scoop | bevel | notch | square | squircle | <superellipse()>",
      "extended": []
    },
    {
      "name": "counter",
      "href": "https://drafts.csswg.org/css-lists-3/#typedef-counter",
      "syntax": "<counter()> | <counters()>",
      "extended": []
    },
    {
      "name": "counter-name",
      "prose": "Counters are referred to in CSS syntax using the <counter-name> type, which represents their name as a <custom-ident>. A <counter-name> name cannot match the keyword none; such an identifier is invalid as a <counter-name>.",
      "href": "https://drafts.csswg.org/css-lists-3/#typedef-counter-name",
      "syntax": "<custom-ident>",
      "extended": []
    },
    {
      "name": "counter-style",
      "href": "https://drafts.csswg.org/css-counter-styles-3/#typedef-counter-style",
      "syntax": "<counter-style-name> | <symbols()>",
      "extended": []
    },
    {
      "name": "counter-style-name",
      "prose": "<counter-style-name> is a <custom-ident> that is not an ASCII case-insensitive match for none. When used here, to define a counter style, it also cannot be any of the non-overridable counter-style names (in other uses that merely reference a counter style, such as the extend system, these are allowed). The <counter-style-name> is a tree-scoped name.",
      "href": "https://drafts.csswg.org/css-counter-styles-3/#typedef-counter-style-name",
      "syntax": "<custom-ident>",
      "extended": []
    },
    {
      "for": [
        "<request-url-modifier>"
      ],
      "name": "cross-origin-modifier",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-request-url-modifier-cross-origin-modifier",
      "syntax": "cross-origin(anonymous | use-credentials)",
      "extended": []
    },
    {
      "name": "css-type",
      "href": "https://drafts.csswg.org/css-mixins-1/#typedef-css-type",
      "syntax": "<syntax-component> | <type()>",
      "extended": []
    },
    {
      "name": "cubic-bezier-easing-function",
      "href": "https://drafts.csswg.org/css-easing-2/#typedef-cubic-bezier-easing-function",
      "syntax": "ease | ease-in | ease-out | ease-in-out | <cubic-bezier()>",
      "extended": []
    },
    {
      "for": [
        "cursor"
      ],
      "name": "cursor-image",
      "href": "https://drafts.csswg.org/css-ui-4/#typedef-cursor-cursor-image",
      "syntax": "[ <url> | <url-set> ] <number>{2}?",
      "extended": []
    },
    {
      "name": "cursor-predefined",
      "href": "https://drafts.csswg.org/css-ui-4/#typedef-cursor-predefined",
      "syntax": "auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | grab | grabbing | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out",
      "extended": []
    },
    {
      "for": [
        "shape()"
      ],
      "name": "curve-command",
      "href": "https://drafts.csswg.org/css-shapes-1/#typedef-shape-curve-command",
      "syntax": "curve [ [ to <position> with <control-point> [ / <control-point> ]? ] | [ by <coordinate-pair> with <relative-control-point> [ / <relative-control-point> ]? ] ]",
      "extended": []
    },
    {
      "name": "custom-arg",
      "href": "https://drafts.csswg.org/css-extensions-1/#typedef-custom-arg",
      "syntax": "'$' <ident-token>",
      "extended": []
    },
    {
      "name": "custom-color-space",
      "href": "https://drafts.csswg.org/css-color-5/#typedef-custom-color-space",
      "syntax": "<dashed-ident>",
      "extended": []
    },
    {
      "name": "custom-ident",
      "prose": "Some properties accept arbitrary author-defined identifiers as a component value. This generic data type is denoted by <custom-ident>, and represents any valid CSS identifier that would not be misinterpreted as a pre-defined keyword in that property’s value definition. Such identifiers are fully case-sensitive (meaning they’re compared using the \"identical to\" operation), even in the ASCII range (e.g. example and EXAMPLE are two different, unrelated user-defined identifiers).",
      "href": "https://drafts.csswg.org/css-values-4/#identifier-value",
      "extended": []
    },
    {
      "name": "custom-params",
      "href": "https://drafts.csswg.org/css-color-5/#typedef-custom-params",
      "syntax": "<dashed-ident> [ <number> | <percentage> | none ]+",
      "extended": []
    },
    {
      "name": "custom-property-name",
      "prose": "A custom property is any property whose name starts with two dashes (U+002D HYPHEN-MINUS), like --foo. The <custom-property-name> production corresponds to this: it’s defined as any <dashed-ident> (a valid identifier that starts with two dashes), except -- itself, which is reserved for future use by CSS. Custom properties are solely for use by authors and users; CSS will never give them a meaning beyond what is presented here.",
      "href": "https://drafts.csswg.org/css-variables-2/#typedef-custom-property-name",
      "extended": []
    },
    {
      "name": "custom-selector",
      "href": "https://drafts.csswg.org/css-extensions-1/#typedef-custom-selector",
      "syntax": "<custom-arg>? : <extension-name> [ ( <custom-arg>+#? ) ]?",
      "extended": []
    },
    {
      "name": "dasharray",
      "href": "https://w3c.github.io/svgwg/svg2-draft/painting.html#DataTypeDasharray",
      "syntax": "[ [ <length-percentage> | <number> ]+ ]#",
      "extended": []
    },
    {
      "name": "dashed-function",
      "prose": "A <dashed-function> is a functional notation whose function name starts with two dashes (U+002D HYPHEN-MINUS). Its argument grammar is:",
      "href": "https://drafts.csswg.org/css-mixins-1/#typedef-dashed-function",
      "extended": []
    },
    {
      "name": "dashed-ident",
      "prose": "The <dashed-ident> production is a <custom-ident>, with all the case-sensitivity that implies, with the additional restriction that it must start with two dashes (U+002D HYPHEN-MINUS).",
      "href": "https://drafts.csswg.org/css-values-4/#typedef-dashed-ident",
      "extended": []
    },
    {
      "name": "dashndashdigit-ident",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-dashndashdigit-ident",
      "syntax": "<ident-token>",
      "extended": []
    },
    {
      "for": [
        "voice-volume"
      ],
      "name": "decibel",
      "prose": "The <decibel> type denotes a dimension with a \"dB\" (decibel unit) unit identifier. Decibels represent the ratio of the squares of the new signal amplitude a1 and the current amplitude a0, as per the following logarithmic equation: volume(dB) = 20 × log10(a1 / a0).",
      "href": "https://drafts.csswg.org/css-speech-1/#typedef-voice-volume-decibel",
      "extended": []
    },
    {
      "name": "declaration",
      "prose": "<declaration> here matches anything that would be successfully parsed by consume a declaration, ignoring the context-validation check at the end of that algorithm. Notably, this includes a trailing !important, which is valid but ignored for the purpose of @supports.",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-declaration",
      "extended": []
    },
    {
      "name": "declaration-list",
      "prose": "<declaration-list>: only declarations are allowed; at-rules and qualified rules are automatically invalid.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-declaration-list",
      "extended": []
    },
    {
      "name": "declaration-rule-list",
      "prose": "<declaration-rule-list>: declarations and at-rules are allowed; qualified rules are automatically invalid.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-declaration-rule-list",
      "extended": []
    },
    {
      "name": "declaration-value",
      "prose": "The <declaration-value> production matches any sequence of one or more tokens, so long as the sequence does not contain <bad-string-token>, <bad-url-token>, unmatched <)-token>, <]-token>, or <}-token>, or top-level <semicolon-token> tokens or <delim-token> tokens with a value of \"!\". It represents the entirety of what a valid declaration can have as its value.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-declaration-value",
      "extended": []
    },
    {
      "name": "default-value",
      "href": "https://drafts.csswg.org/css-mixins-1/#typedef-default-value",
      "syntax": "<declaration-value>",
      "extended": []
    },
    {
      "name": "delim-token",
      "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <unicode-range-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-delim-token",
      "extended": []
    },
    {
      "name": "deprecated-color",
      "prose": "The deprecated system colors are represented as the <deprecated-color> sub-type, and are defined as:",
      "href": "https://drafts.csswg.org/css-color-4/#typedef-deprecated-color",
      "syntax": "ActiveBorder | ActiveCaption | AppWorkspace | Background | ButtonHighlight | ButtonShadow | CaptionText | InactiveBorder | InactiveCaption | InactiveCaptionText | InfoBackground | InfoText | Menu | MenuText | Scrollbar | ThreeDDarkShadow | ThreeDFace | ThreeDHighlight | ThreeDLightShadow | ThreeDShadow | Window | WindowFrame | WindowText",
      "extended": []
    },
    {
      "name": "dimension",
      "prose": "The general term dimension refers to a number with a unit attached to it; and is denoted by <dimension>.",
      "href": "https://drafts.csswg.org/css-values-4/#typedef-dimension",
      "extended": []
    },
    {
      "name": "dimension-token",
      "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <unicode-range-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-dimension-token",
      "extended": []
    },
    {
      "name": "discretionary-lig-values",
      "href": "https://drafts.csswg.org/css-fonts-4/#discretionary-lig-values",
      "syntax": "[ discretionary-ligatures | no-discretionary-ligatures ]",
      "extended": []
    },
    {
      "name": "display-box",
      "href": "https://drafts.csswg.org/css-display-4/#typedef-display-box",
      "syntax": "contents | none",
      "extended": []
    },
    {
      "name": "display-inside",
      "href": "https://drafts.csswg.org/css-display-4/#typedef-display-inside",
      "syntax": "flow | flow-root | table | flex | grid | ruby",
      "extended": []
    },
    {
      "name": "display-internal",
      "href": "https://drafts.csswg.org/css-display-4/#typedef-display-internal",
      "syntax": "table-row-group | table-header-group | table-footer-group | table-row | table-cell | table-column-group | table-column | table-caption | ruby-base | ruby-text | ruby-base-container | ruby-text-container",
      "extended": []
    },
    {
      "name": "display-legacy",
      "href": "https://drafts.csswg.org/css-display-4/#typedef-display-legacy",
      "syntax": "inline-block | inline-table | inline-flex | inline-grid",
      "extended": []
    },
    {
      "name": "display-listitem",
      "href": "https://drafts.csswg.org/css-display-4/#typedef-display-listitem",
      "syntax": "<display-outside>? && [ flow | flow-root ]? && list-item",
      "extended": []
    },
    {
      "name": "display-outside",
      "href": "https://drafts.csswg.org/css-display-4/#typedef-display-outside",
      "syntax": "block | inline | run-in",
      "extended": []
    },
    {
      "name": "easing-function",
      "href": "https://drafts.csswg.org/css-easing-2/#typedef-easing-function",
      "syntax": "<linear-easing-function> | <cubic-bezier-easing-function> | <step-easing-function>",
      "extended": []
    },
    {
      "name": "east-asian-variant-values",
      "href": "https://drafts.csswg.org/css-fonts-4/#east-asian-variant-values",
      "syntax": "[ jis78 | jis83 | jis90 | jis04 | simplified | traditional ]",
      "extended": []
    },
    {
      "name": "east-asian-width-values",
      "href": "https://drafts.csswg.org/css-fonts-4/#east-asian-width-values",
      "syntax": "[ full-width | proportional-width ]",
      "extended": []
    },
    {
      "name": "env-args",
      "href": "https://drafts.csswg.org/css-env-1/#typedef-env-args",
      "syntax": "env( <declaration-value>, <declaration-value>? )",
      "extended": []
    },
    {
      "name": "eof-token",
      "prose": "An <eof-token> is a conceptual token, not actually produced by the tokenizer, used to indicate that the token stream has been exhausted.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-eof-token",
      "extended": []
    },
    {
      "name": "event-trigger-event",
      "href": "https://drafts.csswg.org/animation-triggers-1/#typedef-event-trigger-event",
      "syntax": "activate | interest | click | touch | dblclick | keypress(<string>) | ...",
      "extended": []
    },
    {
      "name": "explicit-track-list",
      "href": "https://drafts.csswg.org/css-grid-2/#typedef-explicit-track-list",
      "syntax": "[ <line-names>? <track-size> ]+ <line-names>?",
      "extended": []
    },
    {
      "name": "extension-name",
      "prose": "All extensions defined in this specification use a common syntax for defining their ”names”: the <extension-name> production. An <extension-name> is any identifier that starts with two dashes (U+002D HYPHEN-MINUS), like --foo, or even exotic names like -- or ------. The CSS language will never use identifiers of this form for any language-defined purpose, so it’s safe to use them for author-defined purposes without ever having to worry about colliding with CSS-defined names.",
      "href": "https://drafts.csswg.org/css-extensions-1/#typedef-extension-name",
      "extended": []
    },
    {
      "name": "family-name",
      "prose": "The name of a font family of choice. In the last example, \"Gill\" and \"Helvetica\" are font families.",
      "href": "https://drafts.csswg.org/css2/#value-def-family-name",
      "extended": []
    },
    {
      "for": [
        "font-feature-settings"
      ],
      "name": "feature-tag-value",
      "href": "https://drafts.csswg.org/css-fonts-4/#feature-tag-value",
      "syntax": "<opentype-tag> [ <integer [0,∞]> | on | off ]?",
      "extended": []
    },
    {
      "name": "filter-function",
      "href": "https://drafts.csswg.org/filter-effects-1/#typedef-filter-function",
      "syntax": "<blur()> | <brightness()> | <contrast()> | <drop-shadow()> | <grayscale()> | <hue-rotate()> | <invert()> | <opacity()> | <sepia()> | <saturate()>",
      "extended": []
    },
    {
      "name": "filter-value-list",
      "href": "https://drafts.csswg.org/filter-effects-1/#typedef-filter-value-list",
      "syntax": "[ <filter-function> | <url> ]+",
      "extended": []
    },
    {
      "name": "final-bg-layer",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#typedef-final-bg-layer",
      "syntax": "<bg-image> || <bg-position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <bg-clip> || <visual-box> || <'background-color'>",
      "extended": []
    },
    {
      "name": "fixed-breadth",
      "href": "https://drafts.csswg.org/css-grid-2/#typedef-fixed-breadth",
      "syntax": "<length-percentage [0,∞]>",
      "extended": []
    },
    {
      "name": "fixed-repeat",
      "href": "https://drafts.csswg.org/css-grid-2/#typedef-fixed-repeat",
      "syntax": "repeat( [ <integer [1,∞]> ] , [ <line-names>? <fixed-size> ]+ <line-names>? )",
      "extended": []
    },
    {
      "name": "fixed-size",
      "href": "https://drafts.csswg.org/css-grid-2/#typedef-fixed-size",
      "syntax": "<fixed-breadth> | minmax( <fixed-breadth> , <track-breadth> ) | minmax( <inflexible-breadth> , <fixed-breadth> )",
      "extended": []
    },
    {
      "name": "flex",
      "prose": "A flexible length or <flex> is a dimension with the fr unit, which represents a fraction of the leftover space in the grid container. Tracks sized with fr units are called flexible tracks as they flex in response to leftover space similar to how flex items with a zero base size fill space in a flex container.",
      "href": "https://drafts.csswg.org/css-grid-2/#typedef-flex",
      "extended": []
    },
    {
      "name": "font-family-name",
      "prose": "The name of a font family, such as Helvetica or Verdana in the previous example. This might be a locally-instaled font, or might be a web font.",
      "href": "https://drafts.csswg.org/css-fonts-4/#font-family-name-value",
      "syntax": "<string> | <custom-ident>+",
      "extended": []
    },
    {
      "name": "font-feature-index",
      "href": "https://drafts.csswg.org/css-fonts-4/#font-feature-index-value",
      "syntax": "<integer>",
      "extended": []
    },
    {
      "name": "font-feature-value-name",
      "href": "https://drafts.csswg.org/css-fonts-4/#font-feature-value-name-value",
      "syntax": "<ident>",
      "extended": []
    },
    {
      "for": [
        "@font-feature-values"
      ],
      "name": "font-feature-value-type",
      "href": "https://drafts.csswg.org/css-fonts-4/#typedef-font-feature-values-font-feature-value-type",
      "extended": []
    },
    {
      "name": "font-features-tech",
      "href": "https://drafts.csswg.org/css-fonts-5/#font-features-tech-values",
      "syntax": "[features-opentype | features-aat | features-graphite]",
      "extended": []
    },
    {
      "name": "font-format",
      "href": "https://drafts.csswg.org/css-fonts-5/#font-format-values",
      "syntax": "[<string> | collection | embedded-opentype | opentype | svg | truetype | woff | woff2 ]",
      "extended": []
    },
    {
      "name": "font-src",
      "href": "https://drafts.csswg.org/css-fonts-4/#typedef-font-src",
      "syntax": "<url> [ format( <font-format> ) ]? [ tech( <font-tech># ) ]? | local( <font-family-name> )",
      "extended": []
    },
    {
      "name": "font-src-list",
      "prose": "To parse a <font-src-list> production, parse a list of <font-src>s.",
      "href": "https://drafts.csswg.org/css-fonts-4/#typedef-font-src-list",
      "extended": []
    },
    {
      "name": "font-tech",
      "href": "https://drafts.csswg.org/css-fonts-5/#font-tech-values",
      "syntax": "[<font-features-tech> | <color-font-tech> | variations | palettes | incremental ]",
      "extended": []
    },
    {
      "name": "font-variant-css2",
      "href": "https://drafts.csswg.org/css-fonts-4/#font-variant-css21-values",
      "syntax": "normal | small-caps",
      "extended": []
    },
    {
      "name": "font-weight-absolute",
      "href": "https://drafts.csswg.org/css-fonts-4/#font-weight-absolute-values",
      "syntax": "[ normal | bold | <number [1,1000]> ]",
      "extended": []
    },
    {
      "name": "font-width-css3",
      "href": "https://drafts.csswg.org/css-fonts-4/#font-width-css3-values",
      "syntax": "normal | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded",
      "extended": []
    },
    {
      "name": "forgiving-selector-list",
      "prose": "The <forgiving-selector-list> production instead parses each selector in the list individually, simply ignoring ones that fail to parse, so the remaining selectors can still be used.",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-forgiving-selector-list",
      "extended": []
    },
    {
      "for": [
        "::picker()"
      ],
      "name": "form-control-identifier",
      "href": "https://drafts.csswg.org/css-forms-1/#typedef-picker-form-control-identifier",
      "syntax": "select",
      "extended": []
    },
    {
      "name": "frequency",
      "prose": "Frequency values are dimensions denoted by <frequency>. The frequency unit identifiers are:",
      "href": "https://drafts.csswg.org/css-values-4/#frequency-value",
      "extended": []
    },
    {
      "name": "frequency-percentage",
      "href": "https://drafts.csswg.org/css-values-4/#typedef-frequency-percentage",
      "syntax": "[ <frequency> | <percentage> ]",
      "extended": []
    },
    {
      "name": "function-parameter",
      "href": "https://drafts.csswg.org/css-mixins-1/#typedef-function-parameter",
      "syntax": "<custom-property-name> <css-type>? [ : <default-value> ]?",
      "extended": []
    },
    {
      "name": "function-token",
      "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <unicode-range-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-function-token",
      "extended": []
    },
    {
      "name": "gap-auto-repeat-rule",
      "href": "https://drafts.csswg.org/css-gaps-1/#typedef-gap-auto-repeat-rule",
      "syntax": "repeat( auto , <gap-rule># )",
      "extended": []
    },
    {
      "name": "gap-auto-rule-list",
      "href": "https://drafts.csswg.org/css-gaps-1/#typedef-gap-auto-rule-list",
      "syntax": "<gap-rule-or-repeat>#? , <gap-auto-repeat-rule> , <gap-rule-or-repeat>#?",
      "extended": []
    },
    {
      "name": "gap-repeat-rule",
      "href": "https://drafts.csswg.org/css-gaps-1/#typedef-gap-repeat-rule",
      "syntax": "repeat( <integer [1,∞]> , <gap-rule># )",
      "extended": []
    },
    {
      "name": "gap-rule",
      "href": "https://drafts.csswg.org/css-gaps-1/#typedef-gap-rule",
      "syntax": "<line-width> || <line-style> || <color>",
      "extended": []
    },
    {
      "name": "gap-rule-list",
      "href": "https://drafts.csswg.org/css-gaps-1/#typedef-gap-rule-list",
      "syntax": "<gap-rule-or-repeat>#",
      "extended": []
    },
    {
      "name": "gap-rule-or-repeat",
      "href": "https://drafts.csswg.org/css-gaps-1/#typedef-gap-rule-or-repeat",
      "syntax": "<gap-rule> | <gap-repeat-rule>",
      "extended": []
    },
    {
      "for": [
        "voice-family"
      ],
      "name": "gender",
      "prose": "One of the keywords male, female, or neutral, specifying a male, female, or neutral voice, respectively.",
      "href": "https://drafts.csswg.org/css-speech-1/#typedef-voice-family-gender",
      "extended": []
    },
    {
      "name": "general-enclosed",
      "href": "https://drafts.csswg.org/mediaqueries-5/#typedef-general-enclosed",
      "syntax": "[ <function-token> <any-value>? ) ] | [ ( <any-value>? ) ]",
      "extended": []
    },
    {
      "name": "generic-family",
      "prose": "In the example above, the last value is a generic family name. The following generic families are defined: serif (e.g., Times) sans-serif (e.g., Helvetica) cursive (e.g., Zapf-Chancery) fantasy (e.g., Western) monospace (e.g., Courier) Style sheet designers are encouraged to offer a generic font family as a last alternative. Generic font family names are keywords and must NOT be quoted.",
      "href": "https://drafts.csswg.org/css2/#value-def-generic-family",
      "extended": []
    },
    {
      "name": "generic-font-complete",
      "href": "https://drafts.csswg.org/css-fonts-4/#typedef-generic-font-complete",
      "syntax": "serif | sans-serif | system-ui | cursive | fantasy | math | monospace",
      "extended": []
    },
    {
      "name": "generic-font-family",
      "href": "https://drafts.csswg.org/css-fonts-4/#typedef-generic-font-family",
      "syntax": "<generic-font-script-specific>| <generic-font-complete> | <generic-font-incomplete>",
      "extended": []
    },
    {
      "name": "generic-font-incomplete",
      "href": "https://drafts.csswg.org/css-fonts-4/#typedef-generic-font-incomplete",
      "syntax": "ui-serif | ui-sans-serif | ui-monospace | ui-rounded",
      "extended": []
    },
    {
      "name": "generic-font-script-specific",
      "href": "https://drafts.csswg.org/css-fonts-4/#typedef-generic-font-script-specific",
      "syntax": "generic(fangsong) | generic(kai) | generic(khmer-mul) | generic(nastaliq)",
      "extended": []
    },
    {
      "name": "generic-voice",
      "href": "https://drafts.csswg.org/css-speech-1/#typedef-generic-voice",
      "syntax": "<age>? <gender> <integer [1,∞]>?",
      "extended": []
    },
    {
      "name": "geometry-box",
      "href": "https://drafts.csswg.org/css-masking-1/#typedef-geometry-box",
      "syntax": "<shape-box> | fill-box | stroke-box | view-box",
      "extended": []
    },
    {
      "name": "gradient",
      "href": "https://drafts.csswg.org/css-images-4/#typedef-gradient",
      "syntax": "[ <linear-gradient()> | <repeating-linear-gradient()> | <radial-gradient()> | <repeating-radial-gradient()> | <conic-gradient()> | <repeating-conic-gradient()> ]",
      "extended": []
    },
    {
      "for": [
        "grid-column-end",
        "grid-column-start",
        "grid-row-end",
        "grid-row-start"
      ],
      "name": "grid-line",
      "href": "https://drafts.csswg.org/css-grid-2/#typedef-grid-row-start-grid-line",
      "syntax": "auto | <custom-ident> | [ [ <integer [-∞,-1]> | <integer [1,∞]> ] && <custom-ident>? ] | [ span && [ <integer [1,∞]> || <custom-ident> ] ]",
      "extended": []
    },
    {
      "name": "hash-token",
      "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <unicode-range-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-hash-token",
      "extended": []
    },
    {
      "name": "hex-color",
      "prose": "The syntax of a <hex-color> is a <hash-token> token whose value consists of 3, 4, 6, or 8 hexadecimal digits. In other words, a hex color is written as a hash character, \"#\", followed by some number of digits 0-9 or letters a-f (the case of the letters doesn’t matter - #00ff00 is identical to #00FF00).",
      "href": "https://drafts.csswg.org/css-color-4/#typedef-hex-color",
      "extended": []
    },
    {
      "name": "historical-lig-values",
      "href": "https://drafts.csswg.org/css-fonts-4/#historical-lig-values",
      "syntax": "[ historical-ligatures | no-historical-ligatures ]",
      "extended": []
    },
    {
      "for": [
        "shape()"
      ],
      "name": "horizontal-line-command",
      "href": "https://drafts.csswg.org/css-shapes-1/#typedef-shape-horizontal-line-command",
      "syntax": "hline [ to [ <length-percentage> | left | center | right | x-start | x-end ] | by <length-percentage> ]",
      "extended": []
    },
    {
      "name": "hue",
      "href": "https://drafts.csswg.org/css-color-4/#typedef-hue",
      "syntax": "<number> | <angle>",
      "extended": []
    },
    {
      "name": "hue-interpolation-method",
      "href": "https://drafts.csswg.org/css-color-5/#typedef-hue-interpolation-method",
      "syntax": "[ shorter | longer | increasing | decreasing ] hue",
      "extended": []
    },
    {
      "name": "id",
      "prose": "The <id> value is an ID selector [SELECT]. In response to directional navigation input corresponding to the property, the focus is navigated to the first element in tree order matching the selector. If this refers to the currently focused element, the directional navigation input respective to the nav- property is ignored — there is no need to refocus the same element. If no element matches the selector, the user agent automatically determines which element to navigate the focus to. If the focus is navigated to an element that was not otherwise focusable, it becomes focusable only as the result of this directional navigation, and the :focus pseudo-class matches the element while it is focused as such.",
      "href": "https://drafts.csswg.org/css-ui-4/#typedef-id",
      "extended": []
    },
    {
      "name": "id-selector",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-id-selector",
      "syntax": "<hash-token>",
      "extended": []
    },
    {
      "name": "ident",
      "prose": "CSS identifiers, generically denoted by <ident>, represent names, and are written as an unquoted sequence of (potentially escaped) characters corresponding to the <ident-token> grammar. [CSS-SYNTAX-3] Identifiers cannot be quoted; otherwise they would be interpreted as strings. CSS properties accept two classes of identifiers: pre-defined keywords and author-defined identifiers.",
      "href": "https://drafts.csswg.org/css-values-4/#typedef-ident",
      "extended": []
    },
    {
      "name": "ident-arg",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-ident-arg",
      "syntax": "<string> | <integer> | <ident>",
      "extended": []
    },
    {
      "name": "ident-token",
      "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <unicode-range-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-ident-token",
      "extended": []
    },
    {
      "name": "identifier",
      "href": "https://drafts.csswg.org/css2/#value-def-identifier",
      "extended": []
    },
    {
      "name": "if-args",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-if-args",
      "syntax": "if( [ <if-args-branch> ; ]* <if-args-branch> ;? )",
      "extended": []
    },
    {
      "name": "if-args-branch",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-if-args-branch",
      "syntax": "<declaration-value> : <declaration-value>?",
      "extended": []
    },
    {
      "name": "if-branch",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-if-branch",
      "syntax": "<if-condition> : <declaration-value>?",
      "extended": []
    },
    {
      "name": "if-condition",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-if-condition",
      "syntax": "<boolean-expr[ <if-test> ]> | else",
      "extended": []
    },
    {
      "name": "if-test",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-if-test",
      "syntax": "supports( [ <ident> : <declaration-value> ] | <supports-condition> ) | media( <media-feature> | <media-condition> ) | style( <style-query> )",
      "extended": []
    },
    {
      "name": "image",
      "href": "https://drafts.csswg.org/css-images-4/#typedef-image",
      "syntax": "<url> | <image()> | <image-set()> | <cross-fade()> | <element()> | <gradient>",
      "extended": []
    },
    {
      "name": "image-1D",
      "prose": "While <image> values represent a 2-dimensional (2D) image, and <color> can be thought of as a 0-dimensional (0D) image (unvarying in either axis), some contexts require a 1-dimensional (1D) image, which specifies colors along an abstract, directionless, single-axis paint line. The <image-1D> type represents such 1D images, including the stripes() functional notation:",
      "href": "https://drafts.csswg.org/css-images-4/#typedef-image-1d",
      "syntax": "<stripes()>",
      "extended": []
    },
    {
      "name": "image-set-option",
      "href": "https://drafts.csswg.org/css-images-4/#typedef-image-set-option",
      "syntax": "[ <image> | <string> ] [ <resolution> || type(<string>) ]?",
      "extended": []
    },
    {
      "name": "image-src",
      "href": "https://drafts.csswg.org/css-images-5/#typedef-image-src",
      "syntax": "[ <url> | <string> ]",
      "extended": []
    },
    {
      "name": "image-tags",
      "href": "https://drafts.csswg.org/css-images-5/#typedef-image-tags",
      "syntax": "[ ltr | rtl ]",
      "extended": []
    },
    {
      "name": "import-conditions",
      "href": "https://drafts.csswg.org/css-cascade-5/#typedef-import-conditions",
      "syntax": "[ supports( [ <supports-condition> | <declaration> ] ) ]? <media-query-list>?",
      "extended": []
    },
    {
      "name": "inflexible-breadth",
      "href": "https://drafts.csswg.org/css-grid-2/#typedef-inflexible-breadth",
      "syntax": "<length-percentage [0,∞]> | min-content | max-content | auto",
      "extended": []
    },
    {
      "name": "inherit-args",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-inherit-args",
      "syntax": "inherit( <declaration-value>, <declaration-value>? )",
      "extended": []
    },
    {
      "name": "init-descriptor",
      "href": "https://drafts.csswg.org/css-navigation-1/#typedef-init-descriptor",
      "syntax": "<init-descriptor-name> : <string>",
      "extended": []
    },
    {
      "name": "init-descriptor-name",
      "href": "https://drafts.csswg.org/css-navigation-1/#typedef-init-descriptor-name",
      "syntax": "protocol | hostname | port | pathname | search | hash",
      "extended": []
    },
    {
      "for": [
        "calc-interpolate()",
        "calc-interpolate()",
        "color-interpolate()",
        "color-interpolate()",
        "interpolate()",
        "interpolate()",
        "transform-interpolate()",
        "transform-interpolate()"
      ],
      "name": "input-position",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-calc-interpolate-input-position",
      "syntax": "<percentage> | <number> | <dimension>",
      "extended": []
    },
    {
      "name": "inset-value",
      "href": "https://drafts.csswg.org/css-gaps-1/#typedef-inset-value",
      "syntax": "<length-percentage> | overlap-join",
      "extended": []
    },
    {
      "name": "integer",
      "prose": "Integer values are denoted by <integer>.",
      "href": "https://drafts.csswg.org/css-values-4/#integer-value",
      "syntax": "<number-token>",
      "extended": []
    },
    {
      "for": [
        "<request-url-modifier>"
      ],
      "name": "integrity-modifier",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-request-url-modifier-integrity-modifier",
      "syntax": "integrity(<string>)",
      "extended": []
    },
    {
      "name": "isolation-mode",
      "href": "https://drafts.csswg.org/compositing-2/#isolated-propid",
      "syntax": "auto | isolate",
      "extended": []
    },
    {
      "name": "keyframe-block",
      "href": "https://drafts.csswg.org/css-animations-1/#typedef-keyframe-block",
      "syntax": "<keyframe-selector># { <declaration-list> }",
      "extended": []
    },
    {
      "name": "keyframe-selector",
      "href": "https://drafts.csswg.org/css-animations-1/#typedef-keyframe-selector",
      "syntax": "from | to | <percentage [0,100]>",
      "extended": []
    },
    {
      "name": "keyframes-name",
      "href": "https://drafts.csswg.org/css-animations-1/#typedef-keyframes-name",
      "syntax": "<custom-ident> | <string>",
      "extended": []
    },
    {
      "name": "layer-name",
      "href": "https://drafts.csswg.org/css-cascade-5/#typedef-layer-name",
      "syntax": "<ident> [ '.' <ident> ]*",
      "extended": []
    },
    {
      "name": "layout-box",
      "href": "https://drafts.csswg.org/css-box-4/#typedef-layout-box",
      "syntax": "<visual-box> | margin-box",
      "extended": []
    },
    {
      "name": "leader-type",
      "href": "https://drafts.csswg.org/css-content-3/#typedef-leader-type",
      "syntax": "dotted | solid | space | <string>",
      "extended": []
    },
    {
      "name": "left",
      "prose": "<top>, <right>, <bottom>, and <left> may either have a <length> value or auto. Negative lengths are permitted. The value auto means that a given edge of the clipping region will be the same as the edge of the element’s generated border box (i.e., auto means the same as 0 for <top> and <left>, the same as the used value of the height plus the sum of vertical padding and border widths for <bottom>, and the same as the used value of the width plus the sum of the horizontal padding and border widths for <right>, such that four auto values result in the clipping region being the same as the element’s border box).",
      "href": "https://drafts.csswg.org/css2/#value-def-left",
      "extended": []
    },
    {
      "name": "legacy-border-radius-syntax",
      "href": "https://drafts.csswg.org/css-borders-4/#typedef-legacy-border-radius-syntax",
      "syntax": "<length-percentage [0,∞]>{1,2}",
      "extended": []
    },
    {
      "name": "legacy-device-cmyk-syntax",
      "href": "https://drafts.csswg.org/css-color-5/#typedef-legacy-device-cmyk-syntax",
      "syntax": "device-cmyk( <number>#{4} )",
      "extended": []
    },
    {
      "name": "legacy-hsl-syntax",
      "href": "https://drafts.csswg.org/css-color-4/#typedef-legacy-hsl-syntax",
      "syntax": "hsl( <hue>, <percentage>, <percentage>, <alpha-value>? )",
      "extended": []
    },
    {
      "name": "legacy-hsla-syntax",
      "href": "https://drafts.csswg.org/css-color-4/#typedef-legacy-hsla-syntax",
      "syntax": "hsla( <hue>, <percentage>, <percentage>, <alpha-value>? )",
      "extended": []
    },
    {
      "name": "legacy-pseudo-element-selector",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-legacy-pseudo-element-selector",
      "syntax": ": [before | after | first-line | first-letter]",
      "extended": []
    },
    {
      "name": "legacy-rgb-syntax",
      "href": "https://drafts.csswg.org/css-color-4/#typedef-legacy-rgb-syntax",
      "syntax": "rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? )",
      "extended": []
    },
    {
      "name": "legacy-rgba-syntax",
      "href": "https://drafts.csswg.org/css-color-4/#typedef-legacy-rgba-syntax",
      "syntax": "rgba( <percentage>#{3} , <alpha-value>? ) | rgba( <number>#{3} , <alpha-value>? )",
      "extended": []
    },
    {
      "name": "length",
      "prose": "Lengths refer to distance measurements and are denoted by <length> in the property definitions. A length is a dimension.",
      "href": "https://drafts.csswg.org/css-values-4/#length-value",
      "extended": []
    },
    {
      "name": "length-percentage",
      "href": "https://drafts.csswg.org/css-values-4/#typedef-length-percentage",
      "syntax": "[ <length> | <percentage> ]",
      "extended": []
    },
    {
      "name": "level",
      "prose": "where <level> is a <number-token> with its type flag set to \"integer\".",
      "href": "https://drafts.csswg.org/selectors-5/#typedef-level",
      "extended": []
    },
    {
      "name": "light-dark-color",
      "href": "https://drafts.csswg.org/css-color-5/#typedef-light-dark-color",
      "syntax": "light-dark(<color>, <color>)",
      "extended": []
    },
    {
      "name": "light-dark-image",
      "href": "https://drafts.csswg.org/css-color-5/#typedef-light-dark-image",
      "syntax": "light-dark( [ <image> | none ] , [ <image> | none ] )",
      "extended": []
    },
    {
      "name": "line-color-list",
      "href": "https://drafts.csswg.org/css-gaps-1/#typedef-line-color-list",
      "syntax": "<line-color-or-repeat>#",
      "extended": []
    },
    {
      "name": "line-color-or-repeat",
      "href": "https://drafts.csswg.org/css-gaps-1/#typedef-line-color-or-repeat",
      "syntax": "[ <color> | <repeat-line-color> ]",
      "extended": []
    },
    {
      "for": [
        "shape()"
      ],
      "name": "line-command",
      "href": "https://drafts.csswg.org/css-shapes-1/#typedef-shape-line-command",
      "syntax": "line <command-end-point>",
      "extended": []
    },
    {
      "name": "line-name-list",
      "href": "https://drafts.csswg.org/css-grid-2/#typedef-line-name-list",
      "syntax": "[ <line-names> | <name-repeat> ]+",
      "extended": []
    },
    {
      "name": "line-names",
      "href": "https://drafts.csswg.org/css-grid-2/#typedef-line-names",
      "syntax": "'[' <custom-ident>* ']'",
      "extended": []
    },
    {
      "name": "line-style",
      "href": "https://drafts.csswg.org/css-borders-4/#typedef-line-style",
      "syntax": "none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset",
      "extended": []
    },
    {
      "name": "line-style-list",
      "href": "https://drafts.csswg.org/css-gaps-1/#typedef-line-style-list",
      "syntax": "<line-style-or-repeat>#",
      "extended": []
    },
    {
      "name": "line-style-or-repeat",
      "href": "https://drafts.csswg.org/css-gaps-1/#typedef-line-style-or-repeat",
      "syntax": "[ <line-style> | <repeat-line-style> ]",
      "extended": []
    },
    {
      "name": "line-width",
      "href": "https://drafts.csswg.org/css-borders-4/#typedef-line-width",
      "syntax": "<length [0,∞]> | hairline | thin | medium | thick",
      "extended": []
    },
    {
      "name": "line-width-list",
      "href": "https://drafts.csswg.org/css-gaps-1/#typedef-line-width-list",
      "syntax": "<line-width-or-repeat>#",
      "extended": []
    },
    {
      "name": "line-width-or-repeat",
      "href": "https://drafts.csswg.org/css-gaps-1/#typedef-line-width-or-repeat",
      "syntax": "[ <line-width> | <repeat-line-width> ]",
      "extended": []
    },
    {
      "name": "linear-color-hint",
      "href": "https://drafts.csswg.org/css-images-4/#typedef-linear-color-hint",
      "syntax": "<length-percentage>",
      "extended": []
    },
    {
      "name": "linear-color-stop",
      "href": "https://drafts.csswg.org/css-images-4/#typedef-linear-color-stop",
      "syntax": "<color> <color-stop-length>?",
      "extended": []
    },
    {
      "name": "linear-easing-function",
      "href": "https://drafts.csswg.org/css-easing-2/#typedef-linear-easing-function",
      "syntax": "linear | <linear()>",
      "extended": []
    },
    {
      "name": "linear-gradient-syntax",
      "href": "https://drafts.csswg.org/css-images-4/#typedef-linear-gradient-syntax",
      "syntax": "[ [ <angle> | <zero> | to <side-or-corner> ] || <color-interpolation-method> ]? , <color-stop-list>",
      "extended": []
    },
    {
      "name": "margin-width",
      "prose": "The properties defined in this section refer to the <margin-width> value type, which may take one of the following values:",
      "href": "https://drafts.csswg.org/css2/#value-def-margin-width",
      "extended": []
    },
    {
      "name": "marker-ref",
      "href": "https://w3c.github.io/svgwg/svg2-draft/painting.html#DataTypeMarkerRef",
      "syntax": "<url>",
      "extended": []
    },
    {
      "name": "mask-layer",
      "href": "https://drafts.csswg.org/css-masking-1/#typedef-mask-layer",
      "syntax": "<mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || <geometry-box> || [ <geometry-box> | no-clip ] || <compositing-operator> || <masking-mode>",
      "extended": []
    },
    {
      "name": "mask-reference",
      "href": "https://drafts.csswg.org/css-masking-1/#typedef-mask-reference",
      "syntax": "none | <image> | <mask-source>",
      "extended": []
    },
    {
      "name": "mask-source",
      "href": "https://drafts.csswg.org/css-masking-1/#typedef-mask-source",
      "syntax": "<url>",
      "extended": []
    },
    {
      "name": "masking-mode",
      "href": "https://drafts.csswg.org/css-masking-1/#typedef-masking-mode",
      "syntax": "alpha | luminance | match-source",
      "extended": []
    },
    {
      "name": "media-and",
      "href": "https://drafts.csswg.org/mediaqueries-5/#typedef-media-and",
      "syntax": "and <media-in-parens>",
      "extended": []
    },
    {
      "name": "media-condition",
      "href": "https://drafts.csswg.org/mediaqueries-5/#typedef-media-condition",
      "syntax": "<media-not> | <media-in-parens> [ <media-and>* | <media-or>* ]",
      "extended": []
    },
    {
      "name": "media-condition-without-or",
      "href": "https://drafts.csswg.org/mediaqueries-5/#typedef-media-condition-without-or",
      "syntax": "<media-not> | <media-in-parens> <media-and>*",
      "extended": []
    },
    {
      "name": "media-feature",
      "href": "https://drafts.csswg.org/mediaqueries-5/#typedef-media-feature",
      "syntax": "[ <mf-plain> | <mf-boolean> | <mf-range> ]",
      "extended": []
    },
    {
      "name": "media-import-condition",
      "href": "https://drafts.csswg.org/css-cascade-6/#typedef-media-import-condition",
      "syntax": "<media-query-list>",
      "extended": []
    },
    {
      "name": "media-in-parens",
      "href": "https://drafts.csswg.org/mediaqueries-5/#typedef-media-in-parens",
      "syntax": "( <media-condition> ) | ( <media-feature> ) | <general-enclosed>",
      "extended": []
    },
    {
      "name": "media-not",
      "href": "https://drafts.csswg.org/mediaqueries-5/#typedef-media-not",
      "syntax": "not <media-in-parens>",
      "extended": []
    },
    {
      "name": "media-or",
      "href": "https://drafts.csswg.org/mediaqueries-5/#typedef-media-or",
      "syntax": "or <media-in-parens>",
      "extended": []
    },
    {
      "name": "media-query",
      "href": "https://drafts.csswg.org/mediaqueries-5/#typedef-media-query",
      "syntax": "<media-condition> | [ not | only ]? <media-type> [ and <media-condition-without-or> ]?",
      "extended": []
    },
    {
      "name": "media-query-list",
      "prose": "To parse a <media-query-list> production, parse a comma-separated list of component values, then parse each entry in the returned list as a <media-query>. Its value is the list of <media-query>s so produced.",
      "href": "https://drafts.csswg.org/mediaqueries-5/#typedef-media-query-list",
      "extended": []
    },
    {
      "name": "media-type",
      "href": "https://drafts.csswg.org/mediaqueries-5/#typedef-media-type",
      "syntax": "<ident>",
      "extended": []
    },
    {
      "name": "mf-boolean",
      "href": "https://drafts.csswg.org/mediaqueries-5/#typedef-mf-boolean",
      "syntax": "<mf-name>",
      "extended": []
    },
    {
      "name": "mf-comparison",
      "href": "https://drafts.csswg.org/mediaqueries-5/#typedef-mf-comparison",
      "syntax": "<mf-lt> | <mf-gt> | <mf-eq>",
      "extended": []
    },
    {
      "name": "mf-eq",
      "href": "https://drafts.csswg.org/mediaqueries-5/#typedef-mf-eq",
      "syntax": "'='",
      "extended": []
    },
    {
      "name": "mf-gt",
      "href": "https://drafts.csswg.org/mediaqueries-5/#typedef-mf-gt",
      "syntax": "'>' '='?",
      "extended": []
    },
    {
      "name": "mf-lt",
      "href": "https://drafts.csswg.org/mediaqueries-5/#typedef-mf-lt",
      "syntax": "'<' '='?",
      "extended": []
    },
    {
      "name": "mf-name",
      "href": "https://drafts.csswg.org/mediaqueries-5/#typedef-mf-name",
      "syntax": "<ident>",
      "extended": []
    },
    {
      "name": "mf-plain",
      "href": "https://drafts.csswg.org/mediaqueries-5/#typedef-mf-plain",
      "syntax": "<mf-name> : <mf-value>",
      "extended": []
    },
    {
      "name": "mf-range",
      "href": "https://drafts.csswg.org/mediaqueries-5/#typedef-mf-range",
      "syntax": "<mf-name> <mf-comparison> <mf-value> | <mf-value> <mf-comparison> <mf-name> | <mf-value> <mf-lt> <mf-name> <mf-lt> <mf-value> | <mf-value> <mf-gt> <mf-name> <mf-gt> <mf-value>",
      "extended": []
    },
    {
      "name": "mf-value",
      "href": "https://drafts.csswg.org/mediaqueries-5/#typedef-mf-value",
      "syntax": "<number> | <dimension> | <ident> | <ratio>",
      "extended": []
    },
    {
      "name": "modern-device-cmyk-syntax",
      "href": "https://drafts.csswg.org/css-color-5/#typedef-modern-device-cmyk-syntax",
      "syntax": "device-cmyk( <cmyk-component>{4} [ / [ <alpha-value> | none ] ]? )",
      "extended": []
    },
    {
      "name": "modern-hsl-syntax",
      "href": "https://drafts.csswg.org/css-color-5/#typedef-modern-hsl-syntax",
      "syntax": "hsl([from <color>]? [<hue> | none] [<percentage> | <number> | none] [<percentage> | <number> | none] [ / [<alpha-value> | none] ]? )",
      "extended": []
    },
    {
      "name": "modern-hsla-syntax",
      "href": "https://drafts.csswg.org/css-color-5/#typedef-modern-hsla-syntax",
      "syntax": "hsla([from <color>]? [<hue> | none] [<percentage> | <number> | none] [<percentage> | <number> | none] [ / [<alpha-value> | none] ]? )",
      "extended": []
    },
    {
      "name": "modern-rgb-syntax",
      "href": "https://drafts.csswg.org/css-color-5/#typedef-modern-rgb-syntax",
      "syntax": "rgb( [ from <color> ]? [ <number> | <percentage> | none]{3} [ / [<alpha-value> | none] ]? )",
      "extended": []
    },
    {
      "name": "modern-rgba-syntax",
      "href": "https://drafts.csswg.org/css-color-5/#typedef-modern-rgba-syntax",
      "syntax": "rgba( [ from <color> ]? [ <number> | <percentage> | none]{3} [ / [<alpha-value> | none] ]? )",
      "extended": []
    },
    {
      "for": [
        "shape()"
      ],
      "name": "move-command",
      "href": "https://drafts.csswg.org/css-shapes-1/#typedef-shape-move-command",
      "syntax": "move <command-end-point>",
      "extended": []
    },
    {
      "name": "mq-boolean",
      "href": "https://drafts.csswg.org/mediaqueries-4/#typedef-mq-boolean",
      "syntax": "<integer [0,1]>",
      "extended": []
    },
    {
      "name": "n-dimension",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-n-dimension",
      "syntax": "<dimension-token>",
      "extended": []
    },
    {
      "name": "name-repeat",
      "href": "https://drafts.csswg.org/css-grid-2/#typedef-name-repeat",
      "syntax": "repeat( [ <integer [1,∞]> | auto-fill ], <line-names>+)",
      "extended": []
    },
    {
      "name": "named-color",
      "prose": "CSS defines a large set of named colors, so that common colors can be written and read more easily. A <named-color> is written as an <ident>, accepted anywhere a <color> is. As usual for CSS-defined <ident>s, all of these keywords are ASCII case-insensitive.",
      "href": "https://drafts.csswg.org/css-color-4/#typedef-named-color",
      "syntax": "aliceblue | antiquewhite | aqua | aquamarine | azure | beige | bisque | black | blanchedalmond | blue | blueviolet | brown | burlywood | cadetblue | chartreuse | chocolate | coral | cornflowerblue | cornsilk | crimson | cyan | darkblue | darkcyan | darkgoldenrod | darkgray | darkgreen | darkgrey | darkkhaki | darkmagenta | darkolivegreen | darkorange | darkorchid | darkred | darksalmon | darkseagreen | darkslateblue | darkslategray | darkslategrey | darkturquoise | darkviolet | deeppink | deepskyblue | dimgray | dimgrey | dodgerblue | firebrick | floralwhite | forestgreen | fuchsia | gainsboro | ghostwhite | gold | goldenrod | gray | green | greenyellow | grey | honeydew | hotpink | indianred | indigo | ivory | khaki | lavender | lavenderblush | lawngreen | lemonchiffon | lightblue | lightcoral | lightcyan | lightgoldenrodyellow | lightgray | lightgreen | lightgrey | lightpink | lightsalmon | lightseagreen | lightskyblue | lightslategray | lightslategrey | lightsteelblue | lightyellow | lime | limegreen | linen | magenta | maroon | mediumaquamarine | mediumblue | mediumorchid | mediumpurple | mediumseagreen | mediumslateblue | mediumspringgreen | mediumturquoise | mediumvioletred | midnightblue | mintcream | mistyrose | moccasin | navajowhite | navy | oldlace | olive | olivedrab | orange | orangered | orchid | palegoldenrod | palegreen | paleturquoise | palevioletred | papayawhip | peachpuff | peru | pink | plum | powderblue | purple | rebeccapurple | red | rosybrown | royalblue | saddlebrown | salmon | sandybrown | seagreen | seashell | sienna | silver | skyblue | slateblue | slategray | slategrey | snow | springgreen | steelblue | tan | teal | thistle | tomato | turquoise | violet | wheat | white | whitesmoke | yellow | yellowgreen | transparent",
      "extended": []
    },
    {
      "name": "namespace-prefix",
      "href": "https://drafts.csswg.org/css-namespaces-3/#typedef-namespace-prefix",
      "syntax": "<ident>",
      "extended": []
    },
    {
      "name": "navigation-condition",
      "href": "https://drafts.csswg.org/css-navigation-1/#typedef-navigation-condition",
      "syntax": "not <navigation-in-parens> | <navigation-in-parens> [ and <navigation-in-parens> ]* | <navigation-in-parens> [ or <navigation-in-parens> ]*",
      "extended": []
    },
    {
      "name": "navigation-in-parens",
      "href": "https://drafts.csswg.org/css-navigation-1/#typedef-navigation-in-parens",
      "syntax": "( <navigation-condition> ) | ( <navigation-test> ) | <general-enclosed>",
      "extended": []
    },
    {
      "name": "navigation-location-between-test",
      "href": "https://drafts.csswg.org/css-navigation-1/#typedef-navigation-location-between-test",
      "syntax": "between : <route-location> and <route-location>",
      "extended": []
    },
    {
      "name": "navigation-location-test",
      "href": "https://drafts.csswg.org/css-navigation-1/#typedef-navigation-location-test",
      "syntax": "<navigation-relation> : <route-location>",
      "extended": []
    },
    {
      "name": "navigation-phase-keyword",
      "href": "https://drafts.csswg.org/css-navigation-1/#typedef-navigation-phase-keyword",
      "syntax": "loading | ready | committed",
      "extended": []
    },
    {
      "name": "navigation-phase-test",
      "href": "https://drafts.csswg.org/css-navigation-1/#typedef-navigation-phase-test",
      "syntax": "phase : <navigation-phase-keyword>",
      "extended": []
    },
    {
      "name": "navigation-relation",
      "href": "https://drafts.csswg.org/css-navigation-1/#typedef-navigation-relation",
      "syntax": "at | with | from | to",
      "extended": []
    },
    {
      "name": "navigation-test",
      "href": "https://drafts.csswg.org/css-navigation-1/#typedef-navigation-test",
      "syntax": "<navigation-location-test> | <navigation-location-between-test> | <navigation-type-test> | <navigation-phase-test>",
      "extended": []
    },
    {
      "name": "navigation-type-keyword",
      "href": "https://drafts.csswg.org/css-navigation-1/#typedef-navigation-type-keyword",
      "syntax": "traverse | back | forward | reload",
      "extended": []
    },
    {
      "name": "navigation-type-test",
      "href": "https://drafts.csswg.org/css-navigation-1/#typedef-navigation-type-test",
      "syntax": "history : <navigation-type-keyword>",
      "extended": []
    },
    {
      "name": "ndash-dimension",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-ndash-dimension",
      "syntax": "<dimension-token>",
      "extended": []
    },
    {
      "name": "ndashdigit-dimension",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-ndashdigit-dimension",
      "syntax": "<dimension-token>",
      "extended": []
    },
    {
      "name": "ndashdigit-ident",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-ndashdigit-ident",
      "syntax": "<ident-token>",
      "extended": []
    },
    {
      "name": "ns-prefix",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-ns-prefix",
      "syntax": "[ <ident-token> | '*' ]? '|'",
      "extended": []
    },
    {
      "name": "number",
      "prose": "Number values are denoted by <number>, and represent real numbers, possibly with a fractional component.",
      "href": "https://drafts.csswg.org/css-values-4/#number-value",
      "extended": []
    },
    {
      "name": "number-optional-number",
      "href": "https://drafts.csswg.org/filter-effects-1/#typedef-number-optional-number",
      "syntax": "<number> <number>?",
      "extended": []
    },
    {
      "name": "number-token",
      "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <unicode-range-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-number-token",
      "extended": []
    },
    {
      "name": "numeric-figure-values",
      "href": "https://drafts.csswg.org/css-fonts-4/#numeric-figure-values",
      "syntax": "[ lining-nums | oldstyle-nums ]",
      "extended": []
    },
    {
      "name": "numeric-fraction-values",
      "href": "https://drafts.csswg.org/css-fonts-4/#numeric-fraction-values",
      "syntax": "[ diagonal-fractions | stacked-fractions ]",
      "extended": []
    },
    {
      "name": "numeric-spacing-values",
      "href": "https://drafts.csswg.org/css-fonts-4/#numeric-spacing-values",
      "syntax": "[ proportional-nums | tabular-nums ]",
      "extended": []
    },
    {
      "name": "offset-path",
      "href": "https://drafts.csswg.org/motion-1/#typedef-offset-path",
      "syntax": "<ray()> | <url> | <basic-shape>",
      "extended": []
    },
    {
      "for": [
        "opacity"
      ],
      "name": "opacity-value",
      "prose": "The opacity to be applied to the element. The resulting opacity is applied to the entire element, rather than a particular color. Opacity values outside the range [0,1] are not invalid, and are preserved in specified values, but are clamped to the range [0, 1] in computed values.",
      "href": "https://drafts.csswg.org/css-color-4/#typedef-opacity-opacity-value",
      "syntax": "<number> | <percentage>",
      "extended": []
    },
    {
      "name": "opentype-tag",
      "href": "https://drafts.csswg.org/css-fonts-4/#typedef-opentype-tag",
      "syntax": "<string>",
      "extended": []
    },
    {
      "name": "outline-line-style",
      "prose": "<outline-line-style> accepts the same values as <line-style> (CSS Backgrounds 3 § 3.2 Line Patterns: the border-style properties) with the same meaning, except that hidden is not a legal outline style. In addition, the outline-style property accepts the value auto.",
      "href": "https://drafts.csswg.org/css-ui-4/#typedef-outline-line-style",
      "syntax": "none | auto | dotted | dashed | solid | double | groove | ridge | inset | outset",
      "extended": []
    },
    {
      "name": "overflow-position",
      "href": "https://drafts.csswg.org/css-align-3/#typedef-overflow-position",
      "syntax": "unsafe | safe",
      "extended": []
    },
    {
      "name": "padding-width",
      "prose": "The properties defined in this section refer to the <padding-width> value type, which may take one of the following values:",
      "href": "https://drafts.csswg.org/css2/#value-def-padding-width",
      "extended": []
    },
    {
      "name": "page-selector",
      "href": "https://drafts.csswg.org/css-page-3/#typedef-page-selector",
      "syntax": "[ <ident-token>? <pseudo-page>* ]!",
      "extended": []
    },
    {
      "name": "page-selector-list",
      "href": "https://drafts.csswg.org/css-page-3/#typedef-page-selector-list",
      "syntax": "<page-selector>#",
      "extended": []
    },
    {
      "for": [
        "size"
      ],
      "name": "page-size",
      "prose": "A page size can be specified using one of the following media names. This is the equivalent of specifying size using length values. The definition of the media names comes from Media Standardized Names [PWGMSN].",
      "href": "https://drafts.csswg.org/css-page-3/#typedef-page-size-page-size",
      "syntax": "A5 | A4 | A3 | B5 | B4 | JIS-B5 | JIS-B4 | letter | legal | ledger",
      "extended": []
    },
    {
      "name": "paint",
      "href": "https://drafts.csswg.org/fill-stroke-3/#typedef-paint",
      "syntax": "none | <image> | <svg-paint>",
      "extended": []
    },
    {
      "name": "paint-box",
      "href": "https://drafts.csswg.org/css-box-4/#typedef-paint-box",
      "syntax": "<visual-box> | fill-box | stroke-box",
      "extended": []
    },
    {
      "for": [
        "font-palette"
      ],
      "name": "palette-identifier",
      "prose": "This value identifies an CSS-defined palette to use. Users can define a palette by using the @font-palette-values rule. If no applicable @font-palette-values rule is present, this value behaves as normal. <palette-identifier> is parsed as a <dashed-ident>.",
      "href": "https://drafts.csswg.org/css-fonts-4/#typedef-font-palette-palette-identifier",
      "syntax": "<dashed-ident>",
      "extended": []
    },
    {
      "name": "pattern-descriptor",
      "href": "https://drafts.csswg.org/css-navigation-1/#typedef-pattern-descriptor",
      "syntax": "pattern : <url-pattern()>",
      "extended": []
    },
    {
      "name": "percentage",
      "prose": "Percentage values are denoted by <percentage>, and indicates a value that is some fraction of another reference value.",
      "href": "https://drafts.csswg.org/css-values-4/#percentage-value",
      "extended": []
    },
    {
      "name": "percentage-token",
      "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <unicode-range-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-percentage-token",
      "extended": []
    },
    {
      "name": "pointer-axis",
      "href": "https://drafts.csswg.org/pointer-animations-1/#typedef-axis",
      "syntax": "block | inline | x | y",
      "extended": []
    },
    {
      "name": "pointer-source",
      "href": "https://drafts.csswg.org/pointer-animations-1/#typedef-source",
      "syntax": "root | nearest | self",
      "extended": []
    },
    {
      "name": "points",
      "href": "https://w3c.github.io/svgwg/svg2-draft/shapes.html#DataTypePoints",
      "syntax": "[ <number>+ ]#",
      "extended": []
    },
    {
      "name": "polar-color-space",
      "href": "https://drafts.csswg.org/css-color-5/#typedef-polar-color-space",
      "syntax": "hsl | hwb | lch | oklch",
      "extended": []
    },
    {
      "name": "position",
      "prose": "The <position> value specifies the position of an alignment subject (e.g. a background image) inside an alignment container (e.g. its background positioning area) as a pair of offsets between the specified edges (defaulting to the left and top). Its syntax is:",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-position",
      "syntax": "<position-one> | <position-two> | <position-four>",
      "extended": []
    },
    {
      "name": "position-area",
      "href": "https://drafts.csswg.org/css-anchor-position-1/#typedef-position-area",
      "syntax": "[ [ left | center | right | span-left | span-right | x-start | x-end | span-x-start | span-x-end | self-x-start | self-x-end | span-self-x-start | span-self-x-end | span-all ] || [ top | center | bottom | span-top | span-bottom | y-start | y-end | span-y-start | span-y-end | self-y-start | self-y-end | span-self-y-start | span-self-y-end | span-all ] | [ block-start | center | block-end | span-block-start | span-block-end | span-all ] || [ inline-start | center | inline-end | span-inline-start | span-inline-end | span-all ] | [ self-block-start | center | self-block-end | span-self-block-start | span-self-block-end | span-all ] || [ self-inline-start | center | self-inline-end | span-self-inline-start | span-self-inline-end | span-all ] | [ start | center | end | span-start | span-end | span-all ]{1,2} | [ self-start | center | self-end | span-self-start | span-self-end | span-all ]{1,2} ]",
      "extended": []
    },
    {
      "name": "position-area-query",
      "href": "https://drafts.csswg.org/css-anchor-position-2/#typedef-position-area-query",
      "syntax": "[ [ left | center | right | span-left | span-right | x-start | x-end | span-x-start | span-x-end | self-x-start | self-x-end | span-self-x-start | span-self-x-end | span-all | any ] || [ top | center | bottom | span-top | span-bottom | y-start | y-end | span-y-start | span-y-end | self-y-start | self-y-end | span-self-y-start | span-self-y-end | span-all | any ] | [ block-start | center | block-end | span-block-start | span-block-end | span-all | any ] || [ inline-start | center | inline-end | span-inline-start | span-inline-end | span-all | any ] | [ self-block-start | center | self-block-end | span-self-block-start | span-self-block-end | span-all | any ] || [ self-inline-start | center | self-inline-end | span-self-inline-start | span-self-inline-end | span-all | any ] | [ start | center | end | span-start | span-end | span-all | any ]{1,2} | [ self-start | center | self-end | span-self-start | span-self-end | span-all | any ]{1,2} ]",
      "extended": []
    },
    {
      "name": "position-four",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-position-four",
      "syntax": "[ [ [ left | right | x-start | x-end ] <length-percentage> ] && [ [ top | bottom | y-start | y-end ] <length-percentage> ] | [ [ block-start | block-end ] <length-percentage> ] && [ [ inline-start | inline-end ] <length-percentage> ] | [ [ start | end ] <length-percentage> ]{2} ]",
      "extended": []
    },
    {
      "name": "position-one",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-position-one",
      "syntax": "[ left | center | right | top | bottom | x-start | x-end | y-start | y-end | block-start | block-end | inline-start | inline-end | <length-percentage> ]",
      "extended": []
    },
    {
      "name": "position-three",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#typedef-position-three",
      "syntax": "[ [ left | center | right ] && [ [ top | bottom ] <length-percentage> ] | [ [ left | right ] <length-percentage> ] && [ top | center | bottom ] ]",
      "extended": []
    },
    {
      "name": "position-two",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-position-two",
      "syntax": "[ [ left | center | right | x-start | x-end ] && [ top | center | bottom | y-start | y-end ] | [ left | center | right | x-start | x-end | <length-percentage> ] [ top | center | bottom | y-start | y-end | <length-percentage> ] | [ block-start | center | block-end ] && [ inline-start | center | inline-end ] | [ start | center | end ]{2} ]",
      "extended": []
    },
    {
      "name": "predefined-rgb",
      "href": "https://drafts.csswg.org/css-color-hdr-1/#typedef-predefined-rgb",
      "syntax": "srgb | srgb-linear | display-p3 | display-p3-linear | a98-rgb | prophoto-rgb | rec2020 | rec2100-pq | rec2100-hlg | rec2100-linear",
      "extended": []
    },
    {
      "name": "predefined-rgb-params",
      "href": "https://drafts.csswg.org/css-color-5/#typedef-predefined-rgb-params",
      "syntax": "<predefined-rgb> [ <number> | <percentage> | none ]{3}",
      "extended": []
    },
    {
      "name": "progress-source",
      "prose": "The <progress-source> value type represents the interpolation progress in an interpolation notation. Its syntax is:",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-progress-source",
      "syntax": "<percentage> | <number> | <dimension> | <'animation-timeline'>",
      "extended": []
    },
    {
      "name": "pseudo-class-selector",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-pseudo-class-selector",
      "syntax": ": <ident-token> | : <function-token> <any-value> )",
      "extended": []
    },
    {
      "name": "pseudo-compound-selector",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-pseudo-compound-selector",
      "syntax": "<pseudo-element-selector> <pseudo-class-selector>*",
      "extended": []
    },
    {
      "name": "pseudo-element-selector",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-pseudo-element-selector",
      "syntax": ": <pseudo-class-selector> | <legacy-pseudo-element-selector>",
      "extended": []
    },
    {
      "name": "pseudo-page",
      "href": "https://drafts.csswg.org/css-page-3/#typedef-pseudo-page",
      "syntax": ": [ left | right | first | blank ]",
      "extended": []
    },
    {
      "name": "pt-class-selector",
      "href": "https://drafts.csswg.org/css-view-transitions-2/#typedef-pt-class-selector",
      "syntax": "['.' <custom-ident>]+",
      "extended": []
    },
    {
      "name": "pt-name-and-class-selector",
      "href": "https://drafts.csswg.org/css-view-transitions-2/#typedef-pt-name-and-class-selector",
      "syntax": "<pt-name-selector> <pt-class-selector>? | <pt-class-selector>",
      "extended": []
    },
    {
      "name": "pt-name-selector",
      "href": "https://drafts.csswg.org/css-view-transitions-2/#typedef-pt-name-selector",
      "syntax": "'*' | <custom-ident>",
      "extended": []
    },
    {
      "name": "qualified-rule-list",
      "prose": "<qualified-rule-list>: only qualified rules are allowed; declarations and at-rules are automatically invalid.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-qualified-rule-list",
      "extended": []
    },
    {
      "name": "query-in-parens",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-query-in-parens",
      "syntax": "( <container-query> ) | ( <size-feature> ) | style( <style-query> ) | scroll-state( <scroll-state-query> ) | <general-enclosed>",
      "extended": []
    },
    {
      "name": "quirky-color",
      "prose": "When CSS is being parsed in quirks mode, <quirky-color> is a type of <color> that is only valid in certain properties:",
      "href": "https://drafts.csswg.org/css-color-4/#typedef-quirky-color",
      "extended": []
    },
    {
      "name": "quirky-length",
      "prose": "When CSS is being parsed in quirks mode, <quirky-length> is a type of <length> that is only valid in certain properties:",
      "href": "https://drafts.csswg.org/css-values-4/#typedef-quirky-length",
      "extended": []
    },
    {
      "name": "quote",
      "href": "https://drafts.csswg.org/css-content-3/#typedef-quote",
      "syntax": "open-quote | close-quote | no-open-quote | no-close-quote",
      "extended": []
    },
    {
      "name": "radial-extent",
      "href": "https://drafts.csswg.org/css-images-3/#typedef-radial-extent",
      "syntax": "closest-corner | closest-side | farthest-corner | farthest-side",
      "extended": []
    },
    {
      "name": "radial-gradient-syntax",
      "href": "https://drafts.csswg.org/css-images-4/#typedef-radial-gradient-syntax",
      "syntax": "[ [ [ <radial-shape> || <radial-size> ]? [ at <position> ]? ] || <color-interpolation-method>]? , <color-stop-list>",
      "extended": []
    },
    {
      "name": "radial-shape",
      "href": "https://drafts.csswg.org/css-images-3/#typedef-radial-shape",
      "syntax": "circle | ellipse",
      "extended": []
    },
    {
      "name": "radial-size",
      "href": "https://drafts.csswg.org/css-images-3/#typedef-radial-size",
      "syntax": "<radial-extent> | <length [0,∞]> | <length-percentage [0,∞]>{2}",
      "extended": []
    },
    {
      "name": "random-cache-key",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-random-cache-key",
      "syntax": "<dashed-ident> || element-scoped || [ property-scoped | property-index-scoped | <random-ua-ident> ]",
      "extended": []
    },
    {
      "name": "random-item-args",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-random-item-args",
      "syntax": "random-item( <declaration-value>, [ <declaration-value>? ]# )",
      "extended": []
    },
    {
      "name": "random-key",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-random-key",
      "syntax": "auto | <random-cache-key> | fixed <number [0,1]>",
      "extended": []
    },
    {
      "name": "random-ua-ident",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-random-ua-ident",
      "syntax": "<custom-ident>",
      "extended": []
    },
    {
      "name": "ratio",
      "prose": "Ratio values are denoted by <ratio>, and represent the ratio of two numeric values. It most often represents an aspect ratio, relating a width (first) to a height (second).",
      "href": "https://drafts.csswg.org/css-values-4/#ratio-value",
      "syntax": "<number [0,∞]> [ / <number [0,∞]> ]?",
      "extended": []
    },
    {
      "name": "ray-size",
      "href": "https://drafts.csswg.org/motion-1/#typedef-ray-size",
      "syntax": "<radial-extent> | sides",
      "extended": []
    },
    {
      "name": "rectangular-color-space",
      "href": "https://drafts.csswg.org/css-color-5/#typedef-rectangular-color-space",
      "syntax": "srgb | srgb-linear | display-p3 | display-p3-linear | a98-rgb | prophoto-rgb | rec2020 | lab | oklab | <xyz-space>",
      "extended": []
    },
    {
      "for": [
        "<request-url-modifier>"
      ],
      "name": "referrer-policy-modifier",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-request-url-modifier-referrer-policy-modifier",
      "syntax": "referrer-policy(no-referrer | no-referrer-when-downgrade | same-origin | origin | strict-origin | origin-when-cross-origin | strict-origin-when-cross-origin | unsafe-url)",
      "extended": []
    },
    {
      "for": [
        "shape()"
      ],
      "name": "relative-control-point",
      "href": "https://drafts.csswg.org/css-shapes-1/#typedef-shape-relative-control-point",
      "syntax": "<coordinate-pair> [ from [ start | end | origin ] ]?",
      "extended": []
    },
    {
      "name": "relative-real-selector",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-relative-real-selector",
      "syntax": "<combinator>? <complex-real-selector>",
      "extended": []
    },
    {
      "name": "relative-real-selector-list",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-relative-real-selector-list",
      "syntax": "<relative-real-selector>#",
      "extended": []
    },
    {
      "name": "relative-selector",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-relative-selector",
      "syntax": "<combinator>? <complex-selector>",
      "extended": []
    },
    {
      "name": "relative-selector-list",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-relative-selector-list",
      "syntax": "<relative-selector>#",
      "extended": []
    },
    {
      "name": "relative-size",
      "href": "https://drafts.csswg.org/css-fonts-4/#typedef-relative-size",
      "syntax": "[ larger | smaller ]",
      "extended": []
    },
    {
      "name": "repeat-line-color",
      "href": "https://drafts.csswg.org/css-gaps-1/#typedef-repeat-line-color",
      "syntax": "repeat( [ <integer [1,∞]> ] , [ <color> ]# )",
      "extended": []
    },
    {
      "name": "repeat-line-style",
      "href": "https://drafts.csswg.org/css-gaps-1/#typedef-repeat-line-style",
      "syntax": "repeat( [ <integer [1,∞]> ] , [ <line-style> ]# )",
      "extended": []
    },
    {
      "name": "repeat-line-width",
      "href": "https://drafts.csswg.org/css-gaps-1/#typedef-repeat-line-width",
      "syntax": "repeat( [ <integer [1,∞]> ] , [ <line-width> ]# )",
      "extended": []
    },
    {
      "name": "repeat-style",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#typedef-repeat-style",
      "syntax": "repeat-x | repeat-y | repeat-block | repeat-inline | <repetition>{1,2}",
      "extended": []
    },
    {
      "name": "repetition",
      "href": "https://drafts.csswg.org/css-backgrounds-4/#typedef-repetition",
      "syntax": "repeat | space | round | no-repeat",
      "extended": []
    },
    {
      "name": "request-url-modifier",
      "prose": "<request-url-modifier>s are <url-modifier>s that affect the <url>’s resource request by applying associated URL request modifier steps. See CSS Values 4 § 4.5.4 URL Processing Model.",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-request-url-modifier",
      "syntax": "<cross-origin-modifier> | <integrity-modifier> | <referrer-policy-modifier>",
      "extended": []
    },
    {
      "name": "resolution",
      "prose": "Resolution units are dimensions denoted by <resolution>. The resolution unit identifiers are:",
      "href": "https://drafts.csswg.org/css-values-4/#resolution-value",
      "extended": []
    },
    {
      "name": "reversed-counter-name",
      "href": "https://drafts.csswg.org/css-lists-3/#typedef-reversed-counter-name",
      "syntax": "reversed( <counter-name> )",
      "extended": []
    },
    {
      "name": "right",
      "prose": "<top>, <right>, <bottom>, and <left> may either have a <length> value or auto. Negative lengths are permitted. The value auto means that a given edge of the clipping region will be the same as the edge of the element’s generated border box (i.e., auto means the same as 0 for <top> and <left>, the same as the used value of the height plus the sum of vertical padding and border widths for <bottom>, and the same as the used value of the width plus the sum of the horizontal padding and border widths for <right>, such that four auto values result in the clipping region being the same as the element’s border box).",
      "href": "https://drafts.csswg.org/css2/#value-def-right",
      "extended": []
    },
    {
      "name": "rounding-strategy",
      "prose": "If A is exactly equal to an integer multiple of B, round() resolves to A exactly (preserving whether A is 0⁻ or 0⁺, if relevant). Otherwise, there are two integer multiples of B that are potentially \"closest\" to A, lower B which is closer to −∞ and upper B which is closer to +∞. The following <rounding-strategy>s dictate how to choose between them:",
      "href": "https://drafts.csswg.org/css-values-4/#typedef-rounding-strategy",
      "syntax": "nearest | up | down | to-zero | line-width",
      "extended": []
    },
    {
      "name": "route-descriptor",
      "href": "https://drafts.csswg.org/css-navigation-1/#typedef-route-descriptor",
      "syntax": "<pattern-descriptor> | <init-descriptor> | <base-descriptor>",
      "extended": []
    },
    {
      "name": "route-location",
      "href": "https://drafts.csswg.org/css-navigation-1/#typedef-route-location",
      "syntax": "<url> | [ <route-name> | <url-pattern()> ]",
      "extended": []
    },
    {
      "name": "route-name",
      "href": "https://drafts.csswg.org/css-navigation-1/#typedef-route-name",
      "syntax": "<dashed-ident>",
      "extended": []
    },
    {
      "name": "route-rule",
      "href": "https://drafts.csswg.org/css-navigation-1/#typedef-route-rule",
      "syntax": "@route <dashed-ident> { <declaration-list> }",
      "extended": []
    },
    {
      "name": "rule-list",
      "prose": "<rule-list>: qualified rules and at-rules are allowed; declarations are automatically invalid.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-rule-list",
      "extended": []
    },
    {
      "name": "safe-printable-inset",
      "prose": "Let this value be <safe-printable-inset>, which is a <length>.",
      "href": "https://drafts.csswg.org/css-page-3/#typedef-safe-printable-inset",
      "extended": []
    },
    {
      "name": "scope-boundaries",
      "href": "https://drafts.csswg.org/css-cascade-6/#typedef-scope-boundaries",
      "syntax": "[ [ ( <scope-start> ) ]? [ to ( <scope-end> ) ]? ]!",
      "extended": []
    },
    {
      "name": "scope-end",
      "prose": "<scope-end> is a <selector-list> selector used to identify any scoping limits.",
      "href": "https://drafts.csswg.org/css-cascade-6/#typedef-scope-end",
      "syntax": "<selector-list>",
      "extended": []
    },
    {
      "name": "scope-start",
      "prose": "<scope-start> is a <selector-list> selector used to identify the scoping root(s).",
      "href": "https://drafts.csswg.org/css-cascade-6/#typedef-scope-start",
      "syntax": "<selector-list>",
      "extended": []
    },
    {
      "name": "scroll-button-direction",
      "prose": "The four ::scroll-button() pseudo-elements are individually selected by the selector’s argument. A * arguments selects all four ::scroll-button()s; otherwise the selected pseudo-element is determined by the <scroll-button-direction> value:",
      "href": "https://drafts.csswg.org/css-overflow-5/#typedef-scroll-button-direction",
      "syntax": "up | down | left | right | block-start | block-end | inline-start | inline-end | prev | next",
      "extended": []
    },
    {
      "name": "scroll-state-feature",
      "prose": "A container scroll-state query allows querying a container for state that depends on scroll position. It is a boolean combination of individual scroll-state features (<scroll-state-feature>) that each query a single feature of the query container. The syntax of a <scroll-state-feature> is the same as for a media feature: a feature name, a comparator, and a value.",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-scroll-state-feature",
      "extended": []
    },
    {
      "name": "scroll-state-in-parens",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-scroll-state-in-parens",
      "syntax": "( <scroll-state-query> ) | ( <scroll-state-feature> ) | <general-enclosed>",
      "extended": []
    },
    {
      "name": "scroll-state-query",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-scroll-state-query",
      "syntax": "not <scroll-state-in-parens> | <scroll-state-in-parens> [ [ and <scroll-state-in-parens> ]* | [ or <scroll-state-in-parens> ]* ] | <scroll-state-feature>",
      "extended": []
    },
    {
      "name": "scroller",
      "href": "https://drafts.csswg.org/scroll-animations-1/#typedef-scroller",
      "syntax": "root | nearest | self",
      "extended": []
    },
    {
      "for": [
        "calc-interpolate()",
        "color-interpolate()",
        "interpolate()",
        "transform-interpolate()"
      ],
      "name": "segment-options",
      "prose": "When appearing in the first argument, provides any type-specific interpolation options that apply to every segment in the interpolation map. (For example, color-interpolate() allows <color-interpolation-method>.) When appearing between stops, provides any type-specific interpolation options that apply to the interpolation segment between the stops on either side of this argument, overriding any default provided by a corresponding global <segment-options> argument.",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-calc-interpolate-segment-options",
      "extended": []
    },
    {
      "name": "selector-list",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-selector-list",
      "syntax": "<complex-selector-list>",
      "extended": []
    },
    {
      "name": "self-position",
      "href": "https://drafts.csswg.org/css-align-3/#typedef-self-position",
      "syntax": "center | start | end | self-start | self-end | flex-start | flex-end",
      "extended": []
    },
    {
      "name": "semicolon-token",
      "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <unicode-range-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-semicolon-token",
      "extended": []
    },
    {
      "for": [
        "voice-pitch"
      ],
      "name": "semitones",
      "href": "https://drafts.csswg.org/css-speech-1/#typedef-voice-pitch-semitones",
      "extended": []
    },
    {
      "name": "shadow",
      "href": "https://drafts.csswg.org/css-backgrounds-3/#typedef-shadow",
      "syntax": "<color>? && [ <length>{2} [ <length [0,∞]> <length>? ]? ] && inset?",
      "extended": []
    },
    {
      "name": "shape",
      "prose": "In CSS 2, the only valid <shape> value is: rect(<top>, <right>, <bottom>, <left>) where <top> and <bottom> specify offsets from the top border edge of the box, and <right>, and <left> specify offsets from the left border edge of the box. Authors should separate offset values with commas. User agents must support separation with commas, but may also support separation without commas (but not a combination), because a previous revision of this specification was ambiguous in this respect. <top>, <right>, <bottom>, and <left> may either have a <length> value or auto. Negative lengths are permitted. The value auto means that a given edge of the clipping region will be the same as the edge of the element’s generated border box (i.e., auto means the same as 0 for <top> and <left>, the same as the used value of the height plus the sum of vertical padding and border widths for <bottom>, and the same as the used value of the width plus the sum of the horizontal padding and border widths for <right>, such that four auto values result in the clipping region being the same as the element’s border box). When coordinates are rounded to pixel coordinates, care should be taken that no pixels remain visible when <left> and <right> have the same value (or <top> and <bottom> have the same value), and conversely that no pixels within the element’s border box remain hidden when these values are auto.",
      "href": "https://drafts.csswg.org/css2/#value-def-shape",
      "syntax": "rect(<top>, <right>, <bottom>, <left>)",
      "extended": []
    },
    {
      "name": "shape-box",
      "href": "https://drafts.csswg.org/css-shapes-1/#typedef-shape-box",
      "syntax": "<visual-box> | margin-box | half-border-box",
      "extended": []
    },
    {
      "name": "shape-command",
      "prose": "The sequence of <shape-command>s represent further path data commands. Each command’s starting point is the previous command’s ending point.",
      "href": "https://drafts.csswg.org/css-shapes-1/#typedef-shape-command",
      "syntax": "<move-command> | <line-command> | close | <horizontal-line-command> | <vertical-line-command> | <curve-command> | <smooth-command> | <arc-command>",
      "extended": []
    },
    {
      "name": "side-or-corner",
      "href": "https://drafts.csswg.org/css-images-4/#typedef-side-or-corner",
      "syntax": "[left | right] || [top | bottom]",
      "extended": []
    },
    {
      "name": "signed-integer",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-signed-integer",
      "syntax": "<number-token>",
      "extended": []
    },
    {
      "name": "signless-integer",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-signless-integer",
      "syntax": "<number-token>",
      "extended": []
    },
    {
      "name": "simple-selector",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-simple-selector",
      "syntax": "<type-selector> | <subclass-selector>",
      "extended": []
    },
    {
      "name": "simple-selector-list",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-simple-selector-list",
      "syntax": "<simple-selector>#",
      "extended": []
    },
    {
      "name": "single-animation",
      "href": "https://drafts.csswg.org/css-animations-2/#typedef-single-animation",
      "syntax": "<'animation-duration'> || <easing-function> || <'animation-delay'> || <single-animation-iteration-count> || <single-animation-direction> || <single-animation-fill-mode> || <single-animation-play-state> || [ none | <keyframes-name> ] || <single-animation-timeline>",
      "extended": []
    },
    {
      "name": "single-animation-composition",
      "href": "https://drafts.csswg.org/css-animations-2/#typedef-single-animation-composition",
      "syntax": "replace | add | accumulate",
      "extended": []
    },
    {
      "name": "single-animation-direction",
      "href": "https://drafts.csswg.org/css-animations-1/#typedef-single-animation-direction",
      "syntax": "normal | reverse | alternate | alternate-reverse",
      "extended": []
    },
    {
      "name": "single-animation-fill-mode",
      "href": "https://drafts.csswg.org/css-animations-1/#typedef-single-animation-fill-mode",
      "syntax": "none | forwards | backwards | both",
      "extended": []
    },
    {
      "name": "single-animation-iteration-count",
      "href": "https://drafts.csswg.org/css-animations-1/#typedef-single-animation-iteration-count",
      "syntax": "infinite | <number [0,∞]>",
      "extended": []
    },
    {
      "name": "single-animation-play-state",
      "href": "https://drafts.csswg.org/css-animations-1/#typedef-single-animation-play-state",
      "syntax": "running | paused",
      "extended": []
    },
    {
      "name": "single-animation-timeline",
      "href": "https://drafts.csswg.org/css-animations-2/#typedef-single-animation-timeline",
      "syntax": "auto | none | <dashed-ident> | <scroll()> | <view()>",
      "extended": []
    },
    {
      "name": "single-transition",
      "href": "https://drafts.csswg.org/css-transitions-2/#single-transition",
      "syntax": "[ none | <single-transition-property> ] || <time> || <easing-function> || <time> || <transition-behavior-value>",
      "extended": []
    },
    {
      "name": "single-transition-property",
      "href": "https://drafts.csswg.org/css-transitions-1/#single-transition-property",
      "syntax": "all | <custom-ident>",
      "extended": []
    },
    {
      "name": "size-feature",
      "prose": "A container size query allows querying the size of the query container’s principal box. It is a boolean combination of individual size features (<size-feature>) that each query a single, specific dimensional feature of the query container. The syntax of a <size-feature> is the same as for a media feature: a feature name, a comparator, and a value. [mediaqueries-5] The boolean syntax and logic combining size features into a size query is the same as for CSS feature queries. (See @supports. [css-conditional-3])",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-size-feature",
      "extended": []
    },
    {
      "name": "size-keyword",
      "prose": "The <size-keyword> production matches any sizing keywords allowed in the context. For example, in width, it matches auto, min-content, stretch, etc.",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-size-keyword",
      "extended": []
    },
    {
      "name": "slash-separated-border-radius-syntax",
      "href": "https://drafts.csswg.org/css-borders-4/#typedef-slash-separated-border-radius-syntax",
      "syntax": "<length-percentage [0,∞]> [ / <length-percentage [0,∞]> ]?",
      "extended": []
    },
    {
      "for": [
        "shape()"
      ],
      "name": "smooth-command",
      "href": "https://drafts.csswg.org/css-shapes-1/#typedef-shape-smooth-command",
      "syntax": "smooth [ [ to <position> [ with <control-point> ]? ] | [ by <coordinate-pair> [ with <relative-control-point> ]? ] ]",
      "extended": []
    },
    {
      "name": "source-size",
      "href": "https://html.spec.whatwg.org/multipage/images.html#source-size",
      "syntax": "<media-condition> <source-size-value> | auto",
      "extended": []
    },
    {
      "name": "source-size-list",
      "href": "https://html.spec.whatwg.org/multipage/images.html#source-size-list",
      "syntax": "<source-size>#? , <source-size-value>",
      "extended": []
    },
    {
      "name": "source-size-value",
      "href": "https://html.spec.whatwg.org/multipage/images.html#source-size-value",
      "syntax": "<length> | auto",
      "extended": []
    },
    {
      "name": "spacing-trim",
      "href": "https://drafts.csswg.org/css-text-4/#typedef-spacing-trim",
      "syntax": "space-all | normal | space-first | trim-start | trim-both | trim-all",
      "extended": []
    },
    {
      "name": "spread-shadow",
      "href": "https://drafts.csswg.org/css-borders-4/#typedef-spread-shadow",
      "syntax": "<'box-shadow-color'>? && [ [ none | <length>{2} ] [ <'box-shadow-blur'> <'box-shadow-spread'>? ]? ] && <'box-shadow-position'>?",
      "extended": []
    },
    {
      "name": "step-easing-function",
      "href": "https://drafts.csswg.org/css-easing-2/#typedef-step-easing-function",
      "syntax": "step-start | step-end | <steps()>",
      "extended": []
    },
    {
      "name": "step-position",
      "href": "https://drafts.csswg.org/css-easing-2/#typedef-step-position",
      "syntax": "jump-start | jump-end | jump-none | jump-both | start | end",
      "extended": []
    },
    {
      "name": "string",
      "prose": "Strings, denoted by <string>, are sequences of characters representing arbitrary textual data. When written literally, they are delimited by double quotes or single quotes, and correspond to the <string-token> production. [CSS-SYNTAX-3].",
      "href": "https://drafts.csswg.org/css-values-4/#string-value",
      "extended": []
    },
    {
      "name": "string-token",
      "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <unicode-range-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-string-token",
      "extended": []
    },
    {
      "name": "style-feature",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-style-feature",
      "syntax": "<style-feature-plain> | <style-feature-boolean> | <style-range>",
      "extended": []
    },
    {
      "name": "style-feature-boolean",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-style-feature-boolean",
      "syntax": "<style-feature-name>",
      "extended": []
    },
    {
      "name": "style-feature-name",
      "prose": "A container style query allows querying the computed values of the query container. It is a boolean combination of individual style features (<style-feature>) that each query a single, specific property of the query container. The syntax of a <style-feature> is either the same as for a valid declaration[CSS-SYNTAX-3], a <style-feature-name> or a valid style range (<style-range>). The <style-feature-name> can be either a supported CSS property or a valid <custom-property-name>. The <style-feature-value> production matches any valid <declaration-value> as long as it doesn’t contain <mf-lt>, <mf-gt> and <mf-eq> tokens.",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-style-feature-name",
      "extended": []
    },
    {
      "name": "style-feature-plain",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-style-feature-plain",
      "syntax": "<style-feature-name> : <style-feature-value>",
      "extended": []
    },
    {
      "name": "style-feature-value",
      "prose": "A container style query allows querying the computed values of the query container. It is a boolean combination of individual style features (<style-feature>) that each query a single, specific property of the query container. The syntax of a <style-feature> is either the same as for a valid declaration[CSS-SYNTAX-3], a <style-feature-name> or a valid style range (<style-range>). The <style-feature-name> can be either a supported CSS property or a valid <custom-property-name>. The <style-feature-value> production matches any valid <declaration-value> as long as it doesn’t contain <mf-lt>, <mf-gt> and <mf-eq> tokens.",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-style-feature-value",
      "extended": []
    },
    {
      "name": "style-in-parens",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-style-in-parens",
      "syntax": "( <style-query> ) | ( <style-feature> ) | <general-enclosed>",
      "extended": []
    },
    {
      "name": "style-query",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-style-query",
      "syntax": "not <style-in-parens> | <style-in-parens> [ [ and <style-in-parens> ]* | [ or <style-in-parens> ]* ] | <style-feature>",
      "extended": []
    },
    {
      "name": "style-range",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-style-range",
      "syntax": "<style-range-value> <mf-comparison> <style-range-value> | <style-range-value> <mf-lt> <style-range-value> <mf-lt> <style-range-value> | <style-range-value> <mf-gt> <style-range-value> <mf-gt> <style-range-value>",
      "extended": []
    },
    {
      "name": "style-range-value",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-style-range-value",
      "syntax": "<custom-property-name> | <style-feature-value>",
      "extended": []
    },
    {
      "name": "subclass-selector",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-subclass-selector",
      "syntax": "<id-selector> | <class-selector> | <attribute-selector> | <pseudo-class-selector>",
      "extended": []
    },
    {
      "name": "supports-at-rule-fn",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-supports-at-rule-fn",
      "syntax": "at-rule( <at-keyword-token> )",
      "extended": []
    },
    {
      "name": "supports-condition",
      "href": "https://drafts.csswg.org/css-conditional-3/#typedef-supports-condition",
      "syntax": "not <supports-in-parens> | <supports-in-parens> [ and <supports-in-parens> ]* | <supports-in-parens> [ or <supports-in-parens> ]*",
      "extended": []
    },
    {
      "name": "supports-condition-name",
      "prose": "Where <supports-condition-name> is an <extension-name> that defines the name of the supports query.",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-supports-condition-name",
      "extended": []
    },
    {
      "name": "supports-decl",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-supports-decl",
      "syntax": "( [ <declaration> | <supports-condition-name> ] )",
      "extended": []
    },
    {
      "name": "supports-env-fn",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-supports-env-fn",
      "syntax": "env( <ident> )",
      "extended": []
    },
    {
      "name": "supports-feature",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-supports-feature",
      "syntax": "<supports-selector-fn> | <supports-font-tech-fn> | <supports-font-format-fn> | <supports-at-rule-fn> | <supports-named-feature-fn> | <supports-env-fn> | <supports-decl>",
      "extended": []
    },
    {
      "name": "supports-font-format-fn",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-supports-font-format-fn",
      "syntax": "font-format( <font-format> )",
      "extended": []
    },
    {
      "name": "supports-font-tech-fn",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-supports-font-tech-fn",
      "syntax": "font-tech( <font-tech> )",
      "extended": []
    },
    {
      "name": "supports-import-condition",
      "href": "https://drafts.csswg.org/css-cascade-6/#typedef-supports-import-condition",
      "syntax": "supports( [ <supports-condition> | <declaration> ] )",
      "extended": []
    },
    {
      "name": "supports-in-parens",
      "href": "https://drafts.csswg.org/css-conditional-3/#typedef-supports-in-parens",
      "syntax": "( <supports-condition> ) | <supports-feature> | <general-enclosed>",
      "extended": []
    },
    {
      "name": "supports-named-feature-fn",
      "href": "https://drafts.csswg.org/css-conditional-5/#typedef-supports-named-feature-fn",
      "syntax": "named-feature( <ident> )",
      "extended": []
    },
    {
      "name": "supports-selector-fn",
      "href": "https://drafts.csswg.org/css-conditional-4/#typedef-supports-selector-fn",
      "syntax": "selector( <complex-selector> )",
      "extended": []
    },
    {
      "name": "svg-paint",
      "href": "https://drafts.csswg.org/fill-stroke-3/#typedef-svg-paint",
      "syntax": "child | child( <integer> )",
      "extended": []
    },
    {
      "name": "symbol",
      "href": "https://drafts.csswg.org/css-counter-styles-3/#typedef-symbol",
      "syntax": "<string> | <image> | <custom-ident>",
      "extended": []
    },
    {
      "name": "symbols-type",
      "href": "https://drafts.csswg.org/css-counter-styles-3/#typedef-symbols-type",
      "syntax": "cyclic | numeric | alphabetic | symbolic | fixed",
      "extended": []
    },
    {
      "name": "syntax",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-syntax",
      "syntax": "'*' | <syntax-component> [ <syntax-combinator> <syntax-component> ]* | <syntax-string>",
      "extended": []
    },
    {
      "name": "syntax-combinator",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-syntax-combinator",
      "syntax": "'|'",
      "extended": []
    },
    {
      "name": "syntax-component",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-syntax-component",
      "syntax": "<syntax-single-component> <syntax-multiplier>? | '<' transform-list '>'",
      "extended": []
    },
    {
      "name": "syntax-multiplier",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-syntax-multiplier",
      "syntax": "[ '#' | '+' ]",
      "extended": []
    },
    {
      "name": "syntax-single-component",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-syntax-single-component",
      "syntax": "'<' <syntax-type-name> '>' | <ident>",
      "extended": []
    },
    {
      "name": "syntax-string",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-syntax-string",
      "syntax": "<string>",
      "extended": []
    },
    {
      "name": "syntax-type-name",
      "href": "https://drafts.csswg.org/css-values-5/#typedef-syntax-type-name",
      "syntax": "angle | color | custom-ident | image | integer | length | length-percentage | number | percentage | resolution | string | time | url | transform-function",
      "extended": []
    },
    {
      "name": "system-color",
      "prose": "However, in forced colors mode, most colors on the page are forced into a restricted, user-chosen palette, see CSS Color Adjustment 1 § 5.2 Forced Colors Mode Color Palettes. The <system-color> keywords expose these user-chosen colors so that the rest of the page can integrate with this restricted palette.",
      "href": "https://drafts.csswg.org/css-color-4/#typedef-system-color",
      "syntax": "AccentColor | AccentColorText | ActiveText | ButtonBorder | ButtonFace | ButtonText | Canvas | CanvasText | Field | FieldText | GrayText | Highlight | HighlightText | LinkText | Mark | MarkText | SelectedItem | SelectedItemText | VisitedText | <deprecated-color>",
      "extended": []
    },
    {
      "name": "system-font-family-name",
      "prose": "A locally installed system font, whose use is subject to certain constraints. In particular, it may not be used with the font-family property, but can be used with the font shorthand. The following values refer to system fonts:",
      "href": "https://drafts.csswg.org/css-fonts-4/#system-font-family-name-value",
      "syntax": "caption | icon | menu | message-box | small-caption | status-bar",
      "extended": []
    },
    {
      "name": "target",
      "href": "https://drafts.csswg.org/css-content-3/#typedef-target",
      "syntax": "<target-counter()> | <target-counters()> | <target-text()>",
      "extended": []
    },
    {
      "name": "target-contrast",
      "prose": "The <target-contrast> argument specifies the contrast algorithm(s) to use. If no color candidates have been provided, <target-contrast> may be omitted, in which case a UA-chosen algorithm is used.",
      "href": "https://drafts.csswg.org/css-color-6/#typedef-target-contrast",
      "syntax": "<wcag2>",
      "extended": []
    },
    {
      "name": "target-name",
      "prose": "The <target-name> parameter indicates the target frame for the focus navigation. It is a <string> and it MUST NOT start with the underscore \"_\" character. Error handling: if it does start with an underscore, \"_parent\" navigates to the parent frame, \"_root\" is treated as root, and other values navigate to a frame by that name if it exists. If the specified target frame does not exist, the parameter will be treated as the keyword current, which means to simply use the frame that the element is in. The keyword root indicates that the user agent should target the full window.",
      "href": "https://drafts.csswg.org/css-ui-4/#typedef-target-name",
      "extended": []
    },
    {
      "name": "text-edge",
      "prose": "The <text-edge> value, which identifies specific font metrics, expands to",
      "href": "https://drafts.csswg.org/css-inline-3/#typedef-text-edge",
      "syntax": "[ text | ideographic | ideographic-ink ] | [ text | ideographic | ideographic-ink | cap | ex ] [ text | ideographic | ideographic-ink | alphabetic ]",
      "extended": []
    },
    {
      "name": "time",
      "prose": "Time values are dimensions denoted by <time>. The time unit identifiers are:",
      "href": "https://drafts.csswg.org/css-values-4/#time-value",
      "extended": []
    },
    {
      "name": "time-percentage",
      "href": "https://drafts.csswg.org/css-values-4/#typedef-time-percentage",
      "syntax": "[ <time> | <percentage> ]",
      "extended": []
    },
    {
      "name": "timeline-range-center-subject",
      "prose": "The animation range center subject is the element whose principal box is the range relative to which the center of the active range is calculated, and is represented by the <timeline-range-center-subject> value type, which indicates a CSS identifier representing one of the following:",
      "href": "https://drafts.csswg.org/pointer-animations-1/#typedef-timeline-range-center-subject",
      "extended": []
    },
    {
      "name": "timeline-range-name",
      "prose": "A named timeline range is a named segment of an animation timeline. The start of the segment is represented as 0% progress through the range; the end of the segment is represented as 100% progress through the range. Multiple named timeline ranges can be associated with a given timeline, and multiple such ranges can overlap. For example, the contain range of a view progress timeline overlaps with its cover range. Named timeline ranges are represented by the <timeline-range-name> value type, which indicates a CSS identifier representing one of the predefined named timeline ranges.",
      "href": "https://drafts.csswg.org/scroll-animations-1/#typedef-timeline-range-name",
      "extended": []
    },
    {
      "name": "top",
      "prose": "<top>, <right>, <bottom>, and <left> may either have a <length> value or auto. Negative lengths are permitted. The value auto means that a given edge of the clipping region will be the same as the edge of the element’s generated border box (i.e., auto means the same as 0 for <top> and <left>, the same as the used value of the height plus the sum of vertical padding and border widths for <bottom>, and the same as the used value of the width plus the sum of the horizontal padding and border widths for <right>, such that four auto values result in the clipping region being the same as the element’s border box).",
      "href": "https://drafts.csswg.org/css2/#value-def-top",
      "extended": []
    },
    {
      "name": "track-breadth",
      "href": "https://drafts.csswg.org/css-grid-2/#typedef-track-breadth",
      "syntax": "<length-percentage [0,∞]> | <flex [0,∞]> | min-content | max-content | auto",
      "extended": []
    },
    {
      "name": "track-list",
      "href": "https://drafts.csswg.org/css-grid-2/#typedef-track-list",
      "syntax": "[ <line-names>? [ <track-size> | <track-repeat> ] ]+ <line-names>?",
      "extended": []
    },
    {
      "name": "track-repeat",
      "href": "https://drafts.csswg.org/css-grid-2/#typedef-track-repeat",
      "syntax": "repeat( [ <integer [1,∞]> ] , [ <line-names>? <track-size> ]+ <line-names>? )",
      "extended": []
    },
    {
      "name": "track-size",
      "href": "https://drafts.csswg.org/css-grid-2/#typedef-track-size",
      "syntax": "<track-breadth> | minmax( <inflexible-breadth> , <track-breadth> ) | fit-content( <length-percentage [0,∞]> )",
      "extended": []
    },
    {
      "name": "transform-function",
      "prose": "The value of the transform property is a list of <transform-function>. The set of allowed transform functions is given below. Wherever <angle> is used in this specification, a <number> that is equal to zero is also allowed, which is treated the same as an angle of zero degrees. A percentage for horizontal translations is relative to the width of the reference box. A percentage for vertical translations is relative to the height of the reference box. A percentage in a scale function is equivalent to a number, and serializes as a number in specified values. For example, scale3d(50%, 100%, 150%) serializes as scale3d(0.5, 1, 1.5).",
      "href": "https://drafts.csswg.org/css-transforms-2/#typedef-transform-function",
      "syntax": "<scale3d()> | <scale()> | <scaleX()> | <scaleY()> | <scaleZ()> | <translate3d()> | <translate()> | <translateX()> | <translateY()> | <translateZ()> | <rotate3d()> | <rotate()> | <rotateX()> | <rotateY()> | <rotateZ()> | <skew()> | <skewX()> | <skewY()> | <matrix3d()> | <matrix()> | <perspective()>",
      "extended": []
    },
    {
      "name": "transform-list",
      "href": "https://drafts.csswg.org/css-transforms-1/#typedef-transform-list",
      "syntax": "<transform-function>+",
      "extended": []
    },
    {
      "name": "transition-behavior-value",
      "href": "https://drafts.csswg.org/css-transitions-2/#typedef-transition-behavior-value",
      "syntax": "normal | allow-discrete",
      "extended": []
    },
    {
      "name": "try-size",
      "href": "https://drafts.csswg.org/css-anchor-position-1/#typedef-try-size",
      "syntax": "most-width | most-height | most-block-size | most-inline-size",
      "extended": []
    },
    {
      "for": [
        "position-try-fallbacks"
      ],
      "name": "try-tactic",
      "href": "https://drafts.csswg.org/css-anchor-position-1/#typedef-position-try-fallbacks-try-tactic",
      "syntax": "flip-block || flip-inline || flip-start || flip-x || flip-y",
      "extended": []
    },
    {
      "name": "type",
      "href": "https://drafts.csswg.org/css-forms-1/#typedef-type",
      "syntax": "'<' [ number | string ] '>'",
      "extended": []
    },
    {
      "name": "type-selector",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-type-selector",
      "syntax": "<wq-name> | <ns-prefix>? '*'",
      "extended": []
    },
    {
      "name": "unicode-range-token",
      "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <unicode-range-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-unicode-range-token",
      "extended": []
    },
    {
      "name": "uri",
      "prose": "URI values (Uniform Resource Identifiers, see [RFC3986], which includes URLs, URNs, etc) in this specification are denoted by <uri>. The functional notation used to designate URIs in property values is \"url()\", as in:",
      "href": "https://drafts.csswg.org/css2/#value-def-uri",
      "extended": []
    },
    {
      "name": "url",
      "href": "https://drafts.csswg.org/css-values-4/#url-value",
      "syntax": "<url()> | <src()>",
      "extended": []
    },
    {
      "name": "url-modifier",
      "prose": "<url>s support specifying additional <url-modifier>s, which change the meaning or the interpretation of the URL somehow. A <url-modifier> is either an <ident> or a functional notation.",
      "href": "https://drafts.csswg.org/css-values-4/#typedef-url-modifier",
      "extended": []
    },
    {
      "for": [
        "cursor"
      ],
      "name": "url-set",
      "prose": "<url-set> is a limited version of image-set(), where the <image> sub-production is restricted to <url> only.",
      "href": "https://drafts.csswg.org/css-ui-4/#typedef-cursor-url-set",
      "extended": []
    },
    {
      "name": "url-token",
      "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <unicode-range-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-url-token",
      "extended": []
    },
    {
      "name": "var-args",
      "href": "https://drafts.csswg.org/css-variables-2/#typedef-var-args",
      "syntax": "var( <declaration-value> , <declaration-value>? )",
      "extended": []
    },
    {
      "for": [
        "shape()"
      ],
      "name": "vertical-line-command",
      "href": "https://drafts.csswg.org/css-shapes-1/#typedef-shape-vertical-line-command",
      "syntax": "vline [ to [ <length-percentage> | top | center | bottom | y-start | y-end ] | by <length-percentage> ]",
      "extended": []
    },
    {
      "name": "view-transition-type",
      "prose": "where <view-transition-type> is any <custom-ident> other than none, and not starting with the string \"-ua-\".",
      "href": "https://drafts.csswg.org/css-view-transitions-2/#typedef-view-transition-type",
      "extended": []
    },
    {
      "name": "visual-box",
      "href": "https://drafts.csswg.org/css-box-4/#typedef-visual-box",
      "syntax": "content-box | padding-box | border-box",
      "extended": []
    },
    {
      "for": [
        "voice-family"
      ],
      "name": "voice-family-name",
      "prose": "Values are specific voice instances (e.g., Mike, comedian, mary, carlos2, \"valley girl\"). Like font-family names, voice names must either be given quoted as strings, or unquoted as a sequence of one or more CSS identifiers. If a sequence of identifiers is given as a voice name, the computed value is the name converted to a string by joining all the identifiers in the sequence by single spaces. Voice names that happen to be the same as the gender keywords (male, female and neutral) or that happen to match the CSS-wide keywords or preserve must be quoted to disambiguate with these keywords. The keyword default is reserved for future use and must also be quoted when used as voice names. It is recommended to quote voice names that contain white space, digits, or punctuation characters other than hyphens—​even if these voice names are valid in unquoted form—​in order to improve code clarity. For example: voice-family: \"john doe\", \"Henry the-8th\";",
      "href": "https://drafts.csswg.org/css-speech-1/#typedef-voice-family-voice-family-name",
      "extended": []
    },
    {
      "name": "wcag2",
      "href": "https://drafts.csswg.org/css-color-6/#typedef-wcag2",
      "syntax": "wcag2 | wcag2([<number> | [ aa | aaa ] && large? ])",
      "extended": []
    },
    {
      "name": "whitespace-token",
      "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <unicode-range-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>.",
      "href": "https://drafts.csswg.org/css-syntax-3/#typedef-whitespace-token",
      "extended": []
    },
    {
      "name": "whole-value",
      "href": "https://drafts.csswg.org/css-values-5/#whole-value",
      "extended": []
    },
    {
      "name": "wq-name",
      "href": "https://drafts.csswg.org/selectors-4/#typedef-wq-name",
      "syntax": "<ns-prefix>? <ident-token>",
      "extended": []
    },
    {
      "name": "xyz-params",
      "href": "https://drafts.csswg.org/css-color-5/#typedef-xyz-params",
      "syntax": "<xyz-space> [ <number> | <percentage> | none ]{3}",
      "extended": []
    },
    {
      "name": "xyz-space",
      "href": "https://drafts.csswg.org/css-color-4/#typedef-xyz-space",
      "syntax": "xyz | xyz-d50 | xyz-d65",
      "extended": []
    },
    {
      "name": "zero",
      "prose": "The value <zero> represents a literal number with the value 0. Expressions that merely evaluate to a <number> with the value 0 (for example, calc(0)) do not match <zero>; only literal <number-token>s do.",
      "href": "https://drafts.csswg.org/css-values-4/#zero-value",
      "extended": []
    }
  ]
}