
Keep clear space equal to one quarter of the mark. Never recolor or distort it.
Responsive layouts, pointer and keyboard interaction, web typography, and browser-safe motion.
The complete visual and interaction reference for Lessgo on the web—from responsive foundations to keyboard-ready components.The complete visual and interaction reference for the Lessgo mobile experience—from touch-first controls to native motion.

Optimistic energy with practical clarity. The identity should feel social, capable and alive—not loud for its own sake.

Keep clear space equal to one quarter of the mark. Never recolor or distort it.
Outfit ExtraBold. Use the full wordmark when brand recognition matters.
Sky → Indigo → Magenta. Reserve it for branded moments, not routine UI.
Write and design around the people making the plan, not the system managing it.
Every state should make the primary action easy to find and easy to understand.
Domain color creates orientation. Semantic color communicates status. Never swap the two.
Celebration, glow and motion support the moment without slowing the task down.
Five domain palettes give the product orientation. Each palette owns its own surfaces, ink and accent in light and dark mode.
The app-icon gradient and its two supporting solids.
app/globals.cssconstants/theme.ts#67BDF6Gradient stop#5E55E8Gradient stop#C637DAGradient stop#5596F2Links and highlights#965AFFHalo and ambient lightAccessible on whiteLuminous on blackUse the assigned domain—not a favourite color—to orient the experience.
Plans, invitations and attendance
#F6F7EF#FFFFFFInk #1B1E14Accent #B4E22ESecondary #6FBF7A#121110#1E1B18Ink #F5F2ECAccent #C7F04ASecondary #86D98FPeople, communities and shared spaces
#F9F3EC#FFFFFFInk #211913Accent #F58A1ESecondary #FFB55A#16100C#241A12Ink #F7EFE6Accent #FF9F45Secondary #FFC978Balances, expenses and settlement
#EDF6EF#FFFFFFInk #12201AAccent #16A34ASecondary #22C55E#0D140F#14201AInk #ECF6EFAccent #4ADE80Secondary #86EFACUpdates, reactions and social energy
#FAF2EF#FFFFFFInk #21140FAccent #F86060Secondary #FFA23D#15100F#241A17Ink #F8EFEAAccent #FF7A7ASecondary #FFB84DIdentity, preferences and personal space
#F4F1F9#FFFFFFInk #1B1626Accent #9B6DF2Secondary #E48FB6#14101A#201A2BInk #F3EEF8Accent #C9A7FFSecondary #F5A9C4Fixed, theme-independent identifiers for event chips and badges.
#7FD1AE#F178B6#F49B7A#6FB1FC#7BD389#B79CED#F5A97F#C08CF0#6FD0C0#F58AB0#C9A27A#E0A24E#86C97F#9BCF7F#6FA8F0#EE9BC0#E58AC0#7BD389#F2C14E#E8965A#64C2C8#8FB4F2#C9CAD6Expressive palettes make Vibes and group spaces distinctive. They are content color, never substitutes for semantic feedback.
Each canonical Vibe keeps the same visual identity in both themes.
#5B247A · #7B2FF7 · #C4457E#0F9B0F · #2AB84B · #A8E063#FF5E8A · #FF8DA1 · #FFB199#0BA18F · #2BD68A · #8FF7C4#F83600 · #FE8C00 · #FFC837#2148C0 · #3A6FE0 · #57C1EB#7A00F5 · #B24BF3 · #E14BE1#0575E6 · #3AC1E0 · #5FE0C8#EC008C · #F55CA0 · #FC6767#E5153C · #F5484B · #FF7A45#5E55E8 · #8A63F2 · #C637DAPastel orientation inside a Group; separate from the Groups domain orange.
groupSectionPalettes.ts#47788D#A8D8EA#667A38#D5E6A3#8D506D#E8AAC8#4C796A#A8D9C8#806D3A#E6D49A#141E30 → #243B55#0F2027 → #2C5364#8E2DE2 → #4A00E0#536976 → #292E49#7F00FF → #E100FF#F00000 → #DC281E#2980B9 → #2C3E50#C6426E → #642B73#396AFC → #2948FF#1A2980 → #26D0CE#DA22FF → #9733EE#603813 → #B29F94#FF512F → #DD2476#F953C6 → #B91D73#EC008C → #FC6767#4776E6 → #8E54E9#EB3349 → #F45C43#02AAB0 → #00CDAC#F83600 → #FE8C00#334D50 → #CBCAA5#11998E → #38EF7D#00B09B → #96C93D#FF6B6B → #FF8E53#DD5E89 → #F7BB97#FDC830 → #F37335#F7971E → #FFD200#D94F59#B63E6F#7042B8#4054B2#2463A6#167C80#26734D#6F7E32#B66A16#D35F32#475569#292929Outfit brings personality to display moments. Inter makes everyday UI effortless to scan. Space Mono keeps amounts and codes stable.
Confident, rounded and friendly.
600 · 700 · 800Neutral, compact and readable.
400 · 500 · 600 · 700For money, codes and IDs only.
400 · 700Outfit 800 · 44/48Launch moments and singular hero statements
Outfit 700 · 30/34Screen and modal titles
Outfit 700 · 21/26Sections and card groups
Inter 400 · 16/22Primary reading and descriptions
Inter 700 · 14/18Buttons, tabs and compact controls
Inter 400 · 13/17Metadata and supporting details
Space Mono 400 · 14/20Money, codes and technical values
One display style and one heading level are usually enough for a screen.
Reserve it for values that benefit from equal-width characters.
Use Lucide's rounded stroke system consistently. Keep unfamiliar actions paired with text and preserve clear pointer and focus states.Use the native icon vocabulary consistently, preserve generous touch targets and pair unfamiliar actions with text.
Domain color appears only in the selected or emphasized state.
24–32 pxcalendar-dayseventusers-roundgroupswallet-cardsaccount-balance-walletsparklesauto-awesomeuser-roundpersonUse visible hover and focus states even when the glyph is self-explanatory.Use a 44 px minimum target even when the glyph is 20 or 24 px.
18–20 px glyph20–24 px glyphhousehomesearchsearchplusadd-circlebellnotificationspencileditshare-2sharemessage-circlechatimageimagelock-keyholelockxclosePlayful event glyphs orbit the mark; never use this density in task UI.
musicmap-markerplanegiftticketglassfilmcamerabirthday-cakecutlerybicycleuserscoffeestar-oheart-omicrophonetrophygamepadbookcompasstreepawshopping-bagResponsive controls prioritize clear hierarchy, visible interaction states and comfortable pointer and keyboard use.Touch-first controls use generous targets, soft cards, pill actions and quiet supporting surfaces.
44–48 px · radius 1452 px · pill48 px · radius 1452 px · radius 20radius 20radius 20 · padding 24radius 28 · padding 24Responsive containers and an 8 px rhythm keep wide and narrow browser layouts calm, readable and predictable.An 8 px rhythm and consistent screen gutters keep compact coordination flows calm. Break the rhythm only for optical alignment.
4 px basexs4pxsm8pxmd12pxlg16pxxl24px2xl32px3xl48pxsoft, never bubblyMotion explains change and rewards progress. It should feel responsive first, expressive second, and always respect reduced-motion preferences.
160–220 ms · ease out200–240 ms · ease outHover, focus, disclosure and compact state changes.Presses, chips and compact native state changes.
240–360 ms · ease out300–650 ms · springMenus, dialogs and meaningful hierarchy changes.Sheets, cards and meaningful hierarchy changes.
280–420 ms · shared axis1,800 ms total · 1,600 ms wavePreserve context between related views without delaying navigation.One branded light wave before control returns.
Remove travel, loops and parallax. Preserve visibility, hierarchy and the final state.
Lessgo sounds like the organised friend in the group: warm, direct and useful. Never robotic, never trying too hard.
Say what happened and what the person can do next.
Remove filler while keeping the sentence human.
Prefer “Invite friends” over “Continue” when that is what happens.
Errors explain the issue without blame, panic or dead ends.
Plain language, named action, useful recovery.
Technical, impersonal and no next step.
Send reminderWho's coming?No expenses yet. Add the first one.Payment recordedA usable interface is the baseline. Color, type, motion and controls must work for people across vision, mobility and input preferences.
4.5:1 for normal text and 3:1 for large text or essential UI.
Pair status color with an icon, label, shape or position.
Icon-only actions require accessible names that describe the result.
Respect the system preference and preserve the final visual state.
Every interactive element needs a clear keyboard focus ring.
Every flow must work without a pointer and follow a logical focus order.
Keep controls reachable and forgiving on touch screens.
Allow text to grow without clipping actions or hiding essential content.