:is(.wave, .chip, .button, button, nav.tabbed > a, .tabs > a, nav.toolbar > a):not(.slow-ripple, .ripple, .fast-ripple)::after,
nav:is(.left, .right, .bottom, .top).max > a::after,
nav:is(.left, .right, .bottom, .top).max > :is(ol, ul) > li > a::after,
nav:is(.left, .right, .bottom, .top):not(.max) > a > i::after,
nav:is(.left, .right, .bottom, .top):not(.max) > :is(ol, ul) > li > a > i::after  {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  inline-size: 100%;
  block-size: 100%;
  background-position: center;
  background-image: radial-gradient(circle, currentColor 1%, transparent 1%);
  opacity: 0;
  transition: none;
  pointer-events: none;
}

:is(.wave, .chip, .button, button, nav.tabbed > a, .tabs > a, nav.toolbar > a):not(.slow-ripple, .ripple, .fast-ripple):is(:focus-visible, :hover)::after,
nav:is(.left, .right, .bottom, .top).max > a:not(.button, .chip):is(:focus-visible, :hover)::after,
nav:is(.left, .right, .bottom, .top).max > :is(ol, ul) > li > a:not(.button, .chip):is(:focus-visible, :hover)::after,
nav:is(.left, .right, .bottom, .top):not(.max) > a:not(.button, .chip):is(:focus-visible, :hover) > i::after,
nav:is(.left, .right, .bottom, .top):not(.max) > :is(ol, ul) > li > a:not(.button, .chip):is(:focus-visible, :hover) > i::after {
  background-size: 22500%;
  opacity: 0.1;
  transition: background-size var(--speed2) linear;
}

:is(.wave, .chip, .button, button, nav.tabbed > a, .tabs > a, nav.toolbar > a, nav.max > a):not(.slow-ripple, .ripple, .fast-ripple):active::after,
nav:is(.left, .right, .bottom, .top).max > a:active::after,
nav:is(.left, .right, .bottom, .top).max > :is(ol, ul) > li > a:active::after,
nav:is(.left, .right, .bottom, .top):not(.max) > a:active > i::after,
nav:is(.left, .right, .bottom, .top):not(.max) > :is(ol, ul) > li > a:active > i::after {
  background-size: 0%;
  opacity: 0;
  transition: none;
}

.no-wave::after,
.no-wave:is(:hover, :active)::after {
  display: none;
}
