Shadow roots, explained with live examples | Hacker News Reader