<html>
<style>
    div {
        color: red;
    }
</style>
<style>@-internal-rule;
    #d1 {
        color: green;
    }
</style>
<style>@-internal-decls;
    #d2 {
        color: green;
    }
</style>
<style>@-internal-value;
    #d3 {
        color: green;
    }
</style>
<style>@-internal-selector;
    #d4 {
        color: green;
    }
</style>
<style>@-internal-medialist;
    #d5 {
        color: green;
    }
</style>
<style>@-internal-keyframe-rule;
    #d6 {
        color: green;
    }
</style>
<style>@-internal-keyframe-key-list;
    #d7 {
        color: green;
    }
</style>
<style>@-internal-supports-condition;
    #d8 {
        color: green;
    }
</style>
<style>@invalid-rule-without-reserved-keyword;
    #d9 {
        color: green;
    }
</style>
<body>
    <p>Check that internal keywords at the beginning of a stylesheet don't break CSS parsing. They should not inhibit further stylesheet parsing.</p>
    <div id="d1">Test for @-internal-rule. This text should be green</div>
    <div id="d2">Test for @-internal-decls. This text should be green</div>
    <div id="d3">Test for @-internal-value. This text should be green</div>
    <div id="d4">Test for @-internal-selector. This text should be green</div>
    <div id="d5">Test for @-internal-medialist. This text should be green</div>
    <div id="d6">Test for @-internal-keyframe-rule. This text should be green</div>
    <div id="d7">Test for @-internal-keyframe-key-list. This text should be green</div>
    <div id="d8">Test for @-internal-supports-condition. This text should be green</div>
    <div id="d9">Test for @invalid-rule-without-reserved-keyword. This text should be green</div>
</body>
</html>
