@eslint/css-tree
Version:
A tool set for CSS: fast detailed parser (CSS → AST), walker (AST traversal), generator (AST → CSS) and lexer (validation and matching) based on specs and browser implementations
624 lines • 95.6 kB
JavaScript
export default {
"generic": true,
"cssWideKeywords": [
"initial",
"inherit",
"unset",
"revert",
"revert-layer"
],
"units": {
"angle": [
"deg",
"grad",
"rad",
"turn"
],
"decibel": [
"db"
],
"flex": [
"fr"
],
"frequency": [
"hz",
"khz"
],
"length": [
"cm",
"mm",
"q",
"in",
"pt",
"pc",
"px",
"em",
"rem",
"ex",
"rex",
"cap",
"rcap",
"ch",
"rch",
"ic",
"ric",
"lh",
"rlh",
"vw",
"svw",
"lvw",
"dvw",
"vh",
"svh",
"lvh",
"dvh",
"vi",
"svi",
"lvi",
"dvi",
"vb",
"svb",
"lvb",
"dvb",
"vmin",
"svmin",
"lvmin",
"dvmin",
"vmax",
"svmax",
"lvmax",
"dvmax",
"cqw",
"cqh",
"cqi",
"cqb",
"cqmin",
"cqmax"
],
"resolution": [
"dpi",
"dpcm",
"dppx",
"x"
],
"semitones": [
"st"
],
"time": [
"s",
"ms"
]
},
"types": {
"abs()": "abs( <calc-sum> )",
"absolute-size": "xx-small|x-small|small|medium|large|x-large|xx-large|xxx-large",
"acos()": "acos( <calc-sum> )",
"alpha-value": "<number>|<percentage>",
"an+b": "odd|even|<integer>|<n-dimension>|'+'? † n|-n|<ndashdigit-dimension>|'+'? † <ndashdigit-ident>|<dashndashdigit-ident>|<n-dimension> <signed-integer>|'+'? † n <signed-integer>|-n <signed-integer>|<ndash-dimension> <signless-integer>|'+'? † n- <signless-integer>|-n- <signless-integer>|<n-dimension> ['+'|'-'] <signless-integer>|'+'? † n ['+'|'-'] <signless-integer>|-n ['+'|'-'] <signless-integer>",
"anchor()": "anchor( <anchor-name>?&&<anchor-side> , <length-percentage>? )",
"anchor-name": "<dashed-ident>",
"anchor-side": "inside|outside|top|left|right|bottom|start|end|self-start|self-end|<percentage>|center",
"anchor-size": "width|height|block|inline|self-block|self-inline",
"anchor-size()": "anchor-size( [<anchor-name>||<anchor-size>]? , <length-percentage>? )",
"angle-percentage": "<angle>|<percentage>",
"angular-color-hint": "<angle-percentage>|<zero>",
"angular-color-stop": "<color> <color-stop-angle>?",
"angular-color-stop-list": "<angular-color-stop> , [<angular-color-hint>? , <angular-color-stop>]#?",
"animateable-feature": "scroll-position|contents|<custom-ident>",
"asin()": "asin( <calc-sum> )",
"atan()": "atan( <calc-sum> )",
"atan2()": "atan2( <calc-sum> , <calc-sum> )",
"attachment": "scroll|fixed|local",
"attr()": "attr( <attr-name> <type-or-unit>? [, <attr-fallback>]? )",
"attr-matcher": "['~'|'|'|'^'|'$'|'*']? '='",
"attr-modifier": "i|s",
"attribute-selector": "'[' <wq-name> ']'|'[' <wq-name> <attr-matcher> [<string-token>|<ident-token>] <attr-modifier>? ']'",
"auto-repeat": "repeat( [auto-fill|auto-fit] , [<line-names>? <fixed-size>]+ <line-names>? )",
"auto-track-list": "[<line-names>? [<fixed-size>|<fixed-repeat>]]* <line-names>? <auto-repeat> [<line-names>? [<fixed-size>|<fixed-repeat>]]* <line-names>?",
"axis": "block|inline|x|y",
"baseline-position": "[first|last]? baseline",
"basic-shape": "<inset()>|<xywh()>|<rect()>|<circle()>|<ellipse()>|<polygon()>|<path()>",
"basic-shape-rect": "<inset()>|<rect()>|<xywh()>",
"bg-clip": "<visual-box>|border-area|text",
"bg-image": "none|<image>",
"bg-layer": "<bg-image>||<bg-position> [/ <bg-size>]?||<repeat-style>||<attachment>||<visual-box>||<visual-box>",
"bg-position": "[[left|center|right|top|bottom|<length-percentage>]|[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]|[center|[left|right] <length-percentage>?]&&[center|[top|bottom] <length-percentage>?]]",
"bg-size": "[<length-percentage>|auto]{1,2}|cover|contain",
"blend-mode": "normal|multiply|screen|overlay|darken|lighten|color-dodge|color-burn|hard-light|soft-light|difference|exclusion|hue|saturation|color|luminosity",
"blur()": "blur( <length>? )",
"brightness()": "brightness( [<number>|<percentage>]? )",
"calc()": "calc( <calc-sum> )",
"calc-constant": "e|pi|infinity|-infinity|NaN",
"calc-product": "<calc-value> ['*' <calc-value>|'/' <number>]*",
"calc-size()": "calc-size( <calc-size-basis> , <calc-sum> )",
"calc-size-basis": "<intrinsic-size-keyword>|<calc-size()>|any|<calc-sum>",
"calc-sum": "<calc-product> [['+'|'-'] <calc-product>]*",
"calc-value": "<number>|<dimension>|<percentage>|<calc-constant>|( <calc-sum> )",
"cf-final-image": "<image>|<color>",
"cf-mixing-image": "<percentage>?&&<image>",
"circle()": "circle( <radial-size>? [at <position>]? )",
"clamp()": "clamp( <calc-sum>#{3} )",
"class-selector": "'.' <ident-token>",
"clip-source": "<url>",
"color": "<color-base>|currentColor|<system-color>|<device-cmyk()>|<light-dark()>|<-non-standard-color>",
"color()": "color( <colorspace-params> [/ [<alpha-value>|none]]? )",
"color-base": "<hex-color>|<color-function>|<named-color>|<color-mix()>|transparent",
"color-function": "<rgb()>|<rgba()>|<hsl()>|<hsla()>|<hwb()>|<lab()>|<lch()>|<oklab()>|<oklch()>|<color()>",
"color-interpolation-method": "in [<rectangular-color-space>|<polar-color-space> <hue-interpolation-method>?|<custom-color-space>]",
"color-mix()": "color-mix( <color-interpolation-method> , [<color>&&<percentage [0,100]>?]#{2} )",
"color-stop": "<color-stop-length>|<color-stop-angle>",
"color-stop-angle": "[<angle-percentage>|<zero>]{1,2}",
"color-stop-length": "<length-percentage>{1,2}",
"color-stop-list": "<linear-color-stop> , [<linear-color-hint>? , <linear-color-stop>]#?",
"colorspace-params": "[<predefined-rgb-params>|<xyz-params>]",
"combinator": "'>'|'+'|'~'|['|' '|']",
"common-lig-values": "[common-ligatures|no-common-ligatures]",
"compat-auto": "searchfield|textarea|push-button|slider-horizontal|checkbox|radio|square-button|menulist|listbox|meter|progress-bar|button",
"complex-selector": "<complex-selector-unit> [<combinator>? <complex-selector-unit>]*",
"complex-selector-list": "<complex-selector>#",
"composite-style": "clear|copy|source-over|source-in|source-out|source-atop|destination-over|destination-in|destination-out|destination-atop|xor",
"compositing-operator": "add|subtract|intersect|exclude",
"compound-selector": "[<type-selector>? <subclass-selector>*]!",
"compound-selector-list": "<compound-selector>#",
"conic-gradient()": "conic-gradient( [<conic-gradient-syntax>] )",
"conic-gradient-syntax": "[[[from [<angle>|<zero>]]? [at <position>]?]||<color-interpolation-method>]? , <angular-color-stop-list>",
"container-condition": "not <query-in-parens>|<query-in-parens> [[and <query-in-parens>]*|[or <query-in-parens>]*]",
"container-name": "<custom-ident>",
"container-query": "not <query-in-parens>|<query-in-parens> [[and <query-in-parens>]*|[or <query-in-parens>]*]",
"content-distribution": "space-between|space-around|space-evenly|stretch",
"content-list": "[<string>|contents|<image>|<counter>|<quote>|<target>|<leader()>|<attr()>]+",
"content-position": "center|start|end|flex-start|flex-end",
"content-replacement": "<image>",
"contextual-alt-values": "[contextual|no-contextual]",
"contrast()": "contrast( [<number>|<percentage>]? )",
"coord-box": "content-box|padding-box|border-box|fill-box|stroke-box|view-box",
"cos()": "cos( <calc-sum> )",
"counter": "<counter()>|<counters()>",
"counter()": "counter( <counter-name> , <counter-style>? )",
"counter-name": "<custom-ident>",
"counter-style": "<counter-style-name>|symbols( )",
"counter-style-name": "<custom-ident>",
"counters()": "counters( <counter-name> , <string> , <counter-style>? )",
"cross-fade()": "cross-fade( <cf-mixing-image> , <cf-final-image>? )",
"cubic-bezier()": "cubic-bezier( [<number [0,1]> , <number>]#{2} )",
"cubic-bezier-easing-function": "ease|ease-in|ease-out|ease-in-out|cubic-bezier( <number [0,1]> , <number> , <number [0,1]> , <number> )",
"custom-color-space": "<dashed-ident>",
"custom-params": "<dashed-ident> [<number>|<percentage>|none]+",
"dasharray": "[[<length-percentage>|<number>]+]#",
"dashndashdigit-ident": "<ident-token>",
"deprecated-system-color": "ActiveBorder|ActiveCaption|AppWorkspace|Background|ButtonHighlight|ButtonShadow|CaptionText|InactiveBorder|InactiveCaption|InactiveCaptionText|InfoBackground|InfoText|Menu|MenuText|Scrollbar|ThreeDDarkShadow|ThreeDFace|ThreeDHighlight|ThreeDLightShadow|ThreeDShadow|Window|WindowFrame|WindowText",
"discretionary-lig-values": "[discretionary-ligatures|no-discretionary-ligatures]",
"display-box": "contents|none",
"display-inside": "flow|flow-root|table|flex|grid|ruby",
"display-internal": "table-row-group|table-header-group|table-footer-group|table-row|table-cell|table-column-group|table-column|table-caption|ruby-base|ruby-text|ruby-base-container|ruby-text-container",
"display-legacy": "inline-block|inline-list-item|inline-table|inline-flex|inline-grid",
"display-listitem": "<display-outside>?&&[flow|flow-root]?&&list-item",
"display-outside": "block|inline|run-in",
"drop-shadow()": "drop-shadow( [<color>?&&<length>{2,3}] )",
"easing-function": "<linear-easing-function>|<cubic-bezier-easing-function>|<step-easing-function>",
"east-asian-variant-values": "[jis78|jis83|jis90|jis04|simplified|traditional]",
"east-asian-width-values": "[full-width|proportional-width]",
"element()": "element( <custom-ident> , [first|start|last|first-except]? )|element( <id-selector> )",
"ellipse()": "ellipse( <radial-size>? [at <position>]? )",
"env()": "env( <custom-ident> , <declaration-value>? )",
"exp()": "exp( <calc-sum> )",
"explicit-track-list": "[<line-names>? <track-size>]+ <line-names>?",
"family-name": "<string>|<custom-ident>+",
"feature-tag-value": "<string> [<integer>|on|off]?",
"feature-type": "@stylistic|@historical-forms|@styleset|@character-variant|@swash|@ornaments|@annotation",
"feature-value-block": "<feature-type> '{' <feature-value-declaration-list> '}'",
"feature-value-block-list": "<feature-value-block>+",
"feature-value-declaration": "<custom-ident> : <integer>+ ;",
"feature-value-declaration-list": "<feature-value-declaration>",
"feature-value-name": "<custom-ident>",
"filter-function": "<blur()>|<brightness()>|<contrast()>|<drop-shadow()>|<grayscale()>|<hue-rotate()>|<invert()>|<opacity()>|<saturate()>|<sepia()>",
"filter-value-list": "[<filter-function>|<url>]+",
"final-bg-layer": "<'background-color'>||<bg-image>||<bg-position> [/ <bg-size>]?||<repeat-style>||<attachment>||<visual-box>||<visual-box>",
"fit-content()": "fit-content( <length-percentage [0,∞]> )",
"fixed-breadth": "<length-percentage>",
"fixed-repeat": "repeat( [<integer [1,∞]>] , [<line-names>? <fixed-size>]+ <line-names>? )",
"fixed-size": "<fixed-breadth>|minmax( <fixed-breadth> , <track-breadth> )|minmax( <inflexible-breadth> , <fixed-breadth> )",
"font-stretch-absolute": "normal|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded|<percentage>",
"font-variant-css2": "normal|small-caps",
"font-weight-absolute": "normal|bold|<number [1,1000]>",
"font-width-css3": "normal|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded",
"form-control-identifier": "select",
"frequency-percentage": "<frequency>|<percentage>",
"generic-complete": "serif|sans-serif|system-ui|cursive|fantasy|math|monospace",
"general-enclosed": "[<function-token> <any-value>? )]|[( <any-value>? )]",
"generic-family": "<generic-script-specific>|<generic-complete>|<generic-incomplete>|<-non-standard-generic-family>",
"generic-incomplete": "ui-serif|ui-sans-serif|ui-monospace|ui-rounded",
"geometry-box": "<shape-box>|fill-box|stroke-box|view-box",
"gradient": "<linear-gradient()>|<repeating-linear-gradient()>|<radial-gradient()>|<repeating-radial-gradient()>|<conic-gradient()>|<repeating-conic-gradient()>|<-legacy-gradient>",
"grayscale()": "grayscale( [<number>|<percentage>]? )",
"grid-line": "auto|<custom-ident>|[<integer>&&<custom-ident>?]|[span&&[<integer>||<custom-ident>]]",
"historical-lig-values": "[historical-ligatures|no-historical-ligatures]",
"hsl()": "<legacy-hsl-syntax>|<modern-hsl-syntax>",
"hsla()": "<legacy-hsla-syntax>|<modern-hsla-syntax>",
"hue": "<number>|<angle>",
"hue-interpolation-method": "[shorter|longer|increasing|decreasing] hue",
"hue-rotate()": "hue-rotate( [<angle>|<zero>]? )",
"hwb()": "<legacy-hwb-syntax>|<modern-hwb-syntax>",
"hypot()": "hypot( <calc-sum># )",
"image": "<url>|<image()>|<image-set()>|<element()>|<paint()>|<cross-fade()>|<gradient>",
"image()": "image( <image-tags>? [<image-src>? , <color>?]! )",
"image-set()": "image-set( <image-set-option># )",
"image-set-option": "[<image>|<string>] [<resolution>||type( <string> )]",
"image-src": "<url>|<string>",
"image-tags": "ltr|rtl",
"inflexible-breadth": "<length-percentage>|min-content|max-content|auto",
"inset()": "inset( <length-percentage>{1,4} [round <'border-radius'>]? )",
"invert()": "invert( [<number>|<percentage>]? )",
"keyframe-block": "<keyframe-selector># { <declaration-list> }",
"keyframe-selector": "from|to|<percentage [0,100]>|<timeline-range-name> <percentage>",
"keyframes-name": "<custom-ident>|<string>",
"lab()": "<legacy-lab-syntax>|<modern-lab-syntax>",
"layer()": "layer( <layer-name> )",
"layer-name": "<ident> ['.' <ident>]*",
"lch()": "<legacy-lch-syntax>|<modern-lch-syntax>",
"leader()": "leader( <leader-type> )",
"leader-type": "dotted|solid|space|<string>",
"length-percentage": "<length>|<percentage>",
"light-dark()": "light-dark( <color> , <color> )",
"line-name-list": "[<line-names>|<name-repeat>]+",
"line-names": "'[' <custom-ident>* ']'",
"line-style": "none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset",
"line-width": "<length>|thin|medium|thick",
"linear()": "linear( [<number>&&<percentage>{0,2}]# )",
"linear-color-hint": "<length-percentage>",
"linear-color-stop": "<color> <color-stop-length>?",
"linear-easing-function": "linear|<linear()>",
"linear-gradient()": "linear-gradient( [<linear-gradient-syntax>] )",
"linear-gradient-syntax": "[[<angle>|<zero>|to <side-or-corner>]||<color-interpolation-method>]? , <color-stop-list>",
"log()": "log( <calc-sum> , <calc-sum>? )",
"mask-layer": "<mask-reference>||<position> [/ <bg-size>]?||<repeat-style>||<geometry-box>||[<geometry-box>|no-clip]||<compositing-operator>||<masking-mode>",
"mask-position": "[<length-percentage>|left|center|right] [<length-percentage>|top|center|bottom]?",
"mask-reference": "none|<image>|<mask-source>",
"mask-source": "<url>",
"masking-mode": "alpha|luminance|match-source",
"matrix()": "matrix( <number>#{6} )",
"matrix3d()": "matrix3d( <number>#{16} )",
"max()": "max( <calc-sum># )",
"media-and": "<media-in-parens> [and <media-in-parens>]+",
"media-condition": "<media-not>|<media-and>|<media-or>|<media-in-parens>",
"media-condition-without-or": "<media-not>|<media-and>|<media-in-parens>",
"media-feature": "( [<mf-plain>|<mf-boolean>|<mf-range>] )",
"media-in-parens": "( <media-condition> )|<media-feature>|<general-enclosed>",
"media-not": "not <media-in-parens>",
"media-or": "<media-in-parens> [or <media-in-parens>]+",
"media-query": "<media-condition>|[not|only]? <media-type> [and <media-condition-without-or>]?",
"media-query-list": "<media-query>#",
"media-type": "<ident>",
"mf-boolean": "<mf-name>",
"mf-name": "<ident>",
"mf-plain": "<mf-name> : <mf-value>",
"mf-range": "<mf-name> ['<'|'>']? '='? <mf-value>|<mf-value> ['<'|'>']? '='? <mf-name>|<mf-value> '<' '='? <mf-name> '<' '='? <mf-value>|<mf-value> '>' '='? <mf-name> '>' '='? <mf-value>",
"mf-value": "<number>|<dimension>|<ident>|<ratio>",
"min()": "min( <calc-sum># )",
"minmax()": "minmax( [<length-percentage>|min-content|max-content|auto] , [<length-percentage>|<flex>|min-content|max-content|auto] )",
"mod()": "mod( <calc-sum> , <calc-sum> )",
"n-dimension": "<dimension-token>",
"name-repeat": "repeat( [<integer [1,∞]>|auto-fill] , <line-names>+ )",
"named-color": "aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen",
"namespace-prefix": "<ident>",
"ndash-dimension": "<dimension-token>",
"ndashdigit-dimension": "<dimension-token>",
"ndashdigit-ident": "<ident-token>",
"ns-prefix": "[<ident-token>|'*']? '|'",
"number-percentage": "<number>|<percentage>",
"numeric-figure-values": "[lining-nums|oldstyle-nums]",
"numeric-fraction-values": "[diagonal-fractions|stacked-fractions]",
"numeric-spacing-values": "[proportional-nums|tabular-nums]",
"offset-path": "<ray()>|<url>|<basic-shape>",
"oklab()": "<legacy-oklab-syntax>|<modern-oklab-syntax>",
"oklch()": "<legacy-oklch-syntax>|<modern-oklch-syntax>",
"opacity()": "opacity( [<number>|<percentage>]? )",
"opacity-value": "<number>|<percentage>",
"outline-line-style": "none|dotted|dashed|solid|double|groove|ridge|inset|outset",
"outline-radius": "<length>|<percentage>",
"overflow-position": "unsafe|safe",
"page-body": "<declaration>? [; <page-body>]?|<page-margin-box> <page-body>",
"page-margin-box": "<page-margin-box-type> '{' <declaration-list> '}'",
"page-margin-box-type": "@top-left-corner|@top-left|@top-center|@top-right|@top-right-corner|@bottom-left-corner|@bottom-left|@bottom-center|@bottom-right|@bottom-right-corner|@left-top|@left-middle|@left-bottom|@right-top|@right-middle|@right-bottom",
"page-selector": "<pseudo-page>+|<ident> <pseudo-page>*",
"page-selector-list": "[<page-selector>#]?",
"page-size": "A5|A4|A3|B5|B4|JIS-B5|JIS-B4|letter|legal|ledger",
"paint": "none|<color>|<url> [none|<color>]?|context-fill|context-stroke",
"paint()": "paint( <ident> , <declaration-value>? )",
"paint-box": "<visual-box>|fill-box|stroke-box",
"palette-identifier": "<dashed-ident>",
"palette-mix()": "palette-mix( <color-interpolation-method> , [[normal|light|dark|<palette-identifier>|<palette-mix()>]&&<percentage [0,100]>?]#{2} )",
"path()": "path( <'fill-rule'>? , <string> )",
"perspective()": "perspective( [<length [0,∞]>|none] )",
"polar-color-space": "hsl|hwb|lch|oklch",
"polygon()": "polygon( <'fill-rule'>? , [<length-percentage> <length-percentage>]# )",
"position": "[[left|center|right]||[top|center|bottom]|[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]?|[[left|right] <length-percentage>]&&[[top|bottom] <length-percentage>]]",
"position-area": "[[left|center|right|span-left|span-right|x-start|x-end|span-x-start|span-x-end|x-self-start|x-self-end|span-x-self-start|span-x-self-end|span-all]||[top|center|bottom|span-top|span-bottom|y-start|y-end|span-y-start|span-y-end|y-self-start|y-self-end|span-y-self-start|span-y-self-end|span-all]|[block-start|center|block-end|span-block-start|span-block-end|span-all]||[inline-start|center|inline-end|span-inline-start|span-inline-end|span-all]|[self-block-start|center|self-block-end|span-self-block-start|span-self-block-end|span-all]||[self-inline-start|center|self-inline-end|span-self-inline-start|span-self-inline-end|span-all]|[start|center|end|span-start|span-end|span-all]{1,2}|[self-start|center|self-end|span-self-start|span-self-end|span-all]{1,2}]",
"pow()": "pow( <calc-sum> , <calc-sum> )",
"predefined-rgb": "srgb|srgb-linear|display-p3|a98-rgb|prophoto-rgb|rec2020",
"predefined-rgb-params": "<predefined-rgb> [<number>|<percentage>|none]{3}",
"pseudo-class-selector": "':' <ident-token>|':' <function-token> <any-value> ')'",
"pseudo-element-selector": "':' <pseudo-class-selector>|<legacy-pseudo-element-selector>",
"pseudo-page": ": [left|right|first|blank]",
"query-in-parens": "( <container-condition> )|( <size-feature> )|style( <style-query> )|<general-enclosed>",
"quote": "open-quote|close-quote|no-open-quote|no-close-quote",
"radial-extent": "closest-corner|closest-side|farthest-corner|farthest-side",
"radial-gradient()": "radial-gradient( [<radial-gradient-syntax>] )",
"radial-gradient-syntax": "[[[<radial-shape>||<radial-size>]? [at <position>]?]||<color-interpolation-method>]? , <color-stop-list>",
"radial-shape": "circle|ellipse",
"radial-size": "<radial-extent>|<length [0,∞]>|<length-percentage [0,∞]>{2}",
"ratio": "<number [0,∞]> [/ <number [0,∞]>]?",
"ray()": "ray( <angle>&&<ray-size>?&&contain?&&[at <position>]? )",
"ray-size": "closest-side|closest-corner|farthest-side|farthest-corner|sides",
"rect()": "rect( [<length-percentage>|auto]{4} [round <'border-radius'>]? )",
"rectangular-color-space": "srgb|srgb-linear|display-p3|a98-rgb|prophoto-rgb|rec2020|lab|oklab|xyz|xyz-d50|xyz-d65",
"relative-selector": "<combinator>? <complex-selector>",
"relative-selector-list": "<relative-selector>#",
"relative-size": "larger|smaller",
"rem()": "rem( <calc-sum> , <calc-sum> )",
"repeat-style": "repeat-x|repeat-y|[repeat|space|round|no-repeat]{1,2}",
"repeating-conic-gradient()": "repeating-conic-gradient( [<conic-gradient-syntax>] )",
"repeating-linear-gradient()": "repeating-linear-gradient( [<linear-gradient-syntax>] )",
"repeating-radial-gradient()": "repeating-radial-gradient( [<radial-gradient-syntax>] )",
"reversed-counter-name": "reversed( <counter-name> )",
"rgb()": "<legacy-rgb-syntax>|<modern-rgb-syntax>",
"rgba()": "<legacy-rgba-syntax>|<modern-rgba-syntax>",
"rotate()": "rotate( [<angle>|<zero>] )",
"rotate3d()": "rotate3d( <number> , <number> , <number> , [<angle>|<zero>] )",
"rotateX()": "rotateX( [<angle>|<zero>] )",
"rotateY()": "rotateY( [<angle>|<zero>] )",
"rotateZ()": "rotateZ( [<angle>|<zero>] )",
"round()": "round( <rounding-strategy>? , <calc-sum> , <calc-sum> )",
"rounding-strategy": "nearest|up|down|to-zero",
"saturate()": "saturate( [<number>|<percentage>]? )",
"scale()": "scale( [<number>|<percentage>]#{1,2} )",
"scale3d()": "scale3d( [<number>|<percentage>]#{3} )",
"scaleX()": "scaleX( [<number>|<percentage>] )",
"scaleY()": "scaleY( [<number>|<percentage>] )",
"scaleZ()": "scaleZ( [<number>|<percentage>] )",
"scope-end": "<forgiving-selector-list>",
"scope-start": "<forgiving-selector-list>",
"scroll()": "scroll( [<scroller>||<axis>]? )",
"scroller": "root|nearest|self",
"scroll-state-feature": "<media-query-list>",
"scroll-state-in-parens": "( <scroll-state-query> )|( <scroll-state-feature> )|<general-enclosed>",
"scroll-state-query": "not <scroll-state-in-parens>|<scroll-state-in-parens> [[and <scroll-state-in-parens>]*|[or <scroll-state-in-parens>]*]|<scroll-state-feature>",
"selector-list": "<complex-selector-list>",
"self-position": "center|start|end|self-start|self-end|flex-start|flex-end",
"sepia()": "sepia( [<number>|<percentage>]? )",
"shadow": "inset?&&<length>{2,4}&&<color>?",
"shadow-t": "[<length>{2,3}&&<color>?]",
"shape": "rect( <top> , <right> , <bottom> , <left> )|rect( <top> <right> <bottom> <left> )",
"shape-box": "<visual-box>|margin-box",
"side-or-corner": "[left|right]||[top|bottom]",
"sign()": "sign( <calc-sum> )",
"signed-integer": "<number-token>",
"signless-integer": "<number-token>",
"sin()": "sin( <calc-sum> )",
"single-animation": "<'animation-duration'>||<easing-function>||<'animation-delay'>||<single-animation-iteration-count>||<single-animation-direction>||<single-animation-fill-mode>||<single-animation-play-state>||[none|<keyframes-name>]||<single-animation-timeline>",
"single-animation-composition": "replace|add|accumulate",
"single-animation-direction": "normal|reverse|alternate|alternate-reverse",
"single-animation-fill-mode": "none|forwards|backwards|both",
"single-animation-iteration-count": "infinite|<number>",
"single-animation-play-state": "running|paused",
"single-animation-timeline": "auto|none|<dashed-ident>|<scroll()>|<view()>",
"single-transition": "[none|<single-transition-property>]||<time>||<easing-function>||<time>||<transition-behavior-value>",
"single-transition-property": "all|<custom-ident>",
"size": "closest-side|farthest-side|closest-corner|farthest-corner|<length>|<length-percentage>{2}",
"size-feature": "<mf-plain>|<mf-boolean>|<mf-range>",
"skew()": "skew( [<angle>|<zero>] , [<angle>|<zero>]? )",
"skewX()": "skewX( [<angle>|<zero>] )",
"skewY()": "skewY( [<angle>|<zero>] )",
"sqrt()": "sqrt( <calc-sum> )",
"step-position": "jump-start|jump-end|jump-none|jump-both|start|end",
"step-easing-function": "step-start|step-end|<steps()>",
"steps()": "steps( <integer> , <step-position>? )",
"style-feature": "<declaration>",
"style-in-parens": "( <style-condition> )|( <style-feature> )|<general-enclosed>",
"style-query": "<style-condition>|<style-feature>",
"subclass-selector": "<id-selector>|<class-selector>|<attribute-selector>|<pseudo-class-selector>",
"supports-condition": "not <supports-in-parens>|<supports-in-parens> [and <supports-in-parens>]*|<supports-in-parens> [or <supports-in-parens>]*",
"supports-decl": "( <declaration> )",
"supports-feature": "<supports-decl>|<supports-selector-fn>",
"supports-in-parens": "( <supports-condition> )|<supports-feature>|<general-enclosed>",
"supports-selector-fn": "selector( <complex-selector> )",
"symbol": "<string>|<image>|<custom-ident>",
"symbols()": "symbols( <symbols-type>? [<string>|<image>]+ )",
"symbols-type": "cyclic|numeric|alphabetic|symbolic|fixed",
"system-color": "AccentColor|AccentColorText|ActiveText|ButtonBorder|ButtonFace|ButtonText|Canvas|CanvasText|Field|FieldText|GrayText|Highlight|HighlightText|LinkText|Mark|MarkText|SelectedItem|SelectedItemText|VisitedText",
"system-family-name": "caption|icon|menu|message-box|small-caption|status-bar",
"tan()": "tan( <calc-sum> )",
"target": "<target-counter()>|<target-counters()>|<target-text()>",
"target-counter()": "target-counter( [<string>|<url>] , <custom-ident> , <counter-style>? )",
"target-counters()": "target-counters( [<string>|<url>] , <custom-ident> , <string> , <counter-style>? )",
"target-text()": "target-text( [<string>|<url>] , [content|before|after|first-letter]? )",
"text-edge": "[text|cap|ex|ideographic|ideographic-ink] [text|alphabetic|ideographic|ideographic-ink]?",
"time-percentage": "<time>|<percentage>",
"timeline-range-name": "cover|contain|entry|exit|entry-crossing|exit-crossing",
"track-breadth": "<length-percentage>|<flex>|min-content|max-content|auto",
"track-list": "[<line-names>? [<track-size>|<track-repeat>]]+ <line-names>?",
"track-repeat": "repeat( [<integer [1,∞]>] , [<line-names>? <track-size>]+ <line-names>? )",
"track-size": "<track-breadth>|minmax( <inflexible-breadth> , <track-breadth> )|fit-content( <length-percentage> )",
"transform-function": "<matrix()>|<translate()>|<translateX()>|<translateY()>|<scale()>|<scaleX()>|<scaleY()>|<rotate()>|<skew()>|<skewX()>|<skewY()>|<matrix3d()>|<translate3d()>|<translateZ()>|<scale3d()>|<scaleZ()>|<rotate3d()>|<rotateX()>|<rotateY()>|<rotateZ()>|<perspective()>",
"transform-list": "<transform-function>+",
"transition-behavior-value": "normal|allow-discrete",
"translate()": "translate( <length-percentage> , <length-percentage>? )",
"translate3d()": "translate3d( <length-percentage> , <length-percentage> , <length> )",
"translateX()": "translateX( <length-percentage> )",
"translateY()": "translateY( <length-percentage> )",
"translateZ()": "translateZ( <length> )",
"try-size": "most-width|most-height|most-block-size|most-inline-size",
"try-tactic": "flip-block||flip-inline||flip-start",
"type-or-unit": "string|color|url|integer|number|length|angle|time|frequency|cap|ch|em|ex|ic|lh|rlh|rem|vb|vi|vw|vh|vmin|vmax|mm|Q|cm|in|pt|pc|px|deg|grad|rad|turn|ms|s|Hz|kHz|%",
"type-selector": "<wq-name>|<ns-prefix>? '*'",
"var()": "var( <custom-property-name> , <declaration-value>? )",
"view()": "view( [<axis>||<'view-timeline-inset'>]? )",
"viewport-length": "auto|<length-percentage>",
"visual-box": "content-box|padding-box|border-box",
"wq-name": "<ns-prefix>? <ident-token>",
"xywh()": "xywh( <length-percentage>{2} <length-percentage [0,∞]>{2} [round <'border-radius'>]? )",
"xyz": "xyz|xyz-d50|xyz-d65",
"xyz-params": "<xyz-space> [<number>|<percentage>|none]{3}",
"-legacy-gradient": "<-webkit-gradient()>|<-legacy-linear-gradient>|<-legacy-repeating-linear-gradient>|<-legacy-radial-gradient>|<-legacy-repeating-radial-gradient>",
"-legacy-linear-gradient": "-moz-linear-gradient( <-legacy-linear-gradient-arguments> )|-webkit-linear-gradient( <-legacy-linear-gradient-arguments> )|-o-linear-gradient( <-legacy-linear-gradient-arguments> )",
"-legacy-repeating-linear-gradient": "-moz-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )|-webkit-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )|-o-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )",
"-legacy-linear-gradient-arguments": "[<angle>|<side-or-corner>]? , <color-stop-list>",
"-legacy-radial-gradient": "-moz-radial-gradient( <-legacy-radial-gradient-arguments> )|-webkit-radial-gradient( <-legacy-radial-gradient-arguments> )|-o-radial-gradient( <-legacy-radial-gradient-arguments> )",
"-legacy-repeating-radial-gradient": "-moz-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )|-webkit-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )|-o-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )",
"-legacy-radial-gradient-arguments": "[<position> ,]? [[[<-legacy-radial-gradient-shape>||<-legacy-radial-gradient-size>]|[<length>|<percentage>]{2}] ,]? <color-stop-list>",
"-legacy-radial-gradient-size": "closest-side|closest-corner|farthest-side|farthest-corner|contain|cover",
"-legacy-radial-gradient-shape": "circle|ellipse",
"-non-standard-font": "-apple-system-body|-apple-system-headline|-apple-system-subheadline|-apple-system-caption1|-apple-system-caption2|-apple-system-footnote|-apple-system-short-body|-apple-system-short-headline|-apple-system-short-subheadline|-apple-system-short-caption1|-apple-system-short-footnote|-apple-system-tall-body",
"-non-standard-color": "-moz-ButtonDefault|-moz-ButtonHoverFace|-moz-ButtonHoverText|-moz-CellHighlight|-moz-CellHighlightText|-moz-Combobox|-moz-ComboboxText|-moz-Dialog|-moz-DialogText|-moz-dragtargetzone|-moz-EvenTreeRow|-moz-Field|-moz-FieldText|-moz-html-CellHighlight|-moz-html-CellHighlightText|-moz-mac-accentdarkestshadow|-moz-mac-accentdarkshadow|-moz-mac-accentface|-moz-mac-accentlightesthighlight|-moz-mac-accentlightshadow|-moz-mac-accentregularhighlight|-moz-mac-accentregularshadow|-moz-mac-chrome-active|-moz-mac-chrome-inactive|-moz-mac-focusring|-moz-mac-menuselect|-moz-mac-menushadow|-moz-mac-menutextselect|-moz-MenuHover|-moz-MenuHoverText|-moz-MenuBarText|-moz-MenuBarHoverText|-moz-nativehyperlinktext|-moz-OddTreeRow|-moz-win-communicationstext|-moz-win-mediatext|-moz-activehyperlinktext|-moz-default-background-color|-moz-default-color|-moz-hyperlinktext|-moz-visitedhyperlinktext|-webkit-activelink|-webkit-focus-ring-color|-webkit-link|-webkit-text",
"-non-standard-image-rendering": "optimize-contrast|-moz-crisp-edges|-o-crisp-edges|-webkit-optimize-contrast",
"-non-standard-overflow": "overlay|-moz-scrollbars-none|-moz-scrollbars-horizontal|-moz-scrollbars-vertical|-moz-hidden-unscrollable",
"-non-standard-size": "intrinsic|min-intrinsic|-webkit-fill-available|-webkit-fit-content|-webkit-min-content|-webkit-max-content|-moz-available|-moz-fit-content|-moz-min-content|-moz-max-content",
"-webkit-gradient()": "-webkit-gradient( <-webkit-gradient-type> , <-webkit-gradient-point> [, <-webkit-gradient-point>|, <-webkit-gradient-radius> , <-webkit-gradient-point>] [, <-webkit-gradient-radius>]? [, <-webkit-gradient-color-stop>]* )",
"-webkit-gradient-color-stop": "from( <color> )|color-stop( [<number-zero-one>|<percentage>] , <color> )|to( <color> )",
"-webkit-gradient-point": "[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]",
"-webkit-gradient-radius": "<length>|<percentage>",
"-webkit-gradient-type": "linear|radial",
"-webkit-mask-box-repeat": "repeat|stretch|round",
"-ms-filter-function-list": "<-ms-filter-function>+",
"-ms-filter-function": "<-ms-filter-function-progid>|<-ms-filter-function-legacy>",
"-ms-filter-function-progid": "'progid:' [<ident-token> '.']* [<ident-token>|<function-token> <any-value>? )]",
"-ms-filter-function-legacy": "<ident-token>|<function-token> <any-value>? )",
"age": "child|young|old",
"attr-name": "<wq-name>",
"attr-fallback": "<any-value>",
"bottom": "<length>|auto",
"generic-voice": "[<age>? <gender> <integer>?]",
"gender": "male|female|neutral",
"generic-script-specific": "generic( kai )|generic( fangsong )|generic( nastaliq )",
"-non-standard-generic-family": "-apple-system|BlinkMacSystemFont",
"intrinsic-size-keyword": "min-content|max-content|fit-content",
"left": "<length>|auto",
"device-cmyk()": "<legacy-device-cmyk-syntax>|<modern-device-cmyk-syntax>",
"legacy-device-cmyk-syntax": "device-cmyk( <number>#{4} )",
"modern-device-cmyk-syntax": "device-cmyk( <cmyk-component>{4} [/ [<alpha-value>|none]]? )",
"cmyk-component": "<number>|<percentage>|none",
"color-space": "<rectangular-color-space>|<polar-color-space>|<custom-color-space>",
"right": "<length>|auto",
"forgiving-selector-list": "<complex-real-selector-list>",
"forgiving-relative-selector-list": "<relative-real-selector-list>",
"complex-real-selector-list": "<complex-real-selector>#",
"simple-selector-list": "<simple-selector>#",
"relative-real-selector-list": "<relative-real-selector>#",
"complex-selector-unit": "[<compound-selector>? <pseudo-compound-selector>*]!",
"complex-real-selector": "<compound-selector> [<combinator>? <compound-selector>]*",
"relative-real-selector": "<combinator>? <complex-real-selector>",
"pseudo-compound-selector": "<pseudo-element-selector> <pseudo-class-selector>*",
"simple-selector": "<type-selector>|<subclass-selector>",
"legacy-pseudo-element-selector": "':' [before|after|first-line|first-letter]",
"svg-length": "<percentage>|<length>|<number>",
"svg-writing-mode": "lr-tb|rl-tb|tb-rl|lr|rl|tb",
"top": "<length>|auto",
"x": "<number>",
"y": "<number>",
"declaration": "<ident-token> : <declaration-value>? ['!' important]?",
"declaration-list": "[<declaration>? ';']* <declaration>?",
"url": "url( <string> <url-modifier>* )|<url-token>",
"url-modifier": "<ident>|<function-token> <any-value> )",
"number-zero-one": "<number [0,1]>",
"number-one-or-greater": "<number [1,∞]>",
"rgb-component": "r|g|b|alpha",
"legacy-rgb-syntax": "rgb( <percentage>#{3} , <alpha-value>? )|rgb( <number>#{3} , <alpha-value>? )|rgb( [<number>|<percentage>|none]{3} [/ [<alpha-value>|none]]? )",
"modern-rgb-syntax": "rgb( from <color> [<number>|<percentage>|<rgb-component>]{3} [/ [<alpha-value>|<rgb-component>]]? )",
"legacy-rgba-syntax": "rgba( <percentage>#{3} , <alpha-value>? )|rgba( <number>#{3} , <alpha-value>? )|rgba( [<number>|<percentage>|none]{3} [/ [<alpha-value>|none]]? )",
"modern-rgba-syntax": "rgba( from <color> [<number>|<percentage>|<rgb-component>]{3} [/ [<alpha-value>|<rgb-component>]]? )",
"hsl-component": "h|s|l|alpha",
"legacy-hsl-syntax": "hsl( <hue> , <percentage> , <percentage> , <alpha-value>? )|hsl( [<hue>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )",
"modern-hsl-syntax": "hsl( from <color> [<hue>|<percentage>|<number>|<hsl-component>|none] [<percentage>|<number>|<hsl-component>|none] [<percentage>|<number>|<hsl-component>|none] [/ [<alpha-value>|<hsl-component>|none]]? )",
"legacy-hsla-syntax": "hsla( <hue> , <percentage> , <percentage> , <alpha-value>? )|hsla( [<hue>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )",
"modern-hsla-syntax": "hsla( from <color> [<hue>|<percentage>|<number>|<hsl-component>|none] [<percentage>|<number>|<hsl-component>|none] [<percentage>|<number>|<hsl-component>|none] [/ [<alpha-value>|<hsl-component>|none]]? )",
"hwb-component": "h|w|b",
"legacy-hwb-syntax": "hwb( [<hue>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )",
"modern-hwb-syntax": "hwb( from <color> [<hue>|<percentage>|<number>|<hwb-component>|none] [<percentage>|<number>|<hwb-component>|none] [<percentage>|<number>|<hwb-component>|none] [/ [<alpha-value>|<hwb-component>|none]]? )",
"lab-component": "l|a|b|alpha",
"legacy-lab-syntax": "lab( [<percentage>|<number>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )",
"modern-lab-syntax": "lab( from <color> [<number>|<percentage>|<lab-component>]{3} [/ [<alpha-value>|<lab-component>]]? )",
"legacy-oklab-syntax": "oklab( [<percentage>|<number>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )",
"modern-oklab-syntax": "oklab( from <color> [<number>|<percentage>|<lab-component>]{3} [/ [<alpha-value>|<lab-component>]]? )",
"lch-component": "l|c|h|alpha",
"legacy-lch-syntax": "lch( [<percentage>|<number>|none] [<percentage>|<number>|none] [<hue>|none] [/ [<alpha-value>|none]]? )",
"modern-lch-syntax": "lch( from <color> [<number>|<percentage>|<lch-component>]{3} [/ [<alpha-value>|<lch-component>]]? )",
"legacy-oklch-syntax": "oklch( [<percentage>|<number>|none] [<percentage>|<number>|none] [<hue>|none] [/ [<alpha-value>|none]]? )",
"modern-oklch-syntax": "oklch( from <color> [<number>|<percentage>|<lch-component>]{3} [/ [<alpha-value>|<lch-component>]]? )",
"xyz-space": "xyz|xyz-d50|xyz-d65",
"style-condition": "not <style-in-parens>|<style-in-parens> [[and <style-in-parens>]*|[or <style-in-parens>]*]",
"-non-standard-display": "-ms-inline-flexbox|-ms-grid|-ms-inline-grid|-webkit-flex|-webkit-inline-flex|-webkit-box|-webkit-inline-box|-moz-inline-stack|-moz-box|-moz-inline-box",
"inset-area": "[[left|center|right|span-left|span-right|x-start|x-end|span-x-start|span-x-end|x-self-start|x-self-end|span-x-self-start|span-x-self-end|span-all]||[top|center|bottom|span-top|span-bottom|y-start|y-end|span-y-start|span-y-end|y-self-start|y-self-end|span-y-self-start|span-y-self-end|span-all]|[block-start|center|block-end|span-block-start|span-block-end|span-all]||[inline-start|center|inline-end|span-inline-start|span-inline-end|span-all]|[self-block-start|self-block-end|span-self-block-start|span-self-block-end|span-all]||[self-inline-start|self-inline-end|span-self-inline-start|span-self-inline-end|span-all]|[start|center|end|span-start|span-end|span-all]{1,2}|[self-start|center|self-end|span-self-start|span-self-end|span-all]{1,2}]"
},
"properties": {
"--*": "<declaration-value>",
"-ms-accelerator": "false|true",
"-ms-block-progression": "tb|rl|bt|lr",
"-ms-content-zoom-chaining": "none|chained",
"-ms-content-zoom-limit": "<'-ms-content-zoom-limit-min'> <'-ms-content-zoom-limit-max'>",
"-ms-content-zoom-limit-max": "<percentage>",
"-ms-content-zoom-limit-min": "<percentage>",
"-ms-content-zoom-snap": "<'-ms-content-zoom-snap-type'>||<'-ms-content-zoom-snap-points'>",
"-ms-content-zoom-snap-points": "snapInterval( <percentage> , <percentage> )|snapList( <percentage># )",
"-ms-content-zoom-snap-type": "none|proximity|mandatory",
"-ms-content-zooming": "none|zoom",
"-ms-filter": "<string>",
"-ms-flow-from": "[none|<custom-ident>]#",
"-ms-flow-into": "[none|<custom-ident>]#",
"-ms-grid-columns": "none|<track-list>|<auto-track-list>",
"-ms-grid-rows": "none|<track-list>|<auto-track-list>",
"-ms-high-contrast-adjust": "auto|none",
"-ms-hyphenate-limit-chars": "auto|<integer>{1,3}",
"-ms-hyphenate-limit-lines": "no-limit|<integer>",
"-ms-hyphenate-limit-zone": "<percentage>|<length>",
"-ms-ime-align": "auto|after",
"-ms-overflow-style": "auto|none|scrollbar|-ms-autohiding-scrollbar",
"-ms-scroll-chaining": "chained|none",
"-ms-scroll-limit": "<'-ms-scroll-limit-x-min'> <'-ms-scroll-limit-y-min'> <'-ms-scroll-limit-x-max'> <'-ms-scroll-limit-y-max'>",
"-ms-scroll-limit-x-max": "auto|<length>",
"-ms-scroll-limit-x-min": "<length>",
"-ms-scroll-limit-y-max": "auto|<length>",
"-ms-scroll-limit-y-min": "<length>",
"-ms-scroll-rails": "none|railed",
"-ms-scroll-snap-points-x": "snapInterval( <length-percentage> , <length-percentage> )|snapList( <length-percentage># )",
"-ms-scroll-snap-points-y": "snapInterval( <length-percentage> , <length-percentage> )|snapList( <length-percentage># )",
"-ms-scroll-snap-type": "none|proximity|mandatory",
"-ms-scroll-snap-x": "<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-x'>",
"-ms-scroll-snap-y": "<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-y'>",
"-ms-scroll-translation": "none|vertical-to-horizontal",
"-ms-scrollbar-3dlight-color": "<color>",
"-ms-scrollbar-arrow-color": "<color>",
"-ms-scrollbar-base-color": "<color>",
"-ms-scrollbar-darkshadow-color": "<color>",
"-ms-scrollbar-face-color": "<color>",
"-ms-scrollbar-highlight-color": "<color>",
"-ms-scrollbar-shadow-color": "<color>",
"-ms-scrollbar-track-color": "<color>",
"-ms-text-autospace": "none|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space",
"-ms-touch-select": "grippers|none",
"-ms-user-select": "none|element|text",
"-ms-wrap-flow": "auto|both|start|end|maximum|clear",
"-ms-wrap-margin": "<length>",
"-ms-wrap-through": "wrap|none",
"-moz-appearance": "none|button|button-arrow-down|button-arrow-next|button-arrow-previous|button-arrow-up|button-bevel|button-focus|caret|checkbox|checkbox-container|checkbox-label|checkmenuitem|dualbutton|groupbox|listbox|listitem|menuarrow|menubar|menucheckbox|menuimage|menuitem|menuitemtext|menulist|menulist-button|menulist-text|menulist-textfield|menupopup|menuradio|menuseparator|meterbar|meterchunk|progressbar|progressbar-vertical|progresschunk|progresschunk-vertical|radio|radio-container|radio-label|radiomenuitem|range|range-thumb|resizer|resizerpanel|scale-horizontal|scalethumbend|scalethumb-horizontal|scalethumbstart|scalethumbtick|scalethumb-vertical|scale-vertical|scrollbarbutton-down|scrollbarbutton-left|scrollbarbutton-right|scrollbarbutton-up|scrollbarthumb-horizontal|scrollbarthumb-vertical|scrollbartrack-horizontal|scrollbartrack-vertical|searchfield|separator|sheet|spinner|spinner-downbutton|spinner-textfield|spinner-upbutton|splitter|statusbar|statusbarpanel|tab|tabpanel|tabpanels|tab-scroll-arrow-back|tab-scroll-arrow-forward|textfield|textfield-multiline|toolbar|toolbarbutton|toolbarbutton-dropdown|toolbargripper|toolbox|tooltip|treeheader|treeheadercell|treeheadersortarrow|treeitem|treeline|treetwisty|treetwistyopen|treeview|-moz-mac-unified-toolbar|-moz-win-borderless-glass|-moz-win-browsertabbar-toolbox|-moz-win-communicationstext|-moz-win-communications-toolbox|-moz-win-exclude-glass|-moz-win-glass|-moz-win-mediatext|-moz-win-media-toolbox|-moz-window-button-box|-moz-window-button-box-maximized|-moz-window-button-close|-moz-window-button-maximize|-moz-window-button-minimize|-moz-window-button-restore|-moz-window-frame-bottom|-moz-window-frame-left|-moz-window-frame-right|-moz-window-titlebar|-moz-window-titlebar-maximized",
"-moz-binding": "<url>|none",
"-moz-border-bottom-colors": "<color>+|none",
"-moz-border-left-colors": "<color>+|none",
"-moz-border-right-colors": "<color>+|none",
"-moz-border-top-colors": "<color>+|none",
"-moz-context-properties": "none|[fill|fill-opacity|stroke|stroke-opacity]#",
"-moz-float-edge": "border-box|content-box|margin-box|padding-box",
"-moz-force-broken-image-icon": "0|1",
"-moz-orient": "inline|block|horizontal|vertical",
"-moz-outline-radius": "<outline-radius>{1,4} [/ <outline-radius>{1,4}]?",
"-moz-outline-radius-bottomleft": "<outline-radius>",
"-moz-outline-radius-bottomright": "<outline-radius>",
"-moz-outline-radius-topleft": "<outline-radius>",
"-moz-outline-radius-topright": "<outline-radius>",
"-moz-stack-sizing": "ignore|stretch-to-fit",
"-moz-text-blink": "none|blink",
"-moz-user-focus": "ignore|normal|select-after|select-before|select-menu|select-same|select-all|none",
"-moz-user-input": "auto|none|enabled|disabled",
"-moz-user-modify": "read-only|read-write|write-only",
"-moz-window-dragging": "drag|no-drag",
"-moz-window-shadow": "default|menu|tooltip|sheet|none",
"-webkit-appearance": "none|button|button-bevel|caps-lock-indicator|caret|checkbox|default-button|inner-spin-button|listbox|listitem|media-controls-background|media-controls-fullscreen-background|media-current-time-display|medi