Grand Strand Story cards — corresponding source

EnBizCard Copyright 2021 Vishnu Raghav B, AGPL-3.0-or-later.
GSSN card modifications Copyright 2026 Grand Strand Story Network,
AGPL-3.0-or-later. See upstream-enbizcard/LICENSE.

gssn-card is the complete standalone card document served in a same-origin
iframe. It requires no compilation: serve its files from /enbizcard/. The
original EnBizCard source (including editable SCSS and dependency notices)
is in upstream-enbizcard/. Theme-N.css matches assets/styles/TN.min.css.

Interface: the parent posts {type:"gssn-card-data",model:{facts,theme,accent,
logo,header,publicId,url,communityLabel,communityUrl,dashboardUrl}} to its own origin.
The card responds with gssn-card-ready, gssn-card-height and
gssn-card-reveal-qr messages. The
parent validates both origin and the source iframe. No account tokens cross
this interface. Read gssn-adapters/src/lib/business-card.ts for field limits.
Logo/header URLs are existing controlled same-origin Dashboard image routes.
The QR endpoint encodes the permanent public card URL; Save Contact generates
a vCard. The Business name, license, source and fixed community link are in HTML.

gssn-adapters contains all newly written card-specific account, publication,
validation, preview and database adapter sources. They interoperate with the
existing GSSN account/publication services and are supplied for review/reuse;
existing GSSN user data or credentials are neither needed nor included. These
adapters use Next.js/React, Supabase and qrcode from the host application.
There is no standalone production backend or default customer account here.

No warranty. Follow the preserved upstream/dependency notices when reusing.
