Traced the plugin's "Login failed" error directly against park4night.com: correct credentials still get rejected because the login form is behind invisible reCAPTCHA, which only a real browser ever satisfies. p4n2gpx.rb (outside this repo) now checks P4N_SESSION_COOKIE first and uses it as-is, skipping the login POST entirely — the cookie comes from an already-authenticated browser, copied out by hand and refreshed when it expires. Wired the env var through docker-compose.yaml and the deploy workflow's "Write .env" step the same way as P4N_USER/P4N_PASSWORD.