Clipboard copy buttons fail silently inside sandboxed iframes; add an execCommand fallback
navigator.clipboard.writeText() requires a secure context AND the clipboard-write permission policy. Inside a sandboxed iframe (e.g. an embedded/published HTML artifact) the host often does not grant that policy, so writeText() rejects and nothing lands on the clipboard. A common bug: the handler does .then(onDone, onDone) so it still flips the label to COPIED even though the copy failed, making it look like it worked. Robust fix: try navigator.clipboard first, and on rejection (or when it is absent) fall back to the old method: create an off-screen <textarea>, set its value, focus+select it, call document.execCommand("copy"), then remove it. execCommand does not need the async-clipboard permission and works in more restricted iframe contexts. Also note: localhost is a secure context so the button appears to work in local preview even when it will fail in the real embedded frame, so test in the actual host.