{
    "the-active-pseudo": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/active.json",
            "name": "active",
            "slug": "CSS/:active",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:active",
            "summary": "The :active CSS pseudo-class represents an element (such as a button) that is being activated by the user. When using a mouse, \"activation\" typically starts when the user presses down the primary mouse button.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "4"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "5"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":active"
        }
    ],
    "adjacent-sibling-combinators": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/adjacent_sibling.json",
            "name": "adjacent_sibling",
            "slug": "CSS/Adjacent_sibling_combinator",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/Adjacent_sibling_combinator",
            "summary": "The adjacent sibling combinator (+) separates two selectors and matches the second element only if it immediately follows the first element, and both are children of the same parent element.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "7",
                    "notes": [
                        "Before Internet Explorer 10, the combinator only works in standards mode.",
                        "Internet Explorer 7 doesn't update the style correctly when an element is dynamically placed before an element that matched the selector.",
                        "In Internet Explorer 8, if an element is inserted dynamically by clicking on a link the first-child style isn't applied until the link loses focus."
                    ]
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "3.5"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "37"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Adjacent sibling combinator"
        }
    ],
    "the-any-link-pseudo": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/any-link.json",
            "name": "any-link",
            "slug": "CSS/:any-link",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:any-link",
            "summary": "The :any-link CSS pseudo-class selector represents an element that acts as the source anchor of a hyperlink, independent of whether it has been visited. In other words, it matches every <a> or <area> element that has an href attribute. Thus, it matches all elements that match :link or :visited.",
            "support": {
                "chrome": [
                    {
                        "version_added": "65"
                    },
                    {
                        "prefix": "-webkit-",
                        "version_added": "1"
                    }
                ],
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": [
                    {
                        "version_added": "50"
                    },
                    {
                        "version_added": "1",
                        "version_removed": "50",
                        "prefix": "-moz-"
                    }
                ],
                "firefox_android": "mirror",
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": [
                    {
                        "version_added": "9"
                    },
                    {
                        "version_added": "3",
                        "prefix": "-webkit-"
                    },
                    {
                        "version_added": "1.2",
                        "version_removed": "3",
                        "prefix": "-khtml-"
                    }
                ],
                "safari_ios": [
                    {
                        "version_added": "9"
                    },
                    {
                        "prefix": "-webkit-",
                        "version_added": "1"
                    }
                ],
                "samsunginternet_android": "mirror",
                "webview_android": [
                    {
                        "version_added": "65"
                    },
                    {
                        "prefix": "-webkit-",
                        "version_added": "37"
                    }
                ],
                "edge_blink": [
                    {
                        "version_added": "79"
                    },
                    {
                        "prefix": "-webkit-",
                        "version_added": "79"
                    }
                ]
            },
            "caniuse": {
                "feature": "css-any-link",
                "title": "CSS :any-link selector"
            },
            "title": ":any-link"
        }
    ],
    "attribute-selectors": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/attribute.json",
            "name": "attribute",
            "slug": "CSS/Attribute_selectors",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors",
            "summary": "The CSS attribute selector matches elements based on the element having a given attribute explicitly set, with options for defining an attribute value or substring value match.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "7"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "9"
                },
                "opera_android": "mirror",
                "safari": {
                    "version_added": "3"
                },
                "safari_ios": {
                    "version_added": "1"
                },
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "37"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Attribute selectors"
        }
    ],
    "blank-pseudo": [
        {
            "engines": [],
            "filename": "css/selectors/blank.json",
            "name": "blank",
            "slug": "CSS/:blank",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:blank",
            "summary": "The :blank CSS pseudo-class selects empty user input elements (e.g. <input> or <textarea>).",
            "support": {
                "chrome": {
                    "version_added": false
                },
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": {
                    "version_added": false,
                    "notes": "See <a href='https://bugzil.la/1197736'>bug 1197736</a>."
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": false
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": false
                }
            },
            "title": ":blank"
        }
    ],
    "checked": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/checked.json",
            "name": "checked",
            "slug": "CSS/:checked",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:checked",
            "summary": "The :checked CSS pseudo-class selector represents any radio (<input type=\"radio\">), checkbox (<input type=\"checkbox\">), or option (<option> in a <select>) element that is checked or toggled to an on state.",
            "support": {
                "chrome": {
                    "version_added": "1",
                    "notes": "On macOS, styling <code>&lt;option&gt;</code> elements has no effect."
                },
                "chrome_android": {
                    "version_added": "18"
                },
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1",
                    "notes": [
                        "From Firefox 56, <code>&lt;option&gt;</code> elements cannot be styled.",
                        "On macOS, styling <code>&lt;option&gt;</code> elements has no effect."
                    ]
                },
                "firefox_android": {
                    "version_added": "4",
                    "notes": "From Firefox 56, <code>&lt;option&gt;</code> elements cannot be styled."
                },
                "ie": {
                    "version_added": "9"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "9",
                    "notes": "On macOS, styling <code>&lt;option&gt;</code> elements has no effect."
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "3.1",
                    "notes": "Styling <code>&lt;option&gt;</code> elements has no effect."
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "2"
                },
                "edge_blink": {
                    "version_added": "79",
                    "notes": "On macOS, styling <code>&lt;option&gt;</code> elements has no effect."
                }
            },
            "title": ":checked"
        }
    ],
    "child-combinators": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/child.json",
            "name": "child",
            "slug": "CSS/Child_combinator",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/Child_combinator",
            "summary": "The child combinator (>) is placed between two CSS selectors. It matches only those elements matched by the second selector that are the direct children of elements matched by the first.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "7",
                    "notes": "Before Internet Explorer 10, the combinator only works in standards mode."
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "4"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "37"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Child combinator"
        }
    ],
    "class-html": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/class.json",
            "name": "class",
            "slug": "CSS/Class_selectors",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/Class_selectors",
            "summary": "The CSS class selector matches elements based on the contents of their class attribute.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "3"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "3.5"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "37"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Class selectors"
        }
    ],
    "the-column-combinator": [
        {
            "engines": [],
            "filename": "css/selectors/column.json",
            "name": "column",
            "slug": "CSS/Column_combinator",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/Column_combinator",
            "summary": "The column combinator (||) is placed between two CSS selectors. It matches only those elements matched by the second selector that belong to the column elements matched by the first.",
            "support": {
                "chrome": {
                    "version_added": false
                },
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": {
                    "version_added": false,
                    "notes": "See <a href='https://bugzil.la/1605558'>bug 1605558</a>."
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": false
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": false
                }
            },
            "title": "Column combinator"
        }
    ],
    "default-pseudo": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/default.json",
            "name": "default",
            "slug": "CSS/:default",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:default",
            "summary": "The :default CSS pseudo-class selects form elements that are the default in a group of related elements.",
            "support": {
                "chrome": {
                    "version_added": "10"
                },
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": {
                    "version_added": "4"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "10"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "5"
                },
                "safari_ios": {
                    "version_added": "5"
                },
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "37"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":default"
        }
    ],
    "descendant-combinators": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/descendant.json",
            "name": "descendant",
            "slug": "CSS/Descendant_combinator",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/Descendant_combinator",
            "summary": "The descendant combinator — typically represented by a single space (\" \") character — combines two selectors such that elements matched by the second selector are selected if they have an ancestor (parent, parent's parent, parent's parent's parent, etc.) element matching the first selector. Selectors that utilize a descendant combinator are called descendant selectors.",
            "support": {
                "chrome": {
                    "version_added": "1",
                    "notes": "Since Chrome 61, <code>&gt;&gt;&gt;</code> is aliased to this selector <a href='https://developers.google.com/web/updates/2017/06/chrome-60-deprecations#make_shadow-piercing_descendant_combinator_behave_like_descendent_combinator'>since its use as the 'shadow-piercing descendant combinator' was deprecated</a>."
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "3"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "3.5"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79",
                    "notes": "Since Chrome 61, <code>&gt;&gt;&gt;</code> is aliased to this selector <a href='https://developers.google.com/web/updates/2017/06/chrome-60-deprecations#make_shadow-piercing_descendant_combinator_behave_like_descendent_combinator'>since its use as the 'shadow-piercing descendant combinator' was deprecated</a>."
                }
            },
            "caniuse": {
                "feature": "css-descendant-gtgt",
                "title": "Explicit descendant combinator >>"
            },
            "title": "Descendant combinator"
        }
    ],
    "the-dir-pseudo": [
        {
            "engines": [
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/dir.json",
            "name": "dir",
            "slug": "CSS/:dir",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:dir",
            "summary": "The :dir() CSS pseudo-class matches elements based on the directionality of the text contained in them.",
            "support": {
                "chrome": {
                    "version_added": false
                },
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": [
                    {
                        "version_added": "49"
                    },
                    {
                        "prefix": "-moz-",
                        "version_added": "17",
                        "version_removed": "53"
                    }
                ],
                "firefox_android": "mirror",
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "16.4"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": false
                }
            },
            "caniuse": {
                "feature": "css-dir-pseudo",
                "title": ":dir() CSS pseudo-class"
            },
            "title": ":dir()"
        }
    ],
    "enableddisabled": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/disabled.json",
            "name": "disabled",
            "slug": "CSS/:disabled",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:disabled",
            "summary": "The :disabled CSS pseudo-class represents any disabled element. An element is disabled if it can't be activated (selected, clicked on, typed into, etc.) or accept focus. The element also has an enabled state, in which it can be activated or accept focus.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "9",
                    "notes": "Internet Explorer does not recognize <code>:disabled</code> on the <a href='https://developer.mozilla.org/docs/Web/HTML/Element/fieldset'><code>&lt;fieldset&gt;</code></a> element."
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "9"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "3.1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "2"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":disabled"
        },
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/enabled.json",
            "name": "enabled",
            "slug": "CSS/:enabled",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:enabled",
            "summary": "The :enabled CSS pseudo-class represents any enabled element. An element is enabled if it can be activated (selected, clicked on, typed into, etc.) or accept focus. The element also has a disabled state, in which it can't be activated or accept focus.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "9"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "9"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "3.1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "2"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":enabled"
        }
    ],
    "the-empty-pseudo": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/empty.json",
            "name": "empty",
            "slug": "CSS/:empty",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:empty",
            "summary": "The :empty CSS pseudo-class represents any element that has no children. Children can be either element nodes or text (including whitespace). Comments, processing instructions, and CSS content do not affect whether an element is considered empty.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "9"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "9.5"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "3.1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "2"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":empty"
        }
    ],
    "first-child-pseudo": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/first-child.json",
            "name": "first-child",
            "slug": "CSS/:first-child",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:first-child",
            "summary": "The :first-child CSS pseudo-class represents the first element among a group of sibling elements.",
            "support": {
                "chrome": {
                    "version_added": "4"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "3"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "7",
                    "notes": [
                        "Internet Explorer 7 doesn't update <code>:first-child</code> styles when elements are added dynamically.",
                        "In Internet Explorer 8, if an element is inserted dynamically by clicking on a link, then the <code>:first-child</code> style isn't applied until the link loses focus."
                    ]
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "9.5"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "3.1"
                },
                "safari_ios": {
                    "version_added": "4"
                },
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "37"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":first-child"
        }
    ],
    "first-of-type-pseudo": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/first-of-type.json",
            "name": "first-of-type",
            "slug": "CSS/:first-of-type",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:first-of-type",
            "summary": "The :first-of-type CSS pseudo-class represents the first element of its type among a group of sibling elements.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "3.5"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "9",
                    "notes": "Internet Explorer treats all unknown elements (such as custom elements) as the same element type."
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "9.5"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "3.1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "2"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":first-of-type"
        }
    ],
    "the-focus-visible-pseudo": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/focus-visible.json",
            "name": "focus-visible",
            "slug": "CSS/:focus-visible",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible",
            "summary": "The :focus-visible pseudo-class applies while an element matches the :focus pseudo-class and the UA (User Agent) determines via heuristics that the focus should be made evident on the element. (Many browsers show a \"focus ring\" by default in this case.)",
            "support": {
                "chrome": {
                    "version_added": "86"
                },
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": [
                    {
                        "version_added": "85"
                    },
                    {
                        "version_added": "4",
                        "alternative_name": ":-moz-focusring"
                    }
                ],
                "firefox_android": "mirror",
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "15.4"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "86"
                }
            },
            "caniuse": {
                "feature": "css-focus-visible",
                "title": ":focus-visible CSS pseudo-class"
            },
            "title": ":focus-visible"
        }
    ],
    "the-focus-within-pseudo": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/focus-within.json",
            "name": "focus-within",
            "slug": "CSS/:focus-within",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-within",
            "summary": "The :focus-within CSS pseudo-class matches an element if the element or any of its descendants are focused. In other words, it represents an element that is itself matched by the :focus pseudo-class or has a descendant that is matched by :focus. (This includes descendants in shadow trees.)",
            "support": {
                "chrome": {
                    "version_added": "60"
                },
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": {
                    "version_added": "52"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "10.1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "caniuse": {
                "feature": "css-focus-within",
                "title": ":focus-within CSS pseudo-class"
            },
            "title": ":focus-within"
        }
    ],
    "focus-pseudo": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/focus.json",
            "name": "focus",
            "slug": "CSS/:focus",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:focus",
            "summary": "The :focus CSS pseudo-class represents an element (such as a form input) that has received focus. It is generally triggered when the user clicks or taps on an element or selects it with the keyboard's Tab key.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "8"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "7"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":focus"
        }
    ],
    "the-future-pseudo": [
        {
            "engines": [
                "webkit"
            ],
            "filename": "css/selectors/future.json",
            "name": "future",
            "slug": "CSS/:future",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:future",
            "summary": "The :future CSS pseudo-class selector is a time-dimensional pseudo-class that will match for any element which appears entirely after an element that matches :current. For example in a video with captions which are being displayed by WebVTT.",
            "support": {
                "chrome": {
                    "version_added": false
                },
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": {
                    "version_added": false
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "7"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": false
                }
            },
            "title": ":future"
        }
    ],
    "general-sibling-combinators": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/general_sibling.json",
            "name": "general_sibling",
            "slug": "CSS/General_sibling_combinator",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/General_sibling_combinator",
            "summary": "The general sibling combinator (~) separates two selectors and matches all iterations of the second element, that are following the first element (though not necessarily immediately), and are children of the same parent element.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "7",
                    "notes": "Before Internet Explorer 10, the combinator only works in standards mode."
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "9"
                },
                "opera_android": "mirror",
                "safari": {
                    "version_added": "3"
                },
                "safari_ios": {
                    "version_added": "1"
                },
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "37"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "General sibling combinator"
        }
    ],
    "relational": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "needsflag": [
                "gecko"
            ],
            "filename": "css/selectors/has.json",
            "name": "has",
            "slug": "CSS/:has",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:has",
            "summary": "The functional :has() CSS pseudo-class represents an element if any of the relative selectors that are passed as an argument match at least one element when anchored against this element. This pseudo-class presents a way of selecting a parent element or a previous sibling element with respect to a reference element by taking a relative selector list as an argument.",
            "support": {
                "chrome": {
                    "version_added": "105"
                },
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": {
                    "version_added": "103",
                    "flags": [
                        {
                            "type": "preference",
                            "name": "layout.css.has-selector.enabled",
                            "value_to_set": "true"
                        }
                    ],
                    "impl_url": "https://bugzil.la/418039"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "15.4"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "105"
                }
            },
            "caniuse": {
                "feature": "css-has",
                "title": ":has() CSS relational pseudo-class"
            },
            "title": ":has()"
        }
    ],
    "the-hover-pseudo": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/hover.json",
            "name": "hover",
            "slug": "CSS/:hover",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:hover",
            "summary": "The :hover CSS pseudo-class matches when the user interacts with an element with a pointing device, but does not necessarily activate it. It is generally triggered when the user hovers over an element with the cursor (mouse pointer).",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "4"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "4"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "2"
                },
                "safari_ios": {
                    "version_added": "1",
                    "notes": "As of Safari for iOS 7.1.2, tapping a <a href='https://developer.mozilla.org/docs/Web/Events/click#Safari_Mobile'>clickable element</a> causes the element to enter the <code>:hover</code> state. The element will remain in the <code>:hover</code> state until a different element has entered the <code>:hover</code> state."
                },
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":hover"
        }
    ],
    "id-selectors": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/id.json",
            "name": "id",
            "slug": "CSS/ID_selectors",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/ID_selectors",
            "summary": "The CSS ID selector matches an element based on the value of the element's id attribute. In order for the element to be selected, its id attribute must match exactly the value given in the selector.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "3"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "3.5"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "37"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "ID selectors"
        }
    ],
    "in-range-pseudo": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/in-range.json",
            "name": "in-range",
            "slug": "CSS/:in-range",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:in-range",
            "summary": "The :in-range CSS pseudo-class represents an <input> element whose current value is within the range limits specified by the min and max attributes.",
            "support": {
                "chrome": {
                    "version_added": "10",
                    "notes": "Before Chrome 52, <code>:in-range</code> matched disabled and read-only inputs (see <a href='https://crbug.com/602568'>Chromium bug 602568</a>). In Chrome 52, it was changed to only match enabled read-write inputs."
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "13"
                },
                "firefox": {
                    "version_added": "29",
                    "notes": "Before Firefox 50, <code>:in-range</code> matched disabled and read-only inputs (see <a href='https://bugzil.la/1264157'>bug 1264157</a>). In Firefox 50, it was changed to only match enabled read-write inputs."
                },
                "firefox_android": {
                    "version_added": "16"
                },
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "11",
                    "notes": "Before Opera 39, <code>:in-range</code> matched disabled and read-only inputs (see <a href='https://crbug.com/602568'>Chromium bug 602568</a>). In Opera 39, it was changed to only match enabled read-write inputs."
                },
                "opera_android": {
                    "version_added": "11",
                    "notes": "Before Opera 39, <code>:in-range</code> matched disabled and read-only inputs (see <a href='https://crbug.com/602568'>Chromium bug 602568</a>). In Opera 39, it was changed to only match enabled read-write inputs."
                },
                "safari": {
                    "version_added": "5.1",
                    "notes": "In Safari, <code>:in-range</code> matched disabled and read-only inputs (see <a href='https://webkit.org/b/156530'>bug 156530</a>). It was later changed to only match enabled read-write inputs."
                },
                "safari_ios": "mirror",
                "samsunginternet_android": {
                    "version_added": "1.0",
                    "notes": "Before version 6.0, <code>:in-range</code> matched disabled and read-only inputs (see <a href='https://crbug.com/602568'>Chromium bug 602568</a>). In version 6.0, it was changed to only match enabled read-write inputs."
                },
                "webview_android": {
                    "version_added": "2.2",
                    "notes": "Before version 52, <code>:in-range</code> matched disabled and read-only inputs (see <a href='https://crbug.com/602568'>Chromium bug 602568</a>). In version 52, it was changed to only match enabled read-write inputs."
                },
                "edge_blink": {
                    "version_added": "79",
                    "notes": "Before Chrome 52, <code>:in-range</code> matched disabled and read-only inputs (see <a href='https://crbug.com/602568'>Chromium bug 602568</a>). In Chrome 52, it was changed to only match enabled read-write inputs."
                }
            },
            "title": ":in-range"
        }
    ],
    "indeterminate": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/indeterminate.json",
            "name": "indeterminate",
            "slug": "CSS/:indeterminate",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:indeterminate",
            "summary": "The :indeterminate CSS pseudo-class represents any form element whose state is indeterminate, such as checkboxes which have their HTML indeterminate attribute set to true, radio buttons which are members of a group in which all radio buttons are unchecked, and indeterminate <progress> elements.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "2"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "10"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "9"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "3"
                },
                "safari_ios": {
                    "version_added": "1"
                },
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "37"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "caniuse": {
                "feature": "css-indeterminate-pseudo",
                "title": ":indeterminate CSS pseudo-class"
            },
            "title": ":indeterminate"
        }
    ],
    "validity-pseudos": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/invalid.json",
            "name": "invalid",
            "slug": "CSS/:invalid",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:invalid",
            "summary": "The :invalid CSS pseudo-class represents any <form>, <fieldset>, <input> or other <form> element whose contents fail to validate.",
            "support": {
                "chrome": {
                    "version_added": "10"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "4"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "10"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "10"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "5"
                },
                "safari_ios": {
                    "version_added": "5"
                },
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "37"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":invalid"
        },
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/valid.json",
            "name": "valid",
            "slug": "CSS/:valid",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:valid",
            "summary": "The :valid CSS pseudo-class represents any <input> or other <form> element whose contents validate successfully. This allows to easily make valid fields adopt an appearance that helps the user confirm that their data is formatted properly.",
            "support": {
                "chrome": {
                    "version_added": "10"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "4"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "10"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "10"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "5"
                },
                "safari_ios": {
                    "version_added": "5"
                },
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "37"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":valid"
        }
    ],
    "matches-pseudo": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/is.json",
            "name": "is",
            "slug": "CSS/:is",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:is",
            "summary": "The :is() CSS pseudo-class function takes a selector list as its argument, and selects any element that can be selected by one of the selectors in that list. This is useful for writing large selectors in a more compact form.",
            "support": {
                "chrome": [
                    {
                        "version_added": "88"
                    },
                    {
                        "version_added": "12",
                        "alternative_name": ":-webkit-any()",
                        "notes": "Doesn't support combinators."
                    }
                ],
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": [
                    {
                        "version_added": "78"
                    },
                    {
                        "version_added": "4",
                        "alternative_name": ":-moz-any()",
                        "notes": [
                            "Doesn't support combinators.",
                            "See <a href='https://bugzil.la/906353'>bug 906353</a>."
                        ]
                    }
                ],
                "firefox_android": "mirror",
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": [
                    {
                        "version_added": "14"
                    },
                    {
                        "version_added": "9",
                        "alternative_name": ":matches()"
                    },
                    {
                        "version_added": "5",
                        "alternative_name": ":-webkit-any()",
                        "notes": "Doesn't support combinators."
                    }
                ],
                "safari_ios": [
                    {
                        "version_added": "14"
                    },
                    {
                        "version_added": "9",
                        "alternative_name": ":matches()"
                    },
                    {
                        "version_added": "5",
                        "alternative_name": ":-webkit-any()",
                        "notes": "Doesn't support combinators."
                    }
                ],
                "samsunginternet_android": [
                    {
                        "version_added": "15.0"
                    },
                    {
                        "alternative_name": ":-webkit-any()",
                        "version_added": "1.0"
                    },
                    {
                        "alternative_name": ":matches()",
                        "version_added": "9.0",
                        "version_removed": "10.0"
                    }
                ],
                "webview_android": [
                    {
                        "version_added": "88"
                    },
                    {
                        "version_added": "37",
                        "alternative_name": ":-webkit-any()",
                        "notes": "Doesn't support combinators."
                    }
                ],
                "edge_blink": [
                    {
                        "version_added": "88"
                    },
                    {
                        "version_added": "79",
                        "alternative_name": ":-webkit-any()",
                        "notes": "Doesn't support combinators."
                    }
                ]
            },
            "title": ":is()"
        }
    ],
    "lang-pseudo": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/lang.json",
            "name": "lang",
            "slug": "CSS/:lang",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:lang",
            "summary": "The :lang() CSS pseudo-class matches elements based on the language they are determined to be in.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "8"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "8"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "3.1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":lang()"
        }
    ],
    "the-last-child-pseudo": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/last-child.json",
            "name": "last-child",
            "slug": "CSS/:last-child",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:last-child",
            "summary": "The :last-child CSS pseudo-class represents the last element among a group of sibling elements.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "9"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "9.5"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "3.1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "37"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":last-child"
        }
    ],
    "last-of-type-pseudo": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/last-of-type.json",
            "name": "last-of-type",
            "slug": "CSS/:last-of-type",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:last-of-type",
            "summary": "The :last-of-type CSS pseudo-class represents the last element of its type among a group of sibling elements.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "3.5"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "9",
                    "notes": "Internet Explorer treats all unknown elements (such as custom elements) as the same element type."
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "9.5"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "3.1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "2"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":last-of-type"
        }
    ],
    "link": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/link.json",
            "name": "link",
            "slug": "CSS/:link",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:link",
            "summary": "The :link CSS pseudo-class represents an element that has not yet been visited. It matches every unvisited <a> or <area> element that has an href attribute.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "3"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "3.5"
                },
                "opera_android": "mirror",
                "safari": {
                    "version_added": "1"
                },
                "safari_ios": {
                    "version_added": "3.2"
                },
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "1.5"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":link"
        },
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/visited.json",
            "name": "visited",
            "slug": "CSS/:visited",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:visited",
            "summary": "The :visited CSS pseudo-class applies once the link has been visited by the user. For privacy reasons, the styles that can be modified using this selector are very limited. The :visited pseudo-class applies only <a> and <area> elements that have an href attribute.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "4"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "3.5"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":visited"
        }
    ],
    "grouping": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/list.json",
            "name": "list",
            "slug": "CSS/Selector_list",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/Selector_list",
            "summary": "The CSS selector list (,) selects all the matching nodes. A selector list is a comma-separated list of selectors.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "3"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "3.5"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "37"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Selector list"
        }
    ],
    "modal-state": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/modal.json",
            "name": "modal",
            "slug": "CSS/:modal",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:modal",
            "summary": "The :modal CSS pseudo-class matches an element that is in a state in which it excludes all interaction with elements outside it until the interaction has been dismissed. Multiple elements can be selected by the :modal pseudo-class at the same time, but only one of them will be active and able to receive input.",
            "support": {
                "chrome": {
                    "version_added": "105"
                },
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": {
                    "version_added": "103"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "15.6"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "105"
                }
            },
            "title": ":modal"
        }
    ],
    "negation": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/not.json",
            "name": "not",
            "slug": "CSS/:not",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:not",
            "summary": "The :not() CSS pseudo-class represents elements that do not match a list of selectors. Since it prevents specific items from being selected, it is known as the negation pseudo-class.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "9"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "9.5"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "3.1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "2"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "caniuse": {
                "feature": "css-not-sel-list",
                "title": "selector list argument of :not()"
            },
            "title": ":not()"
        }
    ],
    "nth-child-pseudo": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/nth-child.json",
            "name": "nth-child",
            "slug": "CSS/:nth-child",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-child",
            "summary": "The :nth-child() CSS pseudo-class matches elements based on their position among a group of siblings.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "3.5"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "9"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "9.5",
                    "notes": "Before Opera 15, Opera does not handle dynamically inserted elements for <code>:nth-child()</code>."
                },
                "opera_android": {
                    "version_added": "10.1",
                    "notes": "Before Opera 15, Opera does not handle dynamically inserted elements for <code>:nth-child()</code>."
                },
                "safari": {
                    "version_added": "3.1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "37"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":nth-child()"
        }
    ],
    "nth-last-child-pseudo": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/nth-last-child.json",
            "name": "nth-last-child",
            "slug": "CSS/:nth-last-child",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-last-child",
            "summary": "The :nth-last-child() CSS pseudo-class matches elements based on their position among a group of siblings, counting from the end.",
            "support": {
                "chrome": {
                    "version_added": "4"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "3.5"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "9"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "9"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "3.1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "37"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":nth-last-child()"
        }
    ],
    "nth-last-of-type-pseudo": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/nth-last-of-type.json",
            "name": "nth-last-of-type",
            "slug": "CSS/:nth-last-of-type",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-last-of-type",
            "summary": "The :nth-last-of-type() CSS pseudo-class matches elements based on their position among siblings of the same type (tag name), counting from the end.",
            "support": {
                "chrome": {
                    "version_added": "4"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "3.5"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "9",
                    "notes": "Internet Explorer treats all unknown elements (such as custom elements) as the same element type."
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "9.5"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "3.1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "2"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":nth-last-of-type()"
        }
    ],
    "nth-of-type-pseudo": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/nth-of-type.json",
            "name": "nth-of-type",
            "slug": "CSS/:nth-of-type",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-of-type",
            "summary": "The :nth-of-type() CSS pseudo-class matches elements based on their position among siblings of the same type (tag name).",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "3.5"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "9",
                    "notes": "Internet Explorer treats all unknown elements (such as custom elements) as the same element type."
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "9.5"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "3.1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "2"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":nth-of-type()"
        }
    ],
    "only-child-pseudo": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/only-child.json",
            "name": "only-child",
            "slug": "CSS/:only-child",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:only-child",
            "summary": "The :only-child CSS pseudo-class represents an element without any siblings. This is the same as :first-child:last-child or :nth-child(1):nth-last-child(1), but with a lower specificity.",
            "support": {
                "chrome": {
                    "version_added": "2"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1.5"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "9"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "9.5"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "3.1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "37"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":only-child"
        }
    ],
    "only-of-type-pseudo": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/only-of-type.json",
            "name": "only-of-type",
            "slug": "CSS/:only-of-type",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:only-of-type",
            "summary": "The :only-of-type CSS pseudo-class represents an element that has no siblings of the same type.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "3.5"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "9",
                    "notes": "Internet Explorer treats all unknown elements (such as custom elements) as the same element type."
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "9.5"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "3.1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "2"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":only-of-type"
        }
    ],
    "opt-pseudos": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/optional.json",
            "name": "optional",
            "slug": "CSS/:optional",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:optional",
            "summary": "The :optional CSS pseudo-class represents any <input>, <select>, or <textarea> element that does not have the required attribute set on it.",
            "support": {
                "chrome": {
                    "version_added": "10"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "4"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "10"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "10"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "5"
                },
                "safari_ios": {
                    "version_added": "5"
                },
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "37"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":optional"
        },
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/required.json",
            "name": "required",
            "slug": "CSS/:required",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:required",
            "summary": "The :required CSS pseudo-class represents any <input>, <select>, or <textarea> element that has the required attribute set on it.",
            "support": {
                "chrome": {
                    "version_added": "10"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "4"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "10"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "10"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "5"
                },
                "safari_ios": {
                    "version_added": "5"
                },
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "4.4.3"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":required"
        }
    ],
    "out-of-range-pseudo": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/out-of-range.json",
            "name": "out-of-range",
            "slug": "CSS/:out-of-range",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:out-of-range",
            "summary": "The :out-of-range CSS pseudo-class represents an <input> element whose current value is outside the range limits specified by the min and max attributes.",
            "support": {
                "chrome": {
                    "version_added": "10"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "13"
                },
                "firefox": {
                    "version_added": "29"
                },
                "firefox_android": {
                    "version_added": "16"
                },
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "11"
                },
                "opera_android": {
                    "version_added": "11"
                },
                "safari": {
                    "version_added": "5.1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "2.2"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":out-of-range"
        }
    ],
    "the-past-pseudo": [
        {
            "engines": [
                "webkit"
            ],
            "filename": "css/selectors/past.json",
            "name": "past",
            "slug": "CSS/:past",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:past",
            "summary": "The :past CSS pseudo-class selector is a time-dimensional pseudo-class that will match for any element which appears entirely before an element that matches :current. For example in a video with captions which are being displayed by WebVTT.",
            "support": {
                "chrome": {
                    "version_added": false
                },
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": {
                    "version_added": false
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "7"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": false
                }
            },
            "title": ":past"
        }
    ],
    "selectordef-paused": [
        {
            "engines": [
                "webkit"
            ],
            "filename": "css/selectors/paused.json",
            "name": "paused",
            "slug": "CSS/:paused",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:paused",
            "summary": "The :paused CSS pseudo-class selector represents an element that is playable, such as <audio> or <video>, when that element is \"paused\" (i.e. not \"playing\").",
            "support": {
                "chrome": {
                    "version_added": false
                },
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": {
                    "version_added": false
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "15.4"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": false
                }
            },
            "title": ":paused"
        }
    ],
    "pip-state": [
        {
            "engines": [
                "blink"
            ],
            "filename": "css/selectors/picture-in-picture.json",
            "name": "picture-in-picture",
            "slug": "CSS/:picture-in-picture",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:picture-in-picture",
            "summary": "The :picture-in-picture CSS pseudo-class matches the element which is currently in picture-in-picture mode.",
            "support": {
                "chrome": {
                    "version_added": "110"
                },
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": {
                    "version_added": false
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": false
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "110"
                }
            },
            "title": ":picture-in-picture"
        }
    ],
    "placeholder": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/placeholder-shown.json",
            "name": "placeholder-shown",
            "slug": "CSS/:placeholder-shown",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:placeholder-shown",
            "summary": "The :placeholder-shown CSS pseudo-class represents any <input> or <textarea> element that is currently displaying placeholder text.",
            "support": {
                "chrome": {
                    "version_added": "47"
                },
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": [
                    {
                        "version_added": "51"
                    },
                    {
                        "alternative_name": ":-moz-placeholder",
                        "version_added": "4",
                        "version_removed": "51"
                    }
                ],
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "10",
                    "alternative_name": ":-ms-input-placeholder"
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "9"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "caniuse": {
                "feature": "css-placeholder-shown",
                "title": ":placeholder-shown CSS pseudo-class"
            },
            "title": ":placeholder-shown"
        }
    ],
    "selectordef-playing": [
        {
            "engines": [
                "webkit"
            ],
            "filename": "css/selectors/playing.json",
            "name": "playing",
            "slug": "CSS/:playing",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:playing",
            "summary": "The :playing CSS pseudo-class selector represents the playback state of an element that is playable, such as <audio> or <video>, when that element is \"playing\". An element is considered to be playing if it is currently playing the media resource, or if it has temporarily stopped for reasons other than user intent (such as :buffering or :stalled).",
            "support": {
                "chrome": {
                    "version_added": false
                },
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": {
                    "version_added": false
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "15.4"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": false
                }
            },
            "title": ":playing"
        }
    ],
    "rw-pseudos": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "prefixed": [
                "gecko"
            ],
            "filename": "css/selectors/read-only.json",
            "name": "read-only",
            "slug": "CSS/:read-only",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:read-only",
            "summary": "The :read-only CSS pseudo-class represents an element (such as input or textarea) that is not editable by the user.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "13"
                },
                "firefox": [
                    {
                        "version_added": "78"
                    },
                    {
                        "prefix": "-moz-",
                        "version_added": "1.5"
                    }
                ],
                "firefox_android": {
                    "prefix": "-moz-",
                    "version_added": "4"
                },
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "9"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "4"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "37"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":read-only"
        },
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "prefixed": [
                "gecko"
            ],
            "filename": "css/selectors/read-write.json",
            "name": "read-write",
            "slug": "CSS/:read-write",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:read-write",
            "summary": "The :read-write CSS pseudo-class represents an element (such as input or textarea) that is editable by the user.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "13"
                },
                "firefox": [
                    {
                        "version_added": "78"
                    },
                    {
                        "prefix": "-moz-",
                        "version_added": "1.5"
                    }
                ],
                "firefox_android": {
                    "prefix": "-moz-",
                    "version_added": "4"
                },
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "9"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "4"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "37"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":read-write"
        }
    ],
    "root-pseudo": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/root.json",
            "name": "root",
            "slug": "CSS/:root",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:root",
            "summary": "The :root CSS pseudo-class matches the root element of a tree representing the document. In HTML, :root represents the <html> element and is identical to the selector html, except that its specificity is higher.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "9"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "9.5"
                },
                "opera_android": "mirror",
                "safari": {
                    "version_added": "1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "37"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":root"
        }
    ],
    "the-scope-pseudo": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/scope.json",
            "name": "scope",
            "slug": "CSS/:scope",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:scope",
            "summary": "The :scope CSS pseudo-class represents elements that are a reference point, or scope, for selectors to match against.",
            "support": {
                "chrome": {
                    "version_added": "27"
                },
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": {
                    "version_added": "32",
                    "notes": "Firefox 55 removes support for <code>&lt;style scoped&gt;</code> but not for the <code>:scope</code> pseudo-class, which is still supported. <code>&lt;style scoped&gt;</code> made it possible to explicitly set up element scopes, but ongoing discussions about the design of this feature as well as lack of other implementations resulted in the decision to remove it."
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "7"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":scope"
        }
    ],
    "the-target-within-pseudo": [
        {
            "engines": [],
            "filename": "css/selectors/target-within.json",
            "name": "target-within",
            "slug": "CSS/:target-within",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:target-within",
            "summary": "The :target-within CSS pseudo-class represents an element that is a target element or contains an element that is a target. A target element is a unique element with an id matching the URL's fragment. In other words, it represents an element that is itself matched by the :target pseudo-class or has a descendant that is matched by :target. (This includes descendants in shadow trees.)",
            "support": {
                "chrome": {
                    "version_added": false
                },
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": {
                    "version_added": false
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": false
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": false
                }
            },
            "title": ":target-within"
        }
    ],
    "the-target-pseudo": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/target.json",
            "name": "target",
            "slug": "CSS/:target",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:target",
            "summary": "The :target CSS pseudo-class represents a unique element (the target element) with an id matching the URL's fragment.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "9"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "9.5"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "1.3"
                },
                "safari_ios": {
                    "version_added": "2"
                },
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "2"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": ":target"
        }
    ],
    "type-selectors": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/type.json",
            "name": "type",
            "slug": "CSS/Type_selectors",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/Type_selectors",
            "summary": "The CSS type selector matches elements by node name. In other words, it selects all elements of the given type within a document.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "3"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "3.5"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "37"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Type selectors"
        }
    ],
    "the-universal-selector": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/universal.json",
            "name": "universal",
            "slug": "CSS/Universal_selectors",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/Universal_selectors",
            "summary": "The CSS universal selector (*) matches elements of any type.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "7"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "3.5"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "37"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Universal selectors"
        }
    ],
    "user-invalid-pseudo": [
        {
            "engines": [
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/user-invalid.json",
            "name": "user-invalid",
            "slug": "CSS/:user-invalid",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:user-invalid",
            "summary": "The :user-invalid CSS pseudo-class represents any validated form element whose value isn't valid based on their validation constraints, after the user has interacted with it.",
            "support": {
                "chrome": {
                    "version_added": false,
                    "notes": "See <a href='https://crbug.com/1156069'>bug 1156069</a>."
                },
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": [
                    {
                        "version_added": "88"
                    },
                    {
                        "version_added": "4",
                        "alternative_name": ":-moz-ui-invalid"
                    }
                ],
                "firefox_android": "mirror",
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "16.5"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": false,
                    "notes": "See <a href='https://crbug.com/1156069'>bug 1156069</a>."
                }
            },
            "title": ":user-invalid"
        }
    ],
    "user-valid-pseudo": [
        {
            "engines": [
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/user-valid.json",
            "name": "user-valid",
            "slug": "CSS/:user-valid",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:user-valid",
            "summary": "The :user-valid CSS pseudo-class represents any validated form element whose value validates correctly based on its validation constraints. However, unlike :valid it only matches once the user has interacted with it.",
            "support": {
                "chrome": {
                    "version_added": false,
                    "notes": "See <a href='https://crbug.com/1156069'>bug 1156069</a>."
                },
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": [
                    {
                        "version_added": "88"
                    },
                    {
                        "version_added": "4",
                        "alternative_name": ":-moz-ui-valid"
                    }
                ],
                "firefox_android": "mirror",
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "16.5"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": false,
                    "notes": "See <a href='https://crbug.com/1156069'>bug 1156069</a>."
                }
            },
            "title": ":user-valid"
        }
    ],
    "zero-matches": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/selectors/where.json",
            "name": "where",
            "slug": "CSS/:where",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:where",
            "summary": "The :where() CSS pseudo-class function takes a selector list as its argument, and selects any element that can be selected by one of the selectors in that list.",
            "support": {
                "chrome": {
                    "version_added": "88"
                },
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": {
                    "version_added": "78"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "14"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "88"
                }
            },
            "title": ":where()"
        }
    ]
}
