<!DOCTYPE html>
<title>@scope - inner @layer</title>
<link rel="help" href="https://drafts.csswg.org/css-cascade-6/#scope-atrule">
<link rel="help" href="https://drafts.csswg.org/css-cascade-5/#layering">
<link rel="help" href="https://drafts.csswg.org/css-cascade-5/#scope-scope">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
  @scope (.a) {
    /* The theme layer wins over the base layer. Note that @layer statements
       are allowed here, but aren't affected by the enclosing @scope. */
    @layer base, theme;

    @layer theme {
      :scope {
        z-index: 1;
      }

      .b {
        background-color: green;
      }
    }
  }

  @layer base {
    .a {
      z-index: 0;
    }
    .a .b {
      background-color: red;
    }
  }
</style>
<main>
  <div class=a>
    <div class=b>
    </div>
  </div>
  <div class=b></div>
</main>
<script>
  test(() => {
    let a = document.querySelector('main > .a');
    let b = document.querySelector('main > .a > .b');
    assert_equals(getComputedStyle(a).zIndex, '1');
    assert_equals(getComputedStyle(b).backgroundColor, 'rgb(0, 128, 0)');

    let out_of_scope_b = document.querySelector('main > .b');
    assert_equals(getComputedStyle(out_of_scope_b).backgroundColor, 'rgba(0, 0, 0, 0)');
  }, 'Style rules within @layer are scoped');
</script>
