:root {
  --dim-opacity: 0.3;
}

/* spec 19.1. */
body {
  transition: opacity var(--transition-duration) var(--transition-easing);
}

/* spec 19.1., 19.3. */
html.dim body {
  opacity: var(--dim-opacity);
  pointer-events: none;
}

/* spec 19.2. */
html.dim {
  overflow: hidden;
  overscroll-behavior: none;
  touch-action: none;
}

/* spec 19.5. */
html.dim,
html.dim * {
  -webkit-user-select: none;
  user-select: none;
}
