Implement browser-based OAuth login for the CLI to eliminate the need for manual API token copy-pasting, similar to the existing Expo mobile app pattern.
## What Add browser-based OAuth login so users don't need to manually copy-paste API tokens. ### Gumroad side (prereqs) - [ ] Register a CLI OAuth application in production (same pattern as the existing Expo mobile app) - [ ] Store its UID as `CLI_OAUTH_APPLICATION_UID` in production env vars - [ ] Mark the app `confidential: false` (public client — no secret needed for CLI) - [ ] Scopes: `edit_products view_sales mark_sales_as_shipped edit_sales view_payouts view_profile account` - [ ] Optionally add to Doorkeeper's `skip_authorization` so logged-in users don't see an extra authorize screen ### CLI side - [ ] Implement browser-open + localhost callback flow: open `https://app.gumroad.com/oauth/authorize`, start HTTP server on `127.0.0.1:<port>`, receive auth code, exchange for token via `/oauth/token`, store in config - [ ] Embed the OAuth app's client ID in the binary - [ ] Headless/SSH fallback: print the authorize URL, prompt user to paste the redirect URL back - [ ] Keep `gum