Código en vivo: implementar una función $ (similar a jQuery), que acepte un selector CSS válido y encuentre los nodos correspondientes. La función debe devolver un objeto con métodos addClass, toggleClass, removeClass, css (aplicar estilos), html (insertar HTML/CSS dentro del elemento) — con la capacidad de encadenar llamadas (chaining). El código de prueba con encadenamiento proporcionado no debe modificarse y debe funcionar después de implementar la función.