Name stays required; description is a labelled optional textarea. Email uses native validity and form submit. Drop the dead workshop link and fix a few copy errors.
Co-authored-by: Cursor <cursoragent@cursor.com>
Marketing pages omitted create-flow nav copy, so Share rendered as a translation key; the case-study banner squeezed hero text to the thumbnail width; Copy link had no hover or copied state.
Co-authored-by: Cursor <cursoragent@cursor.com>
Park the skip link in the Tailwind sheet so it cannot sit in document flow and push the yellow tab down.
Co-authored-by: Cursor <cursoragent@cursor.com>
Breakpoint clones were still in the tab order, marketing always painted Log in, and at 430px the logo overlay covered Use cases and Learn.
Co-authored-by: Cursor <cursoragent@cursor.com>
The root layout was stamping the homepage title and production root onto every page. Routes now supply a page segment through one em-dash template, canonicals follow the request path, and non-production hosts disallow crawlers.
Co-authored-by: Cursor <cursoragent@cursor.com>
Direct catalog picks walk name, description, and photo, then stakeholders; leftover drafts no longer skip that path. In-flow template picks keep community identity. Exit on a direct template preview leaves immediately because nothing has been collected yet.
Co-authored-by: Cursor <cursoragent@cursor.com>
Email is optional so they can continue without saving; skip from Save & Exit leaves the flow instead of returning to completed.
Co-authored-by: Cursor <cursoragent@cursor.com>
Quoted-printable still rewrote token= as token=3D in the raw MIME, which some clients never decode. Distinguish a missing token from a real expiry, and keep links valid for 60 minutes.
Co-authored-by: Cursor <cursoragent@cursor.com>
Staging was delivering magic links that looked expired because the token query string was encoded and wrapped in plaintext MIME. Also read rate-limit retry from the API error body, mention spam in the success copy, and document SES relay DNS.
Co-authored-by: Cursor <cursoragent@cursor.com>
Seeded section text should look like the form default state, not locked primary, and Customize stays on the kebab instead of unlocking the body.
Co-authored-by: Cursor <cursoragent@cursor.com>
Finalize no longer requires a magic link. Guest rows stay off the catalog until sign-in on the same browser attaches ownership, and the login modal kebab no longer acts as a second close.
Co-authored-by: Cursor <cursoragent@cursor.com>
The section mixed Structure Before Crisis art with the Community Rules booklet; pairing each title to its own cover and PDF, and cropping the Figma cover padding, keeps the two cards consistent.
Co-authored-by: Cursor <cursoragent@cursor.com>
The overlay was failing Zod on preset method-card support text attached with the draft; raise that cap, allow RFC-length emails, and drop Back to home from the overlay.
Co-authored-by: Cursor <cursoragent@cursor.com>
The info-box checkboxes overflowed in a squeezed column; wrapping them and offering those scopes as chips on every approach keeps the sidebar and Applicable Scope selection in sync without publishing unchecked keys as defaults.
Co-authored-by: Cursor <cursoragent@cursor.com>
Drop the mid-width side gutter so the 1:2 ornament column meets the viewport from md up, while copy keeps its left inset.
Co-authored-by: Cursor <cursoragent@cursor.com>