feat: unify evig identity — Obsidian & Ion Lime, one SSOT, light + dark - #247
Merged
Conversation
…, light + dark The site had two brands: green revamp-it chrome + a lime /vision island. This collapses them into ONE token SSOT that looks dope in both themes. - Palette: green -> Ion Lime, preserving the light/dark CONTRAST structure so ~1000 token consumers keep working. Deep lime (#4d7c0f) = readable text/links/ logo in light; electric lime (#B6F531) = dark accent + the new 'strong' CTA fill (electric + ink text) in both modes. Dark surfaces -> obsidian. - Mark: one refined eternal-loop geometry in brand.ts (was two divergent marks); Logo strokes the action token (follows theme); /vision renders the same SSOT. - Fonts: Space Grotesk (display) + Inter (body) + IBM Plex Mono via next/font, with CJK/Cyrillic fallbacks; hero titles + eyebrows now use them. (The app was silently on system fonts — --font-inter was never defined.) - Killed the .theme-vision token island; /vision now inherits global tokens. - Contrast: flipped 46 'bg-action text-white' -> text-action-text (ink on lime) so dark-mode fills are readable; added --color-action-strong token for CTAs. Verified: typecheck, lint (0 errors), test:i18n (16/16); 0 arbitrary hex. Rendered home + /vision + marketplace in BOTH light and dark. Still to finish (no-green-left-behind follow-up): favicons/OG card + email/PDF templates + a few secondary buttons + ui-colors.ts still bake the old green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…n Lime Finish the rebrand across every non-CSS surface: - Regenerated favicons (icon.png / apple-icon.png / favicon.ico) with the lime eternal-loop on an obsidian tile; refreshed the referenced public favicon. - OG share card accent → electric lime (ui-colors OG_IMAGE_COLORS.accent). - ui-colors brand greens (feedback page, global-error primary, newsletter success) → lime. Data-viz greens (chart 'positive'/category) kept — green= positive is a UX convention, not brand. - Email templates + invoice PDF: every green hex → lime (deep lime on fills so white text stays readable). - DB default content color → deep lime for new rows. - rich-editor selected-cell highlight fallback → --color-action. Verified: typecheck, lint (0 errors), test:i18n (16/16). OG image + favicon rendered and eyeballed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The site was two brands: green revamp-it chrome everywhere + a lime
/visionisland — different logo, colour, and font. That's the opposite of SSOT. This collapses everything onto one design-token source of truth that looks dope in both light and dark.What
brand.ts, following the theme (green Möbius gone)./visionrenders the same SSOT geometry; the.theme-visionisland is deleted.#4d7c0f= readable text/links/logo on white; electric#B6F531= dark accent + a new--color-action-strongCTA fill (electric + ink text) that pops on both white and obsidian. ~1000text-actionconsumers keep working.next/font, CJK/Cyrillic fallbacks. (App was silently on system fonts —--font-interwas never defined.)bg-action text-white→text-action-text(ink on lime).ui-colors.tsbrand greens, DB default → lime. Kept the success/status green and chart "positive" green (UX conventions, not brand).Verified
typecheck✓ ·lint(0 errors) ✓ ·test:i18n(16/16) ✓ · zero arbitrary hex. Rendered in-browser: home,/vision, marketplace — light and dark; favicon + OG image eyeballed.🤖 Generated with Claude Code