Design Specification — Creatify - The AI Ad Generator | Create Winning Ads with AI
| Field | Value |
| Site / Project | https://creatify.ai/ |
| Analyzed on | 2026-08-26 |
| Analysis mode | Automated code extraction (no AI) |
Overview
This design system was extracted programmatically from the source page. It is built on a light canvas (#FFFFFF), ink text (#000000), a vivid accent (#573CFF). All type is set in "Inter". Detected font weights: 100, 200, 300, 400, 500, 600, 700, 750, 800, 900. Detected style signatures: technical / mono accents.
Logo asset(s): https://framerusercontent.com/images/ib5pkXVx7VcbkFgEgolGkwJv4.png?width=618&height=113
Color System
Detected palette (by frequency)
| Hex | RGB | HSL | Count |
#000000 | 0, 0, 0 | 0° 0% 0% | 46 |
#FFFFFF | 255, 255, 255 | 0° 0% 100% | 6 |
#0099FF | 0, 153, 255 | 204° 100% 50% | 6 |
#FCFCFC | 252, 252, 252 | 0° 0% 99% | 4 |
#573CFF | 87, 60, 255 | 248° 100% 62% | 2 |
#9BA1A5 | 155, 161, 165 | 204° 5% 63% | 2 |
#F3F7FB | 243, 247, 251 | 210° 50% 97% | 1 |
#ECF1F7 | 236, 241, 247 | 213° 41% 95% | 1 |
#B9BED1 | 185, 190, 209 | 228° 21% 77% | 1 |
#9CA3BD | 156, 163, 189 | 227° 20% 68% | 1 |
#838BA3 | 131, 139, 163 | 225° 15% 58% | 1 |
#68708C | 104, 112, 140 | 227° 15% 48% | 1 |
#4E5774 | 78, 87, 116 | 226° 20% 38% | 1 |
#2D354C | 45, 53, 76 | 225° 26% 24% | 1 |
#111621 | 17, 22, 33 | 221° 32% 10% | 1 |
#CFCDF6 | 207, 205, 246 | 243° 69% 88% | 1 |
#A4A0F5 | 164, 160, 245 | 243° 81% 79% | 1 |
#0000FE | 0, 0, 254 | 240° 100% 50% | 1 |
#033BAC | 3, 59, 172 | 220° 97% 34% | 1 |
#02015A | 2, 1, 90 | 241° 98% 18% | 1 |
Assigned roles
Roles are taken from the page's own semantic CSS custom properties when present, otherwise inferred from usage frequency + luminance/saturation.
| Token | Hex | RGB | HSL |
--color-primary | #0099FF | 0, 153, 255 | 204° 100% 50% |
--color-accent | #573CFF | 87, 60, 255 | 248° 100% 62% |
--color-background | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
--color-surface | #FCFCFC | 252, 252, 252 | 0° 0% 99% |
--color-text-primary | #000000 | 0, 0, 0 | 0° 0% 0% |
--color-secondary | #000000 | 0, 0, 0 | 0° 0% 0% |
--color-text-secondary | #9BA1A5 | 155, 161, 165 | 204° 5% 63% |
--color-border | #B9BED1 | 185, 190, 209 | 228° 21% 77% |
--color-on-primary | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
--color-on-secondary | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
--color-on-accent | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
Surface ramp (derived from detected light neutrals)
| Token | Hex |
--color-surface-container-lowest | #FFFFFF |
--color-surface-container-low | #FCFCFC |
--color-surface-container | #F0F0F0 |
Typography
Primary typeface: Inter — stack: "Inter"
Font stacks (most used first)
"Inter"
"Inter Display"
'IBM Plex Mono'
'Be Vietnam Pro'
"Inter Variable"
'Poppins'
"General Sans"
"Plus Jakarta Sans"
'Ubuntu Sans Mono'
'Fragment Mono'
Derived type scale
Font sizes (by frequency)
Weights in use: 100, 200, 300, 400, 500, 600, 700, 750, 800, 900
Spacing
Derived spacing scale
| Token | Value |
| unit | 4px |
| xs | 4px |
| sm | 8px |
| md | 16px |
| lg | 32px |
| xl | 60px |
Raw values (by frequency)
| Value | Count |
| 10px | 50 |
| 100px | 26 |
| 24px | 15 |
| 20px | 14 |
| 16px | 13 |
| 32px | 13 |
| 40px | 10 |
| 36px | 9 |
| 80px | 8 |
| 200px | 8 |
| 8px | 7 |
| 60px | 5 |
| 12px | 5 |
| 4px | 4 |
| 25px | 3 |
| 6.46px | 3 |
Borders & Radius
Derived radius tokens
Raw values (resolved, by frequency)
| Radius | Count |
inherit | 5 |
20px | 4 |
initial | 3 |
24px | 1 |
Shadows
Derived elevation
| Token | Value |
| md | 0 1px 25px #00000026 |
All detected shadows
Layout
Container max-width: 1440px
Grid columns (largest detected grid): 3
Breakpoints
- 575.98px
- 991.98px
- 1439.98px
- 1440px
Source Design Tokens (CSS custom properties)
:root {
--token-7bc77d28-260e-4b84-92a3-3084b520b0ce: #fff;
--token-7460c497-fdb5-40c5-bef2-fdf1c775d372: #f3f7fb;
--token-7956ef02-b536-4c75-af62-cde1cdd823ac: #ecf1f7;
--token-1b3e504c-d305-4876-8e2c-5dc8f71ef80f: #b9bed1;
--token-e2a9035b-7d24-4d94-a09a-897aaacb8327: #9ca3bd;
--token-9c7a41c5-517c-4dd3-a573-a2bcde21e5ce: #838ba3;
--token-d841d7ff-578b-4375-9cd0-faa60c876cf3: #68708c;
--token-eae6200f-f62a-4545-99bd-8e9d1897ddd5: #4e5774;
--token-2ce442f5-26aa-49ac-a51f-7e5ad4c8e275: #2d354c;
--token-f397b3cb-d77d-48f0-aeb9-53d767c5b5d2: #111621;
--token-328d526d-52b3-499c-854f-6f2f938de898: #000;
--token-f4701d73-f311-4273-979d-6ae669d6716b: #cfcdf6;
--token-f08a20ed-846c-4cd1-87df-f467283ca4fb: #a4a0f5;
--token-9d2364d3-21a1-4998-97d3-20b57b274609: #573cff;
--token-b988d70e-4e2a-47cf-8199-0fece17bfdfe: #0000fe;
--token-ceb7286c-2aa9-42d4-b0e1-16afc3498e42: #033bac;
--token-a363b588-963f-43ed-a804-029f59029e41: #02015a;
--token-2b13d1c1-e3df-4ffd-9df8-12e2523f079b: #00002e;
--token-79cc7236-ec94-4b2c-8a64-ba34fdc7c370: #eaf2ff;
--token-bd09f862-3d36-40c1-a67e-253cf9f8a0b7: #ece5ff;
--token-8232da7d-fb98-4f3b-b0eb-71dfd0237a0b: #ffc94a;
--token-369bc1bd-97b2-4771-a553-64253b756551: #d9ffd8;
--token-7537a40e-335b-4616-ad9e-9ed17d62f8d0: #e44;
--token-0de74f0b-5be6-4f6f-a89b-9a3768ca46ef: #9ba1a5;
--token-8470e3a0-a97d-47e7-ad4e-93a1fbb98171: #fcfcfc;
--token-743c67ae-b338-4f28-a8e1-dc52e8c5da4b: #000;
--token-a8e60898-a281-4b62-ab5c-d9d52252b686: #2631d5;
--token-965e5c17-6359-41cc-bd03-2fa4898e2c2b: #222426;
--token-bf966309-2582-4df8-98f4-f091ce81e703: #131415;
--token-20608b9f-0145-4a1e-b971-ee948ebbb015: #fff;
--token-84002464-baa0-40a1-a1a1-82899aec539a: #9ba1a5;
--token-980dd5c9-5add-4646-955c-31f0a49d308f: #573cff;
--token-63ba07b7-4d84-40a0-aa83-8464785ae418: #0a0a73;
--token-89714bf6-3257-43a4-9cef-49173a95cc34: #fd5b04;
--token-68988a2d-f0c1-415c-a894-b7a90b4ec0e4: #ff45a8;
--token-ff934ff0-ae34-40ab-98f2-c085a3140e80: #ffbc98;
--token-6a98c89b-2a17-495e-b6d9-f9f61e170317: #ff9d00;
--framer-will-change-override: none;
--framer-will-change-filter-override: filter;
--text-decoration: var(--framer-text-decoration-style,solid)var(--framer-text-decoration,none)var(--framer-text-decoration-color,currentcolor)var(--framer-text-decoration-thickness,auto);
--text-decoration-skip-ink: var(--framer-text-decoration-skip-ink);
--text-underline-offset: var(--framer-text-decoration-offset);
--font-family: var(--framer-font-family);
--font-style: var(--framer-font-style);
--font-weight: var(--framer-font-weight);
--text-color: var(--framer-text-color);
--letter-spacing: var(--framer-letter-spacing);
--font-size: var(--framer-font-size);
--text-transform: var(--framer-text-transform);
--line-height: var(--framer-line-height);
--overflow-clip-fallback: hidden;
--one-if-corner-shape-supported: 1;
--framer-paragraph-spacing: 30px;
--framer-link-text-color: #09f;
--framer-link-text-decoration: underline;
--border-bottom-width: 1px;
--border-color: #0003;
--border-left-width: 1px;
--border-right-width: 0px;
--border-style: solid;
}
Do's and Don'ts
Do
- Do reserve the accent
#573CFF for interactive highlights and key moments — it is used sparingly on the source page.
- Do keep the canvas at
#FFFFFF; surfaces should stay within the detected neutral ramp.
- Do stick to the detected font weight(s): 100, 200, 300, 400, 500, 600, 700, 750, 800, 900.
- Do align spacing to the 4px base unit derived from the page.
Don't
- Don't introduce colors outside the detected palette — every hue above was found in the source.
- Don't add gradients — the source page uses flat fills exclusively.
Design Tokens (copy-paste)
:root {
--color-primary: #0099FF;
--color-accent: #573CFF;
--color-background: #FFFFFF;
--color-surface: #FCFCFC;
--color-text-primary: #000000;
--color-secondary: #000000;
--color-text-secondary: #9BA1A5;
--color-border: #B9BED1;
--color-on-primary: #FFFFFF;
--color-on-secondary: #FFFFFF;
--color-on-accent: #FFFFFF;
--color-surface-container-lowest: #FFFFFF;
--color-surface-container-low: #FCFCFC;
--color-surface-container: #F0F0F0;
--font-sans: "Inter";
--font-size-label-sm: 12px;
--radius-lg: 24px;
--shadow-md: 0 1px 25px #00000026;
--space-xs: 4px;
--space-sm: 8px;
--space-md: 16px;
--space-lg: 32px;
--space-xl: 60px;
--container-max: 1440px;
}