Authentication
Discord OAuth callback
Handles the OAuth callback from Discord. Verifies server membership and that the user holds the verification role, then links the account and (best-effort) grants the member their community roles (verified-member role plus any seniority tiers). Redirects back to the app with a result: discord=linked (verified & linked), discord=not_member (not in the server), discord=not_verified (in the server but missing the verification role), discord=already_linked (this Discord account is already linked to a different Hyperprop account), discord=cooldown&discord_until=<ISO time> (a different Discord account was unlinked from this Hyperprop account less than 7 days ago), or discord_error=... (failure).
GET
Discord OAuth callback