unlock
Re-authenticate and lift the lock — the unlock half of the session lock, driven by the app-wide com.midnight.kuira.dapp.lock.SessionLockGate.
Runs the SAME biometric the wallet bootstrap uses: WalletSeedSource.ensureSeedReady prompts because requireFreshAuthNext armed it on lock. A successful prompt re-opens the Keystore auth window (so the next SDK build is silent), and we wipe the returned seed immediately — unlocking only needs to prove the user is present, not hold the seed. Then locked clears so the gate dismisses and the whole app is usable again.
Returns true on success; false if the user cancelled or auth failed (the gate stays up). CancellationException is rethrown so structured concurrency keeps working.