{
  "id": "css-properties-reference",
  "name": "CSS Properties Reference (MDN)",
  "title": "CSS Properties Reference (MDN)",
  "description": "Comprehensive reference of CSS properties from MDN Web Docs, including syntax, initial values, inheritance, animation types, and applicability.",
  "category": "tech",
  "source": "https://github.com/mdn/data",
  "source_url": "https://github.com/mdn/data",
  "updated": "2026-04",
  "record_count": 552,
  "columns": [
    {
      "key": "property",
      "label": "Property",
      "type": "string"
    },
    {
      "key": "syntax",
      "label": "Syntax",
      "type": "string"
    },
    {
      "key": "media",
      "label": "Media",
      "type": "string"
    },
    {
      "key": "inherited",
      "label": "Inherited",
      "type": "boolean"
    },
    {
      "key": "animationType",
      "label": "AnimationType",
      "type": "string"
    },
    {
      "key": "percentages",
      "label": "Percentages",
      "type": "string"
    },
    {
      "key": "initial",
      "label": "Initial",
      "type": "string"
    },
    {
      "key": "appliesto",
      "label": "Appliesto",
      "type": "string"
    },
    {
      "key": "computed",
      "label": "Computed",
      "type": "string"
    },
    {
      "key": "order",
      "label": "Order",
      "type": "string"
    },
    {
      "key": "groups",
      "label": "Groups",
      "type": "string"
    }
  ],
  "rows": [
    {
      "property": "--*",
      "syntax": "<declaration-value>",
      "media": "all",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "seeProse",
      "appliesto": "allElements",
      "computed": "asSpecifiedWithVarsSubstituted",
      "order": "perGrammar",
      "groups": "CSS Custom Properties for Cascading Variables"
    },
    {
      "property": "accent-color",
      "syntax": "auto | <color>",
      "media": "interactive",
      "inherited": true,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElements",
      "computed": "asAutoOrColor",
      "order": "perGrammar",
      "groups": "CSS Basic User Interface"
    },
    {
      "property": "align-content",
      "syntax": "normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "blockContainersMultiColumnContainersFlexContainersGridContainers",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Box Alignment, CSS Flexible Box Layout"
    },
    {
      "property": "align-items",
      "syntax": "normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ] | anchor-center",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Box Alignment, CSS Flexible Box Layout"
    },
    {
      "property": "align-self",
      "syntax": "auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position> | anchor-center",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "flexItemsGridItemsAndAbsolutelyPositionedBoxes",
      "computed": "autoOnAbsolutelyPositionedElementsValueOfAlignItemsOnParent",
      "order": "uniqueOrder",
      "groups": "CSS Box Alignment, CSS Flexible Box Layout"
    },
    {
      "property": "align-tracks",
      "syntax": "[ normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position> ]#",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "gridContainersWithMasonryLayoutInTheirBlockAxis",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Grid Layout"
    },
    {
      "property": "alignment-baseline",
      "syntax": "baseline | alphabetic | ideographic | middle | central | mathematical | text-before-edge | text-after-edge",
      "media": "none",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "baseline",
      "appliesto": "inlineLevelBoxesFlexItemsGridItemsTableCellsAndSVGTextContentElements",
      "computed": "theSpecifiedKeyword",
      "order": "perGrammar",
      "groups": "CSS Inline"
    },
    {
      "property": "all",
      "syntax": "initial | inherit | unset | revert | revert-layer",
      "media": "noPracticalMedia",
      "inherited": false,
      "animationType": "eachOfShorthandPropertiesExceptUnicodeBiDiAndDirection",
      "percentages": "no",
      "initial": "noPracticalInitialValue",
      "appliesto": "allElements",
      "computed": "asSpecifiedAppliesToEachProperty",
      "order": "uniqueOrder",
      "groups": "CSS Cascading and Inheritance"
    },
    {
      "property": "anchor-name",
      "syntax": "none | <dashed-ident>#",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElementsThatGenerateAPrincipalBox",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Anchor Positioning"
    },
    {
      "property": "anchor-scope",
      "syntax": "none | all | <dashed-ident>#",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Anchor Positioning"
    },
    {
      "property": "animation",
      "syntax": "<single-animation>#",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "animation-name, animation-duration, animation-timing-function, animation-delay, animation-iteration-count, animation-direction, animation-fill-mode, animation-play-state, animation-timeline",
      "appliesto": "allElements",
      "computed": "animation-name, animation-duration, animation-timing-function, animation-delay, animation-direction, animation-iteration-count, animation-fill-mode, animation-play-state, animation-timeline",
      "order": "perGrammar",
      "groups": "CSS Animations"
    },
    {
      "property": "animation-composition",
      "syntax": "<single-animation-composition>#",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "replace",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Animations"
    },
    {
      "property": "animation-delay",
      "syntax": "<time>#",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "0s",
      "appliesto": "allElementsAndPseudos",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Animations"
    },
    {
      "property": "animation-direction",
      "syntax": "<single-animation-direction>#",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElementsAndPseudos",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Animations"
    },
    {
      "property": "animation-duration",
      "syntax": "[ auto | <time [0s,∞]> ]#",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "0s",
      "appliesto": "allElementsAndPseudos",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Animations"
    },
    {
      "property": "animation-fill-mode",
      "syntax": "<single-animation-fill-mode>#",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElementsAndPseudos",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Animations"
    },
    {
      "property": "animation-iteration-count",
      "syntax": "<single-animation-iteration-count>#",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "1",
      "appliesto": "allElementsAndPseudos",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Animations"
    },
    {
      "property": "animation-name",
      "syntax": "[ none | <keyframes-name> ]#",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElementsAndPseudos",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Animations"
    },
    {
      "property": "animation-play-state",
      "syntax": "<single-animation-play-state>#",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "running",
      "appliesto": "allElementsAndPseudos",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Animations"
    },
    {
      "property": "animation-range",
      "syntax": "[ <'animation-range-start'> <'animation-range-end'>? ]#",
      "media": "visual",
      "inherited": false,
      "animationType": "animation-range-start, animation-range-end",
      "percentages": "relativeToTimelineRangeIfSpecifiedOtherwiseEntireTimeline",
      "initial": "animation-range-start, animation-range-end",
      "appliesto": "allElements",
      "computed": "animation-range-start, animation-range-end",
      "order": "perGrammar",
      "groups": "Scroll-driven Animations"
    },
    {
      "property": "animation-range-end",
      "syntax": "[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "relativeToTimelineRangeIfSpecifiedOtherwiseEntireTimeline",
      "initial": "normal",
      "appliesto": "allElements",
      "computed": "listEachItemConsistingOfNormalLengthPercentageOrNameLengthPercentage",
      "order": "perGrammar",
      "groups": "Scroll-driven Animations"
    },
    {
      "property": "animation-range-start",
      "syntax": "[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "relativeToTimelineRangeIfSpecifiedOtherwiseEntireTimeline",
      "initial": "normal",
      "appliesto": "allElements",
      "computed": "listEachItemConsistingOfNormalLengthPercentageOrNameLengthPercentage",
      "order": "perGrammar",
      "groups": "Scroll-driven Animations"
    },
    {
      "property": "animation-timeline",
      "syntax": "<single-animation-timeline>#",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElements",
      "computed": "listEachItemIdentifierOrNoneAuto",
      "order": "perGrammar",
      "groups": "CSS Animations"
    },
    {
      "property": "animation-timing-function",
      "syntax": "<easing-function>#",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "ease",
      "appliesto": "allElementsAndPseudos",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Animations"
    },
    {
      "property": "animation-trigger",
      "syntax": "[ none | [ <dashed-ident> <animation-action>+ ]+ ]#",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Animations"
    },
    {
      "property": "appearance",
      "syntax": "none | auto | <compat-auto> | <compat-special>",
      "media": "all",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Basic User Interface"
    },
    {
      "property": "aspect-ratio",
      "syntax": "auto || <ratio>",
      "media": "all",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElementsExceptInlineBoxesAndInternalRubyOrTableBoxes",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Box Sizing"
    },
    {
      "property": "backdrop-filter",
      "syntax": "none | <filter-value-list>",
      "media": "visual",
      "inherited": false,
      "animationType": "filterList",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElementsSVGContainerElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "Filter Effects"
    },
    {
      "property": "backface-visibility",
      "syntax": "visible | hidden",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "visible",
      "appliesto": "transformableElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Transforms"
    },
    {
      "property": "background",
      "syntax": "<bg-layer>#? , <final-bg-layer>",
      "media": "visual",
      "inherited": false,
      "animationType": "background-color, background-image, background-clip, background-position, background-size, background-repeat, background-attachment",
      "percentages": "background-position, background-size",
      "initial": "background-image, background-position, background-size, background-repeat, background-origin, background-clip, background-attachment, background-color",
      "appliesto": "allElements",
      "computed": "background-image, background-position, background-size, background-repeat, background-origin, background-clip, background-attachment, background-color",
      "order": "orderOfAppearance",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "background-attachment",
      "syntax": "<attachment>#",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "scroll",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "background-blend-mode",
      "syntax": "<blend-mode>#",
      "media": "none",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElementsSVGContainerGraphicsAndGraphicsReferencingElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "Compositing and Blending"
    },
    {
      "property": "background-clip",
      "syntax": "<bg-clip>#",
      "media": "visual",
      "inherited": false,
      "animationType": "repeatableList",
      "percentages": "no",
      "initial": "border-box",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "background-color",
      "syntax": "<color>",
      "media": "visual",
      "inherited": false,
      "animationType": "color",
      "percentages": "no",
      "initial": "transparent",
      "appliesto": "allElements",
      "computed": "computedColor",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "background-image",
      "syntax": "<bg-image>#",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecifiedURLsAbsolute",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "background-origin",
      "syntax": "<visual-box>#",
      "media": "visual",
      "inherited": false,
      "animationType": "repeatableList",
      "percentages": "no",
      "initial": "padding-box",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "background-position",
      "syntax": "<bg-position>#",
      "media": "visual",
      "inherited": false,
      "animationType": "repeatableList",
      "percentages": "referToSizeOfBackgroundPositioningAreaMinusBackgroundImageSize",
      "initial": "0% 0%",
      "appliesto": "allElements",
      "computed": "background-position-x, background-position-y",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "background-position-x",
      "syntax": "[ center | [ [ left | right | x-start | x-end ]? <length-percentage>? ]! ]#",
      "media": "visual",
      "inherited": false,
      "animationType": "repeatableList",
      "percentages": "referToWidthOfBackgroundPositioningAreaMinusBackgroundImageWidth",
      "initial": "0%",
      "appliesto": "allElements",
      "computed": "listEachItemConsistingOfAbsoluteLengthPercentageAndOrigin",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "background-position-y",
      "syntax": "[ center | [ [ top | bottom | y-start | y-end ]? <length-percentage>? ]! ]#",
      "media": "visual",
      "inherited": false,
      "animationType": "repeatableList",
      "percentages": "referToHeightOfBackgroundPositioningAreaMinusBackgroundImageHeight",
      "initial": "0%",
      "appliesto": "allElements",
      "computed": "listEachItemConsistingOfAbsoluteLengthPercentageAndOrigin",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "background-repeat",
      "syntax": "<repeat-style>#",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "repeat",
      "appliesto": "allElements",
      "computed": "listEachItemHasTwoKeywordsOnePerDimension",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "background-size",
      "syntax": "<bg-size>#",
      "media": "visual",
      "inherited": false,
      "animationType": "repeatableList",
      "percentages": "relativeToBackgroundPositioningArea",
      "initial": "auto auto",
      "appliesto": "allElements",
      "computed": "asSpecifiedRelativeToAbsoluteLengths",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "baseline-shift",
      "syntax": "<length-percentage> | sub | super | baseline",
      "media": "none",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "referToTheUsedValueOfLineHeight",
      "initial": "0",
      "appliesto": "inlineLevelBoxesAndSVGTextContentElements",
      "computed": "theSpecifiedKeywordOrAComputedLengthPercentageValue",
      "order": "perGrammar",
      "groups": "CSS Inline"
    },
    {
      "property": "baseline-source",
      "syntax": "auto | first | last",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "inlineLevelBoxes",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Inline"
    },
    {
      "property": "block-size",
      "syntax": "<'width'>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "blockSizeOfContainingBlock",
      "initial": "auto",
      "appliesto": "sameAsWidthAndHeight",
      "computed": "sameAsWidthAndHeight",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border",
      "syntax": "<line-width> || <line-style> || <color>",
      "media": "visual",
      "inherited": false,
      "animationType": "border-width, border-style, border-color",
      "percentages": "no",
      "initial": "border-width, border-style, border-color",
      "appliesto": "allElements",
      "computed": "border-width, border-style, border-color",
      "order": "orderOfAppearance",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-block",
      "syntax": "<'border-block-start'>",
      "media": "visual",
      "inherited": false,
      "animationType": "border-block-width, border-block-style, border-block-color",
      "percentages": "no",
      "initial": "border-block-width, border-block-style, border-block-color",
      "appliesto": "allElements",
      "computed": "border-block-width, border-block-style, border-block-color",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-block-color",
      "syntax": "<'border-top-color'>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "currentcolor",
      "appliesto": "allElements",
      "computed": "computedColor",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-block-end",
      "syntax": "<'border-top-width'> || <'border-top-style'> || <color>",
      "media": "visual",
      "inherited": false,
      "animationType": "border-block-end-color, border-block-end-style, border-block-end-width",
      "percentages": "no",
      "initial": "border-top-width, border-top-style, border-top-color",
      "appliesto": "allElements",
      "computed": "border-top-width, border-top-style, border-top-color",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-block-end-color",
      "syntax": "<'border-top-color'>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "currentcolor",
      "appliesto": "allElements",
      "computed": "computedColor",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-block-end-style",
      "syntax": "<'border-top-style'>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-block-end-width",
      "syntax": "<'border-top-width'>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "logicalWidthOfContainingBlock",
      "initial": "medium",
      "appliesto": "allElements",
      "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-block-start",
      "syntax": "<'border-top-width'> || <'border-top-style'> || <color>",
      "media": "visual",
      "inherited": false,
      "animationType": "border-block-start-color, border-block-start-style, border-block-start-width",
      "percentages": "no",
      "initial": "border-width, border-style, color",
      "appliesto": "allElements",
      "computed": "border-width, border-style, border-block-start-color",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-block-start-color",
      "syntax": "<'border-top-color'>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "currentcolor",
      "appliesto": "allElements",
      "computed": "computedColor",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-block-start-style",
      "syntax": "<'border-top-style'>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-block-start-width",
      "syntax": "<'border-top-width'>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "logicalWidthOfContainingBlock",
      "initial": "medium",
      "appliesto": "allElements",
      "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-block-style",
      "syntax": "<'border-top-style'>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-block-width",
      "syntax": "<'border-top-width'>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "logicalWidthOfContainingBlock",
      "initial": "medium",
      "appliesto": "allElements",
      "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-bottom",
      "syntax": "<line-width> || <line-style> || <color>",
      "media": "visual",
      "inherited": false,
      "animationType": "border-bottom-color, border-bottom-style, border-bottom-width",
      "percentages": "no",
      "initial": "border-bottom-width, border-bottom-style, border-bottom-color",
      "appliesto": "allElements",
      "computed": "border-bottom-width, border-bottom-style, border-bottom-color",
      "order": "orderOfAppearance",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-bottom-color",
      "syntax": "<'border-top-color'>",
      "media": "visual",
      "inherited": false,
      "animationType": "color",
      "percentages": "no",
      "initial": "currentcolor",
      "appliesto": "allElements",
      "computed": "computedColor",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-bottom-left-radius",
      "syntax": "<length-percentage [0,∞]>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "referToDimensionOfBorderBox",
      "initial": "0",
      "appliesto": "allElementsUAsNotRequiredWhenCollapse",
      "computed": "twoAbsoluteLengthOrPercentages",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-bottom-right-radius",
      "syntax": "<length-percentage [0,∞]>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "referToDimensionOfBorderBox",
      "initial": "0",
      "appliesto": "allElementsUAsNotRequiredWhenCollapse",
      "computed": "twoAbsoluteLengthOrPercentages",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-bottom-style",
      "syntax": "<line-style>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-bottom-width",
      "syntax": "<line-width>",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "no",
      "initial": "medium",
      "appliesto": "allElements",
      "computed": "absoluteLengthOr0IfBorderBottomStyleNoneOrHidden",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-collapse",
      "syntax": "separate | collapse",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "separate",
      "appliesto": "tableElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Table"
    },
    {
      "property": "border-color",
      "syntax": "<color>{1,4}",
      "media": "visual",
      "inherited": false,
      "animationType": "border-bottom-color, border-left-color, border-right-color, border-top-color",
      "percentages": "no",
      "initial": "border-top-color, border-right-color, border-bottom-color, border-left-color",
      "appliesto": "allElements",
      "computed": "border-bottom-color, border-left-color, border-right-color, border-top-color",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-end-end-radius",
      "syntax": "<'border-top-left-radius'>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "referToDimensionOfBorderBox",
      "initial": "0",
      "appliesto": "allElementsUAsNotRequiredWhenCollapse",
      "computed": "twoAbsoluteLengthOrPercentages",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-end-start-radius",
      "syntax": "<'border-top-left-radius'>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "referToDimensionOfBorderBox",
      "initial": "0",
      "appliesto": "allElementsUAsNotRequiredWhenCollapse",
      "computed": "twoAbsoluteLengthOrPercentages",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-image",
      "syntax": "<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>",
      "media": "visual",
      "inherited": false,
      "animationType": "border-image-outset, border-image-repeat, border-image-slice, border-image-source, border-image-width",
      "percentages": "border-image-slice, border-image-width",
      "initial": "border-image-source, border-image-slice, border-image-width, border-image-outset, border-image-repeat",
      "appliesto": "allElementsExceptTableElementsWhenCollapse",
      "computed": "border-image-outset, border-image-repeat, border-image-slice, border-image-source, border-image-width",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-image-outset",
      "syntax": "[ <length [0,∞]> | <number [0,∞]> ]{1,4}",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "0",
      "appliesto": "allElementsExceptTableElementsWhenCollapse",
      "computed": "asSpecifiedRelativeToAbsoluteLengths",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-image-repeat",
      "syntax": "[ stretch | repeat | round | space ]{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "stretch",
      "appliesto": "allElementsExceptTableElementsWhenCollapse",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-image-slice",
      "syntax": "[ <number [0,∞]> | <percentage [0,∞]> ]{1,4} && fill?",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "referToSizeOfBorderImage",
      "initial": "100%",
      "appliesto": "allElementsExceptTableElementsWhenCollapse",
      "computed": "oneToFourPercentagesOrAbsoluteLengthsPlusFill",
      "order": "percentagesOrLengthsFollowedByFill",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-image-source",
      "syntax": "none | <image>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElementsExceptTableElementsWhenCollapse",
      "computed": "noneOrImageWithAbsoluteURI",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-image-width",
      "syntax": "[ <length-percentage [0,∞]> | <number [0,∞]> | auto ]{1,4}",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "referToWidthOrHeightOfBorderImageArea",
      "initial": "1",
      "appliesto": "allElementsExceptTableElementsWhenCollapse",
      "computed": "asSpecifiedRelativeToAbsoluteLengths",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-inline",
      "syntax": "<'border-block-start'>",
      "media": "visual",
      "inherited": false,
      "animationType": "border-inline-color, border-inline-style, border-inline-width",
      "percentages": "no",
      "initial": "border-inline-width, border-inline-style, border-inline-color",
      "appliesto": "allElements",
      "computed": "border-inline-width, border-inline-style, border-inline-color",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-inline-color",
      "syntax": "<'border-top-color'>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "currentcolor",
      "appliesto": "allElements",
      "computed": "computedColor",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-inline-end",
      "syntax": "<'border-top-width'> || <'border-top-style'> || <color>",
      "media": "visual",
      "inherited": false,
      "animationType": "border-inline-end-color, border-inline-end-style, border-inline-end-width",
      "percentages": "no",
      "initial": "border-width, border-style, color",
      "appliesto": "allElements",
      "computed": "border-width, border-style, border-inline-end-color",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-inline-end-color",
      "syntax": "<'border-top-color'>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "currentcolor",
      "appliesto": "allElements",
      "computed": "computedColor",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-inline-end-style",
      "syntax": "<'border-top-style'>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-inline-end-width",
      "syntax": "<'border-top-width'>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "logicalWidthOfContainingBlock",
      "initial": "medium",
      "appliesto": "allElements",
      "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-inline-start",
      "syntax": "<'border-top-width'> || <'border-top-style'> || <color>",
      "media": "visual",
      "inherited": false,
      "animationType": "border-inline-start-color, border-inline-start-style, border-inline-start-width",
      "percentages": "no",
      "initial": "border-width, border-style, color",
      "appliesto": "allElements",
      "computed": "border-width, border-style, border-inline-start-color",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-inline-start-color",
      "syntax": "<'border-top-color'>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "currentcolor",
      "appliesto": "allElements",
      "computed": "computedColor",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-inline-start-style",
      "syntax": "<'border-top-style'>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-inline-start-width",
      "syntax": "<'border-top-width'>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "logicalWidthOfContainingBlock",
      "initial": "medium",
      "appliesto": "allElements",
      "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-inline-style",
      "syntax": "<'border-top-style'>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-inline-width",
      "syntax": "<'border-top-width'>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "logicalWidthOfContainingBlock",
      "initial": "medium",
      "appliesto": "allElements",
      "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-left",
      "syntax": "<line-width> || <line-style> || <color>",
      "media": "visual",
      "inherited": false,
      "animationType": "border-left-color, border-left-style, border-left-width",
      "percentages": "no",
      "initial": "border-left-width, border-left-style, border-left-color",
      "appliesto": "allElements",
      "computed": "border-left-width, border-left-style, border-left-color",
      "order": "orderOfAppearance",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-left-color",
      "syntax": "<color>",
      "media": "visual",
      "inherited": false,
      "animationType": "color",
      "percentages": "no",
      "initial": "currentcolor",
      "appliesto": "allElements",
      "computed": "computedColor",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-left-style",
      "syntax": "<line-style>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-left-width",
      "syntax": "<line-width>",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "no",
      "initial": "medium",
      "appliesto": "allElements",
      "computed": "absoluteLengthOr0IfBorderLeftStyleNoneOrHidden",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-radius",
      "syntax": "<length-percentage [0,∞]>{1,4} [ / <length-percentage [0,∞]>{1,4} ]?",
      "media": "visual",
      "inherited": false,
      "animationType": "border-top-left-radius, border-top-right-radius, border-bottom-right-radius, border-bottom-left-radius",
      "percentages": "referToDimensionOfBorderBox",
      "initial": "border-top-left-radius, border-top-right-radius, border-bottom-right-radius, border-bottom-left-radius",
      "appliesto": "allElementsUAsNotRequiredWhenCollapse",
      "computed": "border-bottom-left-radius, border-bottom-right-radius, border-top-left-radius, border-top-right-radius",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-right",
      "syntax": "<line-width> || <line-style> || <color>",
      "media": "visual",
      "inherited": false,
      "animationType": "border-right-color, border-right-style, border-right-width",
      "percentages": "no",
      "initial": "border-right-width, border-right-style, border-right-color",
      "appliesto": "allElements",
      "computed": "border-right-width, border-right-style, border-right-color",
      "order": "orderOfAppearance",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-right-color",
      "syntax": "<color>",
      "media": "visual",
      "inherited": false,
      "animationType": "color",
      "percentages": "no",
      "initial": "currentcolor",
      "appliesto": "allElements",
      "computed": "computedColor",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-right-style",
      "syntax": "<line-style>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-right-width",
      "syntax": "<line-width>",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "no",
      "initial": "medium",
      "appliesto": "allElements",
      "computed": "absoluteLengthOr0IfBorderRightStyleNoneOrHidden",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-spacing",
      "syntax": "<length>{1,2}",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "0",
      "appliesto": "tableElements",
      "computed": "twoAbsoluteLengths",
      "order": "uniqueOrder",
      "groups": "CSS Table"
    },
    {
      "property": "border-start-end-radius",
      "syntax": "<'border-top-left-radius'>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "referToDimensionOfBorderBox",
      "initial": "0",
      "appliesto": "allElementsUAsNotRequiredWhenCollapse",
      "computed": "twoAbsoluteLengthOrPercentages",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-start-start-radius",
      "syntax": "<'border-top-left-radius'>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "referToDimensionOfBorderBox",
      "initial": "0",
      "appliesto": "allElementsUAsNotRequiredWhenCollapse",
      "computed": "twoAbsoluteLengthOrPercentages",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "border-style",
      "syntax": "<line-style>{1,4}",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "border-top-style, border-right-style, border-bottom-style, border-left-style",
      "appliesto": "allElements",
      "computed": "border-bottom-style, border-left-style, border-right-style, border-top-style",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-top",
      "syntax": "<line-width> || <line-style> || <color>",
      "media": "visual",
      "inherited": false,
      "animationType": "border-top-color, border-top-style, border-top-width",
      "percentages": "no",
      "initial": "border-top-width, border-top-style, border-top-color",
      "appliesto": "allElements",
      "computed": "border-top-width, border-top-style, border-top-color",
      "order": "orderOfAppearance",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-top-color",
      "syntax": "<color>",
      "media": "visual",
      "inherited": false,
      "animationType": "color",
      "percentages": "no",
      "initial": "currentcolor",
      "appliesto": "allElements",
      "computed": "computedColor",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-top-left-radius",
      "syntax": "<length-percentage [0,∞]>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "referToDimensionOfBorderBox",
      "initial": "0",
      "appliesto": "allElementsUAsNotRequiredWhenCollapse",
      "computed": "twoAbsoluteLengthOrPercentages",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-top-right-radius",
      "syntax": "<length-percentage [0,∞]>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "referToDimensionOfBorderBox",
      "initial": "0",
      "appliesto": "allElementsUAsNotRequiredWhenCollapse",
      "computed": "twoAbsoluteLengthOrPercentages",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-top-style",
      "syntax": "<line-style>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-top-width",
      "syntax": "<line-width>",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "no",
      "initial": "medium",
      "appliesto": "allElements",
      "computed": "absoluteLengthOr0IfBorderTopStyleNoneOrHidden",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "border-width",
      "syntax": "<line-width>{1,4}",
      "media": "visual",
      "inherited": false,
      "animationType": "border-bottom-width, border-left-width, border-right-width, border-top-width",
      "percentages": "no",
      "initial": "border-top-width, border-right-width, border-bottom-width, border-left-width",
      "appliesto": "allElements",
      "computed": "border-bottom-width, border-left-width, border-right-width, border-top-width",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "bottom",
      "syntax": "auto | <length-percentage> | <anchor()> | <anchor-size()>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "referToContainingBlockHeight",
      "initial": "auto",
      "appliesto": "positionedElements",
      "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
      "order": "uniqueOrder",
      "groups": "CSS Anchor Positioning, CSS Positioned Layout"
    },
    {
      "property": "box-align",
      "syntax": "start | center | end | baseline | stretch",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "stretch",
      "appliesto": "elementsWithDisplayBoxOrInlineBox",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "Mozilla Extensions, WebKit Extensions"
    },
    {
      "property": "box-decoration-break",
      "syntax": "slice | clone",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "slice",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Fragmentation"
    },
    {
      "property": "box-direction",
      "syntax": "normal | reverse | inherit",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "elementsWithDisplayBoxOrInlineBox",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "Mozilla Extensions, WebKit Extensions"
    },
    {
      "property": "box-flex",
      "syntax": "<number>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "0",
      "appliesto": "directChildrenOfElementsWithDisplayMozBoxMozInlineBox",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "Mozilla Extensions, WebKit Extensions"
    },
    {
      "property": "box-flex-group",
      "syntax": "<integer>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "1",
      "appliesto": "inFlowChildrenOfBoxElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "Mozilla Extensions, WebKit Extensions"
    },
    {
      "property": "box-lines",
      "syntax": "single | multiple",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "single",
      "appliesto": "boxElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "Mozilla Extensions, WebKit Extensions"
    },
    {
      "property": "box-ordinal-group",
      "syntax": "<integer>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "1",
      "appliesto": "childrenOfBoxElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "Mozilla Extensions, WebKit Extensions"
    },
    {
      "property": "box-orient",
      "syntax": "horizontal | vertical | inline-axis | block-axis | inherit",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "inline-axis",
      "appliesto": "elementsWithDisplayBoxOrInlineBox",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "Mozilla Extensions, WebKit Extensions"
    },
    {
      "property": "box-pack",
      "syntax": "start | center | end | justify",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "start",
      "appliesto": "elementsWithDisplayMozBoxMozInlineBox",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "Mozilla Extensions, WebKit Extensions"
    },
    {
      "property": "box-shadow",
      "syntax": "none | <shadow>#",
      "media": "visual",
      "inherited": false,
      "animationType": "shadowList",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "absoluteLengthsSpecifiedColorAsSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "box-sizing",
      "syntax": "content-box | border-box",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "content-box",
      "appliesto": "allElementsAcceptingWidthOrHeight",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Box Sizing"
    },
    {
      "property": "break-after",
      "syntax": "auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "blockLevelElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Fragmentation"
    },
    {
      "property": "break-before",
      "syntax": "auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "blockLevelElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Fragmentation"
    },
    {
      "property": "break-inside",
      "syntax": "auto | avoid | avoid-page | avoid-column | avoid-region",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "blockLevelElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Fragmentation"
    },
    {
      "property": "caption-side",
      "syntax": "top | bottom",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "top",
      "appliesto": "tableCaptionElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Table"
    },
    {
      "property": "caret",
      "syntax": "<'caret-color'> || <'caret-animation'> || <'caret-shape'>",
      "media": "interactive",
      "inherited": true,
      "animationType": "caret-color, caret-animation, caret-shape",
      "percentages": "no",
      "initial": "caret-color, caret-animation, caret-shape",
      "appliesto": "textOrElementsThatAcceptInput",
      "computed": "caret-color, caret-animation, caret-shape",
      "order": "perGrammar",
      "groups": "CSS Basic User Interface"
    },
    {
      "property": "caret-animation",
      "syntax": "auto | manual",
      "media": "interactive",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "textOrElementsThatAcceptInput",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Basic User Interface"
    },
    {
      "property": "caret-color",
      "syntax": "auto | <color>",
      "media": "interactive",
      "inherited": true,
      "animationType": "color",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "textOrElementsThatAcceptInput",
      "computed": "asAutoOrColor",
      "order": "perGrammar",
      "groups": "CSS Basic User Interface"
    },
    {
      "property": "caret-shape",
      "syntax": "auto | bar | block | underscore",
      "media": "interactive",
      "inherited": true,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "textOrElementsThatAcceptInput",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Basic User Interface"
    },
    {
      "property": "clear",
      "syntax": "none | left | right | both | inline-start | inline-end",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "blockLevelElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Positioned Layout"
    },
    {
      "property": "clip",
      "syntax": "<shape> | auto",
      "media": "visual",
      "inherited": false,
      "animationType": "rectangle",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "absolutelyPositionedElements",
      "computed": "autoOrRectangle",
      "order": "uniqueOrder",
      "groups": "CSS Masking"
    },
    {
      "property": "clip-path",
      "syntax": "<clip-source> | [ <basic-shape> || <geometry-box> ] | none",
      "media": "visual",
      "inherited": false,
      "animationType": "basicShapeOtherwiseNo",
      "percentages": "referToReferenceBoxWhenSpecifiedOtherwiseBorderBox",
      "initial": "none",
      "appliesto": "allElementsSVGContainerElements",
      "computed": "asSpecifiedURLsAbsolute",
      "order": "uniqueOrder",
      "groups": "CSS Masking"
    },
    {
      "property": "clip-rule",
      "syntax": "nonzero | evenodd",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "nonzero",
      "appliesto": "limitedSVGElementsGraphics",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Masking"
    },
    {
      "property": "color",
      "syntax": "<color>",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "canvastext",
      "appliesto": "allElementsAndText",
      "computed": "computedColor",
      "order": "perGrammar",
      "groups": "CSS Color"
    },
    {
      "property": "color-interpolation-filters",
      "syntax": "auto | sRGB | linearRGB",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "linearRGB",
      "appliesto": "limitedSVGElementsFilterPrimitives",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "Filter Effects"
    },
    {
      "property": "color-scheme",
      "syntax": "normal | [ light | dark | <custom-ident> ]+ && only?",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElementsAndText",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Color"
    },
    {
      "property": "column-count",
      "syntax": "<integer> | auto",
      "media": "visual",
      "inherited": false,
      "animationType": "integer",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "blockContainersExceptTableWrappers",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Multi-column Layout"
    },
    {
      "property": "column-fill",
      "syntax": "auto | balance",
      "media": "visualInContinuousMediaNoEffectInOverflowColumns",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "balance",
      "appliesto": "multicolElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Multi-column Layout"
    },
    {
      "property": "column-gap",
      "syntax": "normal | <length-percentage>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "referToDimensionOfContentArea",
      "initial": "normal",
      "appliesto": "multiColumnElementsFlexContainersGridContainers",
      "computed": "asSpecifiedWithLengthsAbsoluteAndNormalComputingToZeroExceptMultiColumn",
      "order": "perGrammar",
      "groups": "CSS Box Alignment, CSS Multi-column Layout"
    },
    {
      "property": "column-height",
      "syntax": "auto | <length [0,∞]>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "blockContainersExceptTableWrappers",
      "computed": "autoOrAbsoluteLength",
      "order": "perGrammar",
      "groups": "CSS Box Sizing, CSS Multi-column Layout"
    },
    {
      "property": "column-rule",
      "syntax": "<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>",
      "media": "visual",
      "inherited": false,
      "animationType": "column-rule-color, column-rule-style, column-rule-width",
      "percentages": "no",
      "initial": "column-rule-width, column-rule-style, column-rule-color",
      "appliesto": "multicolElements",
      "computed": "column-rule-color, column-rule-style, column-rule-width",
      "order": "perGrammar",
      "groups": "CSS Multi-column Layout"
    },
    {
      "property": "column-rule-color",
      "syntax": "<color>",
      "media": "visual",
      "inherited": false,
      "animationType": "color",
      "percentages": "no",
      "initial": "currentcolor",
      "appliesto": "multicolElements",
      "computed": "computedColor",
      "order": "perGrammar",
      "groups": "CSS Multi-column Layout"
    },
    {
      "property": "column-rule-style",
      "syntax": "<'border-style'>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "multicolElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Multi-column Layout"
    },
    {
      "property": "column-rule-width",
      "syntax": "<'border-width'>",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "no",
      "initial": "medium",
      "appliesto": "multicolElements",
      "computed": "absoluteLength0IfColumnRuleStyleNoneOrHidden",
      "order": "perGrammar",
      "groups": "CSS Multi-column Layout"
    },
    {
      "property": "column-span",
      "syntax": "none | all",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "inFlowBlockLevelElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Multi-column Layout"
    },
    {
      "property": "column-width",
      "syntax": "auto | <length [0,∞]>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "blockContainersExceptTableWrappers",
      "computed": "autoOrAbsoluteLength",
      "order": "perGrammar",
      "groups": "CSS Box Sizing, CSS Multi-column Layout"
    },
    {
      "property": "column-wrap",
      "syntax": "auto | nowrap | wrap",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "multicolElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Box Sizing, CSS Multi-column Layout"
    },
    {
      "property": "columns",
      "syntax": "[ <'column-width'> || <'column-count'> ] [ / <'column-height'> ]?",
      "media": "visual",
      "inherited": false,
      "animationType": "column-width, column-count, column-height",
      "percentages": "no",
      "initial": "column-width, column-count, column-height",
      "appliesto": "blockContainersExceptTableWrappers",
      "computed": "column-width, column-count, column-height",
      "order": "perGrammar",
      "groups": "CSS Multi-column Layout"
    },
    {
      "property": "contain",
      "syntax": "none | strict | content | [ [ size || inline-size ] || layout || style || paint ]",
      "media": "all",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Containment"
    },
    {
      "property": "contain-intrinsic-block-size",
      "syntax": "auto? [ none | <length> ]",
      "media": "",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "none",
      "appliesto": "elementsForWhichSizeContainmentCanApply",
      "computed": "asSpecifiedWithLengthValuesComputed",
      "order": "perGrammar",
      "groups": "CSS Box Sizing"
    },
    {
      "property": "contain-intrinsic-height",
      "syntax": "auto? [ none | <length> ]",
      "media": "",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "none",
      "appliesto": "elementsForWhichSizeContainmentCanApply",
      "computed": "asSpecifiedWithLengthValuesComputed",
      "order": "perGrammar",
      "groups": "CSS Box Sizing"
    },
    {
      "property": "contain-intrinsic-inline-size",
      "syntax": "auto? [ none | <length> ]",
      "media": "",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "none",
      "appliesto": "elementsForWhichSizeContainmentCanApply",
      "computed": "asSpecifiedWithLengthValuesComputed",
      "order": "perGrammar",
      "groups": "CSS Box Sizing"
    },
    {
      "property": "contain-intrinsic-size",
      "syntax": "[ auto? [ none | <length> ] ]{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "contain-intrinsic-width, contain-intrinsic-height",
      "percentages": "contain-intrinsic-width, contain-intrinsic-height",
      "initial": "contain-intrinsic-width, contain-intrinsic-height",
      "appliesto": "elementsForWhichSizeContainmentCanApply",
      "computed": "contain-intrinsic-width, contain-intrinsic-height",
      "order": "perGrammar",
      "groups": "CSS Box Sizing"
    },
    {
      "property": "contain-intrinsic-width",
      "syntax": "auto? [ none | <length> ]",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "none",
      "appliesto": "elementsForWhichSizeContainmentCanApply",
      "computed": "asSpecifiedWithLengthValuesComputed",
      "order": "perGrammar",
      "groups": "CSS Box Sizing"
    },
    {
      "property": "container",
      "syntax": "<'container-name'> [ / <'container-type'> ]?",
      "media": "visual",
      "inherited": false,
      "animationType": "container-name, container-type",
      "percentages": "container-name, container-type",
      "initial": "container-name, container-type",
      "appliesto": "allElements",
      "computed": "container-name, container-type",
      "order": "perGrammar",
      "groups": "CSS Conditional Rules"
    },
    {
      "property": "container-name",
      "syntax": "none | <custom-ident>+",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "noneOrOrderedListOfIdentifiers",
      "order": "perGrammar",
      "groups": "CSS Conditional Rules"
    },
    {
      "property": "container-type",
      "syntax": "normal | [ [ size | inline-size ] || scroll-state ]",
      "media": "visual",
      "inherited": false,
      "animationType": "color",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Conditional Rules"
    },
    {
      "property": "content",
      "syntax": "normal | none | [ <content-replacement> | <content-list> ] [ / [ <string> | <counter> | <attr()> ]+ ]?",
      "media": "all",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElementsTreeAbidingPseudoElementsPageMarginBoxes",
      "computed": "normalOnElementsForPseudosNoneAbsoluteURIStringOrAsSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Generated Content"
    },
    {
      "property": "content-visibility",
      "syntax": "visible | auto | hidden",
      "media": "all",
      "inherited": false,
      "animationType": "discreteButVisibleForDurationWhenAnimatedHidden",
      "percentages": "no",
      "initial": "visible",
      "appliesto": "elementsForWhichSizeContainmentCanApply",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Containment"
    },
    {
      "property": "corner-block-end-shape",
      "syntax": "<corner-shape-value>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "corner-end-start-shape, corner-end-end-shape",
      "percentages": "no",
      "initial": "corner-end-start-shape, corner-end-end-shape",
      "appliesto": "allElements",
      "computed": "corner-end-start-shape, corner-end-end-shape",
      "order": "perGrammar",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "corner-block-start-shape",
      "syntax": "<corner-shape-value>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "corner-start-start-shape, corner-start-end-shape",
      "percentages": "no",
      "initial": "corner-start-start-shape, corner-start-end-shape",
      "appliesto": "allElements",
      "computed": "corner-start-start-shape, corner-start-end-shape",
      "order": "perGrammar",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "corner-bottom-shape",
      "syntax": "<corner-shape-value>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "corner-bottom-left-shape, corner-bottom-right-shape",
      "percentages": "no",
      "initial": "corner-bottom-left-shape, corner-bottom-right-shape",
      "appliesto": "allElements",
      "computed": "corner-bottom-left-shape, corner-bottom-right-shape",
      "order": "perGrammar",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "corner-bottom-left-shape",
      "syntax": "<corner-shape-value>",
      "media": "visual",
      "inherited": false,
      "animationType": "superellipseInterpolation",
      "percentages": "no",
      "initial": "round",
      "appliesto": "allElements",
      "computed": "correspondingSuperellipse",
      "order": "perGrammar",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "corner-bottom-right-shape",
      "syntax": "<corner-shape-value>",
      "media": "visual",
      "inherited": false,
      "animationType": "superellipseInterpolation",
      "percentages": "no",
      "initial": "round",
      "appliesto": "allElements",
      "computed": "correspondingSuperellipse",
      "order": "perGrammar",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "corner-end-end-shape",
      "syntax": "<corner-shape-value>",
      "media": "visual",
      "inherited": false,
      "animationType": "superellipseInterpolation",
      "percentages": "no",
      "initial": "round",
      "appliesto": "allElements",
      "computed": "correspondingSuperellipse",
      "order": "perGrammar",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "corner-end-start-shape",
      "syntax": "<corner-shape-value>",
      "media": "visual",
      "inherited": false,
      "animationType": "superellipseInterpolation",
      "percentages": "no",
      "initial": "round",
      "appliesto": "allElements",
      "computed": "correspondingSuperellipse",
      "order": "perGrammar",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "corner-inline-end-shape",
      "syntax": "<corner-shape-value>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "corner-start-end-shape, corner-end-end-shape",
      "percentages": "no",
      "initial": "corner-start-end-shape, corner-end-end-shape",
      "appliesto": "allElements",
      "computed": "corner-start-end-shape, corner-end-end-shape",
      "order": "perGrammar",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "corner-inline-start-shape",
      "syntax": "<corner-shape-value>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "corner-start-start-shape, corner-start-end-shape",
      "percentages": "no",
      "initial": "corner-start-start-shape, corner-start-end-shape",
      "appliesto": "allElements",
      "computed": "corner-start-start-shape, corner-start-end-shape",
      "order": "perGrammar",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "corner-left-shape",
      "syntax": "<corner-shape-value>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "corner-top-left-shape, corner-bottom-left-shape",
      "percentages": "no",
      "initial": "corner-top-left-shape, corner-bottom-left-shape",
      "appliesto": "allElements",
      "computed": "corner-top-left-shape, corner-bottom-left-shape",
      "order": "perGrammar",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "corner-right-shape",
      "syntax": "<corner-shape-value>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "corner-top-right-shape, corner-bottom-right-shape",
      "percentages": "no",
      "initial": "corner-top-right-shape, corner-bottom-right-shape",
      "appliesto": "allElements",
      "computed": "corner-top-right-shape, corner-bottom-right-shape",
      "order": "perGrammar",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "corner-shape",
      "syntax": "<corner-shape-value>{1,4}",
      "media": "visual",
      "inherited": false,
      "animationType": "corner-top-left-shape, corner-top-right-shape, corner-bottom-left-shape, corner-bottom-right-shape",
      "percentages": "no",
      "initial": "corner-top-left-shape, corner-top-right-shape, corner-bottom-left-shape, corner-bottom-right-shape",
      "appliesto": "allElements",
      "computed": "corner-top-left-shape, corner-top-right-shape, corner-bottom-left-shape, corner-bottom-right-shape",
      "order": "perGrammar",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "corner-start-start-shape",
      "syntax": "<corner-shape-value>",
      "media": "visual",
      "inherited": false,
      "animationType": "superellipseInterpolation",
      "percentages": "no",
      "initial": "round",
      "appliesto": "allElements",
      "computed": "correspondingSuperellipse",
      "order": "perGrammar",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "corner-start-end-shape",
      "syntax": "<corner-shape-value>",
      "media": "visual",
      "inherited": false,
      "animationType": "superellipseInterpolation",
      "percentages": "no",
      "initial": "round",
      "appliesto": "allElements",
      "computed": "correspondingSuperellipse",
      "order": "perGrammar",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "corner-top-shape",
      "syntax": "<corner-shape-value>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "corner-top-left-shape, corner-top-right-shape",
      "percentages": "no",
      "initial": "corner-top-left-shape, corner-top-right-shape",
      "appliesto": "allElements",
      "computed": "corner-top-left-shape, corner-top-right-shape",
      "order": "perGrammar",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "corner-top-left-shape",
      "syntax": "<corner-shape-value>",
      "media": "visual",
      "inherited": false,
      "animationType": "superellipseInterpolation",
      "percentages": "no",
      "initial": "round",
      "appliesto": "allElements",
      "computed": "correspondingSuperellipse",
      "order": "perGrammar",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "corner-top-right-shape",
      "syntax": "<corner-shape-value>",
      "media": "visual",
      "inherited": false,
      "animationType": "superellipseInterpolation",
      "percentages": "no",
      "initial": "round",
      "appliesto": "allElements",
      "computed": "correspondingSuperellipse",
      "order": "perGrammar",
      "groups": "CSS Backgrounds and Borders"
    },
    {
      "property": "counter-increment",
      "syntax": "[ <counter-name> <integer>? ]+ | none",
      "media": "all",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Lists and Counters"
    },
    {
      "property": "counter-reset",
      "syntax": "[ <counter-name> <integer>? | <reversed-counter-name> <integer>? ]+ | none",
      "media": "all",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Lists and Counters"
    },
    {
      "property": "counter-set",
      "syntax": "[ <counter-name> <integer>? ]+ | none",
      "media": "all",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Lists and Counters"
    },
    {
      "property": "cursor",
      "syntax": "[ [ <url> [ <x> <y> ]? , ]* <cursor-predefined> ]",
      "media": "visual, interactive",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElements",
      "computed": "asSpecifiedURLsAbsolute",
      "order": "uniqueOrder",
      "groups": "CSS Basic User Interface"
    },
    {
      "property": "cx",
      "syntax": "<length> | <percentage>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "referToSVGViewportWidth",
      "initial": "0",
      "appliesto": "limitedSVGElementsEllipse",
      "computed": "percentageAsSpecifiedOrAbsoluteLength",
      "order": "perGrammar",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "cy",
      "syntax": "<length> | <percentage>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "referToSVGViewportHeight",
      "initial": "0",
      "appliesto": "limitedSVGElementsEllipse",
      "computed": "percentageAsSpecifiedOrAbsoluteLength",
      "order": "perGrammar",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "d",
      "syntax": "none | path(<string>)",
      "media": "visual",
      "inherited": false,
      "animationType": "basicShapeOtherwiseNo",
      "percentages": "no",
      "initial": "none",
      "appliesto": "limitedSVGElementsPath",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "direction",
      "syntax": "ltr | rtl",
      "media": "visual",
      "inherited": true,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "ltr",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Writing Modes"
    },
    {
      "property": "display",
      "syntax": "[ <display-outside> || <display-inside> ] | <display-listitem> | <display-internal> | <display-box> | <display-legacy>",
      "media": "all",
      "inherited": false,
      "animationType": "discreteButVisibleForDurationWhenAnimatedNone",
      "percentages": "no",
      "initial": "inline",
      "appliesto": "allElements",
      "computed": "asSpecifiedExceptPositionedFloatingAndRootElementsKeywordMaybeDifferent",
      "order": "uniqueOrder",
      "groups": "CSS Display"
    },
    {
      "property": "dominant-baseline",
      "syntax": "auto | text-bottom | alphabetic | ideographic | middle | central | mathematical | hanging | text-top",
      "media": "all",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "blockContainersFlexContainersGridContainersInlineBoxesTableRowsSVGTextContentElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Inline, Scalable Vector Graphics"
    },
    {
      "property": "dynamic-range-limit",
      "syntax": "standard | no-limit | constrained | <dynamic-range-limit-mix()>",
      "media": "visual",
      "inherited": true,
      "animationType": "byDynamicRangeLimitMix",
      "percentages": "no",
      "initial": "no-limit",
      "appliesto": "allElements",
      "computed": "computedValueForDynamicRangeLimit",
      "order": "perGrammar",
      "groups": "CSS Color"
    },
    {
      "property": "empty-cells",
      "syntax": "show | hide",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "show",
      "appliesto": "tableCellElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Table"
    },
    {
      "property": "field-sizing",
      "syntax": "content | fixed",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "fixed",
      "appliesto": "elementsWithDefaultPreferredSize",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Basic User Interface"
    },
    {
      "property": "fill",
      "syntax": "<paint>",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "black",
      "appliesto": "limitedSVGElementsShapeText",
      "computed": "asColorOrAbsoluteURL",
      "order": "perGrammar",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "fill-opacity",
      "syntax": "<'opacity'>",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValueType",
      "percentages": "mapToRange0To1",
      "initial": "1",
      "appliesto": "limitedSVGElementsShapeText",
      "computed": "specifiedValueNumberClipped0To1",
      "order": "perGrammar",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "fill-rule",
      "syntax": "nonzero | evenodd",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "nonzero",
      "appliesto": "limitedSVGElementsShapeText",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "filter",
      "syntax": "none | <filter-value-list>",
      "media": "visual",
      "inherited": false,
      "animationType": "filterList",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElementsSVGContainerElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "Filter Effects"
    },
    {
      "property": "flex",
      "syntax": "none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]",
      "media": "visual",
      "inherited": false,
      "animationType": "flex-grow, flex-shrink, flex-basis",
      "percentages": "no",
      "initial": "flex-grow, flex-shrink, flex-basis",
      "appliesto": "flexItemsAndInFlowPseudos",
      "computed": "flex-grow, flex-shrink, flex-basis",
      "order": "orderOfAppearance",
      "groups": "CSS Flexible Box Layout"
    },
    {
      "property": "flex-basis",
      "syntax": "content | <'width'>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "referToFlexContainersInnerMainSize",
      "initial": "auto",
      "appliesto": "flexItemsAndInFlowPseudos",
      "computed": "asSpecifiedRelativeToAbsoluteLengths",
      "order": "lengthOrPercentageBeforeKeywordIfBothPresent",
      "groups": "CSS Flexible Box Layout"
    },
    {
      "property": "flex-direction",
      "syntax": "row | row-reverse | column | column-reverse",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "row",
      "appliesto": "flexContainers",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Flexible Box Layout"
    },
    {
      "property": "flex-flow",
      "syntax": "<'flex-direction'> || <'flex-wrap'>",
      "media": "visual",
      "inherited": false,
      "animationType": "flex-direction, flex-wrap",
      "percentages": "no",
      "initial": "flex-direction, flex-wrap",
      "appliesto": "flexContainers",
      "computed": "flex-direction, flex-wrap",
      "order": "orderOfAppearance",
      "groups": "CSS Flexible Box Layout"
    },
    {
      "property": "flex-grow",
      "syntax": "<number>",
      "media": "visual",
      "inherited": false,
      "animationType": "number",
      "percentages": "no",
      "initial": "0",
      "appliesto": "flexItemsAndInFlowPseudos",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Flexible Box Layout"
    },
    {
      "property": "flex-shrink",
      "syntax": "<number>",
      "media": "visual",
      "inherited": false,
      "animationType": "number",
      "percentages": "no",
      "initial": "1",
      "appliesto": "flexItemsAndInFlowPseudos",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Flexible Box Layout"
    },
    {
      "property": "flex-wrap",
      "syntax": "nowrap | wrap | wrap-reverse",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "nowrap",
      "appliesto": "flexContainers",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Flexible Box Layout"
    },
    {
      "property": "float",
      "syntax": "left | right | none | inline-start | inline-end",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElementsNoEffectIfDisplayNone",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Positioned Layout"
    },
    {
      "property": "flood-color",
      "syntax": "<color>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValue",
      "percentages": "no",
      "initial": "black",
      "appliesto": "limitedSVGElementsFloodAndDropShadow",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "Filter Effects"
    },
    {
      "property": "flood-opacity",
      "syntax": "<'opacity'>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValue",
      "percentages": "no",
      "initial": "black",
      "appliesto": "limitedSVGElementsFloodAndDropShadow",
      "computed": "specifiedValueClipped0To1",
      "order": "perGrammar",
      "groups": "Filter Effects"
    },
    {
      "property": "font",
      "syntax": "[ [ <'font-style'> || <font-variant-css2> || <'font-weight'> || <font-width-css3> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'># ] | <system-family-name>",
      "media": "visual",
      "inherited": true,
      "animationType": "font-style, font-variant, font-weight, font-stretch, font-size, line-height, font-family",
      "percentages": "font-size, line-height",
      "initial": "font-style, font-variant, font-weight, font-stretch, font-size, line-height, font-family",
      "appliesto": "allElementsAndText",
      "computed": "font-style, font-variant, font-weight, font-stretch, font-size, line-height, font-family",
      "order": "orderOfAppearance",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-family",
      "syntax": "[ <family-name> | <generic-family> ]#",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "dependsOnUserAgent",
      "appliesto": "allElementsAndText",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-feature-settings",
      "syntax": "normal | <feature-tag-value>#",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElementsAndText",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-kerning",
      "syntax": "auto | normal | none",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElementsAndText",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-language-override",
      "syntax": "normal | <string>",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElementsAndText",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-optical-sizing",
      "syntax": "auto | none",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElementsAndText",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-palette",
      "syntax": "normal | light | dark | <palette-identifier> | <palette-mix()>",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValue",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElementsAndText",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-size",
      "syntax": "<absolute-size> | <relative-size> | <length-percentage [0,∞]> | math",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValueType",
      "percentages": "referToParentElementsFontSize",
      "initial": "medium",
      "appliesto": "allElementsAndText",
      "computed": "absoluteLength",
      "order": "perGrammar",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-size-adjust",
      "syntax": "none | [ ex-height | cap-height | ch-width | ic-width | ic-height ]? [ from-font | <number> ]",
      "media": "visual",
      "inherited": true,
      "animationType": "number",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElementsAndText",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-smooth",
      "syntax": "auto | never | always | <absolute-size> | <length>",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-stretch",
      "syntax": "<font-stretch-absolute>",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElementsAndText",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-style",
      "syntax": "normal | italic | oblique <angle>?",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValueTypeNormalAnimatesAsObliqueZeroDeg",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElementsAndText",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-synthesis",
      "syntax": "none | [ weight || style || small-caps || position]",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "weight style small-caps position ",
      "appliesto": "allElementsAndText",
      "computed": "asSpecified",
      "order": "orderOfAppearance",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-synthesis-position",
      "syntax": "auto | none",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElementsAndText",
      "computed": "asSpecified",
      "order": "orderOfAppearance",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-synthesis-small-caps",
      "syntax": "auto | none",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElementsAndText",
      "computed": "asSpecified",
      "order": "orderOfAppearance",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-synthesis-style",
      "syntax": "auto | none",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElementsAndText",
      "computed": "asSpecified",
      "order": "orderOfAppearance",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-synthesis-weight",
      "syntax": "auto | none",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElementsAndText",
      "computed": "asSpecified",
      "order": "orderOfAppearance",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-variant",
      "syntax": "normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElementsAndText",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-variant-alternates",
      "syntax": "normal | [ stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) ]",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElementsAndText",
      "computed": "asSpecified",
      "order": "orderOfAppearance",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-variant-caps",
      "syntax": "normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElementsAndText",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-variant-east-asian",
      "syntax": "normal | [ <east-asian-variant-values> || <east-asian-width-values> || ruby ]",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElementsAndText",
      "computed": "asSpecified",
      "order": "orderOfAppearance",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-variant-emoji",
      "syntax": "normal | text | emoji | unicode",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElementsAndText",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-variant-ligatures",
      "syntax": "normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElementsAndText",
      "computed": "asSpecified",
      "order": "orderOfAppearance",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-variant-numeric",
      "syntax": "normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ]",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElementsAndText",
      "computed": "asSpecified",
      "order": "orderOfAppearance",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-variant-position",
      "syntax": "normal | sub | super",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElementsAndText",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-variation-settings",
      "syntax": "normal | [ <string> <number> ]#",
      "media": "visual",
      "inherited": true,
      "animationType": "transform",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-weight",
      "syntax": "<font-weight-absolute> | bolder | lighter",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElementsAndText",
      "computed": "keywordOrNumericalValueBolderLighterTransformedToRealValue",
      "order": "uniqueOrder",
      "groups": "CSS Fonts"
    },
    {
      "property": "font-width",
      "syntax": "normal | <percentage [0,∞]> | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElementsAndText",
      "computed": "percentage",
      "order": "perGrammar",
      "groups": "CSS Fonts"
    },
    {
      "property": "forced-color-adjust",
      "syntax": "auto | none | preserve-parent-color",
      "media": "visual",
      "inherited": true,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElementsAndText",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Color"
    },
    {
      "property": "gap",
      "syntax": "<'row-gap'> <'column-gap'>?",
      "media": "visual",
      "inherited": false,
      "animationType": "row-gap, column-gap",
      "percentages": "no",
      "initial": "row-gap, column-gap",
      "appliesto": "multiColumnElementsFlexContainersGridContainers",
      "computed": "row-gap, column-gap",
      "order": "uniqueOrder",
      "groups": "CSS Box Alignment"
    },
    {
      "property": "grid",
      "syntax": "<'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>",
      "media": "visual",
      "inherited": false,
      "animationType": "grid-template-rows, grid-template-columns, grid-template-areas, grid-auto-rows, grid-auto-columns, grid-auto-flow, grid-column-gap, grid-row-gap, column-gap, row-gap",
      "percentages": "grid-template-rows, grid-template-columns, grid-auto-rows, grid-auto-columns",
      "initial": "grid-template-rows, grid-template-columns, grid-template-areas, grid-auto-rows, grid-auto-columns, grid-auto-flow, grid-column-gap, grid-row-gap, column-gap, row-gap",
      "appliesto": "gridContainers",
      "computed": "grid-template-rows, grid-template-columns, grid-template-areas, grid-auto-rows, grid-auto-columns, grid-auto-flow, grid-column-gap, grid-row-gap, column-gap, row-gap",
      "order": "uniqueOrder",
      "groups": "CSS Grid Layout"
    },
    {
      "property": "grid-area",
      "syntax": "<grid-line> [ / <grid-line> ]{0,3}",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "grid-row-start, grid-column-start, grid-row-end, grid-column-end",
      "appliesto": "gridItemsAndBoxesWithinGridContainer",
      "computed": "grid-row-start, grid-column-start, grid-row-end, grid-column-end",
      "order": "uniqueOrder",
      "groups": "CSS Grid Layout"
    },
    {
      "property": "grid-auto-columns",
      "syntax": "<track-size>+",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "referToDimensionOfContentArea",
      "initial": "auto",
      "appliesto": "gridContainers",
      "computed": "percentageAsSpecifiedOrAbsoluteLength",
      "order": "uniqueOrder",
      "groups": "CSS Grid Layout"
    },
    {
      "property": "grid-auto-flow",
      "syntax": "[ row | column ] || dense",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "row",
      "appliesto": "gridContainers",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Grid Layout"
    },
    {
      "property": "grid-auto-rows",
      "syntax": "<track-size>+",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "referToDimensionOfContentArea",
      "initial": "auto",
      "appliesto": "gridContainers",
      "computed": "percentageAsSpecifiedOrAbsoluteLength",
      "order": "uniqueOrder",
      "groups": "CSS Grid Layout"
    },
    {
      "property": "grid-column",
      "syntax": "<grid-line> [ / <grid-line> ]?",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "grid-column-start, grid-column-end",
      "appliesto": "gridItemsAndBoxesWithinGridContainer",
      "computed": "grid-column-start, grid-column-end",
      "order": "uniqueOrder",
      "groups": "CSS Grid Layout"
    },
    {
      "property": "grid-column-end",
      "syntax": "<grid-line>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "gridItemsAndBoxesWithinGridContainer",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Grid Layout"
    },
    {
      "property": "grid-column-gap",
      "syntax": "<length-percentage>",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "referToDimensionOfContentArea",
      "initial": "0",
      "appliesto": "gridContainers",
      "computed": "percentageAsSpecifiedOrAbsoluteLength",
      "order": "uniqueOrder",
      "groups": "CSS Grid Layout"
    },
    {
      "property": "grid-column-start",
      "syntax": "<grid-line>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "gridItemsAndBoxesWithinGridContainer",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Grid Layout"
    },
    {
      "property": "grid-gap",
      "syntax": "<'grid-row-gap'> <'grid-column-gap'>?",
      "media": "visual",
      "inherited": false,
      "animationType": "grid-row-gap, grid-column-gap",
      "percentages": "no",
      "initial": "grid-row-gap, grid-column-gap",
      "appliesto": "gridContainers",
      "computed": "grid-row-gap, grid-column-gap",
      "order": "uniqueOrder",
      "groups": "CSS Grid Layout"
    },
    {
      "property": "grid-row",
      "syntax": "<grid-line> [ / <grid-line> ]?",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "grid-row-start, grid-row-end",
      "appliesto": "gridItemsAndBoxesWithinGridContainer",
      "computed": "grid-row-start, grid-row-end",
      "order": "uniqueOrder",
      "groups": "CSS Grid Layout"
    },
    {
      "property": "grid-row-end",
      "syntax": "<grid-line>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "gridItemsAndBoxesWithinGridContainer",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Grid Layout"
    },
    {
      "property": "grid-row-gap",
      "syntax": "<length-percentage>",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "referToDimensionOfContentArea",
      "initial": "0",
      "appliesto": "gridContainers",
      "computed": "percentageAsSpecifiedOrAbsoluteLength",
      "order": "uniqueOrder",
      "groups": "CSS Grid Layout"
    },
    {
      "property": "grid-row-start",
      "syntax": "<grid-line>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "gridItemsAndBoxesWithinGridContainer",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Grid Layout"
    },
    {
      "property": "grid-template",
      "syntax": "none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?",
      "media": "visual",
      "inherited": false,
      "animationType": "grid-template-columns, grid-template-rows, grid-template-areas",
      "percentages": "grid-template-columns, grid-template-rows",
      "initial": "grid-template-columns, grid-template-rows, grid-template-areas",
      "appliesto": "gridContainers",
      "computed": "grid-template-columns, grid-template-rows, grid-template-areas",
      "order": "uniqueOrder",
      "groups": "CSS Grid Layout"
    },
    {
      "property": "grid-template-areas",
      "syntax": "none | <string>+",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "gridContainers",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Grid Layout"
    },
    {
      "property": "grid-template-columns",
      "syntax": "none | <track-list> | <auto-track-list> | subgrid <line-name-list>?",
      "media": "visual",
      "inherited": false,
      "animationType": "simpleListOfLpcDifferenceLpc",
      "percentages": "referToDimensionOfContentArea",
      "initial": "none",
      "appliesto": "gridContainers",
      "computed": "asSpecifiedRelativeToAbsoluteLengths",
      "order": "uniqueOrder",
      "groups": "CSS Grid Layout"
    },
    {
      "property": "grid-template-rows",
      "syntax": "none | <track-list> | <auto-track-list> | subgrid <line-name-list>?",
      "media": "visual",
      "inherited": false,
      "animationType": "simpleListOfLpcDifferenceLpc",
      "percentages": "referToDimensionOfContentArea",
      "initial": "none",
      "appliesto": "gridContainers",
      "computed": "asSpecifiedRelativeToAbsoluteLengths",
      "order": "uniqueOrder",
      "groups": "CSS Grid Layout"
    },
    {
      "property": "hanging-punctuation",
      "syntax": "none | [ first || [ force-end | allow-end ] || last ]",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Text"
    },
    {
      "property": "height",
      "syntax": "auto | <length-percentage [0,∞]> | min-content | max-content | fit-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "regardingHeightOfGeneratedBoxContainingBlockPercentagesRelativeToContainingBlock",
      "initial": "auto",
      "appliesto": "allElementsButNonReplacedAndTableColumns",
      "computed": "percentageAutoOrAbsoluteLength",
      "order": "uniqueOrder",
      "groups": "CSS Box Sizing"
    },
    {
      "property": "hyphenate-character",
      "syntax": "auto | <string>",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Text"
    },
    {
      "property": "hyphenate-limit-chars",
      "syntax": "[ auto | <integer> ]{1,3}",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Text"
    },
    {
      "property": "hyphens",
      "syntax": "none | manual | auto",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "manual",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Text"
    },
    {
      "property": "image-orientation",
      "syntax": "from-image | <angle> | [ <angle>? flip ]",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "from-image",
      "appliesto": "allElements",
      "computed": "angleRoundedToNextQuarter",
      "order": "uniqueOrder",
      "groups": "CSS Images"
    },
    {
      "property": "image-rendering",
      "syntax": "auto | crisp-edges | pixelated | smooth",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Images"
    },
    {
      "property": "image-resolution",
      "syntax": "[ from-image || <resolution> ] && snap?",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "1dppx",
      "appliesto": "allElements",
      "computed": "asSpecifiedWithExceptionOfResolution",
      "order": "uniqueOrder",
      "groups": "CSS Images"
    },
    {
      "property": "ime-mode",
      "syntax": "auto | normal | active | inactive | disabled",
      "media": "interactive",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "textFields",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Basic User Interface"
    },
    {
      "property": "initial-letter",
      "syntax": "normal | [ <number> <integer>? ]",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "firstLetterPseudoElementsAndInlineLevelFirstChildren",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Inline"
    },
    {
      "property": "initial-letter-align",
      "syntax": "[ auto | alphabetic | hanging | ideographic ]",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "firstLetterPseudoElementsAndInlineLevelFirstChildren",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Inline"
    },
    {
      "property": "inline-size",
      "syntax": "<'width'>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "inlineSizeOfContainingBlock",
      "initial": "auto",
      "appliesto": "sameAsWidthAndHeight",
      "computed": "sameAsWidthAndHeight",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "inset",
      "syntax": "<'top'>{1,4}",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "logicalHeightOrWidthOfContainingBlock",
      "initial": "top, bottom, left, right",
      "appliesto": "positionedElements",
      "computed": "top, bottom, left, right",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values, CSS Positioned Layout"
    },
    {
      "property": "inset-block",
      "syntax": "<'top'>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "logicalHeightOfContainingBlock",
      "initial": "inset-block-start, inset-block-end",
      "appliesto": "positionedElements",
      "computed": "inset-block-start, inset-block-end",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values, CSS Positioned Layout"
    },
    {
      "property": "inset-block-end",
      "syntax": "<'top'>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "logicalHeightOfContainingBlock",
      "initial": "auto",
      "appliesto": "positionedElements",
      "computed": "sameAsBoxOffsets",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values, CSS Positioned Layout"
    },
    {
      "property": "inset-block-start",
      "syntax": "<'top'>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "logicalHeightOfContainingBlock",
      "initial": "auto",
      "appliesto": "positionedElements",
      "computed": "sameAsBoxOffsets",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values, CSS Positioned Layout"
    },
    {
      "property": "inset-inline",
      "syntax": "<'top'>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "logicalWidthOfContainingBlock",
      "initial": "inset-inline-start, inset-inline-end",
      "appliesto": "positionedElements",
      "computed": "inset-inline-start, inset-inline-end",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values, CSS Positioned Layout"
    },
    {
      "property": "inset-inline-end",
      "syntax": "<'top'>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "logicalWidthOfContainingBlock",
      "initial": "auto",
      "appliesto": "positionedElements",
      "computed": "sameAsBoxOffsets",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values, CSS Positioned Layout"
    },
    {
      "property": "inset-inline-start",
      "syntax": "<'top'>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "logicalWidthOfContainingBlock",
      "initial": "auto",
      "appliesto": "positionedElements",
      "computed": "sameAsBoxOffsets",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values, CSS Positioned Layout"
    },
    {
      "property": "interpolate-size",
      "syntax": "numeric-only | allow-keywords",
      "media": "none",
      "inherited": true,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "numeric-only",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Values and Units"
    },
    {
      "property": "isolation",
      "syntax": "auto | isolate",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElementsSVGContainerGraphicsAndGraphicsReferencingElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "Compositing and Blending"
    },
    {
      "property": "interactivity",
      "syntax": "auto | inert",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Basic User Interface"
    },
    {
      "property": "interest-delay",
      "syntax": "<'interest-delay-start'>{1,2}",
      "media": "visual",
      "inherited": true,
      "animationType": "interest-delay-start, interest-delay-end",
      "percentages": "no",
      "initial": "interest-delay-start, interest-delay-end",
      "appliesto": "allElements",
      "computed": "interest-delay-start, interest-delay-end",
      "order": "perGrammar",
      "groups": "CSS Basic User Interface"
    },
    {
      "property": "interest-delay-end",
      "syntax": "normal | <time>",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElements",
      "computed": "normalOrComputedTime",
      "order": "perGrammar",
      "groups": "CSS Basic User Interface"
    },
    {
      "property": "interest-delay-start",
      "syntax": "normal | <time>",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElements",
      "computed": "normalOrComputedTime",
      "order": "perGrammar",
      "groups": "CSS Basic User Interface"
    },
    {
      "property": "justify-content",
      "syntax": "normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "flexContainers",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Box Alignment, CSS Flexible Box Layout"
    },
    {
      "property": "justify-items",
      "syntax": "normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ] | anchor-center",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "legacy",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Box Alignment"
    },
    {
      "property": "justify-self",
      "syntax": "auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | anchor-center",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "blockLevelBoxesAndAbsolutelyPositionedBoxesAndGridItems",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Box Alignment"
    },
    {
      "property": "justify-tracks",
      "syntax": "[ normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ] ]#",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "gridContainersWithMasonryLayoutInTheirInlineAxis",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Grid Layout"
    },
    {
      "property": "left",
      "syntax": "auto | <length-percentage> | <anchor()> | <anchor-size()>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "referToWidthOfContainingBlock",
      "initial": "auto",
      "appliesto": "positionedElements",
      "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
      "order": "uniqueOrder",
      "groups": "CSS Anchor Positioning, CSS Positioned Layout"
    },
    {
      "property": "letter-spacing",
      "syntax": "normal | <length>",
      "media": "visual",
      "inherited": true,
      "animationType": "length",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElements",
      "computed": "optimumValueOfAbsoluteLengthOrNormal",
      "order": "uniqueOrder",
      "groups": "CSS Text"
    },
    {
      "property": "lighting-color",
      "syntax": "<color>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValue",
      "percentages": "no",
      "initial": "white",
      "appliesto": "limitedSVGElementsLightSource",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "Filter Effects"
    },
    {
      "property": "line-break",
      "syntax": "auto | loose | normal | strict | anywhere",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Text"
    },
    {
      "property": "line-clamp",
      "syntax": "none | <integer>",
      "media": "visual",
      "inherited": false,
      "animationType": "integer",
      "percentages": "no",
      "initial": "none",
      "appliesto": "blockContainersExceptMultiColumnContainers",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Overflow"
    },
    {
      "property": "line-height",
      "syntax": "normal | <number> | <length> | <percentage>",
      "media": "visual",
      "inherited": true,
      "animationType": "numberOrLength",
      "percentages": "referToElementFontSize",
      "initial": "normal",
      "appliesto": "allElements",
      "computed": "absoluteLengthOrAsSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Inline"
    },
    {
      "property": "line-height-step",
      "syntax": "<length>",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "0",
      "appliesto": "blockContainers",
      "computed": "absoluteLength",
      "order": "perGrammar",
      "groups": "CSS Rhythmic Sizing"
    },
    {
      "property": "list-style",
      "syntax": "<'list-style-type'> || <'list-style-position'> || <'list-style-image'>",
      "media": "visual",
      "inherited": true,
      "animationType": "list-style-image, list-style-position, list-style-type",
      "percentages": "no",
      "initial": "list-style-type, list-style-position, list-style-image",
      "appliesto": "listItems",
      "computed": "list-style-image, list-style-position, list-style-type",
      "order": "orderOfAppearance",
      "groups": "CSS Lists and Counters"
    },
    {
      "property": "list-style-image",
      "syntax": "<image> | none",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "listItems",
      "computed": "theKeywordListStyleImageNoneOrComputedValue",
      "order": "uniqueOrder",
      "groups": "CSS Lists and Counters"
    },
    {
      "property": "list-style-position",
      "syntax": "inside | outside",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "outside",
      "appliesto": "listItems",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Lists and Counters"
    },
    {
      "property": "list-style-type",
      "syntax": "<counter-style> | <string> | none",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "disc",
      "appliesto": "listItems",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Lists and Counters"
    },
    {
      "property": "margin",
      "syntax": "<'margin-top'>{1,4}",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "referToWidthOfContainingBlock",
      "initial": "margin-bottom, margin-left, margin-right, margin-top",
      "appliesto": "allElementsExceptTableDisplayTypes",
      "computed": "margin-bottom, margin-left, margin-right, margin-top",
      "order": "uniqueOrder",
      "groups": "CSS Box Model"
    },
    {
      "property": "margin-block",
      "syntax": "<'margin-top'>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "dependsOnLayoutModel",
      "initial": "margin-block-start, margin-block-end",
      "appliesto": "sameAsMargin",
      "computed": "margin-block-start, margin-block-end",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "margin-block-end",
      "syntax": "<'margin-top'>",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "dependsOnLayoutModel",
      "initial": "0",
      "appliesto": "sameAsMargin",
      "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "margin-block-start",
      "syntax": "<'margin-top'>",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "dependsOnLayoutModel",
      "initial": "0",
      "appliesto": "sameAsMargin",
      "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "margin-bottom",
      "syntax": "<length-percentage> | auto | <anchor-size()>",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "referToWidthOfContainingBlock",
      "initial": "0",
      "appliesto": "allElementsExceptTableDisplayTypes",
      "computed": "percentageAsSpecifiedOrAbsoluteLength",
      "order": "uniqueOrder",
      "groups": "CSS Anchor Positioning, CSS Box Model"
    },
    {
      "property": "margin-inline",
      "syntax": "<'margin-top'>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "dependsOnLayoutModel",
      "initial": "margin-inline-start, margin-inline-end",
      "appliesto": "sameAsMargin",
      "computed": "margin-inline-start, margin-inline-end",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "margin-inline-end",
      "syntax": "<'margin-top'>",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "dependsOnLayoutModel",
      "initial": "0",
      "appliesto": "sameAsMargin",
      "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "margin-inline-start",
      "syntax": "<'margin-top'>",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "dependsOnLayoutModel",
      "initial": "0",
      "appliesto": "sameAsMargin",
      "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "margin-left",
      "syntax": "<length-percentage> | auto | <anchor-size()>",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "referToWidthOfContainingBlock",
      "initial": "0",
      "appliesto": "allElementsExceptTableDisplayTypes",
      "computed": "percentageAsSpecifiedOrAbsoluteLength",
      "order": "uniqueOrder",
      "groups": "CSS Anchor Positioning, CSS Box Model"
    },
    {
      "property": "margin-right",
      "syntax": "<length-percentage> | auto | <anchor-size()>",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "referToWidthOfContainingBlock",
      "initial": "0",
      "appliesto": "allElementsExceptTableDisplayTypes",
      "computed": "percentageAsSpecifiedOrAbsoluteLength",
      "order": "uniqueOrder",
      "groups": "CSS Anchor Positioning, CSS Box Model"
    },
    {
      "property": "margin-top",
      "syntax": "<length-percentage> | auto | <anchor-size()>",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "referToWidthOfContainingBlock",
      "initial": "0",
      "appliesto": "allElementsExceptTableDisplayTypes",
      "computed": "percentageAsSpecifiedOrAbsoluteLength",
      "order": "uniqueOrder",
      "groups": "CSS Anchor Positioning, CSS Box Model"
    },
    {
      "property": "margin-trim",
      "syntax": "none | in-flow | all",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "blockContainersAndMultiColumnContainers",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Box Model"
    },
    {
      "property": "marker",
      "syntax": "none | <url>",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "marker-start, marker-mid, marker-end",
      "appliesto": "limitedSVGElementsShapes",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "marker-end",
      "syntax": "none | <url>",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "limitedSVGElementsShapes",
      "computed": "asSpecifiedURLsAbsolute",
      "order": "perGrammar",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "marker-mid",
      "syntax": "none | <url>",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "limitedSVGElementsShapes",
      "computed": "asSpecifiedURLsAbsolute",
      "order": "perGrammar",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "marker-start",
      "syntax": "none | <url>",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "limitedSVGElementsShapes",
      "computed": "asSpecifiedURLsAbsolute",
      "order": "perGrammar",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "mask",
      "syntax": "<mask-layer>#",
      "media": "visual",
      "inherited": false,
      "animationType": "mask-image, mask-mode, mask-repeat, mask-position, mask-clip, mask-origin, mask-size, mask-composite",
      "percentages": "mask-position",
      "initial": "mask-image, mask-mode, mask-repeat, mask-position, mask-clip, mask-origin, mask-size, mask-composite",
      "appliesto": "allElementsSVGContainerElements",
      "computed": "mask-image, mask-mode, mask-repeat, mask-position, mask-clip, mask-origin, mask-size, mask-composite",
      "order": "perGrammar",
      "groups": "CSS Masking"
    },
    {
      "property": "mask-border",
      "syntax": "<'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>",
      "media": "visual",
      "inherited": false,
      "animationType": "mask-border-mode, mask-border-outset, mask-border-repeat, mask-border-slice, mask-border-source, mask-border-width",
      "percentages": "mask-border-slice, mask-border-width",
      "initial": "mask-border-mode, mask-border-outset, mask-border-repeat, mask-border-slice, mask-border-source, mask-border-width",
      "appliesto": "allElementsSVGContainerElements",
      "computed": "mask-border-mode, mask-border-outset, mask-border-repeat, mask-border-slice, mask-border-source, mask-border-width",
      "order": "perGrammar",
      "groups": "CSS Masking"
    },
    {
      "property": "mask-border-mode",
      "syntax": "luminance | alpha",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "alpha",
      "appliesto": "allElementsSVGContainerElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Masking"
    },
    {
      "property": "mask-border-outset",
      "syntax": "[ <length> | <number> ]{1,4}",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "0",
      "appliesto": "allElementsSVGContainerElements",
      "computed": "asSpecifiedRelativeToAbsoluteLengths",
      "order": "perGrammar",
      "groups": "CSS Masking"
    },
    {
      "property": "mask-border-repeat",
      "syntax": "[ stretch | repeat | round | space ]{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "stretch",
      "appliesto": "allElementsSVGContainerElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Masking"
    },
    {
      "property": "mask-border-slice",
      "syntax": "<number-percentage>{1,4} fill?",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "referToSizeOfMaskBorderImage",
      "initial": "0",
      "appliesto": "allElementsSVGContainerElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Masking"
    },
    {
      "property": "mask-border-source",
      "syntax": "none | <image>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElementsSVGContainerElements",
      "computed": "asSpecifiedURLsAbsolute",
      "order": "perGrammar",
      "groups": "CSS Masking"
    },
    {
      "property": "mask-border-width",
      "syntax": "[ <length-percentage> | <number> | auto ]{1,4}",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "relativeToMaskBorderImageArea",
      "initial": "auto",
      "appliesto": "allElementsSVGContainerElements",
      "computed": "asSpecifiedRelativeToAbsoluteLengths",
      "order": "perGrammar",
      "groups": "CSS Masking"
    },
    {
      "property": "mask-clip",
      "syntax": "[ <coord-box> | no-clip ]#",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "border-box",
      "appliesto": "allElementsSVGContainerElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Masking"
    },
    {
      "property": "mask-composite",
      "syntax": "<compositing-operator>#",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "add",
      "appliesto": "allElementsSVGContainerElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Masking"
    },
    {
      "property": "mask-image",
      "syntax": "<mask-reference>#",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElementsSVGContainerElements",
      "computed": "asSpecifiedURLsAbsolute",
      "order": "perGrammar",
      "groups": "CSS Masking"
    },
    {
      "property": "mask-mode",
      "syntax": "<masking-mode>#",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "match-source",
      "appliesto": "allElementsSVGContainerElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Masking"
    },
    {
      "property": "mask-origin",
      "syntax": "<coord-box>#",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "border-box",
      "appliesto": "allElementsSVGContainerElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Masking"
    },
    {
      "property": "mask-position",
      "syntax": "<position>#",
      "media": "visual",
      "inherited": false,
      "animationType": "repeatableList",
      "percentages": "referToSizeOfMaskPaintingArea",
      "initial": "0% 0%",
      "appliesto": "allElementsSVGContainerElements",
      "computed": "consistsOfTwoKeywordsForOriginAndOffsets",
      "order": "perGrammar",
      "groups": "CSS Masking"
    },
    {
      "property": "mask-repeat",
      "syntax": "<repeat-style>#",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "repeat",
      "appliesto": "allElementsSVGContainerElements",
      "computed": "consistsOfTwoDimensionKeywords",
      "order": "perGrammar",
      "groups": "CSS Masking"
    },
    {
      "property": "mask-size",
      "syntax": "<bg-size>#",
      "media": "visual",
      "inherited": false,
      "animationType": "repeatableList",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElementsSVGContainerElements",
      "computed": "asSpecifiedRelativeToAbsoluteLengths",
      "order": "perGrammar",
      "groups": "CSS Masking"
    },
    {
      "property": "mask-type",
      "syntax": "luminance | alpha",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "luminance",
      "appliesto": "maskElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Masking"
    },
    {
      "property": "masonry-auto-flow",
      "syntax": "[ pack | next ] || [ definite-first | ordered ]",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "pack",
      "appliesto": "gridContainersWithMasonryLayout",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Grid Layout"
    },
    {
      "property": "math-depth",
      "syntax": "auto-add | add(<integer>) | <integer>",
      "media": "visual",
      "inherited": true,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "0",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "MathML"
    },
    {
      "property": "math-shift",
      "syntax": "normal | compact",
      "media": "visual",
      "inherited": true,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "MathML"
    },
    {
      "property": "math-style",
      "syntax": "normal | compact",
      "media": "visual",
      "inherited": true,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "MathML"
    },
    {
      "property": "max-block-size",
      "syntax": "<'max-width'>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "blockSizeOfContainingBlock",
      "initial": "none",
      "appliesto": "sameAsWidthAndHeight",
      "computed": "sameAsMaxWidthAndMaxHeight",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "max-height",
      "syntax": "none | <length-percentage [0,∞]> | min-content | max-content | fit-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "regardingHeightOfGeneratedBoxContainingBlockPercentagesNone",
      "initial": "none",
      "appliesto": "allElementsButNonReplacedAndTableColumns",
      "computed": "percentageAsSpecifiedAbsoluteLengthOrNone",
      "order": "uniqueOrder",
      "groups": "CSS Box Sizing"
    },
    {
      "property": "max-inline-size",
      "syntax": "<'max-width'>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "inlineSizeOfContainingBlock",
      "initial": "none",
      "appliesto": "sameAsWidthAndHeight",
      "computed": "sameAsMaxWidthAndMaxHeight",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "max-lines",
      "syntax": "none | <integer>",
      "media": "visual",
      "inherited": false,
      "animationType": "integer",
      "percentages": "no",
      "initial": "none",
      "appliesto": "blockContainersExceptMultiColumnContainers",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Overflow"
    },
    {
      "property": "max-width",
      "syntax": "none | <length-percentage [0,∞]> | min-content | max-content | fit-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "referToWidthOfContainingBlock",
      "initial": "none",
      "appliesto": "allElementsButNonReplacedAndTableRows",
      "computed": "percentageAsSpecifiedAbsoluteLengthOrNone",
      "order": "uniqueOrder",
      "groups": "CSS Box Sizing"
    },
    {
      "property": "min-block-size",
      "syntax": "<'min-width'>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "blockSizeOfContainingBlock",
      "initial": "0",
      "appliesto": "sameAsWidthAndHeight",
      "computed": "sameAsMinWidthAndMinHeight",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "min-height",
      "syntax": "auto | <length-percentage [0,∞]> | min-content | max-content | fit-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "regardingHeightOfGeneratedBoxContainingBlockPercentages0",
      "initial": "auto",
      "appliesto": "allElementsButNonReplacedAndTableColumns",
      "computed": "percentageAsSpecifiedOrAbsoluteLength",
      "order": "uniqueOrder",
      "groups": "CSS Box Sizing"
    },
    {
      "property": "min-inline-size",
      "syntax": "<'min-width'>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "inlineSizeOfContainingBlock",
      "initial": "0",
      "appliesto": "sameAsWidthAndHeight",
      "computed": "sameAsMinWidthAndMinHeight",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "min-width",
      "syntax": "auto | <length-percentage [0,∞]> | min-content | max-content | fit-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "referToWidthOfContainingBlock",
      "initial": "auto",
      "appliesto": "allElementsButNonReplacedAndTableRows",
      "computed": "percentageAsSpecifiedOrAbsoluteLength",
      "order": "uniqueOrder",
      "groups": "CSS Box Sizing"
    },
    {
      "property": "mix-blend-mode",
      "syntax": "<blend-mode> | plus-darker | plus-lighter",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "Compositing and Blending"
    },
    {
      "property": "object-fit",
      "syntax": "fill | contain | cover | none | scale-down",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "fill",
      "appliesto": "replacedElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Images"
    },
    {
      "property": "object-position",
      "syntax": "<position>",
      "media": "visual",
      "inherited": true,
      "animationType": "repeatableList",
      "percentages": "referToWidthAndHeightOfElement",
      "initial": "50% 50%",
      "appliesto": "replacedElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Images"
    },
    {
      "property": "object-view-box",
      "syntax": "none | <basic-shape-rect>",
      "media": "visual",
      "inherited": false,
      "animationType": "asIfPossibleOtherwiseDiscrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "replacedElements",
      "computed": "specifiedKeywordOrComputedFunction",
      "order": "perGrammar",
      "groups": "CSS Images"
    },
    {
      "property": "offset",
      "syntax": "[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?",
      "media": "visual",
      "inherited": false,
      "animationType": "offset-position, offset-path, offset-distance, offset-anchor, offset-rotate",
      "percentages": "offset-position, offset-distance, offset-anchor",
      "initial": "offset-position, offset-path, offset-distance, offset-anchor, offset-rotate",
      "appliesto": "transformableElements",
      "computed": "offset-position, offset-path, offset-distance, offset-anchor, offset-rotate",
      "order": "perGrammar",
      "groups": "Motion Path"
    },
    {
      "property": "offset-anchor",
      "syntax": "auto | <position>",
      "media": "visual",
      "inherited": false,
      "animationType": "position",
      "percentages": "relativeToWidthAndHeight",
      "initial": "auto",
      "appliesto": "transformableElements",
      "computed": "forLengthAbsoluteValueOtherwisePercentage",
      "order": "perGrammar",
      "groups": "Motion Path"
    },
    {
      "property": "offset-distance",
      "syntax": "<length-percentage>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "referToTotalPathLength",
      "initial": "0",
      "appliesto": "transformableElements",
      "computed": "forLengthAbsoluteValueOtherwisePercentage",
      "order": "perGrammar",
      "groups": "Motion Path"
    },
    {
      "property": "offset-path",
      "syntax": "none | <offset-path> || <coord-box>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "none",
      "appliesto": "transformableElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "Motion Path"
    },
    {
      "property": "offset-position",
      "syntax": "normal | auto | <position>",
      "media": "visual",
      "inherited": false,
      "animationType": "position",
      "percentages": "referToSizeOfContainingBlock",
      "initial": "normal",
      "appliesto": "transformableElements",
      "computed": "forLengthAbsoluteValueOtherwisePercentage",
      "order": "perGrammar",
      "groups": "Motion Path"
    },
    {
      "property": "offset-rotate",
      "syntax": "[ auto | reverse ] || <angle>",
      "media": "visual",
      "inherited": false,
      "animationType": "angleOrBasicShapeOrPath",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "transformableElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "Motion Path"
    },
    {
      "property": "opacity",
      "syntax": "<opacity-value>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "mapToRange0To1",
      "initial": "1",
      "appliesto": "allElements",
      "computed": "specifiedValueNumberClipped0To1",
      "order": "perGrammar",
      "groups": "CSS Color"
    },
    {
      "property": "order",
      "syntax": "<integer>",
      "media": "visual",
      "inherited": false,
      "animationType": "integer",
      "percentages": "no",
      "initial": "0",
      "appliesto": "flexItemsGridItemsAbsolutelyPositionedContainerChildren",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Display"
    },
    {
      "property": "orphans",
      "syntax": "<integer>",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "2",
      "appliesto": "blockContainerElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Fragmentation"
    },
    {
      "property": "outline",
      "syntax": "<'outline-width'> || <'outline-style'> || <'outline-color'>",
      "media": "visual, interactive",
      "inherited": false,
      "animationType": "outline-width, outline-style, outline-color",
      "percentages": "no",
      "initial": "outline-width, outline-style, outline-color",
      "appliesto": "allElements",
      "computed": "outline-width, outline-style, outline-color",
      "order": "orderOfAppearance",
      "groups": "CSS Basic User Interface"
    },
    {
      "property": "outline-color",
      "syntax": "auto | <color>",
      "media": "visual, interactive",
      "inherited": false,
      "animationType": "color",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElements",
      "computed": "autoForTranslucentColorRGBAOtherwiseRGB",
      "order": "uniqueOrder",
      "groups": "CSS Basic User Interface"
    },
    {
      "property": "outline-offset",
      "syntax": "<length>",
      "media": "visual, interactive",
      "inherited": false,
      "animationType": "length",
      "percentages": "no",
      "initial": "0",
      "appliesto": "allElements",
      "computed": "asSpecifiedRelativeToAbsoluteLengths",
      "order": "uniqueOrder",
      "groups": "CSS Basic User Interface"
    },
    {
      "property": "outline-style",
      "syntax": "auto | <outline-line-style>",
      "media": "visual, interactive",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Basic User Interface"
    },
    {
      "property": "outline-width",
      "syntax": "<line-width>",
      "media": "visual, interactive",
      "inherited": false,
      "animationType": "length",
      "percentages": "no",
      "initial": "medium",
      "appliesto": "allElements",
      "computed": "absoluteLength0ForNone",
      "order": "uniqueOrder",
      "groups": "CSS Basic User Interface"
    },
    {
      "property": "overflow",
      "syntax": "[ visible | hidden | clip | scroll | auto ]{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "visible",
      "appliesto": "blockContainersFlexContainersGridContainers",
      "computed": "overflow-x, overflow-y",
      "order": "uniqueOrder",
      "groups": "CSS Overflow"
    },
    {
      "property": "overflow-anchor",
      "syntax": "auto | none",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Scroll Anchoring"
    },
    {
      "property": "overflow-block",
      "syntax": "visible | hidden | clip | scroll | auto",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "blockContainersFlexContainersGridContainers",
      "computed": "asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent",
      "order": "perGrammar",
      "groups": "CSS Overflow"
    },
    {
      "property": "overflow-clip-box",
      "syntax": "padding-box | content-box",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "padding-box",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "Mozilla Extensions"
    },
    {
      "property": "overflow-clip-margin",
      "syntax": "<visual-box> || <length [0,∞]>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "0px",
      "appliesto": "allElements",
      "computed": "theComputedLengthAndVisualBox",
      "order": "perGrammar",
      "groups": "CSS Overflow"
    },
    {
      "property": "overflow-inline",
      "syntax": "visible | hidden | clip | scroll | auto",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "blockContainersFlexContainersGridContainers",
      "computed": "asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent",
      "order": "perGrammar",
      "groups": "CSS Overflow"
    },
    {
      "property": "overflow-wrap",
      "syntax": "normal | break-word | anywhere",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "textElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Text"
    },
    {
      "property": "overflow-x",
      "syntax": "visible | hidden | clip | scroll | auto",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "visible",
      "appliesto": "blockContainersFlexContainersGridContainers",
      "computed": "asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent",
      "order": "uniqueOrder",
      "groups": "CSS Overflow"
    },
    {
      "property": "overflow-y",
      "syntax": "visible | hidden | clip | scroll | auto",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "visible",
      "appliesto": "blockContainersFlexContainersGridContainers",
      "computed": "asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent",
      "order": "uniqueOrder",
      "groups": "CSS Overflow"
    },
    {
      "property": "overlay",
      "syntax": "none | auto",
      "media": "visual",
      "inherited": false,
      "animationType": "discreteButVisibleForDurationWhenAnimatedNone",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Positioned Layout"
    },
    {
      "property": "overscroll-behavior",
      "syntax": "[ contain | none | auto ]{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "nonReplacedBlockAndInlineBlockElements",
      "computed": "overscroll-behavior-x, overscroll-behavior-y",
      "order": "uniqueOrder",
      "groups": "CSS Overscroll Behavior"
    },
    {
      "property": "overscroll-behavior-block",
      "syntax": "contain | none | auto",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "nonReplacedBlockAndInlineBlockElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Overscroll Behavior"
    },
    {
      "property": "overscroll-behavior-inline",
      "syntax": "contain | none | auto",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "nonReplacedBlockAndInlineBlockElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Overscroll Behavior"
    },
    {
      "property": "overscroll-behavior-x",
      "syntax": "contain | none | auto",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "nonReplacedBlockAndInlineBlockElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Overscroll Behavior"
    },
    {
      "property": "overscroll-behavior-y",
      "syntax": "contain | none | auto",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "nonReplacedBlockAndInlineBlockElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Overscroll Behavior"
    },
    {
      "property": "padding",
      "syntax": "<'padding-top'>{1,4}",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "referToWidthOfContainingBlock",
      "initial": "padding-bottom, padding-left, padding-right, padding-top",
      "appliesto": "allElementsExceptInternalTableDisplayTypes",
      "computed": "padding-bottom, padding-left, padding-right, padding-top",
      "order": "uniqueOrder",
      "groups": "CSS Box Model"
    },
    {
      "property": "padding-block",
      "syntax": "<'padding-top'>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "logicalWidthOfContainingBlock",
      "initial": "padding-block-start, padding-block-end",
      "appliesto": "allElementsExceptInternalTableDisplayTypes",
      "computed": "padding-block-start, padding-block-end",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "padding-block-end",
      "syntax": "<'padding-top'>",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "logicalWidthOfContainingBlock",
      "initial": "0",
      "appliesto": "allElementsExceptInternalTableDisplayTypes",
      "computed": "asLength",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "padding-block-start",
      "syntax": "<'padding-top'>",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "logicalWidthOfContainingBlock",
      "initial": "0",
      "appliesto": "allElementsExceptInternalTableDisplayTypes",
      "computed": "asLength",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "padding-bottom",
      "syntax": "<length-percentage [0,∞]>",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "referToWidthOfContainingBlock",
      "initial": "0",
      "appliesto": "allElementsExceptInternalTableDisplayTypes",
      "computed": "percentageAsSpecifiedOrAbsoluteLength",
      "order": "uniqueOrder",
      "groups": "CSS Box Model"
    },
    {
      "property": "padding-inline",
      "syntax": "<'padding-top'>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "logicalWidthOfContainingBlock",
      "initial": "padding-inline-start, padding-inline-end",
      "appliesto": "allElementsExceptInternalTableDisplayTypes",
      "computed": "padding-inline-start, padding-inline-end",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "padding-inline-end",
      "syntax": "<'padding-top'>",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "logicalWidthOfContainingBlock",
      "initial": "0",
      "appliesto": "allElementsExceptInternalTableDisplayTypes",
      "computed": "asLength",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "padding-inline-start",
      "syntax": "<'padding-top'>",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "logicalWidthOfContainingBlock",
      "initial": "0",
      "appliesto": "allElementsExceptInternalTableDisplayTypes",
      "computed": "asLength",
      "order": "uniqueOrder",
      "groups": "CSS Logical Properties and Values"
    },
    {
      "property": "padding-left",
      "syntax": "<length-percentage [0,∞]>",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "referToWidthOfContainingBlock",
      "initial": "0",
      "appliesto": "allElementsExceptInternalTableDisplayTypes",
      "computed": "percentageAsSpecifiedOrAbsoluteLength",
      "order": "uniqueOrder",
      "groups": "CSS Box Model"
    },
    {
      "property": "padding-right",
      "syntax": "<length-percentage [0,∞]>",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "referToWidthOfContainingBlock",
      "initial": "0",
      "appliesto": "allElementsExceptInternalTableDisplayTypes",
      "computed": "percentageAsSpecifiedOrAbsoluteLength",
      "order": "uniqueOrder",
      "groups": "CSS Box Model"
    },
    {
      "property": "padding-top",
      "syntax": "<length-percentage [0,∞]>",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "referToWidthOfContainingBlock",
      "initial": "0",
      "appliesto": "allElementsExceptInternalTableDisplayTypes",
      "computed": "percentageAsSpecifiedOrAbsoluteLength",
      "order": "uniqueOrder",
      "groups": "CSS Box Model"
    },
    {
      "property": "page",
      "syntax": "auto | <custom-ident>",
      "media": "paged",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "blockElementsInNormalFlow",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Paged Media"
    },
    {
      "property": "page-break-after",
      "syntax": "auto | always | avoid | left | right | recto | verso",
      "media": "visual, paged",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "blockElementsInNormalFlow",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Paged Media"
    },
    {
      "property": "page-break-before",
      "syntax": "auto | always | avoid | left | right | recto | verso",
      "media": "visual, paged",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "blockElementsInNormalFlow",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Paged Media"
    },
    {
      "property": "page-break-inside",
      "syntax": "auto | avoid",
      "media": "visual, paged",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "blockElementsInNormalFlow",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Paged Media"
    },
    {
      "property": "paint-order",
      "syntax": "normal | [ fill || stroke || markers ]",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "textElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "perspective",
      "syntax": "none | <length>",
      "media": "visual",
      "inherited": false,
      "animationType": "length",
      "percentages": "no",
      "initial": "none",
      "appliesto": "transformableElements",
      "computed": "absoluteLengthOrNone",
      "order": "uniqueOrder",
      "groups": "CSS Transforms"
    },
    {
      "property": "perspective-origin",
      "syntax": "<position>",
      "media": "visual",
      "inherited": false,
      "animationType": "simpleListOfLpc",
      "percentages": "referToSizeOfBoundingBox",
      "initial": "50% 50%",
      "appliesto": "transformableElements",
      "computed": "forLengthAbsoluteValueOtherwisePercentage",
      "order": "oneOrTwoValuesLengthAbsoluteKeywordsPercentages",
      "groups": "CSS Transforms"
    },
    {
      "property": "place-content",
      "syntax": "<'align-content'> <'justify-content'>?",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "align-content, justify-content",
      "appliesto": "multilineFlexContainers",
      "computed": "align-content, justify-content",
      "order": "uniqueOrder",
      "groups": "CSS Box Alignment"
    },
    {
      "property": "place-items",
      "syntax": "<'align-items'> <'justify-items'>?",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "align-items, justify-items",
      "appliesto": "allElements",
      "computed": "align-items, justify-items",
      "order": "uniqueOrder",
      "groups": "CSS Box Alignment"
    },
    {
      "property": "place-self",
      "syntax": "<'align-self'> <'justify-self'>?",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "align-self, justify-self",
      "appliesto": "blockLevelBoxesAndAbsolutelyPositionedBoxesAndGridItems",
      "computed": "align-self, justify-self",
      "order": "uniqueOrder",
      "groups": "CSS Box Alignment"
    },
    {
      "property": "pointer-events",
      "syntax": "auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Basic User Interface"
    },
    {
      "property": "position",
      "syntax": "static | relative | absolute | sticky | fixed",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "static",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Positioned Layout"
    },
    {
      "property": "position-anchor",
      "syntax": "auto | none | <anchor-name>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "absolutelyPositionedElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Anchor Positioning"
    },
    {
      "property": "position-area",
      "syntax": "none | <position-area>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "positionedElementsWithADefaultAnchorElement",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Anchor Positioning"
    },
    {
      "property": "position-try",
      "syntax": "<'position-try-order'>? <'position-try-fallbacks'>",
      "media": "visual",
      "inherited": false,
      "animationType": "position-try-fallbacks, position-try-order",
      "percentages": "position-try-fallbacks, position-try-order",
      "initial": "position-try-fallbacks, position-try-order",
      "appliesto": "absolutelyPositionedElements",
      "computed": "position-try-fallbacks, position-try-order",
      "order": "perGrammar",
      "groups": "CSS Anchor Positioning"
    },
    {
      "property": "position-try-fallbacks",
      "syntax": "none | [ [<dashed-ident> || <try-tactic>] | <'position-area'> ]#",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "absolutelyPositionedElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Anchor Positioning"
    },
    {
      "property": "position-try-order",
      "syntax": "normal | <try-size>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "absolutelyPositionedElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Anchor Positioning"
    },
    {
      "property": "position-visibility",
      "syntax": "always | [ anchors-valid || anchors-visible || no-overflow ]",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "anchors-visible",
      "appliesto": "absolutelyPositionedElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Anchor Positioning"
    },
    {
      "property": "print-color-adjust",
      "syntax": "economy | exact",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "economy",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Color"
    },
    {
      "property": "quotes",
      "syntax": "none | auto | [ <string> <string> ]+",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "dependsOnUserAgent",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Generated Content"
    },
    {
      "property": "r",
      "syntax": "<length> | <percentage>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "referToSVGViewportSize",
      "initial": "0",
      "appliesto": "limitedSVGElementsCircle",
      "computed": "percentageAsSpecifiedOrAbsoluteLength",
      "order": "perGrammar",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "reading-flow",
      "syntax": "normal | source-order | flex-visual | flex-flow | grid-rows | grid-columns | grid-order",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "blockContainersFlexContainersGridContainers",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Display"
    },
    {
      "property": "reading-order",
      "syntax": "<integer>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "0",
      "appliesto": "blockContainersFlexContainersGridContainers",
      "computed": "specifiedInteger",
      "order": "perGrammar",
      "groups": "CSS Display"
    },
    {
      "property": "resize",
      "syntax": "none | both | horizontal | vertical | block | inline",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "elementsWithOverflowNotVisibleAndReplacedElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Basic User Interface"
    },
    {
      "property": "right",
      "syntax": "auto | <length-percentage> | <anchor()> | <anchor-size()>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "referToWidthOfContainingBlock",
      "initial": "auto",
      "appliesto": "positionedElements",
      "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
      "order": "uniqueOrder",
      "groups": "CSS Anchor Positioning, CSS Positioned Layout"
    },
    {
      "property": "rotate",
      "syntax": "none | <angle> | [ x | y | z | <number>{3} ] && <angle>",
      "media": "visual",
      "inherited": false,
      "animationType": "transform",
      "percentages": "no",
      "initial": "none",
      "appliesto": "transformableElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Transforms"
    },
    {
      "property": "row-gap",
      "syntax": "normal | <length-percentage>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "referToDimensionOfContentArea",
      "initial": "normal",
      "appliesto": "multiColumnElementsFlexContainersGridContainers",
      "computed": "asSpecifiedWithLengthsAbsoluteAndNormalComputingToZeroExceptMultiColumn",
      "order": "perGrammar",
      "groups": "CSS Box Alignment"
    },
    {
      "property": "ruby-align",
      "syntax": "start | center | space-between | space-around",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "space-around",
      "appliesto": "rubyBasesAnnotationsBaseAnnotationContainers",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Ruby"
    },
    {
      "property": "ruby-merge",
      "syntax": "separate | collapse | auto",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "separate",
      "appliesto": "rubyAnnotationContainers",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Ruby"
    },
    {
      "property": "ruby-overhang",
      "syntax": "auto | none",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "rubyAnnotationContainers",
      "computed": "theSpecifiedKeyword",
      "order": "perGrammar",
      "groups": "CSS Ruby"
    },
    {
      "property": "ruby-position",
      "syntax": "[ alternate || [ over | under ] ] | inter-character",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "alternate",
      "appliesto": "rubyAnnotationContainers",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Ruby"
    },
    {
      "property": "rx",
      "syntax": "<length-percentage> | auto",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "referToSVGViewportWidth",
      "initial": "auto",
      "appliesto": "limitedSVGElementsEllipseRect",
      "computed": "percentageAsSpecifiedOrAbsoluteLength",
      "order": "perGrammar",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "ry",
      "syntax": "<length-percentage> | auto",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "referToSVGViewportHeight",
      "initial": "auto",
      "appliesto": "limitedSVGElementsEllipseRect",
      "computed": "percentageAsSpecifiedOrAbsoluteLength",
      "order": "perGrammar",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "scale",
      "syntax": "none | [ <number> | <percentage> ]{1,3}",
      "media": "visual",
      "inherited": false,
      "animationType": "transform",
      "percentages": "no",
      "initial": "none",
      "appliesto": "transformableElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Transforms"
    },
    {
      "property": "scroll-behavior",
      "syntax": "auto | smooth",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "scrollingBoxes",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Overflow"
    },
    {
      "property": "scroll-initial-target",
      "syntax": "none | nearest",
      "media": "noPracticalMedia",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "theSpecifiedKeyword",
      "order": "perGrammar",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-margin",
      "syntax": "<length>{1,4}",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "scroll-margin-bottom, scroll-margin-left, scroll-margin-right, scroll-margin-top",
      "appliesto": "allElements",
      "computed": "scroll-margin-bottom, scroll-margin-left, scroll-margin-right, scroll-margin-top",
      "order": "perGrammar",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-margin-block",
      "syntax": "<length>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "scroll-margin-block-start, scroll-margin-block-end",
      "appliesto": "allElements",
      "computed": "scroll-margin-block-start, scroll-margin-block-end",
      "order": "perGrammar",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-margin-block-end",
      "syntax": "<length>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "0",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-margin-block-start",
      "syntax": "<length>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "0",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-margin-bottom",
      "syntax": "<length>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "0",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-margin-inline",
      "syntax": "<length>{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "scroll-margin-inline-start, scroll-margin-inline-end",
      "appliesto": "allElements",
      "computed": "scroll-margin-inline-start, scroll-margin-inline-end",
      "order": "perGrammar",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-margin-inline-end",
      "syntax": "<length>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "0",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-margin-inline-start",
      "syntax": "<length>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "0",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-margin-left",
      "syntax": "<length>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "0",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-margin-right",
      "syntax": "<length>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "0",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-margin-top",
      "syntax": "<length>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "0",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-marker-group",
      "syntax": "none | before | after",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "scrollContainers",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Overflow"
    },
    {
      "property": "scroll-padding",
      "syntax": "[ auto | <length-percentage> ]{1,4}",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "relativeToTheScrollContainersScrollport",
      "initial": "scroll-padding-bottom, scroll-padding-left, scroll-padding-right, scroll-padding-top",
      "appliesto": "scrollContainers",
      "computed": "scroll-padding-bottom, scroll-padding-left, scroll-padding-right, scroll-padding-top",
      "order": "perGrammar",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-padding-block",
      "syntax": "[ auto | <length-percentage> ]{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "relativeToTheScrollContainersScrollport",
      "initial": "scroll-padding-block-start, scroll-padding-block-end",
      "appliesto": "scrollContainers",
      "computed": "scroll-padding-block-start, scroll-padding-block-end",
      "order": "perGrammar",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-padding-block-end",
      "syntax": "auto | <length-percentage>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "relativeToTheScrollContainersScrollport",
      "initial": "auto",
      "appliesto": "scrollContainers",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-padding-block-start",
      "syntax": "auto | <length-percentage>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "relativeToTheScrollContainersScrollport",
      "initial": "auto",
      "appliesto": "scrollContainers",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-padding-bottom",
      "syntax": "auto | <length-percentage>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "relativeToTheScrollContainersScrollport",
      "initial": "auto",
      "appliesto": "scrollContainers",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-padding-inline",
      "syntax": "[ auto | <length-percentage> ]{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "relativeToTheScrollContainersScrollport",
      "initial": "scroll-padding-inline-start, scroll-padding-inline-end",
      "appliesto": "scrollContainers",
      "computed": "scroll-padding-inline-start, scroll-padding-inline-end",
      "order": "perGrammar",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-padding-inline-end",
      "syntax": "auto | <length-percentage>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "relativeToTheScrollContainersScrollport",
      "initial": "auto",
      "appliesto": "scrollContainers",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-padding-inline-start",
      "syntax": "auto | <length-percentage>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "relativeToTheScrollContainersScrollport",
      "initial": "auto",
      "appliesto": "scrollContainers",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-padding-left",
      "syntax": "auto | <length-percentage>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "relativeToTheScrollContainersScrollport",
      "initial": "auto",
      "appliesto": "scrollContainers",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-padding-right",
      "syntax": "auto | <length-percentage>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "relativeToTheScrollContainersScrollport",
      "initial": "auto",
      "appliesto": "scrollContainers",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-padding-top",
      "syntax": "auto | <length-percentage>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "relativeToTheScrollContainersScrollport",
      "initial": "auto",
      "appliesto": "scrollContainers",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-snap-align",
      "syntax": "[ none | start | end | center ]{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-snap-coordinate",
      "syntax": "none | <position>#",
      "media": "interactive",
      "inherited": false,
      "animationType": "position",
      "percentages": "referToBorderBox",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecifiedRelativeToAbsoluteLengths",
      "order": "uniqueOrder",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-snap-destination",
      "syntax": "<position>",
      "media": "interactive",
      "inherited": false,
      "animationType": "position",
      "percentages": "relativeToScrollContainerPaddingBoxAxis",
      "initial": "0px 0px",
      "appliesto": "scrollContainers",
      "computed": "asSpecifiedRelativeToAbsoluteLengths",
      "order": "uniqueOrder",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-snap-points-x",
      "syntax": "none | repeat( <length-percentage> )",
      "media": "interactive",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "relativeToScrollContainerPaddingBoxAxis",
      "initial": "none",
      "appliesto": "scrollContainers",
      "computed": "asSpecifiedRelativeToAbsoluteLengths",
      "order": "uniqueOrder",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-snap-points-y",
      "syntax": "none | repeat( <length-percentage> )",
      "media": "interactive",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "relativeToScrollContainerPaddingBoxAxis",
      "initial": "none",
      "appliesto": "scrollContainers",
      "computed": "asSpecifiedRelativeToAbsoluteLengths",
      "order": "uniqueOrder",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-snap-stop",
      "syntax": "normal | always",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-snap-type",
      "syntax": "none | [ x | y | block | inline | both ] [ mandatory | proximity ]?",
      "media": "interactive",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-snap-type-x",
      "syntax": "none | mandatory | proximity",
      "media": "interactive",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "scrollContainers",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-snap-type-y",
      "syntax": "none | mandatory | proximity",
      "media": "interactive",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "scrollContainers",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Scroll Snap"
    },
    {
      "property": "scroll-target-group",
      "syntax": "none | auto",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Overflow"
    },
    {
      "property": "scroll-timeline",
      "syntax": "[ <'scroll-timeline-name'> <'scroll-timeline-axis'>? ]#",
      "media": "visual",
      "inherited": false,
      "animationType": "scroll-timeline-name, scroll-timeline-axis",
      "percentages": "no",
      "initial": "scroll-timeline-name, scroll-timeline-axis",
      "appliesto": "scrollContainers",
      "computed": "scroll-timeline-name, scroll-timeline-axis",
      "order": "perGrammar",
      "groups": "Scroll-driven Animations"
    },
    {
      "property": "scroll-timeline-axis",
      "syntax": "[ block | inline | x | y ]#",
      "media": "interactive",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "block",
      "appliesto": "scrollContainers",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "Scroll-driven Animations"
    },
    {
      "property": "scroll-timeline-name",
      "syntax": "[ none | <dashed-ident> ]#",
      "media": "interactive",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "none",
      "appliesto": "scrollContainers",
      "computed": "noneOrOrderedListOfIdentifiers",
      "order": "perGrammar",
      "groups": "Scroll-driven Animations"
    },
    {
      "property": "scrollbar-color",
      "syntax": "auto | <color>{2}",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "scrollingBoxes",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Scrollbars Styling"
    },
    {
      "property": "scrollbar-gutter",
      "syntax": "auto | stable && both-edges?",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "scrollingBoxes",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Overflow"
    },
    {
      "property": "scrollbar-width",
      "syntax": "auto | thin | none",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "scrollingBoxes",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Scrollbars Styling"
    },
    {
      "property": "shape-image-threshold",
      "syntax": "<opacity-value>",
      "media": "visual",
      "inherited": false,
      "animationType": "number",
      "percentages": "no",
      "initial": "0.0",
      "appliesto": "floats",
      "computed": "specifiedValueNumberClipped0To1",
      "order": "uniqueOrder",
      "groups": "CSS Shapes"
    },
    {
      "property": "shape-margin",
      "syntax": "<length-percentage>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "referToWidthOfContainingBlock",
      "initial": "0",
      "appliesto": "floats",
      "computed": "asSpecifiedRelativeToAbsoluteLengths",
      "order": "uniqueOrder",
      "groups": "CSS Shapes"
    },
    {
      "property": "shape-outside",
      "syntax": "none | [ <shape-box> || <basic-shape> ] | <image>",
      "media": "visual",
      "inherited": false,
      "animationType": "basicShapeOtherwiseNo",
      "percentages": "no",
      "initial": "none",
      "appliesto": "floats",
      "computed": "asDefinedForBasicShapeWithAbsoluteURIOtherwiseAsSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Shapes"
    },
    {
      "property": "shape-rendering",
      "syntax": "auto | optimizeSpeed | crispEdges | geometricPrecision",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "limitedSVGElementsShapes",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "speak-as",
      "syntax": "normal | spell-out || digits || [ literal-punctuation | no-punctuation ]",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElements",
      "computed": "specifiedValue",
      "order": "perGrammar",
      "groups": "CSS Speech"
    },
    {
      "property": "stop-color",
      "syntax": "<'color'>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "black",
      "appliesto": "limitedSVGElementsStop",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "stop-opacity",
      "syntax": "<'opacity'>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "black",
      "appliesto": "limitedSVGElementsStop",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "stroke",
      "syntax": "<paint>",
      "media": "visual",
      "inherited": true,
      "animationType": "stroke-dasharray, stroke-dashoffset, stroke-linecap, stroke-linejoin, stroke-miterlimit, stroke-opacity, stroke-width",
      "percentages": "no",
      "initial": "stroke-dasharray, stroke-dashoffset, stroke-linecap, stroke-linejoin, stroke-miterlimit, stroke-opacity, stroke-width",
      "appliesto": "asLonghands",
      "computed": "asLonghands",
      "order": "perGrammar",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "stroke-color",
      "syntax": "<color>",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValue",
      "percentages": "no",
      "initial": "transparent",
      "appliesto": "textAndSVGShapes",
      "computed": "computedColor",
      "order": "perGrammar",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "stroke-dasharray",
      "syntax": "none | <dasharray>",
      "media": "visual",
      "inherited": true,
      "animationType": "repeatableList",
      "percentages": "referToSVGViewportDiagonal",
      "initial": "none",
      "appliesto": "limitedSVGElementsShapes",
      "computed": "listEachItemConsistingOfAbsoluteLengthPercentageOrKeyword",
      "order": "uniqueOrder",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "stroke-dashoffset",
      "syntax": "<length-percentage> | <number>",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValueType",
      "percentages": "referToSVGViewportDiagonal",
      "initial": "0",
      "appliesto": "limitedSVGElementsShapes",
      "computed": "absoluteLengthOrPercentageNumbersConverted",
      "order": "uniqueOrder",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "stroke-linecap",
      "syntax": "butt | round | square",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "butt",
      "appliesto": "limitedSVGElementsShapes",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "stroke-linejoin",
      "syntax": "miter | miter-clip | round | bevel | arcs",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "miter",
      "appliesto": "limitedSVGElementsShapes",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "stroke-miterlimit",
      "syntax": "<number>",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "4",
      "appliesto": "limitedSVGElementsShapes",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "stroke-opacity",
      "syntax": "<'opacity'>",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "1",
      "appliesto": "limitedSVGElementsShapes",
      "computed": "specifiedValueClipped0To1",
      "order": "uniqueOrder",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "stroke-width",
      "syntax": "<length-percentage> | <number>",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValueType",
      "percentages": "referToSVGViewportDiagonal",
      "initial": "1px",
      "appliesto": "limitedSVGElementsShapes",
      "computed": "absoluteLengthOrPercentageNumbersConverted",
      "order": "uniqueOrder",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "tab-size",
      "syntax": "<integer> | <length>",
      "media": "visual",
      "inherited": true,
      "animationType": "length",
      "percentages": "no",
      "initial": "8",
      "appliesto": "blockContainers",
      "computed": "specifiedIntegerOrAbsoluteLength",
      "order": "uniqueOrder",
      "groups": "CSS Text"
    },
    {
      "property": "table-layout",
      "syntax": "auto | fixed",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "tableElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Table"
    },
    {
      "property": "text-align",
      "syntax": "start | end | left | right | center | justify | match-parent",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "startOrNamelessValueIfLTRRightIfRTL",
      "appliesto": "blockContainers",
      "computed": "asSpecifiedExceptMatchParent",
      "order": "orderOfAppearance",
      "groups": "CSS Text"
    },
    {
      "property": "text-align-last",
      "syntax": "auto | start | end | left | right | center | justify",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "blockContainers",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Text"
    },
    {
      "property": "text-anchor",
      "syntax": "start | middle | end",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "start",
      "appliesto": "limitedSVGElementsTextContent",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "text-autospace",
      "syntax": "normal | <autospace> | auto",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "textElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Text"
    },
    {
      "property": "text-box",
      "syntax": "normal | <'text-box-trim'> || <'text-box-edge'>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "blockContainersAndInlineBoxes",
      "computed": "theSpecifiedKeyword",
      "order": "perGrammar",
      "groups": "CSS Inline"
    },
    {
      "property": "text-box-edge",
      "syntax": "auto | <text-edge>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "blockContainersAndInlineBoxes",
      "computed": "theSpecifiedKeyword",
      "order": "perGrammar",
      "groups": "CSS Inline"
    },
    {
      "property": "text-box-trim",
      "syntax": "none | trim-start | trim-end | trim-both",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "blockContainersAndInlineBoxes",
      "computed": "theSpecifiedKeyword",
      "order": "perGrammar",
      "groups": "CSS Inline"
    },
    {
      "property": "text-combine-upright",
      "syntax": "none | all | [ digits <integer>? ]",
      "media": "visual",
      "inherited": true,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "none",
      "appliesto": "nonReplacedInlineElements",
      "computed": "keywordPlusIntegerIfDigits",
      "order": "uniqueOrder",
      "groups": "CSS Writing Modes"
    },
    {
      "property": "text-decoration",
      "syntax": "<'text-decoration-line'> || <'text-decoration-style'> || <'text-decoration-color'> || <'text-decoration-thickness'>",
      "media": "visual",
      "inherited": false,
      "animationType": "text-decoration-color, text-decoration-style, text-decoration-line, text-decoration-thickness",
      "percentages": "no",
      "initial": "text-decoration-color, text-decoration-style, text-decoration-line",
      "appliesto": "allElements",
      "computed": "text-decoration-line, text-decoration-style, text-decoration-color, text-decoration-thickness",
      "order": "orderOfAppearance",
      "groups": "CSS Text Decoration"
    },
    {
      "property": "text-decoration-color",
      "syntax": "<color>",
      "media": "visual",
      "inherited": false,
      "animationType": "color",
      "percentages": "no",
      "initial": "currentcolor",
      "appliesto": "allElements",
      "computed": "computedColor",
      "order": "uniqueOrder",
      "groups": "CSS Text Decoration"
    },
    {
      "property": "text-decoration-inset",
      "syntax": "<length>{1,2} | auto",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValue",
      "percentages": "no",
      "initial": "0",
      "appliesto": "allElements",
      "computed": "absoluteLengthOrKeyword",
      "order": "perGrammar",
      "groups": "CSS Text Decoration"
    },
    {
      "property": "text-decoration-line",
      "syntax": "none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "orderOfAppearance",
      "groups": "CSS Text Decoration"
    },
    {
      "property": "text-decoration-skip",
      "syntax": "none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "objects",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "orderOfAppearance",
      "groups": "CSS Text Decoration"
    },
    {
      "property": "text-decoration-skip-ink",
      "syntax": "auto | all | none",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "orderOfAppearance",
      "groups": "CSS Text Decoration"
    },
    {
      "property": "text-decoration-style",
      "syntax": "solid | double | dotted | dashed | wavy",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "solid",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Text Decoration"
    },
    {
      "property": "text-decoration-thickness",
      "syntax": "auto | from-font | <length> | <percentage>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "referToElementFontSize",
      "initial": "auto",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Text Decoration"
    },
    {
      "property": "text-emphasis",
      "syntax": "<'text-emphasis-style'> || <'text-emphasis-color'>",
      "media": "visual",
      "inherited": true,
      "animationType": "text-emphasis-color, text-emphasis-style",
      "percentages": "no",
      "initial": "text-emphasis-style, text-emphasis-color",
      "appliesto": "allElements",
      "computed": "text-emphasis-style, text-emphasis-color",
      "order": "orderOfAppearance",
      "groups": "CSS Text Decoration"
    },
    {
      "property": "text-emphasis-color",
      "syntax": "<color>",
      "media": "visual",
      "inherited": true,
      "animationType": "color",
      "percentages": "no",
      "initial": "currentcolor",
      "appliesto": "allElements",
      "computed": "computedColor",
      "order": "uniqueOrder",
      "groups": "CSS Text Decoration"
    },
    {
      "property": "text-emphasis-position",
      "syntax": "auto | [ over | under ] && [ right | left ]?",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Text Decoration"
    },
    {
      "property": "text-emphasis-style",
      "syntax": "none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Text Decoration"
    },
    {
      "property": "text-indent",
      "syntax": "<length-percentage> && hanging? && each-line?",
      "media": "visual",
      "inherited": true,
      "animationType": "lpc",
      "percentages": "referToWidthOfContainingBlock",
      "initial": "0",
      "appliesto": "blockContainers",
      "computed": "percentageOrAbsoluteLengthPlusKeywords",
      "order": "lengthOrPercentageBeforeKeywords",
      "groups": "CSS Text"
    },
    {
      "property": "text-justify",
      "syntax": "auto | inter-character | inter-word | none",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "inlineLevelAndTableCellElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Text"
    },
    {
      "property": "text-orientation",
      "syntax": "mixed | upright | sideways",
      "media": "visual",
      "inherited": true,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "mixed",
      "appliesto": "allElementsExceptTableRowGroupsRowsColumnGroupsAndColumns",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Writing Modes"
    },
    {
      "property": "text-overflow",
      "syntax": "[ clip | ellipsis | <string> ]{1,2}",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "clip",
      "appliesto": "blockContainerElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Overflow"
    },
    {
      "property": "text-rendering",
      "syntax": "auto | optimizeSpeed | optimizeLegibility | geometricPrecision",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "textElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "text-shadow",
      "syntax": "none | <shadow-t>#",
      "media": "visual",
      "inherited": true,
      "animationType": "shadowList",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "colorPlusThreeAbsoluteLengths",
      "order": "uniqueOrder",
      "groups": "CSS Text Decoration"
    },
    {
      "property": "text-size-adjust",
      "syntax": "none | auto | <percentage>",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValueType",
      "percentages": "referToSizeOfFont",
      "initial": "autoForSmartphoneBrowsersSupportingInflation",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Mobile Text Size Adjustment"
    },
    {
      "property": "text-spacing-trim",
      "syntax": "space-all | normal | space-first | trim-start",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "textElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Text"
    },
    {
      "property": "text-transform",
      "syntax": "none | [ capitalize | uppercase | lowercase ] || full-width || full-size-kana | math-auto",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Text, MathML"
    },
    {
      "property": "text-underline-offset",
      "syntax": "auto | <length> | <percentage>",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValueType",
      "percentages": "referToElementFontSize",
      "initial": "auto",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Text Decoration"
    },
    {
      "property": "text-underline-position",
      "syntax": "auto | from-font | [ under || [ left | right ] ]",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "orderOfAppearance",
      "groups": "CSS Text Decoration"
    },
    {
      "property": "text-wrap",
      "syntax": "<'text-wrap-mode'> || <'text-wrap-style'>",
      "media": "visual",
      "inherited": true,
      "animationType": "text-wrap-mode, text-wrap-style",
      "percentages": "text-wrap-mode, text-wrap-style",
      "initial": "wrap",
      "appliesto": "textAndBlockContainers",
      "computed": "text-wrap-mode, text-wrap-style",
      "order": "perGrammar",
      "groups": "CSS Text"
    },
    {
      "property": "text-wrap-mode",
      "syntax": "wrap | nowrap",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "wrap",
      "appliesto": "textAndBlockContainers",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Text"
    },
    {
      "property": "text-wrap-style",
      "syntax": "auto | balance | stable | pretty",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "textAndBlockContainers",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Text"
    },
    {
      "property": "timeline-scope",
      "syntax": "none | <dashed-ident>#",
      "media": "interactive",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "noneOrOrderedListOfIdentifiers",
      "order": "perGrammar",
      "groups": "Scroll-driven Animations"
    },
    {
      "property": "timeline-trigger",
      "syntax": "none | [ <'timeline-trigger-name'> <'timeline-trigger-source'> <'timeline-trigger-activation-range'> [ '/' <'timeline-trigger-active-range'> ]? ]#",
      "media": "visual",
      "inherited": false,
      "animationType": "timeline-trigger-name, timeline-trigger-source, timeline-trigger-activation-range, timeline-trigger-active-range",
      "percentages": "no",
      "initial": "timeline-trigger-name, timeline-trigger-source, timeline-trigger-activation-range, timeline-trigger-active-range",
      "appliesto": "allElements",
      "computed": "timeline-trigger-name, timeline-trigger-source, timeline-trigger-activation-range, timeline-trigger-active-range",
      "order": "perGrammar",
      "groups": "CSS Animations"
    },
    {
      "property": "timeline-trigger-activation-range",
      "syntax": "[ <'timeline-trigger-activation-range-start'> <'timeline-trigger-activation-range-end'>? ]#",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "timeline-trigger-activation-range-start, timeline-trigger-activation-range-end",
      "initial": "timeline-trigger-activation-range-start, timeline-trigger-activation-range-end",
      "appliesto": "allElements",
      "computed": "timeline-trigger-activation-range-start, timeline-trigger-activation-range-end",
      "order": "perGrammar",
      "groups": "CSS Animations"
    },
    {
      "property": "timeline-trigger-activation-range-end",
      "syntax": "[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "relativeToTimelineRangeIfSpecifiedOtherwiseEntireTimeline",
      "initial": "normal",
      "appliesto": "allElements",
      "computed": "listEachItemConsistingOfNormalLengthPercentageOrNameLengthPercentage",
      "order": "perGrammar",
      "groups": "CSS Animations"
    },
    {
      "property": "timeline-trigger-activation-range-start",
      "syntax": "[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "relativeToTimelineRangeIfSpecifiedOtherwiseEntireTimeline",
      "initial": "normal",
      "appliesto": "allElements",
      "computed": "listEachItemConsistingOfNormalLengthPercentageOrNameLengthPercentage",
      "order": "perGrammar",
      "groups": "CSS Animations"
    },
    {
      "property": "timeline-trigger-active-range",
      "syntax": "[ <'timeline-trigger-active-range-start'> <'timeline-trigger-active-range-end'>? ]#",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "timeline-trigger-active-range-start, timeline-trigger-active-range-end",
      "initial": "timeline-trigger-active-range-start, timeline-trigger-active-range-end",
      "appliesto": "allElements",
      "computed": "timeline-trigger-active-range-start, timeline-trigger-active-range-end",
      "order": "perGrammar",
      "groups": "CSS Animations"
    },
    {
      "property": "timeline-trigger-active-range-end",
      "syntax": "[ auto | normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "relativeToTimelineRangeIfSpecifiedOtherwiseEntireTimeline",
      "initial": "auto",
      "appliesto": "allElements",
      "computed": "listEachItemConsistingOfNormalLengthPercentageOrNameLengthPercentage",
      "order": "perGrammar",
      "groups": "CSS Animations"
    },
    {
      "property": "timeline-trigger-active-range-start",
      "syntax": "[ auto | normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "relativeToTimelineRangeIfSpecifiedOtherwiseEntireTimeline",
      "initial": "auto",
      "appliesto": "allElements",
      "computed": "listEachItemConsistingOfNormalLengthPercentageOrNameLengthPercentage",
      "order": "perGrammar",
      "groups": "CSS Animations"
    },
    {
      "property": "timeline-trigger-name",
      "syntax": "none | <dashed-ident>#",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Animations"
    },
    {
      "property": "timeline-trigger-source",
      "syntax": "<single-animation-timeline>#",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElements",
      "computed": "listOfNoneAutoIdentScrollOrView",
      "order": "perGrammar",
      "groups": "CSS Animations"
    },
    {
      "property": "top",
      "syntax": "auto | <length-percentage> | <anchor()> | <anchor-size()>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "referToContainingBlockHeight",
      "initial": "auto",
      "appliesto": "positionedElements",
      "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
      "order": "uniqueOrder",
      "groups": "CSS Anchor Positioning, CSS Positioned Layout"
    },
    {
      "property": "touch-action",
      "syntax": "auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElementsExceptNonReplacedInlineElementsTableRowsColumnsRowColumnGroups",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "Pointer Events"
    },
    {
      "property": "transform",
      "syntax": "none | <transform-list>",
      "media": "visual",
      "inherited": false,
      "animationType": "transform",
      "percentages": "referToSizeOfBoundingBox",
      "initial": "none",
      "appliesto": "transformableElements",
      "computed": "asSpecifiedRelativeToAbsoluteLengths",
      "order": "uniqueOrder",
      "groups": "CSS Transforms"
    },
    {
      "property": "transform-box",
      "syntax": "content-box | border-box | fill-box | stroke-box | view-box",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "view-box",
      "appliesto": "transformableElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Transforms"
    },
    {
      "property": "transform-origin",
      "syntax": "[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?",
      "media": "visual",
      "inherited": false,
      "animationType": "simpleListOfLpc",
      "percentages": "referToSizeOfBoundingBox",
      "initial": "50% 50% 0",
      "appliesto": "transformableElements",
      "computed": "forLengthAbsoluteValueOtherwisePercentage",
      "order": "oneOrTwoValuesLengthAbsoluteKeywordsPercentages",
      "groups": "CSS Transforms"
    },
    {
      "property": "transform-style",
      "syntax": "flat | preserve-3d",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "flat",
      "appliesto": "transformableElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Transforms"
    },
    {
      "property": "transition",
      "syntax": "<single-transition>#",
      "media": "interactive",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "transition-delay, transition-duration, transition-property, transition-timing-function, transition-behavior",
      "appliesto": "allElementsAndPseudos",
      "computed": "transition-delay, transition-duration, transition-property, transition-timing-function, transition-behavior",
      "order": "orderOfAppearance",
      "groups": "CSS Transitions"
    },
    {
      "property": "transition-behavior",
      "syntax": "<transition-behavior-value>#",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Transitions"
    },
    {
      "property": "transition-delay",
      "syntax": "<time>#",
      "media": "interactive",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "0s",
      "appliesto": "allElementsAndPseudos",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Transitions"
    },
    {
      "property": "transition-duration",
      "syntax": "<time>#",
      "media": "interactive",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "0s",
      "appliesto": "allElementsAndPseudos",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Transitions"
    },
    {
      "property": "transition-property",
      "syntax": "none | <single-transition-property>#",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "all",
      "appliesto": "allElementsAndPseudos",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Transitions"
    },
    {
      "property": "transition-timing-function",
      "syntax": "<easing-function>#",
      "media": "interactive",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "ease",
      "appliesto": "allElementsAndPseudos",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Transitions"
    },
    {
      "property": "translate",
      "syntax": "none | <length-percentage> [ <length-percentage> <length>? ]?",
      "media": "visual",
      "inherited": false,
      "animationType": "transform",
      "percentages": "referToSizeOfBoundingBox",
      "initial": "none",
      "appliesto": "transformableElements",
      "computed": "asSpecifiedRelativeToAbsoluteLengths",
      "order": "perGrammar",
      "groups": "CSS Transforms"
    },
    {
      "property": "trigger-scope",
      "syntax": "none | all | <dashed-ident>#",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Animations"
    },
    {
      "property": "unicode-bidi",
      "syntax": "normal | embed | isolate | bidi-override | isolate-override | plaintext",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElementsSomeValuesNoEffectOnNonInlineElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Writing Modes"
    },
    {
      "property": "user-select",
      "syntax": "auto | text | none | all",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Basic User Interface"
    },
    {
      "property": "vector-effect",
      "syntax": "none | non-scaling-stroke | non-scaling-size | non-rotation | fixed-position",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "limitedSVGElementsGraphicsAndUse",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "vertical-align",
      "syntax": "baseline | sub | super | text-top | text-bottom | middle | top | bottom | <percentage> | <length>",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "baseline",
      "appliesto": "asLonghands",
      "computed": "asLonghands",
      "order": "uniqueOrder",
      "groups": "CSS Inline"
    },
    {
      "property": "view-timeline",
      "syntax": "[ <'view-timeline-name'> [ <'view-timeline-axis'> || <'view-timeline-inset'> ]? ]#",
      "media": "visual",
      "inherited": false,
      "animationType": "view-timeline-name, view-timeline-axis",
      "percentages": "no",
      "initial": "view-timeline-name, view-timeline-axis",
      "appliesto": "allElements",
      "computed": "view-timeline-name, view-timeline-axis",
      "order": "perGrammar",
      "groups": "Scroll-driven Animations"
    },
    {
      "property": "view-timeline-axis",
      "syntax": "[ block | inline | x | y ]#",
      "media": "interactive",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "block",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "Scroll-driven Animations"
    },
    {
      "property": "view-timeline-inset",
      "syntax": "[ [ auto | <length-percentage> ]{1,2} ]#",
      "media": "interactive",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "relativeToCorrespondingDimensionOfRelevantScrollport",
      "initial": "auto",
      "appliesto": "allElements",
      "computed": "listEachItemConsistingOfPairsOfAutoOrLengthPercentage",
      "order": "perGrammar",
      "groups": "Scroll-driven Animations"
    },
    {
      "property": "view-timeline-name",
      "syntax": "[ none | <dashed-ident> ]#",
      "media": "interactive",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "noneOrOrderedListOfIdentifiers",
      "order": "perGrammar",
      "groups": "Scroll-driven Animations"
    },
    {
      "property": "view-transition-class",
      "syntax": "none | <custom-ident>+",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS View Transitions"
    },
    {
      "property": "view-transition-name",
      "syntax": "none | <custom-ident> | match-element",
      "media": "visual",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "none",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS View Transitions"
    },
    {
      "property": "visibility",
      "syntax": "visible | hidden | collapse",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "visible",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Display, Scalable Vector Graphics"
    },
    {
      "property": "white-space",
      "syntax": "normal | pre | pre-wrap | pre-line | <'white-space-collapse'> || <'text-wrap-mode'>",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Text"
    },
    {
      "property": "white-space-collapse",
      "syntax": "collapse | preserve | preserve-breaks | preserve-spaces | break-spaces",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "collapse",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Text"
    },
    {
      "property": "widows",
      "syntax": "<integer>",
      "media": "visual",
      "inherited": true,
      "animationType": "byComputedValueType",
      "percentages": "no",
      "initial": "2",
      "appliesto": "blockContainerElements",
      "computed": "asSpecified",
      "order": "perGrammar",
      "groups": "CSS Fragmentation"
    },
    {
      "property": "width",
      "syntax": "auto | <length-percentage [0,∞]> | min-content | max-content | fit-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()>",
      "media": "visual",
      "inherited": false,
      "animationType": "lpc",
      "percentages": "referToWidthOfContainingBlock",
      "initial": "auto",
      "appliesto": "allElementsButNonReplacedAndTableRows",
      "computed": "percentageAutoOrAbsoluteLength",
      "order": "lengthOrPercentageBeforeKeywordIfBothPresent",
      "groups": "CSS Box Sizing"
    },
    {
      "property": "will-change",
      "syntax": "auto | <animateable-feature>#",
      "media": "all",
      "inherited": false,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Will Change"
    },
    {
      "property": "word-break",
      "syntax": "normal | break-all | keep-all | break-word | auto-phrase",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "allElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Text"
    },
    {
      "property": "word-spacing",
      "syntax": "normal | <length>",
      "media": "visual",
      "inherited": true,
      "animationType": "length",
      "percentages": "referToWidthOfAffectedGlyph",
      "initial": "normal",
      "appliesto": "allElements",
      "computed": "absoluteLength",
      "order": "uniqueOrder",
      "groups": "CSS Text"
    },
    {
      "property": "word-wrap",
      "syntax": "normal | break-word",
      "media": "visual",
      "inherited": true,
      "animationType": "discrete",
      "percentages": "no",
      "initial": "normal",
      "appliesto": "nonReplacedInlineElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Text"
    },
    {
      "property": "writing-mode",
      "syntax": "horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr",
      "media": "visual",
      "inherited": true,
      "animationType": "notAnimatable",
      "percentages": "no",
      "initial": "horizontal-tb",
      "appliesto": "allElementsExceptTableRowColumnGroupsTableRowsColumns",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Writing Modes"
    },
    {
      "property": "x",
      "syntax": "<length> | <percentage>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "referToSVGViewportWidth",
      "initial": "0",
      "appliesto": "limitedSVGElementsGeometry",
      "computed": "percentageAsSpecifiedOrAbsoluteLength",
      "order": "perGrammar",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "y",
      "syntax": "<length> | <percentage>",
      "media": "visual",
      "inherited": false,
      "animationType": "byComputedValueType",
      "percentages": "referToSVGViewportHeight",
      "initial": "0",
      "appliesto": "limitedSVGElementsGeometry",
      "computed": "percentageAsSpecifiedOrAbsoluteLength",
      "order": "perGrammar",
      "groups": "Scalable Vector Graphics"
    },
    {
      "property": "z-index",
      "syntax": "auto | <integer>",
      "media": "visual",
      "inherited": false,
      "animationType": "integer",
      "percentages": "no",
      "initial": "auto",
      "appliesto": "positionedElements",
      "computed": "asSpecified",
      "order": "uniqueOrder",
      "groups": "CSS Positioned Layout"
    },
    {
      "property": "zoom",
      "syntax": "normal | reset | <number [0,∞]> || <percentage [0,∞]>",
      "media": "visual",
      "inherited": false,
      "animationType": "notAnimatable",
      "percentages": "convertedToNumber",
      "initial": "1",
      "appliesto": "allElements",
      "computed": "asSpecifiedButWithPercentageConvertedToTheEquivalentNumber",
      "order": "perGrammar",
      "groups": "CSS Viewport"
    }
  ],
  "meta": {
    "title": "CSS Properties Reference (MDN) - Free Download",
    "description": "Comprehensive reference of CSS properties from MDN Web Docs, including syntax, initial values, inheritance, animation types, and applicability. Contains 552 records. Download in Excel, CSV, PDF formats.",
    "seo_title": "CSS Properties Reference (MDN) | ListBase",
    "seo_description": "Download CSS Properties Reference (MDN) — 552 records. Available in Excel, CSV, PDF formats.",
    "key_takeaways": [
      "Contains 552 records / 11 fields",
      "Available for free download in Excel, CSV, and PDF formats",
      "Data sourced from: https://github.com/mdn/data"
    ]
  }
}