    /* the playlist-file door picks FIRST too: the review only opens for a
       file that was chosen, and a document this phone can hand no path for
       is refused with the reason rather than half-read */
    async function fileDoor() {
        closeHalf();
        try {
            const picked = await pickImportFile();
            if (!picked) return;
            push("import", {});
            void startFile(picked.path, picked.name);
        } catch (e) { oops(e); }
    }
