DesignMD Maker
← Home Report · Code analysis
S
Design System

Scarlett Official - Shop All - Parfum Terbaik

Design system extracted from https://scarlettofficial.id/shop-all?ProductCategory=parfum on 2026-10-15 (code-based analysis).

Source · https://scarlettofficial.id/shop-all?ProductCategory=parfum Engine · Code analysis Created · Oct 15, 2026 05:22 Cost · $0.0000
Detected Language

Design Style

technical / mono accents
monospace font in use
Palette

Colors

primary
#ED5089
3.44 on white · 6.11 on black · 338° 81% 62%
secondary
#000000
21 on white · 1 on black · 0° 0% 0%
accent
#A51A5C
7.24 on white · 2.9 on black · 332° 73% 37%
Token Roles 11 tokens
background
#FFFFFF · 21:1 vs black
surface
#FEF3F6 · 19.37:1 vs black
text-primary
#000000 · 21:1 vs white
text-secondary
#828F9B · 3.31:1 vs white
border
#FFCAE3 · 14.81:1 vs black
on-primary
#FFFFFF · 21:1 vs black
on-secondary
#FFFFFF · 21:1 vs black
on-accent
#FFFFFF · 21:1 vs black
surface-container-lowest
#FFFFFF · 21:1 vs black
surface-container-low
#E2E8F0 · 17.03:1 vs black
surface-container
#CBD5E0 · 14.13:1 vs black
Detected Palette 24 colors by frequency in source CSS
#000000
used 56× · 0° 0% 0%
#ED5089
used 40× · 338° 81% 62%
#828F9B
used 29× · 209° 11% 56%
#FFCAE3
used 28× · 332° 100% 90%
#A51A5C
used 28× · 332° 73% 37%
#FFFFFF
used 18× · 0° 0% 100%
#F38EBA
used 6× · 334° 81% 75%
#FEF3F6
used 5× · 344° 85% 97%
#F8C8DD
used 3× · 334° 77% 88%
#9CA3AF
used 3× · 218° 11% 65%
#C72CFF
used 3× · 284° 100% 59%
#F57EB6
used 3× · 332° 86% 73%
#EDF2F7
used 2× · 210° 38% 95%
#E2E8F0
used 2× · 214° 32% 91%
#E8F4F9
used 2× · 198° 59% 94%
#007AFF
used 2× · 211° 100% 50%
#3B82F6
used 2× · 217° 91% 60%
#F7FAFC
used 1× · 204° 45% 98%
#CBD5E0
used 1× · 211° 25% 84%
#A0AEC0
used 1× · 214° 20% 69%
#718096
used 1× · 216° 15% 52%
#4A5568
used 1× · 218° 17% 35%
#2D3748
used 1× · 218° 23% 23%
#1A202C
used 1× · 220° 26% 14%
Type System

Typography

display
inherit
72px · 300 · LH 1.2
Scarlett Official - Shop All - Parfum Terbaik
headline-lg
inherit
36px · 300 · LH 1.2
Scarlett Official - Shop All - Parfum Terbaik
headline-md
inherit
30px · 300 · LH 1.2
Scarlett Official - Shop All - Parfum Terbaik
title-lg
inherit
20px · 300 · LH 1.4
Typography is the discipline of rendering language visible. Spacing, weight, and rhythm carry meaning long before words are read.
body-lg
inherit
18px · 300 · LH 1.5
Typography is the discipline of rendering language visible. Spacing, weight, and rhythm carry meaning long before words are read.
body-md
inherit
16px · 300 · LH 1.5
Typography is the discipline of rendering language visible. Spacing, weight, and rhythm carry meaning long before words are read.
label-md
inherit
14px · 300 · LH 1.4 · LS 0.3px
Typography is the discipline of rendering language visible. Spacing, weight, and rhythm carry meaning long before words are read.
label-sm
inherit
12.5px · 300 · LH 1.4 · LS 0.3px
Typography is the discipline of rendering language visible. Spacing, weight, and rhythm carry meaning long before words are read.
Detected Font Stacks
'Poppins'__Poppins_6bee3b'Bricolage Grotesque'swiper-iconsinheritsystem-ui,sans-serifSFMono-Regular,Menlo,Monaco,Consolas,monospacevar(--ui-fonts-body)
Structure

Layout

Container
Section padding: — · card padding: —
Grid
12-column reference grid · gap —
Spacing Scale
unit
4px
xs
2px
sm
8px
md
16px
lg
32px
xl
64px
detected
2px
detected
4px
detected
0.35em
detected
.5rem
detected
0.5rem
detected
.75rem
detected
15px
detected
1rem
detected
1.25rem
detected
1.5rem
Breakpoints
30em48em80em640px768px1024px1280px1440px
Geometry

Shapes

sm
6px
md
7px
pill
50%
r4
9999px
r5
.375rem
r6
.75rem
Tokens in Context

Components

card
background{colors.surface}
border1px solid {colors.border}
radius7px
boxShadow{elevation.md}
button-primary
background{colors.primary}
radius50%
Animation

Motion

Keyframes 12 found
@keyframes nprogress-spinner
0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); }
@keyframes animation-14pkoxc
from{border-color:var(--skeleton-start-color);background:var(--skeleton-start-color);}to{border-color:var(--skeleton-end-color);background:var(--skeleton-end-color);}
@keyframes tw-marquee
0%{transform:translateX(0)}to{transform:translateX(calc(-100% - var(--gap)))}
@keyframes tw-marquee-vertical
0%{transform:translateY(0)}to{transform:translateY(calc(-100% - var(--gap)))}
@keyframes tw-pulse
50%{opacity:.5}
@keyframes enter
0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}
@keyframes exit
to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}
@keyframes swiper-preloader-spin
0%{transform:rotate(0deg)}to{transform:rotate(1turn)}
@keyframes activity-slider-in
0%{transform:translateZ(0) scale(.5);opacity:0}50%{transform:translateZ(0) scale(1.05);opacity:1}to{transform:translateZ(0) scale(1);opacity:1}
Applied Animations
0.8s linear infinite alternate animation-14pkoxcnonetw-marquee var(--duration) linear infinitetw-marquee-vertical var(--duration) linear infiniteshake-animation 5s ease 0s
Easing Curves
cubic-bezier(0.4, 0, 1, 1)cubic-bezier(0, 0, 0.2, 1)cubic-bezier(0.4, 0, 0.2, 1)var(--ui-transition-easing-ease-in)var(--ui-transition-easing-ease-out)cubic-bezier(.4,0,.2,1)
Transitions
opacity .3sbackground-color .2s ease,color .2s ease
Proof

Live Preview

Complete Reference

Full design.md Specification

Design Specification — Scarlett Official - Shop All - Parfum Terbaik

FieldValue
Site / Projecthttps://scarlettofficial.id/shop-all?ProductCategory=parfum
Analyzed on2026-10-15
Analysis modeAutomated 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 (#A51A5C). All type is set in 'Poppins'. Detected font weights: 300, 400, 500, 600, 700, 800. Detected style signatures: technical / mono accents.

Logo asset(s): https://scarlettofficial.id/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fscarlett-brand.ecb7a2c4.png&w=256&q=100 · https://scarlettofficial.id/_next/static/media/scarlett_logo.32c4f6af.svg

Color System

Detected palette (by frequency)

HexRGBHSLCount
#0000000, 0, 00° 0% 0%56
#ED5089237, 80, 137338° 81% 62%40
#828F9B130, 143, 155209° 11% 56%29
#FFCAE3255, 202, 227332° 100% 90%28
#A51A5C165, 26, 92332° 73% 37%28
#FFFFFF255, 255, 2550° 0% 100%18
#F38EBA243, 142, 186334° 81% 75%6
#FEF3F6254, 243, 246344° 85% 97%5
#F8C8DD248, 200, 221334° 77% 88%3
#9CA3AF156, 163, 175218° 11% 65%3
#C72CFF199, 44, 255284° 100% 59%3
#F57EB6245, 126, 182332° 86% 73%3
#EDF2F7237, 242, 247210° 38% 95%2
#E2E8F0226, 232, 240214° 32% 91%2
#E8F4F9232, 244, 249198° 59% 94%2
#007AFF0, 122, 255211° 100% 50%2
#3B82F659, 130, 246217° 91% 60%2
#F7FAFC247, 250, 252204° 45% 98%1
#CBD5E0203, 213, 224211° 25% 84%1
#A0AEC0160, 174, 192214° 20% 69%1

Assigned roles

Roles are taken from the page's own semantic CSS custom properties when present, otherwise inferred from usage frequency + luminance/saturation.

TokenHexRGBHSL
--color-primary#ED5089237, 80, 137338° 81% 62%
--color-accent#A51A5C165, 26, 92332° 73% 37%
--color-background#FFFFFF255, 255, 2550° 0% 100%
--color-surface#FEF3F6254, 243, 246344° 85% 97%
--color-text-primary#0000000, 0, 00° 0% 0%
--color-secondary#0000000, 0, 00° 0% 0%
--color-text-secondary#828F9B130, 143, 155209° 11% 56%
--color-border#FFCAE3255, 202, 227332° 100% 90%
--color-on-primary#FFFFFF255, 255, 2550° 0% 100%
--color-on-secondary#FFFFFF255, 255, 2550° 0% 100%
--color-on-accent#FFFFFF255, 255, 2550° 0% 100%

Surface ramp (derived from detected light neutrals)

TokenHex
--color-surface-container-lowest#FFFFFF
--color-surface-container-low#E2E8F0
--color-surface-container#CBD5E0

Typography

Primary typeface: Poppins — stack: 'Poppins'

Font stacks (most used first)

  • 'Poppins'
  • __Poppins_6bee3b
  • 'Bricolage Grotesque'
  • swiper-icons
  • inherit
  • system-ui,sans-serif
  • SFMono-Regular,Menlo,Monaco,Consolas,monospace
  • var(--ui-fonts-body)
  • Poppins,sans-serif
  • ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace

Web font sources

  • fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz@12..96&family=Poppins:wght@300;400;500;600&display=swap

Derived type scale

TokenSize
display72px
headline-lg36px
headline-md30px
title-lg20px
body-lg18px
body-md16px
label-md14px
label-sm12.5px

Font sizes (by frequency)

SizeCount
12px68
12.5px40
16px40
14px28
1em2
13px2
20px2
1.875rem2
1rem2
1.125rem2
.875rem2
3rem2
1.5rem1
2.25rem1
.75rem1
4.5rem1
25px1

Weights in use: 300, 400, 500, 600, 700, 800

Line heights (by frequency)

ValueCount
1em12
1.27
14
1.52
02
2.25rem2
1.5rem2
1.75rem2
1.25rem2
1.151

Letter spacing (by frequency)

ValueCount
0.3px68
01

Spacing

Derived spacing scale

TokenValue
unit4px
xs2px
sm8px
md16px
lg32px
xl64px

Raw values (by frequency)

ValueCount
1rem3
.5rem2
.75rem2
1.25rem2
7rem2
1.75rem2
0.35em1
0.5rem1
2.5rem1
4rem1
1.5rem1
15px1
2px1
30px1
2rem1
4px1

Borders & Radius

Derived radius tokens

TokenValue
sm6px
md7px
pill50%

Raw values (resolved, by frequency)

RadiusCount
7px5
50%2
9999px1
.375rem1
.75rem1

Shadows

Derived elevation

TokenValue
md0 0 0 1px

All detected shadows

  • 0 0 0 1px

Layout

Container max-width: 1280px

Grid columns (largest detected grid): 12

Breakpoints

  • 30em
  • 640px
  • 768px
  • 48em
  • 1024px
  • 1280px
  • 80em
  • 1440px

Animation & Motion

Transitions

  • opacity .3s
  • background-color .2s ease,color .2s ease

Easing curves

  • cubic-bezier(0.4, 0, 1, 1)
  • cubic-bezier(0, 0, 0.2, 1)
  • cubic-bezier(0.4, 0, 0.2, 1)
  • var(--ui-transition-easing-ease-in)
  • var(--ui-transition-easing-ease-out)
  • cubic-bezier(.4,0,.2,1)
  • var(--swiper-wrapper-transition-timing-function,initial)

Keyframes

@keyframes nprogress-spinner { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes animation-14pkoxc { from{border-color:var(--skeleton-start-color);background:var(--skeleton-start-color);}to{border-color:var(--skeleton-end-color);background:var(--skeleton-end-color);} }
@keyframes tw-marquee { 0%{transform:translateX(0)}to{transform:translateX(calc(-100% - var(--gap)))} }
@keyframes tw-marquee-vertical { 0%{transform:translateY(0)}to{transform:translateY(calc(-100% - var(--gap)))} }
@keyframes tw-pulse { 50%{opacity:.5} }
@keyframes enter { 0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))} }
@keyframes exit { to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))} }
@keyframes swiper-preloader-spin { 0%{transform:rotate(0deg)}to{transform:rotate(1turn)} }
@keyframes activity-slider-in { 0%{transform:translateZ(0) scale(.5);opacity:0}50%{transform:translateZ(0) scale(1.05);opacity:1}to{transform:translateZ(0) scale(1);opacity:1} }
@keyframes activity-slider-out { 0%{transform:translateZ(0) scale(1);opacity:1}50%{transform:translateZ(0) scale(.5);opacity:0}to{transform:translateZ(0) scale(.5);opacity:0} }
@keyframes shake-animation { 0%{transform:translate(0)}1.78571%{transform:translateY(5px)}3.57143%{transform:translate(0)}5.35714%{transform:translateY(5px)}7.14286%{transform:translate(0)}8.92857%{transform:translateY(5px)}10.71429%{transform:translate(0)}to{transform:translate(0)} }
@keyframes shake { 0%{transform:translate(1px,1px) rotate(0deg)}10%{transform:translate(-1px,-2px) rotate(-1deg)}20%{transform:translate(-3px) rotate(1deg)}30%{transform:translate(3px,2px) rotate(0deg)}40%{transform:translate(1px,-1px) rotate(1deg)}50%{transform:translate(-1px,2px) rotate(-1deg)}60%{transform:translate(-3px,1px) rotate(0deg)}70%{transform:translate(3px,1px) rotate(-1deg)}80%{transform:translate(-1px,-1px) rotate(1deg)}90%{transform:translate(1px,2px) rotate(0deg)}to{transform:translate(1px,-2px) r }

Animations

  • 0.8s linear infinite alternate animation-14pkoxc
  • none
  • tw-marquee var(--duration) linear infinite
  • tw-marquee-vertical var(--duration) linear infinite
  • shake-animation 5s ease 0s

CTA labels found on page

  • Sort By.css-1hzyiq5{display:-webkit-inline-box;display:-webk
  • Categories.css-1hzyiq5{display:-webkit-inline-box;display:-w
  • .css-xl71ch{pointer-events:none;-webkit-flex:1 1 auto;-ms-fl
  • 1
  • 2

Source Design Tokens (CSS custom properties)

:root {
  --main-font: '__Poppins_6bee3b', '__Poppins_Fallback_6bee3b';
  --chakra-ring-inset: var(--chakra-empty,/*!*/ /*!*/);
  --chakra-ring-offset-width: 0px;
  --chakra-ring-offset-color: #fff;
  --chakra-ring-color: rgba(66, 153, 225, 0.6);
  --chakra-ring-offset-shadow: 0 0 #0000;
  --chakra-ring-shadow: 0 0 #0000;
  --chakra-space-x-reverse: 0;
  --chakra-space-y-reverse: 0;
  --ui-colors-transparent: transparent;
  --ui-colors-current: currentColor;
  --ui-colors-black: #000000;
  --ui-colors-white: #FFF;
  --ui-colors-whiteAlpha-50: rgba(255, 255, 255, 0.04);
  --ui-colors-whiteAlpha-100: rgba(255, 255, 255, 0.06);
  --ui-colors-whiteAlpha-200: rgba(255, 255, 255, 0.08);
  --ui-colors-whiteAlpha-300: rgba(255, 255, 255, 0.16);
  --ui-colors-whiteAlpha-400: rgba(255, 255, 255, 0.24);
  --ui-colors-whiteAlpha-500: rgba(255, 255, 255, 0.36);
  --ui-colors-whiteAlpha-600: rgba(255, 255, 255, 0.48);
  --ui-colors-whiteAlpha-700: rgba(255, 255, 255, 0.64);
  --ui-colors-whiteAlpha-800: rgba(255, 255, 255, 0.80);
  --ui-colors-whiteAlpha-900: rgba(255, 255, 255, 0.92);
  --ui-colors-blackAlpha-50: rgba(0, 0, 0, 0.04);
  --ui-colors-blackAlpha-100: rgba(0, 0, 0, 0.06);
  --ui-colors-blackAlpha-200: rgba(0, 0, 0, 0.08);
  --ui-colors-blackAlpha-300: rgba(0, 0, 0, 0.16);
  --ui-colors-blackAlpha-400: rgba(0, 0, 0, 0.24);
  --ui-colors-blackAlpha-500: rgba(0, 0, 0, 0.36);
  --ui-colors-blackAlpha-600: rgba(0, 0, 0, 0.48);
  --ui-colors-blackAlpha-700: rgba(0, 0, 0, 0.64);
  --ui-colors-blackAlpha-800: rgba(0, 0, 0, 0.80);
  --ui-colors-blackAlpha-900: rgba(0, 0, 0, 0.92);
  --ui-colors-gray-50: #F7FAFC;
  --ui-colors-gray-100: #EDF2F7;
  --ui-colors-gray-200: #E2E8F0;
  --ui-colors-gray-300: #CBD5E0;
  --ui-colors-gray-400: #A0AEC0;
  --ui-colors-gray-500: #718096;
  --ui-colors-gray-600: #4A5568;
  --ui-colors-gray-700: #2D3748;
  --ui-colors-gray-800: #1A202C;
  --ui-colors-gray-900: #171923;
  --ui-colors-red-50: #FFF5F5;
  --ui-colors-red-100: #FED7D7;
  --ui-colors-red-200: #FEB2B2;
  --ui-colors-red-300: #FC8181;
  --ui-colors-red-400: #F56565;
  --ui-colors-red-500: #E53E3E;
  --ui-colors-red-600: #C53030;
  --ui-colors-red-700: #9B2C2C;
  --ui-colors-red-800: #822727;
  --ui-colors-red-900: #63171B;
  --ui-colors-orange: #F9A83D;
  --ui-colors-yellow: #FFC549;
  --ui-colors-green-50: #F0FFF4;
  --ui-colors-green-100: #C6F6D5;
  --ui-colors-green-200: #9AE6B4;
  --ui-colors-green-300: #68D391;
  --ui-colors-green-400: #48BB78;
}

Do's and Don'ts

Do

  • Do reserve the accent #A51A5C 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): 300, 400, 500, 600, 700, 800.
  • 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: #ED5089;
  --color-accent: #A51A5C;
  --color-background: #FFFFFF;
  --color-surface: #FEF3F6;
  --color-text-primary: #000000;
  --color-secondary: #000000;
  --color-text-secondary: #828F9B;
  --color-border: #FFCAE3;
  --color-on-primary: #FFFFFF;
  --color-on-secondary: #FFFFFF;
  --color-on-accent: #FFFFFF;
  --color-surface-container-lowest: #FFFFFF;
  --color-surface-container-low: #E2E8F0;
  --color-surface-container: #CBD5E0;
  --font-sans: 'Poppins';
  --font-size-display: 72px;
  --font-size-headline-lg: 36px;
  --font-size-headline-md: 30px;
  --font-size-title-lg: 20px;
  --font-size-body-lg: 18px;
  --font-size-body-md: 16px;
  --font-size-label-md: 14px;
  --font-size-label-sm: 12.5px;
  --radius-sm: 6px;
  --radius-md: 7px;
  --radius-pill: 50%;
  --shadow-md: 0 0 0 1px;
  --space-xs: 2px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 32px;
  --space-xl: 64px;
  --tracking-label: 0.3px;
  --container-max: 1280px;
}

Generated by DesignMD Maker · analyze responsibly — only scan pages you're permitted to study.