Remixes of monkey.app
Latest remixes
No public remixes yet. Be the first to make one.
Remix itLatest remixes
No public remixes yet. Be the first to make one.
Remix itSwitch between the rendered Visual preview and the Raw DESIGN.md.
version: alpha
name: Monkey
description: |
Monkey's design system embodies a vibrant, youthful energy centered on
connection and safety. The dominant purple gradient (#0000EE to #5940DF)
creates an energetic, trustworthy backdrop that feels modern and approachable.
The system balances playful brand elements—the iconic monkey mascot,
lime-green accents—with serious undertones around protection and real human
connection. Typography is bold and confident, using heavy weights (700–900) to
command attention, while whitespace and card-based layouts maintain clarity.
The overall atmosphere is social, safe, and contemporary: a platform where
strangers can meet with confidence.
source:
url: "https://monkey.app"
pagesAnalyzed: 4
extractedAt: 2026-10-11
tokensMeasured: true
colors:
primary: "#0000EE"
accent: "#5940DF"
link: "#FFFC01"
surface: "#FFFFFF"
surface-alt: "#000032"
ink: "#FFFFFF"
body: "#AAAAAA"
muted: "#000000"
hairline: "#00FF88"
accent-1: "#38298C"
accent-2: "#644AF1"
accent-3: "#785AFF"
neutral-1: "#0D0D0D"
typography:
display-xl:
fontFamily: "Helvetica Neue"
fontSize: 60px
fontWeight: 900
lineHeight: 0.9
letterSpacing: 0px
display-lg:
fontFamily: -apple-system
fontSize: 50px
fontWeight: 700
letterSpacing: 0px
display-lg-strong:
fontFamily: -apple-system
fontSize: 50px
fontWeight: 900
lineHeight: 1.4
letterSpacing: 0px
display-md:
fontFamily: "Helvetica Neue"
fontSize: 44.8px
fontWeight: 900
letterSpacing: -1px
display-sm:
fontFamily: -apple-system
fontSize: 42px
fontWeight: 900
letterSpacing: 0px
display-xs:
fontFamily: -apple-system
fontSize: 40px
fontWeight: 900
letterSpacing: 0px
heading-xl:
fontFamily: -apple-system
fontSize: 34px
fontWeight: 800
letterSpacing: -0.5px
heading-lg:
fontFamily: -apple-system
fontSize: 32px
fontWeight: 900
lineHeight: 1.3
letterSpacing: 0px
heading-md:
fontFamily: -apple-system
fontSize: 30px
fontWeight: 700
letterSpacing: 0px
heading-sm:
fontFamily: -apple-system
fontSize: 24px
fontWeight: 700
letterSpacing: 0px
heading-xs:
fontFamily: -apple-system
fontSize: 20px
fontWeight: 700
letterSpacing: 3px
heading-xs-tight:
fontFamily: -apple-system
fontSize: 20px
fontWeight: 700
letterSpacing: 0px
body-lg:
fontFamily: -apple-system
fontSize: 16px
fontWeight: 400
letterSpacing: 0px
body-lg-strong:
fontFamily: -apple-system
fontSize: 16px
fontWeight: 600
letterSpacing: 0px
body-lg-2:
fontFamily: -apple-system
fontSize: 16px
fontWeight: 700
letterSpacing: 0px
body-md:
fontFamily: -apple-system
fontSize: 15px
fontWeight: 400
lineHeight: 1.6
letterSpacing: 0px
body-sm:
fontFamily: -apple-system
fontSize: 14px
fontWeight: 400
lineHeight: 1.71
letterSpacing: 0px
body-xs:
fontFamily: -apple-system
fontSize: 13px
fontWeight: 400
letterSpacing: 0px
label-lg:
fontFamily: -apple-system
fontSize: 19px
fontWeight: 800
letterSpacing: 0px
label-md:
fontFamily: -apple-system
fontSize: 16px
fontWeight: 500
letterSpacing: 0px
label-sm:
fontFamily: -apple-system
fontSize: 14px
fontWeight: 700
letterSpacing: 1px
textTransform: uppercase
caption:
fontFamily: -apple-system
fontSize: 10px
fontWeight: 400
letterSpacing: 0px
rounded:
none: 0px
xs: 8px
sm: 10px
md: 20px
lg: 28px
full: 9999px
spacing:
xxs: 4px
xs: 8px
sm: 12px
md: 16px
lg: 20px
xl: 24px
xxl: 28px
xxxl: 32px
section: 36px
band: 40px
borderWidths:
thin: 1px
shadows:
sm: "rgba(0, 0, 0, 0.15) 0px 10px 40px 0px"
elevationStrategy: single-tier
themes:
derived: light # the other theme is the site's measured palette
light:
bg: "#F8F8FE"
surface: "#EEEEF4"
surfaceRaised: "#E7E7EC"
text: "#10101C"
textMuted: "#71717B"
border: "#D5D5DA"
accent: "#0000EE"
accentFg: "#FFFFFF"
focusRing: "#0000EE"
elevation: shadow
dark:
bg: "#0F1011"
surface: "#FFFFFF"
surfaceRaised: "#FFFFFF"
text: "#FFFFFF"
textMuted: "#AAAAAA"
border: "#00FF88"
accent: "#4141FF"
accentFg: "#FFFFFF"
focusRing: "#0000EE"
elevation: "border+surface"
contrastFailures:
- "dark: text on surface = 1:1 (needs 4.5:1)"
components:
card:
typography: "{typography.body-lg}"
textColor: "rgb(255, 0, 0)"
card-sm:
typography: "{typography.body-lg}"
textColor: "{colors.ink}"
padding: "24px 20px 24px 20px"
rounded: "{rounded.xs}"
backgroundColor: "{colors.accent-1}"
footer:
typography: "{typography.body-xs}"
textColor: "rgba(255, 255, 255, 0.4)"
link:
typography: "{typography.caption}"
textColor: "{colors.ink}"
link-2:
textColor: "{colors.ink}"
padding: "0px 10px 0px 10px"
fontSize: 14px
fontFamily: -apple-system
fontWeight: 500
lineHeight: 3.29
button-icon:
textColor: "rgba(16, 16, 16, 0.3)"
height: 36px
fontSize: 13.3333px
fontFamily: Arial
fontWeight: 400
rounded: "50%"
button-icon-2:
textColor: "{colors.muted}"
height: 36px
fontSize: 13.3333px
fontFamily: Arial
fontWeight: 400
rounded: "50%"
badge-filled:
typography: "{typography.body-xs}"
textColor: "rgba(255, 255, 255, 0.7)"
height: 30px
padding: "4px 10px 4px 4px"
rounded: 18px
backgroundColor: "{colors.accent-1}"
badge-text:
typography: "{typography.label-sm}"
textColor: "rgba(255, 255, 255, 0.5)"
height: 19px
badge-filled-lg:
textColor: "{colors.muted}"
height: 32px
fontSize: 16px
fontFamily: "Helvetica Neue"
fontWeight: 900
rounded: "{rounded.sm}"
backgroundColor: "rgb(255, 230, 0)"
states:
button-hover:
target: button
state: hover
opacity: 0.9
button-focus:
target: button
state: focus
outline: none
other-active:
target: other
state: active
opacity: 0.8
other-disabled:
target: other
state: disabled
opacity: 1
button-active:
target: button
state: active
opacity: 0.1
other-hover:
target: other
state: hover
opacity: 0.8
card-hover:
target: card
state: hover
transform: "translateY(-2px)"
backgroundColor: "rgb(64, 41, 154)"
button-disabled:
target: button
state: disabled
opacity: 0.35
link-hover:
target: link
state: hover
textDecoration: none
breakpoints:
- width: 375
containerWidth: 351
gridColumns: 1
navLinksVisible: 0
menuToggleVisible: false
headingPx: 28
bodyPx: 16
sectionPaddingX: 16
- width: 768
containerWidth: 744
gridColumns: 1
navLinksVisible: 0
menuToggleVisible: false
headingPx: 57
bodyPx: 16
sectionPaddingX: 16
- width: 1024
containerWidth: 819
gridColumns: 1
navLinksVisible: 0
menuToggleVisible: false
headingPx: 50
bodyPx: 16
sectionPaddingX: 80
- width: 1280
containerWidth: 1220
gridColumns: 1
navLinksVisible: 0
menuToggleVisible: false
headingPx: 50
bodyPx: 16
sectionPaddingX: 80
- width: 1440
containerWidth: 1220
gridColumns: 1
navLinksVisible: 0
menuToggleVisible: false
headingPx: 50
bodyPx: 16
sectionPaddingX: 80
coverage:
statesFound: 43
gradientsFound: 0
rolesUnassigned: 4
archetypesUnnamed: 0
archetypesDetected: 0
responsiveMeasured: true
stylesheetsBlocked: true
semanticRampDeclared: false
Monkey's design system embodies a vibrant, youthful energy centered on connection and safety. The dominant purple gradient ({colors.primary} — #0000EE to {colors.accent} — #5940DF) creates an energetic, trustworthy backdrop that feels modern and approachable. The system balances playful brand elements—the iconic monkey mascot, lime-green accents—with serious undertones around protection and real human connection. Typography is bold and confident, using heavy weights (700–900) to command attention, while whitespace and card-based layouts maintain clarity. The overall atmosphere is social, safe, and contemporary: a platform where strangers can meet with confidence.
Key Characteristics
{colors.primary} — #0000EE): Primary CTAs, brand accent, active states, hero bands; the system's most prominent interactive colour{colors.accent} — #5940DF): Secondary hero sections, decorative backgrounds, depth differentiation{colors.link} — #FFFC01): Inline hyperlinks, callouts, safety warnings; high-contrast yellow-green for urgent messaging{colors.accent-1} — #38298C): Decorative section backgrounds, no assigned semantic role{colors.accent-2} — #644AF1): Decorative accent, no assigned semantic role{colors.accent-3} — #785AFF): Decorative accent, no assigned semantic role{colors.surface} — #FFFFFF): Card and panel backgrounds; headings and primary text on dark backgrounds{colors.surface-alt} — #000032): Alternating section backgrounds, deep navy for contrast{colors.body} — #AAAAAA): Body copy, secondary descriptive text{colors.muted} — #000000): Captions, tertiary text, minimal contrast usage{colors.neutral-1} — #0D0D0D): Neutral base, minimal use{colors.hairline} — #00FF88): 1px borders, dividers, subtle accent lines-apple-system (system font stack for optimized rendering across Apple and modern Linux platforms)Helvetica Neue, Inter, Arial (measured on specific components; fallback to system stack recommended)| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|---|---|---|---|---|---|---|
| Display XL | Helvetica Neue | 60px | 900 | 0.9 | 0px | Hero headline, max prominence |
| Display LG Strong | -apple-system | 50px | 900 | 1.4 | 0px | Strong hero accent text |
| Display LG | -apple-system | 50px | 700 | — | 0px | Primary hero heading |
| Display MD | Helvetica Neue | 44.8px | 900 | — | -1px | Large secondary heading, negative tracking |
| Display SM | -apple-system | 42px | 900 | — | 0px | Tertiary display size |
| Display XS | -apple-system | 40px | 900 | — | 0px | Alternative display variant |
| Heading LG | -apple-system | 32px | 900 | 1.3 | 0px | Primary section heading |
| Heading XL | -apple-system | 34px | 800 | — | -0.5px | Large heading, tight tracking |
| Heading MD | -apple-system | 30px | 700 | — | 0px | Section subheading |
| Heading SM | -apple-system | 24px | 700 | — | 0px | Card or component heading |
| Heading XS | -apple-system | 20px | 700 | — | 3px | Compact heading, wide spacing |
| Heading XS Tight | -apple-system | 20px | 700 | — | 0px | Compact heading, normal spacing |
| Label LG | -apple-system | 19px | 800 | — | 0px | Large label, bold accent |
| Label MD | -apple-system | 16px | 500 | — | 0px | Table header, form label |
| Label SM | -apple-system | 14px | 700 | — | 1px | Button label, all-caps emphasis |
| Body LG Strong | -apple-system | 16px | 600 | — | 0px | Bold body variant |
| Body LG (bold) | -apple-system | 16px | 700 | — | 0px | Heavy body accent |
| Body LG | -apple-system | 16px | 400 | — | 0px | Primary body text |
| Body MD | -apple-system | 15px | 400 | 1.6 | 0px | Alternate body size |
| Body SM | -apple-system | 14px | 400 | 1.71 | 0px | Secondary body copy |
| Body XS | -apple-system | 13px | 400 | — | 0px | Tertiary copy, fine print |
| Caption | -apple-system | 10px | 400 | — | 0px | Minimal text, metadata |
Primary Button (Icon)
rgba(0, 0, 0, 0) (transparent)rgba(16, 16, 16, 0.3)0px36px (square icon button)50% (circular)-apple-system, 13.3333px, 400 weightopacity: 0.9opacity: 0.1opacity: 0.35Icon Button (Dark Variant)
rgba(0, 0, 0, 0) (transparent)rgb(0, 0, 0)0px36px (square icon button)50% (circular)Arial, 13.3333px, 400 weightCard Default (Large Image)
rgba(0, 0, 0, 0) (transparent, image-only)rgb(255, 0, 0)0px580px232.906px (responsive aspect)0px (sharp corners for images)-apple-system, 16px, 400 weightCard Container (Accent Background)
rgb(56, 41, 140) ({colors.accent-1})rgb(255, 255, 255)24px 20px ({spacing.xl} vertical, {spacing.lg} horizontal)1152px148px (flexible)8px ({rounded.xs})-apple-system, 16px, 400 weighttransform: translateY(-2px), borderColor: var(--yellow), backgroundColor: rgb(64, 41, 154)Form Input (Search / Select)
rgb(56, 41, 140) (dark accent container)rgb(255, 255, 255)24px 20px (generous spacing){rounded.xs} (8px, soft corners)-apple-system, 16px, 400 weightDisabled Input State
var(--van-field-input-disabled-text-color)1Footer Link
rgba(255, 255, 255, 0.4) (muted white)0px-apple-system, 13px, 400 weighttextDecoration: underline, color: var(--yellow)Header Link (Default)
rgb(255, 255, 255)0px 10px ({spacing.xs} horizontal)-apple-system, 14px, 500 weight46px (vertical alignment)Link Hover State
rgb(255, 255, 255)rgb(0, 0, 0) (invert on hover)Badge Filled (Standard)
rgb(56, 41, 140) ({colors.accent-1})rgba(255, 255, 255, 0.7) (muted white)4px 10px ({spacing.xxs} / {spacing.xs})18px (pill shape, soft)30px-apple-system, 13px, 400 weightBadge Text (Label)
rgba(255, 255, 255, 0.5) (highly muted)0px0px (no rounding)-apple-system, 14px, 700 weightBadge Filled Large (Yellow)
rgb(255, 230, 0) (bright yellow, semantic accent)rgb(0, 0, 0) (dark text for contrast)0px10px ({rounded.sm})32px (compact square)Helvetica Neue, 16px, 900 weightBase unit: {spacing.xs} = 8px
Scale (all multiples of 4px for grid alignment):
{spacing.xxs} = 4px (micro spacing between tight elements){spacing.xs} = 8px (compact spacing, icons with labels){spacing.sm} = 12px (small gaps, nested containers){spacing.md} = 16px (standard spacing, component padding){spacing.lg} = 20px (generous spacing, card internals){spacing.xl} = 24px (large spacing, section separation){spacing.xxl} = 28px (extra-large spacing){spacing.xxxl} = 32px (major spacing, layout blocks){spacing.section} = 36px (section break spacing){spacing.band} = 40px (large band spacing, hero sections)Usage Context:
{spacing.md} for standard button/card padding; {spacing.lg} for larger containers{spacing.xl} for section separation; {spacing.band} for major layout breaks{spacing.xs} for compact lists; {spacing.md} for flexible grids1220px (locked at 1280px+ viewport)1152px (subset of max width)Aggressive whitespace and breathing room define the layout. Large vertical spacing ({spacing.band} = 40px) separates major sections. Horizontal padding remains generous (80px at desktop, 16px at mobile) to prevent edge-hugging. Cards and containers use consistent internal padding ({spacing.lg} to {spacing.xl}) to feel premium and uncluttered. No cramped layouts; every element has clear visual separation.
{rounded.none} = 0px (image containers, sharp photographs){rounded.xs} = 8px (card containers, form inputs, primary UI surfaces){rounded.sm} = 10px (badge containers, accent elements){rounded.md} = 20px (larger cards, prominent containers){rounded.lg} = 28px (oversized rounded containers, decorative elements){rounded.full} = 9999px (circular badge pills, icon buttons)Component Application:
{rounded.full} (36px circular){rounded.xs} (8px soft corner){rounded.xs} (8px soft corner){rounded.full} (pill shape) or {rounded.sm} (10px for variants){rounded.none} (sharp, photographic)| Level | Treatment | Use |
|---|---|---|
| Flat | No shadow, solid color, box-shadow: none | Card backgrounds, primary surfaces |
| Lifted | rgba(0, 0, 0, 0.15) 0px 10px 40px 0px | Card hover state, minor elevation |
Shadow Philosophy:
The system relies on color blocking and opacity shifts rather than aggressive shadow depth. A single subtle shadow (rgba(0, 0, 0, 0.15) at 10px offset, 40px blur) appears only on card hover, creating a micro-lift effect. Most surfaces remain flat, using background color and border treatments to define depth. This approach prioritizes clarity and speed over realistic 3D rendering.
z-index: 2 (standard stacking context)(Note: Only one z-index value was explicitly extracted. Additional layering for modals, toasts, and dropdowns may exist but were not measured in the captured stylesheets.)
1220px) for hierarchy{colors.primary} (#0000EE) for primary CTAs and interactive elements; it is the system's anchor{colors.primary} to {colors.accent}) as a hero band backdrop{colors.link} (#FFFC01) to inline links, warnings, and safety callouts; the yellow pops against dark backgrounds{spacing.lg} to {spacing.xl}) on cards and containers; don't cram content{rounded.full}) for icon-only actions; use {rounded.xs} (8px) for text buttons{spacing.md} (16px) or larger for readability{rounded.xs} (8px) and consistent internal padding for a polished, modular feel-apple-system for body and control text{colors.accent-1}, {colors.accent-2}, {colors.accent-3}); they are decorative, not semantic{spacing.md} (16px) on card containers; the system breathes through space{rounded.none}){colors.link} must stand out| Viewport | Content Width | Grid Columns | Key Changes | Section Padding X |
|---|---|---|---|---|
| 375px (Mobile) | 351px | 1 | Single-column layout; tight horizontal spacing; display text reduced to ~28px | 16px |
| 768px (Tablet) | 744px | 1 | Still single-column; display text expands to ~57px; content column widens | 16px |
| 1024px (Desktop Small) | 819px | 1 | Layout remains single-column; content max-width locks; section padding expands to 80px | 80px |
| 1280px (Desktop) | 1220px | 1 | Max width reached; remains locked at 1220px through 1440px; no multi-column conversion | 80px |
| 1440px (Desktop Large) | 1220px | 1 | Max width locked; section padding stable at 80px | 80px |
Minimum interactive element size: 36px × 36px (icon buttons, measured)
All text links and buttons must have padding sufficient to reach at least 44px tall on mobile for thumb-friendly tapping. Cards and container tap areas should never be smaller than 36px in height.
{typography.heading-sm} (24px); body text locks to {typography.body-lg} (16px); section padding halves to {spacing.md} (16px) horizontal; cards stack vertically with full-width layout{typography.display-lg} (50px); single-column maintained; card widths adapt to viewport; section padding remains 16px{typography.display-xl} 60px+); section padding expands to 80px; max-width container locks at 1220px; whitespace and breathing room maximizeNo hidden elements between breakpoints; all content flows and reflows vertically. Horizontal grid never expands beyond one logical column per the extracted data.
#0000EE) — use for buttons, active states, hero bands#5940DF) — decorative sections, depth layers#FFFC01) — inline hyperlinks, urgent messaging, high contrast#38298C) — dark card backgrounds, form inputs#FFFFFF) — all headings and body on dark backgrounds#AAAAAA) — secondary descriptive text#000000) — minimal use, captions, tertiary text#00FF88) — 1px dividers, subtle accents{colors.primary} for all primary CTAs — it is the visual anchor; do not substitute with accent colors{spacing.lg} (20px) to {spacing.xl} (24px) inside card containers; never compact below {spacing.md} (16px){rounded.full}) and text buttons to soft corners ({rounded.xs} 8px) — this differentiates button roles{colors.link} (#FFFC01) to all inline links — it must stand out against dark backgrounds; always underline on hoveropacity: 0.9), focus (outline: none), active (opacity: 0.1), and disabled (opacity: 0.35) states, but many components may have additional states (focus-ring color, pressed, aria-current) not present in the measured stylesheets{colors.accent-1} (#38298C), {colors.accent-2} (#644AF1), {colors.accent-3} (#785AFF)—and are used only decoratively; do not assign them new roles without design reviewz-index: 2 as base) was measured; modal, dropdown, sticky, and toast layering (if any) are not documentedvar() declarations (e.g., var(--yellow), var(--van-*)) that were not fully resolved; their underlying values may differ from context to context