Modyfi — decoded design system
Modyfi's design system, decoded live by Mozaika: measured color roles, type scale, buttons with real hover/focus states, motion and the brand's own tokens.
This is a static, crawlable rendering for search & AI engines. The interactive version — filters, live decode console, copy & export — is at https://mozaika.design/decode/modyfi.com.
Decoded design system
Modyfi's decoded design system: background #000000, text #C9C9C9, accent #3898EC, link #FFFFFF, primary #FF0357; type scale h1 56px / h2 48px / body 19px; 8px spacing base; 15px base radius. The single interactive/action color is #6A6A6A — used only on interactive or must-notice elements (buttons, links, key highlights), never on large fills.
Color roles
| Role | Value |
|---|---|
| bg | #000000 |
| surface | #0C0C0C |
| border | #1E1E1E |
| text | #C9C9C9 |
| text_muted | #7C7C7C |
| primary | #FF0357 |
| accent | #3898EC |
| link | #FFFFFF |
| secondary | #FF0055 |
| button_bg | #6A6A6A |
| button_text | #FFFFFF |
Using these colors
- Action color
#6A6A6A— the single interactive color; only on things you click or must notice, never large fills. primary#FF0357,secondary#FF0055are visually the same color (Δ5) — treat as one role (the action color).- accent
#3898EC— accent for emphasis — keep it rare on the page. - link
#FFFFFF— reads as a neutral UI color, not a link accent — verify against the reference (action = #6A6A6A).
Typography
- Heading: Jokker
- Body: Jokker
- h1: 56px
- h2: 48px
- body: 19px
Spacing
- base unit: 8px
- scale: 3px, 4px, 5px, 7px, 8px, 12px, 13px, 16px, 19px, 20px
Radii
- base: 15px
- button: 10px
Shadows (elevation)
- card:
rgba(0, 0, 0, 0.25) 0px 0px 35px 0px
Motion
Micro-interactions run at 200ms (dominant) with ease.
- durations: 200ms
- easings:
ease - animated properties: background-color, opacity
Native design tokens
| Token | Value |
|---|---|
--paragraphs | #c9c9c9 |
--accent-a1 | #ff0357 |
--semi-stroke | #ffffff1f |
--background-b2 | #1d283880 |
--background-b3 | #1d283840 |
--link | #d8dfe9cc |
--border | #182233 |
--accent-a2 | #0b82d8 |
--background-b1 | #1d2838 |
--relume-library-lite-rl-gray | #f4f4f4 |
…and 16 more measured on the page.
Button states (measured)
- primary focus: outline
1px auto rgb(16, 16, 16)
Layout (measured)
- container max-width:
1220px - nav: 82px fixed
Motion choreography (measured)
Scroll reveal: 7 elements rest at opacity 0, translateY(15px).
Responsive (measured)
- breakpoints: 479px · 584px · 767px · 928px · 991px
- mobile (390px): hero 40px · nav hamburger
Install it
Drop this measured system into any shadcn/Tailwind project in one command:
npx shadcn add mozaika.design/r/decode/modyfi.com
registry item · or query it over MCP: get_design_system("Modyfi")
Export: DESIGN.md
# Modyfi — Design System > dark, modern, high, custom — deep decode (measured live) ## Colors | Role | Value | |------|-------| | bg | `#000000` | | surface | `#0C0C0C` | | border | `#1E1E1E` | | text | `#C9C9C9` | | text_muted | `#7C7C7C` | | primary | `#FF0357` | | accent | `#3898EC` | | link | `#FFFFFF` | | secondary | `#FF0055` | | button_bg | `#6A6A6A` | | button_text | `#FFFFFF` | **Using these colors** - **Action color** `#6A6A6A` — the single interactive color; it appears only on things you click or must notice (buttons, key highlights), never on large fills or backgrounds. - `primary` `#FF0357`, `secondary` `#FF0055` are visually the same color (Δ5) — treat as one role. - **accent** `#3898EC` — accent for emphasis — keep it rare on the page. - **link** `#FFFFFF` — reads as a neutral UI color, not a link accent — verify against the reference (action = #6A6A6A). - **Page coverage** (full-page screenshot pixels): `#000000` 44.2% · `#141414` 37.2% · `#262526` 10.3% · `#5D5B5B` 4.2% ## Typography - Heading: **Jokker** _(free fallback: Newsreader)_ - Body: **Jokker** _(free fallback: Newsreader)_ | Role | Size / weight · line-height · tracking | |------|------------------------------------------| | hero | 56px / 600 · lh 67px · tracking -3px | | h2 | 48px / 600 · lh 58px · tracking -1px | | body | 19px / 400 · lh 35px | | small | 18px / 400 · lh 32px · tracking -1px | - Weight ladder: 300 · 400 · 500 · 600 · 700 — use these exact measured weights, not the 400/600 defaults. > **Fonts —** Jokker may be proprietary — safe free fallback: Newsreader (Google Fonts). ## Spacing - base unit: 8px (inferred from the measured scale) - measured scale: 3px, 4px, 5px, 7px, 8px, 12px, 13px, 16px, 19px, 20px — snap all gaps/padding to these - section rhythm: 112px top/bottom padding per section (measured) ## Radius - base: 15px - button: 10px - card: 30px - sharp: 2px ## Buttons | Button | Fill / text | Border | Radius | Padding | Font | Shadow | |--------|-------------|--------|--------|---------|------|--------| | primary | `#6A6A6A` / `#FFFFFF` | 1px solid rgb(106, 106, 106) | 10px | 3px 7px 3px 7px | 700 12px | none | | secondary | `rgba(0, 0, 0, 0)` / `#FFFFFF` | 1px solid rgb(255, 255, 255) | 10px | 3px 7px 3px 7px | 700 12px | none | **States (measured, not guessed)** - primary focus: outline `1px auto rgb(16, 16, 16)` ## Shadows (elevation) - card: `rgba(0, 0, 0, 0.25) 0px 0px 35px 0px` ## Motion - durations: 200ms (dominant) - easings: `ease` (dominant) - animated properties: background-color, opacity Micro-interactions use the dominant duration + easing; nothing on the page animates slower than the longest duration above — don't invent springier motion. ## Their own tokens (verbatim from :root) | Token | Value | |-------|-------| | `--paragraphs` | `#c9c9c9` | | `--accent-a1` | `#ff0357` | | `--semi-stroke` | `#ffffff1f` | | `--background-b2` | `#1d283880` | | `--background-b3` | `#1d283840` | | `--link` | `#d8dfe9cc` | | `--border` | `#182233` | | `--accent-a2` | `#0b82d8` | | `--background-b1` | `#1d2838` | | `--relume-library-lite-rl-gray` | `#f4f4f4` | | `--magenta-transaprent` | `#ff035778` | | `--untitled-ui-primary600` | `#7f56d9` | _…and 14 more measured on the page._ Prefer these names when extending their system — it's the brand's actual vocabulary. ## Layout (measured) - container max 1220px - nav: 82px fixed | Section (y) | Height | Cols | Gap | Pad y | Split | |---|---|---|---|---|---| | 40 | 405 | — | — | 0/0 | — | | 1403 | 1314 | — | — | 0/0 | — | | 3177 | 265 | — | — | 0/0 | — | | 3869 | 960 | — | — | 0/0 | — | | 4171 | 357 | — | — | 0/0 | — | ## Motion choreography (measured) - scroll reveal: 7 elements rest at opacity 0, translateY(15px) (7 revealed during the drive). Rebuild the timeline, not just the durations — order, delays and staggers above are the choreography. ## Components (measured) - link: #FFFFFF · no underline — hover #1D2939 ## Responsive (measured) - breakpoints: 479px · 584px · 767px · 928px · 991px - mobile (390px): hero 40px · body 18px · nav: hamburger ## How to apply Paste the Tailwind `@theme` (or CSS variables) as your base, then build each section to its spec — verify every color, radius, and font against these tokens. Hover/focus states, shadows and motion timings above are measured from the live page — match them exactly, don't re-guess them.
An automated reading of Modyfi's publicly-visible CSS (colors, fonts, spacing, motion) — not affiliated with modyfi.com. No screenshots stored. Removal requests: hello@mozaika.design.