The AI clear_all confirmation is now the app's own themed dialog, not the native
window.confirm() browser popup. applyAIActions (in Canvas.tsx) is now async and awaits
useConfirm() up front before any board mutation; cancelling skips only the wipe, so creates
in the same batch still apply.
Corrected the copy: it no longer claims the wipe "can't be undone" — clearing is
undoable (canvas history), so the dialog now says "You can undo it."