Design system extracted from https://huyml.co/ on 2026-10-26 (code-based analysis).
— · card padding: ——| Field | Value |
|---|---|
| Site / Project | https://huyml.co/ |
| Analyzed on | 2026-10-26 |
| Analysis mode | Automated code extraction (no AI) |
This design system was extracted programmatically from the source page. It is built on a light canvas (#ECECEC), ink text (#000000), a vivid accent (#0099FF). All type is set in "Inter". Detected font weights: 400, 500, 700.
Logo asset(s): https://framerusercontent.com/images/T9Y2v9h5BFE7g3Jmw9iWd4WngyQ.svg
| Hex | RGB | HSL | Count |
|---|---|---|---|
#000000 | 0, 0, 0 | 0° 0% 0% | 37 |
#ECECEC | 236, 236, 236 | 0° 0% 93% | 9 |
#EDEDED | 237, 237, 237 | 0° 0% 93% | 4 |
#FFFFFF | 255, 255, 255 | 0° 0% 100% | 2 |
#0099FF | 0, 153, 255 | 204° 100% 50% | 2 |
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 | #0099FF | 0, 153, 255 | 204° 100% 50% |
--color-background | #ECECEC | 236, 236, 236 | 0° 0% 93% |
--color-surface | #EDEDED | 237, 237, 237 | 0° 0% 93% |
--color-text-primary | #000000 | 0, 0, 0 | 0° 0% 0% |
--color-secondary | #000000 | 0, 0, 0 | 0° 0% 0% |
--color-border | #EDEDED | 237, 237, 237 | 0° 0% 93% |
--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% |
| Token | Hex |
|---|---|
--color-surface-container-lowest | #FFFFFF |
--color-surface-container-low | #EDEDED |
--color-surface-container | #ECECEC |
linear-gradient(#ecececc4 0%,#ececec00 100%)linear-gradient(#ededed00 .726703%,#edededc4 100%)Primary typeface: Inter — stack: "Inter"
"Inter"var(--framer-code-font-family,var(--framer-font-family,Inter,Inter Placeholder,sans-serif))var(--font-family)var(--framer-font-family)"BT Grotesk Medium""BT Grotesk Regular""F37 Bolton Trial Regular""BT Glyphius Regular""BT Grotesk Bold Italic""BT Glyphius Bold"| Token | Size |
|---|---|
| label-md | 14px |
| label-sm | 12px |
| Size | Count |
|---|---|
| 12px | 21 |
| 10px | 10 |
| 14px | 10 |
Weights in use: 400, 500, 700
| Token | Value |
|---|---|
| xs | 4px |
| sm | 8px |
| md | 16px |
| lg | 32px |
| xl | 63px |
| Value | Count |
|---|---|
| 10px | 37 |
| 32px | 8 |
| 8px | 8 |
| 20px | 5 |
| 48px | 5 |
| 4px | 4 |
| 40px | 3 |
| 30px | 3 |
| 24px | 2 |
| 16px | 2 |
| 54px | 2 |
| 45px | 1 |
| 18px | 1 |
| 14px | 1 |
| 63px | 1 |
| 11px | 1 |
| Token | Value |
|---|---|
| md | 8px |
| Radius | Count |
|---|---|
initial | 3 |
8px | 1 |
Container max-width: 1100px
Grid columns (largest detected grid): 16
> Page contains canvas/WebGL elements — consider ambient effects layers.
:root {
--token-0c68c7e4-90a1-4b80-b1f5-21051c127250: #fff;
--token-e93f529c-01a4-4879-a2e7-182bd1a3d9fa: #ffffff80;
--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: 0px;
--framer-link-text-color: #09f;
--framer-link-text-decoration: underline;
--8cjvy6: var(--18igjwn);
--fqepva: var(--140q303);
--o8mxkf: var(--1fjvn7h);
--list-style-type: decimal;
--bt-grotesk-responsive-font-size: 12px;
}
Do
#0099FF for interactive highlights and key moments — it is used sparingly on the source page.#ECECEC; surfaces should stay within the detected neutral ramp.Don't
:root {
--color-primary: #0099FF;
--color-accent: #0099FF;
--color-background: #ECECEC;
--color-surface: #EDEDED;
--color-text-primary: #000000;
--color-secondary: #000000;
--color-border: #EDEDED;
--color-on-primary: #FFFFFF;
--color-on-secondary: #FFFFFF;
--color-on-accent: #FFFFFF;
--color-surface-container-lowest: #FFFFFF;
--color-surface-container-low: #EDEDED;
--color-surface-container: #ECECEC;
--font-sans: "Inter";
--font-size-label-md: 14px;
--font-size-label-sm: 12px;
--radius-md: 8px;
--space-xs: 4px;
--space-sm: 8px;
--space-md: 16px;
--space-lg: 32px;
--space-xl: 63px;
--container-max: 1100px;
}
Generated by DesignMD Maker · analyze responsibly — only scan pages you're permitted to study.