Firekit
GENERATED by jcode/design/U0082-app-logos/gen-logos.ts — do not hand-edit, re-run the script. The canonical Firekit flame, copied verbatim from jcode/design/U0060-brand-identity/ icon/firekit-icon.svg — the PARENT mark that every app mark is a sibling of. It is solid, with no counter: the drop-and-counter construction is what makes an APP mark, and giving the parent one would make it one more child. Two tints of one hue, exactly as the previous hand-maintained @apps/ui favicon expressed it — but the hue is now READ from this app's own default theme recipe instead of being typed here. That is the T141 rule, and it was already being broken: the hand-maintained file carried hue 250 while @apps/ui/src/themes/firekit.theme.ts, the recipe pluginThemeFiles names as defaultTheme, has said hue 210 for months. The favicon and the app it labelled were a full 40 degrees apart with nothing to notice. EACH STOP IS WRITTEN TWICE, and both halves matter (P101-FireupRebuild-T141): • the stop-color ATTRIBUTE is a LITERAL, derived at build time from @apps/ui/src/themes/firekit.theme.ts (light primary oklch(0.70 0.193 44)). It is what the FAVICON paints: browser chrome fetches a favicon as a standalone document with no page CSS, so a var() colour there would resolve to nothing and the mark would render black. • the style PRESENTATION reads var(--fk-primary) live via oklch relative-colour syntax, and overrides the attribute wherever page CSS exists — i.e. the in-app header mark, which therefore RECOLOURS when the theme or mode changes. CSS discards a declaration it cannot parse, so on an engine without relative-colour syntax the style half evaporates and the literal paints. There is no case where this mark renders black.
Firekit
Apps
Features
Blocks
Looks
Docs
Trust
Sell
Sign in
What are you building?
Build
Customers
Estimates
Schedule
Invoices
Offline
Payments?
Reminders?
Close to
CRM
8%
Books
8%
Chat
8%
Runs on your device. Nothing to set up.