[margin]
sub_properties = ["margin-top", "margin-right", "margin-bottom", "margin-left"]
spec = "https://drafts.csswg.org/css-box/#propdef-margin"
rule_types_allowed = ["style", "keyframe", "page", "scope", "page", "position-try"]
kind = "four_sides"
allow_quirks = true

[margin-block]
sub_properties = ["margin-block-start", "margin-block-end"]
spec = "https://drafts.csswg.org/css-logical/#propdef-margin-block"
rule_types_allowed = ["style", "keyframe", "page", "scope", "position-try"]
kind = "two_properties"

[margin-inline]
sub_properties = ["margin-inline-start", "margin-inline-end"]
spec = "https://drafts.csswg.org/css-logical/#propdef-margin-inline"
rule_types_allowed = ["style", "keyframe", "page", "scope", "position-try"]
kind = "two_properties"

[scroll-margin]
engine = "gecko"
sub_properties = ["scroll-margin-top", "scroll-margin-right", "scroll-margin-bottom", "scroll-margin-left"]
spec = "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin"
kind = "four_sides"

[scroll-margin-block]
engine = "gecko"
sub_properties = ["scroll-margin-block-start", "scroll-margin-block-end"]
spec = "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin-block"
kind = "two_properties"

[scroll-margin-inline]
engine = "gecko"
sub_properties = ["scroll-margin-inline-start", "scroll-margin-inline-end"]
spec = "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin-inline"
kind = "two_properties"

[padding]
sub_properties = ["padding-top", "padding-right", "padding-bottom", "padding-left"]
spec = "https://drafts.csswg.org/css-box/#propdef-padding"
kind = "four_sides"
allow_quirks = true

[padding-block]
sub_properties = ["padding-block-start", "padding-block-end"]
spec = "https://drafts.csswg.org/css-logical/#propdef-padding-block"
rule_types_allowed = ["style", "keyframe", "page", "scope", "position-try"]
kind = "two_properties"

[padding-inline]
sub_properties = ["padding-inline-start", "padding-inline-end"]
spec = "https://drafts.csswg.org/css-logical/#propdef-padding-inline"
rule_types_allowed = ["style", "keyframe", "page", "scope", "position-try"]
kind = "two_properties"

[scroll-padding]
engine = "gecko"
sub_properties = ["scroll-padding-top", "scroll-padding-right", "scroll-padding-bottom", "scroll-padding-left"]
spec = "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding"
kind = "four_sides"

[scroll-padding-block]
engine = "gecko"
sub_properties = ["scroll-padding-block-start", "scroll-padding-block-end"]
spec = "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding-block"
kind = "two_properties"

[scroll-padding-inline]
engine = "gecko"
sub_properties = ["scroll-padding-inline-start", "scroll-padding-inline-end"]
spec = "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding-inline"
kind = "two_properties"

[border-color]
sub_properties = ["border-top-color", "border-right-color", "border-bottom-color", "border-left-color"]
spec = "https://drafts.csswg.org/css-backgrounds/#border-color"
kind = "four_sides"
allow_quirks = true

[border-style]
sub_properties = ["border-top-style", "border-right-style", "border-bottom-style", "border-left-style"]
spec = "https://drafts.csswg.org/css-backgrounds/#border-style"
kind = "four_sides"

[border-width]
sub_properties = ["border-top-width", "border-right-width", "border-bottom-width", "border-left-width"]
spec = "https://drafts.csswg.org/css-backgrounds/#border-width"
kind = "four_sides"
allow_quirks = true

[border-block-color]
sub_properties = ["border-block-start-color", "border-block-end-color"]
spec = "https://drafts.csswg.org/css-logical/#propdef-border-block-color"
kind = "two_properties"

[border-inline-color]
sub_properties = ["border-inline-start-color", "border-inline-end-color"]
spec = "https://drafts.csswg.org/css-logical/#propdef-border-inline-color"
kind = "two_properties"

[border-block-width]
sub_properties = ["border-block-start-width", "border-block-end-width"]
spec = "https://drafts.csswg.org/css-logical/#propdef-border-block-width"
kind = "two_properties"

[border-inline-width]
sub_properties = ["border-inline-start-width", "border-inline-end-width"]
spec = "https://drafts.csswg.org/css-logical/#propdef-border-inline-width"
kind = "two_properties"

[border-block-style]
sub_properties = ["border-block-start-style", "border-block-end-style"]
spec = "https://drafts.csswg.org/css-logical/#propdef-border-block-style"
kind = "two_properties"

[border-inline-style]
sub_properties = ["border-inline-start-style", "border-inline-end-style"]
spec = "https://drafts.csswg.org/css-logical/#propdef-border-inline-style"
kind = "two_properties"

[border-top]
sub_properties = ["border-top-width", "border-top-style", "border-top-color"]
spec = "https://drafts.csswg.org/css-backgrounds-3/#propdef-border-top"
kind = "single_border"

[border-right]
sub_properties = ["border-right-width", "border-right-style", "border-right-color"]
spec = "https://drafts.csswg.org/css-backgrounds-3/#propdef-border-right"
kind = "single_border"

[border-bottom]
sub_properties = ["border-bottom-width", "border-bottom-style", "border-bottom-color"]
spec = "https://drafts.csswg.org/css-backgrounds-3/#propdef-border-top"
kind = "single_border"

[border-left]
sub_properties = ["border-left-width", "border-left-style", "border-left-color"]
spec = "https://drafts.csswg.org/css-backgrounds-3/#propdef-border-left"
kind = "single_border"

[border-block-start]
sub_properties = ["border-block-start-width", "border-block-start-style", "border-block-start-color"]
spec = "https://drafts.csswg.org/css-logical/#propdef-border-block-start"
kind = "single_border"

[border-block-end]
sub_properties = ["border-block-end-width", "border-block-end-style", "border-block-end-color"]
spec = "https://drafts.csswg.org/css-logical/#propdef-border-block-end"
kind = "single_border"

[border-inline-start]
sub_properties = ["border-inline-start-width", "border-inline-start-style", "border-inline-start-color"]
spec = "https://drafts.csswg.org/css-logical/#propdef-border-inline-start"
kind = "single_border"
extra_gecko_aliases = ["-moz-border-start"]

[border-inline-end]
sub_properties = ["border-inline-end-width", "border-inline-end-style", "border-inline-end-color"]
spec = "https://drafts.csswg.org/css-logical/#propdef-border-inline-end"
kind = "single_border"
extra_gecko_aliases = ["-moz-border-end"]

[border-block]
sub_properties = ["border-block-start-width", "border-block-start-style", "border-block-start-color", "border-block-end-width", "border-block-end-style", "border-block-end-color"]
spec = "https://drafts.csswg.org/css-logical/#propdef-border-block"

[border-inline]
sub_properties = ["border-inline-start-width", "border-inline-start-style", "border-inline-start-color", "border-inline-end-width", "border-inline-end-style", "border-inline-end-color"]
spec = "https://drafts.csswg.org/css-logical/#propdef-border-inline"

[border-image]
sub_properties = ["border-image-outset", "border-image-repeat", "border-image-slice", "border-image-source", "border-image-width"]
extra_prefixes = ["moz:layout.css.prefixes.border-image", "webkit"]
spec = "https://drafts.csswg.org/css-backgrounds-3/#border-image"

[border]
sub_properties = [
  "border-top-width",
  "border-top-style",
  "border-top-color",
  "border-right-width",
  "border-right-style",
  "border-right-color",
  "border-bottom-width",
  "border-bottom-style",
  "border-bottom-color",
  "border-left-width",
  "border-left-style",
  "border-left-color",
  "border-image-outset",
  "border-image-repeat",
  "border-image-slice",
  "border-image-source",
  "border-image-width"
]
spec = "https://drafts.csswg.org/css-backgrounds-3/#border"
derive_value_info = false

[overflow]
sub_properties = ["overflow-x", "overflow-y"]
spec="https://drafts.csswg.org/css-overflow/#propdef-overflow"
kind = "two_properties"

[overscroll-behavior]
engine = "gecko"
sub_properties = ["overscroll-behavior-x", "overscroll-behavior-y"]
spec = "https://wicg.github.io/overscroll-behavior/#overscroll-behavior-properties"
kind = "two_properties"

[container]
engine = "gecko"
sub_properties = ["container-name", "container-type"]
spec = "https://drafts.csswg.org/css-contain-3/#container-shorthand"

[vertical-align]
sub_properties = ["alignment-baseline", "baseline-shift", "baseline-source"]
spec = "https://drafts.csswg.org/css-inline-3/#transverse-alignment"

[page-break-before]
engine = "gecko"
flags = "IS_LEGACY_SHORTHAND"
sub_properties = ["break-before"]
spec = "https://drafts.csswg.org/css-break-3/#page-break-properties"

[page-break-after]
engine = "gecko"
flags = "IS_LEGACY_SHORTHAND"
sub_properties = ["break-after"]
spec = "https://drafts.csswg.org/css-break-3/#page-break-properties"

[page-break-inside]
engine = "gecko"
flags = "IS_LEGACY_SHORTHAND"
sub_properties = ["break-inside"]
spec = "https://drafts.csswg.org/css-break-3/#page-break-properties"

[offset]
engine = "gecko"
sub_properties = ["offset-path", "offset-distance", "offset-rotate", "offset-anchor", "offset-position"]
spec = "https://drafts.fxtf.org/motion-1/#offset-shorthand"

[-webkit-perspective]
sub_properties = ["perspective"]
derive_serialize = true
flags = "IS_LEGACY_SHORTHAND"
spec = "https://github.com/whatwg/compat/issues/100"

[-webkit-transform]
sub_properties = ["transform"]
derive_serialize = true
flags = "IS_LEGACY_SHORTHAND"
spec = "https://github.com/whatwg/compat/issues/100"

[background]
sub_properties = [
  "background-color",
  "background-position-x",
  "background-position-y",
  "background-repeat",
  "background-attachment",
  "background-image",
  "background-size",
  "background-origin",
  "background-clip"
]
spec = "https://drafts.csswg.org/css-backgrounds/#the-background"

[inset]
sub_properties = ["top", "right", "bottom", "left"]
spec = "https://drafts.csswg.org/css-logical/#propdef-inset"
rule_types_allowed = ["style", "keyframe", "scope", "position-try"]
kind = "four_sides"

[inset-block]
sub_properties = ["inset-block-start", "inset-block-end"]
spec = "https://drafts.csswg.org/css-logical/#propdef-inset-block"
rule_types_allowed = ["style", "keyframe", "scope", "position-try"]
kind = "two_properties"

[inset-inline]
sub_properties = ["inset-inline-start", "inset-inline-end"]
spec = "https://drafts.csswg.org/css-logical/#propdef-inset-inline"
rule_types_allowed = ["style", "keyframe", "scope", "position-try"]
kind = "two_properties"

[contain-intrinsic-size]
engine = "gecko"
sub_properties = ["contain-intrinsic-width", "contain-intrinsic-height"]
spec = "https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override"
kind = "two_properties"

[flex-flow]
sub_properties = ["flex-direction", "flex-wrap"]
spec = "https://drafts.csswg.org/css-flexbox/#flex-flow-property"
extra_prefixes = ["webkit"]

[flex]
sub_properties = ["flex-grow", "flex-shrink", "flex-basis"]
spec = "https://drafts.csswg.org/css-flexbox/#flex-property"
extra_prefixes = ["webkit"]
derive_serialize = true

[gap]
sub_properties = ["row-gap", "column-gap"]
spec = "https://drafts.csswg.org/css-align-3/#gap-shorthand"
aliases = ["grid-gap"]

[grid-row]
sub_properties = ["grid-row-start", "grid-row-end"]
spec = "https://drafts.csswg.org/css-grid/#propdef-grid-row"
servo_pref = "layout.grid.enabled"

[grid-column]
sub_properties = ["grid-column-start", "grid-column-end"]
spec = "https://drafts.csswg.org/css-grid/#propdef-grid-column"
servo_pref = "layout.grid.enabled"

[grid-area]
sub_properties = ["grid-row-start", "grid-row-end", "grid-column-start", "grid-column-end"]
spec = "https://drafts.csswg.org/css-grid/#propdef-grid-area"
servo_pref = "layout.grid.enabled"

[grid-template]
sub_properties = ["grid-template-rows", "grid-template-columns", "grid-template-areas"]
spec = "https://drafts.csswg.org/css-grid/#propdef-grid-template"
servo_pref = "layout.grid.enabled"

[grid]
sub_properties = ["grid-template-rows", "grid-template-columns", "grid-template-areas", "grid-auto-rows", "grid-auto-columns", "grid-auto-flow"]
spec = "https://drafts.csswg.org/css-grid/#propdef-grid"
servo_pref = "layout.grid.enabled"

[place-content]
sub_properties = ["align-content", "justify-content"]
spec = "https://drafts.csswg.org/css-align/#propdef-place-content"

[place-self]
sub_properties = ["align-self", "justify-self"]
spec = "https://drafts.csswg.org/css-align/#place-self-property"
rule_types_allowed = ["style", "position-try"]

[place-items]
sub_properties = ["align-items", "justify-items"]
spec = "https://drafts.csswg.org/css-align/#place-items-property"

[position-try]
engine = "gecko"
sub_properties = ["position-try-order", "position-try-fallbacks"]
spec = "https://drafts.csswg.org/css-anchor-position-1/#position-try-prop"
gecko_pref = "layout.css.anchor-positioning.enabled"

[marker]
engine = "gecko"
sub_properties = ["marker-start", "marker-end", "marker-mid"]
spec = "https://svgwg.org/svg2-draft/painting.html#MarkerShorthand"

[transition]
sub_properties = ["transition-property", "transition-duration", "transition-timing-function", "transition-delay", "transition-behavior"]
spec = "https://drafts.csswg.org/css-transitions/#propdef-transition"
extra_prefixes = ["moz:layout.css.prefixes.transitions", "webkit"]

[animation]
sub_properties = ["animation-name", "animation-duration", "animation-timing-function", "animation-delay", "animation-iteration-count", "animation-direction", "animation-fill-mode", "animation-play-state", "animation-timeline", "animation-range-start", "animation-range-end"]
spec = "https://drafts.csswg.org/css-animations/#propdef-animation"
extra_prefixes = ["moz:layout.css.prefixes.animations", "webkit"]
rule_types_allowed = ["style"]

[scroll-timeline]
engine = "gecko"
sub_properties = ["scroll-timeline-name", "scroll-timeline-axis"]
spec = "https://drafts.csswg.org/scroll-animations-1/#scroll-timeline-shorthand"
gecko_pref = "layout.css.scroll-driven-animations.enabled"

[view-timeline]
engine = "gecko"
sub_properties = ["view-timeline-name", "view-timeline-axis"]
spec = "https://drafts.csswg.org/scroll-animations-1/#view-timeline-shorthand"
gecko_pref = "layout.css.scroll-driven-animations.enabled"

[animation-range]
engine = "gecko"
sub_properties = ["animation-range-start", "animation-range-end"]
spec = "https://drafts.csswg.org/scroll-animations-1/#animation-range"
gecko_pref = "layout.css.scroll-driven-animations.enabled"

[list-style]
sub_properties = ["list-style-position", "list-style-image", "list-style-type"]
spec = "https://drafts.csswg.org/css-lists/#propdef-list-style"

[background-position]
sub_properties = ["background-position-x", "background-position-y"]
spec = "https://drafts.csswg.org/css-backgrounds-4/#the-background-position"

[mask]
sub_properties = ["mask-mode", "mask-repeat", "mask-clip", "mask-origin", "mask-composite", "mask-position-x", "mask-position-y", "mask-size", "mask-image"]
spec = "https://drafts.fxtf.org/css-masking/#propdef-mask"
extra_prefixes = ["webkit"]
servo_pref = "layout.unimplemented"

[mask-position]
sub_properties = ["mask-position-x", "mask-position-y"]
spec = "https://drafts.csswg.org/css-masks-4/#the-mask-position"
extra_prefixes = ["webkit"]
servo_pref = "layout.unimplemented"

[border-radius]
sub_properties = ["border-top-left-radius", "border-top-right-radius", "border-bottom-right-radius", "border-bottom-left-radius"]
spec = "https://drafts.csswg.org/css-backgrounds/#border-radius"
extra_prefixes = ["webkit"]

[corner-shape]
sub_properties = ["corner-top-left-shape", "corner-top-right-shape", "corner-bottom-right-shape", "corner-bottom-left-shape"]
spec = "https://drafts.csswg.org/css-borders-4/#propdef-corner-shape"
gecko_pref = "layout.css.corner-shape.enabled"
servo_pref = "layout.unimplemented"

[corner-top-shape]
sub_properties = ["corner-top-left-shape", "corner-top-right-shape"]
spec = "https://drafts.csswg.org/css-borders-4/#propdef-corner-top-shape"
gecko_pref = "layout.css.corner-shape.enabled"
servo_pref = "layout.unimplemented"
kind = "two_properties"

[corner-right-shape]
sub_properties = ["corner-top-right-shape", "corner-bottom-right-shape"]
spec = "https://drafts.csswg.org/css-borders-4/#propdef-corner-right-shape"
gecko_pref = "layout.css.corner-shape.enabled"
servo_pref = "layout.unimplemented"
kind = "two_properties"

[corner-bottom-shape]
sub_properties = ["corner-bottom-left-shape", "corner-bottom-right-shape"]
spec = "https://drafts.csswg.org/css-borders-4/#propdef-corner-bottom-shape"
gecko_pref = "layout.css.corner-shape.enabled"
servo_pref = "layout.unimplemented"
kind = "two_properties"

[corner-left-shape]
sub_properties = ["corner-top-left-shape", "corner-bottom-left-shape"]
spec = "https://drafts.csswg.org/css-borders-4/#propdef-corner-left-shape"
gecko_pref = "layout.css.corner-shape.enabled"
servo_pref = "layout.unimplemented"
kind = "two_properties"

[corner-block-start-shape]
sub_properties = ["corner-start-start-shape", "corner-start-end-shape"]
spec = "https://drafts.csswg.org/css-borders-4/#propdef-corner-block-start-shape"
gecko_pref = "layout.css.corner-shape.enabled"
servo_pref = "layout.unimplemented"
kind = "two_properties"

[corner-block-end-shape]
sub_properties = ["corner-end-start-shape", "corner-end-end-shape"]
spec = "https://drafts.csswg.org/css-borders-4/#propdef-corner-block-end-shape"
gecko_pref = "layout.css.corner-shape.enabled"
servo_pref = "layout.unimplemented"
kind = "two_properties"

[corner-inline-start-shape]
sub_properties = ["corner-start-start-shape", "corner-end-start-shape"]
spec = "https://drafts.csswg.org/css-borders-4/#propdef-corner-inline-start-shape"
gecko_pref = "layout.css.corner-shape.enabled"
servo_pref = "layout.unimplemented"
kind = "two_properties"

[corner-inline-end-shape]
sub_properties = ["corner-start-end-shape", "corner-end-end-shape"]
spec = "https://drafts.csswg.org/css-borders-4/#propdef-corner-inline-end-shape"
gecko_pref = "layout.css.corner-shape.enabled"
servo_pref = "layout.unimplemented"
kind = "two_properties"

[outline]
sub_properties = ["outline-color", "outline-style", "outline-width"]
spec = "https://drafts.csswg.org/css-ui/#propdef-outline"

[columns]
sub_properties = ["column-width", "column-count"]
spec = "https://drafts.csswg.org/css-multicol/#propdef-columns"
servo_pref = "layout.columns.enabled"

[column-rule]
engine = "gecko"
sub_properties = ["column-rule-width", "column-rule-style", "column-rule-color"]
spec = "https://drafts.csswg.org/css-multicol/#propdef-column-rule"
derive_serialize = true

[text-decoration]
sub_properties = ["text-decoration-color", "text-decoration-line", "text-decoration-style"]
extra_gecko_sub_properties = ["text-decoration-thickness"]
spec = "https://drafts.csswg.org/css-text-decor/#propdef-text-decoration"

[font]
sub_properties = [
  "font-style",
  "font-variant-caps",
  "font-variant-east-asian",
  "font-variant-ligatures",
  "font-variant-numeric",
  "font-variant-position",
  "font-weight",
  "font-stretch",
  "font-size",
  "line-height",
  "font-family",
  "font-optical-sizing",
  "font-variation-settings",
  "font-kerning",
  "font-feature-settings",
]
extra_gecko_sub_properties = [
  "font-size-adjust",
  "font-variant-alternates",
  "font-variant-emoji",
  "font-language-override"
]
spec = "https://drafts.csswg.org/css-fonts-3/#propdef-font"
derive_value_info = false

[font-variant]
sub_properties = ["font-variant-caps", "font-variant-east-asian", "font-variant-ligatures", "font-variant-numeric", "font-variant-position"]
extra_gecko_sub_properties = ["font-variant-alternates", "font-variant-emoji"]
spec = "https://drafts.csswg.org/css-fonts-3/#propdef-font-variant"

[font-synthesis]
engine = "gecko"
sub_properties = ["font-synthesis-weight", "font-synthesis-style", "font-synthesis-small-caps", "font-synthesis-position"]
spec = "https://drafts.csswg.org/css-fonts-3/#propdef-font-variant"
derive_value_info = false

[text-box]
engine = "gecko"
sub_properties = ["text-box-trim", "text-box-edge"]
spec = "https://drafts.csswg.org/css-inline/#text-box-shorthand"
gecko_pref = "layout.css.text-box.enabled"

[text-emphasis]
engine = "gecko"
sub_properties = ["text-emphasis-style", "text-emphasis-color"]
spec = "https://drafts.csswg.org/css-text-decor-3/#text-emphasis-property"
derive_serialize = true

[text-wrap]
engine = "gecko"
sub_properties = ["text-wrap-mode", "text-wrap-style"]
spec = "https://www.w3.org/TR/css-text-4/#text-wrap"

[white-space]
sub_properties = ["text-wrap-mode", "white-space-collapse"]
spec = "https://www.w3.org/TR/css-text-4/#white-space-property"
derive_value_info = false

[-webkit-text-stroke]
engine = "gecko"
sub_properties = ["-webkit-text-stroke-width", "-webkit-text-stroke-color"]
spec = "https://compat.spec.whatwg.org/#the-webkit-text-stroke"
derive_serialize = true
