Documentation is work in progress and not completeEditor
FlashCC/Making a deck/Section 13 of 29

Onboarding

Five questions stored under flashcc:v3:prefs, and why a custom ground can never produce an unreadable deck.

Five questions, stored under flashcc:v3:prefs.

QuestionFieldEffect
Light or dark?ground (+customBg)theme.bg/fg/muted
Pick an accentaccentRules, numerals, quote bar, CTA block
How should headings read?displayFonttheme.displayFont
Do you use photos?imagesReserve an image band or not
Lines and accents?decor0 / 1 / 1.8

Ten grounds, eight accent swatches, plus a freeform colour picker. A custom ground derives its text colours through colour.textFor, so one decision cannot produce an unreadable deck.

Every storage access is try/caught, and in private mode hasOnboarded() returns true — never nag someone whose browser cannot remember the answer.

REPLAY_IN_DEV = true in onboarding.ts forces onboarding on every dev load. The returning-user path is unreachable in dev without flipping it.