DesignMD Maker
← Home Report · Code analysis
I
Design System

ihatepdf.cv — Free Online PDF Editor, No Watermark, No Upload

Design system extracted from https://ihatepdf.cv on 2026-10-30 (code-based analysis).

Source · https://ihatepdf.cv Engine · Code analysis Created · Oct 30, 2026 00:05 Cost · $0.0000
Detected Language

Design Style

gradient-rich / aurora
many gradient definitions
technical / mono accents
monospace font in use
Palette

Colors

primary
#F99C00
2.15 on white · 9.78 on black · 38° 100% 49%
secondary
#1C1916
17.5 on white · 1.2 on black · 30° 12% 10%
accent
#FB2C36
3.81 on white · 5.52 on black · 357° 96% 58%
Token Roles 13 tokens
background
#F7F5F0 · 19.27:1 vs black
surface
#F5F5F5 · 19.26:1 vs black
text-primary
#1C1916 · 17.5:1 vs white
text-secondary
#E5E5E5 · 16.67:1 vs black
border
#D4D4D4 · 14.17:1 vs black
on-primary
#1C1916 · 17.5:1 vs white
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
#FDFDFB · 20.62:1 vs black
surface-container
#FCFBF9 · 20.31:1 vs black
surface-container-high
#FAFAFA · 20.12:1 vs black
surface-container-highest
#F7F5F0 · 19.27:1 vs black
Detected Palette 24 colors by frequency in source CSS
#FFFFFF
used 567× · 0° 0% 100%
#1C1916
used 286× · 30° 12% 10%
#000000
used 255× · 0° 0% 0%
#F5F5F5
used 107× · 0° 0% 96%
#E5E5E5
used 107× · 0° 0% 90%
#D4D4D4
used 73× · 0° 0% 83%
#262626
used 73× · 0° 0% 15%
#262421
used 45× · 36° 7% 14%
#D3D2CD
used 45× · 50° 6% 82%
#171717
used 44× · 0° 0% 9%
#FAFAFA
used 40× · 0° 0% 98%
#A3A3A3
used 39× · 0° 0% 64%
#1A1A1A
used 37× · 0° 0% 10%
#FDFDFB
used 37× · 60° 33% 99%
#E2E1DC
used 36× · 50° 9% 87%
#0F0F0F
used 34× · 0° 0% 6%
#27272A
used 28× · 240° 4% 16%
#767472
used 27× · 30° 2% 45%
#18181B
used 19× · 240° 6% 10%
#F7F5F0
used 18× · 43° 30% 95%
#73716F
used 13× · 30° 2% 44%
#E5E4DF
used 13× · 50° 10% 89%
#FCFBF9
used 13× · 40° 33% 98%
#4A4946
used 12× · 45° 3% 28%
Surface Treatments

Gradients

conic-gradient(#2a2a2a 0% 25%,#222 0% 50%)
conic-gradient(#e4e4e7 0 25%,#fafafa 0 50%)
linear-gradient(90deg,#000 92%,#0000)
linear-gradient(#fdfcf9,#fdfcf966)
linear-gradient(90deg,#0000,#e5e4df,#0000)
Type System

Typography

headline-md
inherit
24px · 500 · LH 1.2 · LS -.03em
ihatepdf.cv — Free Online PDF Editor, No Watermark, No Upload
title-lg
inherit
22.4px · 500 · 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 · 500 · LH 1.6
Typography is the discipline of rendering language visible. Spacing, weight, and rhythm carry meaning long before words are read.
body-md
inherit
16px · 500 · LH 1.6
Typography is the discipline of rendering language visible. Spacing, weight, and rhythm carry meaning long before words are read.
label-md
inherit
14px · 500 · LH 1.4 · LS 0.08em
Typography is the discipline of rendering language visible. Spacing, weight, and rhythm carry meaning long before words are read.
label-sm
inherit
12px · 500 · LH 1.4 · LS 0.08em
Typography is the discipline of rendering language visible. Spacing, weight, and rhythm carry meaning long before words are read.
Detected Font Stacks
var(--font-sans)var(--font-mono)ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serifvar(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji")var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace)
Structure

Layout

Container
Section padding: — · card padding: —
Grid
12-column reference grid · gap —
Spacing Scale
unit
4px
xs
6px
sm
8px
md
16px
lg
40px
xl
64px
detected
1px
detected
6px
detected
8px
detected
10px
detected
12px
detected
16px
detected
20px
detected
24px
detected
40px
detected
64px
Breakpoints
40rem48rem64rem80rem96rem480px
Depth

Elevation & Depth

level 1
0 0 #6366f180
level 2
0 0 0 8px #6366f100
level 3
0 0 #6366f100
level 4
inset 0 1px #ffffffb3,0 1px 2px #1c19150d,0 12px 32px -16px #1c191529
level 5
inset 0 1px 2px #1c19150f
Geometry

Shapes

sm
4px
md
8px
lg
16px
pill
50%
r5
12px
r6
10px
r7
999px
r8
.25rem
Tokens in Context

Components

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

Motion

Keyframes 6 found
@keyframes ihp-spin
to { transform: rotate(360deg); }
@keyframes previewPing
0%{box-shadow:0 0 #6366f180}70%{box-shadow:0 0 0 8px #6366f100}to{box-shadow:0 0 #6366f100}
@keyframes spin
to{transform:rotate(360deg)}
@keyframes ping
75%,to{opacity:0;transform:scale(2)}
@keyframes pulse
50%{opacity:.5}
@keyframes bounce
0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}
Applied Animations
ihp-spin 0.8s linear infinitevar(--animate-bounce)var(--animate-ping)var(--animate-pulse)var(--animate-spin)none
Easing Curves
cubic-bezier(0,0,.2,1)cubic-bezier(.4,0,.2,1)cubic-bezier(.4,0,.6,1)var(--tw-ease,var(--default-transition-timing-function))var(--ease-in-out)var(--ease-out)
Transitions
none!important
Proof

Live Preview

Complete Reference

Full design.md Specification

Design Specification — ihatepdf.cv — Free Online PDF Editor, No Watermark, No Upload

FieldValue
Site / Projecthttps://ihatepdf.cv
Analyzed on2026-10-30
Analysis modeAutomated code extraction (no AI)

Overview

This design system was extracted programmatically from the source page. It is built on a light canvas (#F7F5F0), ink text (#1C1916), a vivid accent (#FB2C36). All type is set in var(--font-sans). Detected font weights: 500, 600, 700, 800, 900. Detected style signatures: gradient-rich / aurora; technical / mono accents.

Logo asset(s): https://ihatepdf.cv/favicon.svg

Color System

Detected palette (by frequency)

HexRGBHSLCount
#FFFFFF255, 255, 2550° 0% 100%567
#1C191628, 25, 2230° 12% 10%286
#0000000, 0, 00° 0% 0%255
#F5F5F5245, 245, 2450° 0% 96%107
#E5E5E5229, 229, 2290° 0% 90%107
#D4D4D4212, 212, 2120° 0% 83%73
#26262638, 38, 380° 0% 15%73
#26242138, 36, 3336° 7% 14%45
#D3D2CD211, 210, 20550° 6% 82%45
#17171723, 23, 230° 0% 9%44
#FAFAFA250, 250, 2500° 0% 98%40
#A3A3A3163, 163, 1630° 0% 64%39
#1A1A1A26, 26, 260° 0% 10%37
#FDFDFB253, 253, 25160° 33% 99%37
#E2E1DC226, 225, 22050° 9% 87%36
#0F0F0F15, 15, 150° 0% 6%34
#27272A39, 39, 42240° 4% 16%28
#767472118, 116, 11430° 2% 45%27
#18181B24, 24, 27240° 6% 10%19
#F7F5F0247, 245, 24043° 30% 95%18

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-background#F7F5F0247, 245, 24043° 30% 95%
--color-primary#F99C00249, 156, 038° 100% 49%
--color-accent#FB2C36251, 44, 54357° 96% 58%
--color-surface#F5F5F5245, 245, 2450° 0% 96%
--color-text-primary#1C191628, 25, 2230° 12% 10%
--color-secondary#1C191628, 25, 2230° 12% 10%
--color-text-secondary#E5E5E5229, 229, 2290° 0% 90%
--color-border#D4D4D4212, 212, 2120° 0% 83%
--color-on-primary#1C191628, 25, 2230° 12% 10%
--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#FDFDFB
--color-surface-container#FCFBF9
--color-surface-container-high#FAFAFA
--color-surface-container-highest#F7F5F0

Gradients

  • conic-gradient(#2a2a2a 0% 25%,#222 0% 50%)
  • conic-gradient(#e4e4e7 0 25%,#fafafa 0 50%)
  • linear-gradient(90deg,#000 92%,#0000)
  • linear-gradient(#fdfcf9,#fdfcf966)
  • linear-gradient(90deg,#0000,#e5e4df,#0000)

> 1 additional gradient definitions were framework utility templates (unresolvable var(--tw-gradient-stops)) and were omitted.

Typography

Primary typeface: var(--font-sans) — stack: var(--font-sans)

Font stacks (most used first)

  • var(--font-sans)
  • var(--font-mono)
  • ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif
  • var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji")
  • var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace)

Derived type scale

TokenSize
headline-md24px
title-lg22.4px
body-lg18px
body-md16px
label-md14px
label-sm12px

Font sizes (by frequency)

SizeCount
0.95rem4
24px3
15px3
12px3
14px2
0.82rem2
18px2
13px2
10px2
11.5px2
11px2
1.1rem1
1rem1
1.4rem1
1em1
.72rem1
7px1
8px1
9px1
10.5px1

Weights in use: 500, 600, 700, 800, 900

Line heights (by frequency)

ValueCount
1.22
1.62
1.42
1.52
12
1.71
1.251
1.351
01
1.051

Letter spacing (by frequency)

ValueCount
-.03em2
-.02em2
-.01em2
0.08em1
01
-.04em1
.1em1
.12em1

Spacing

Derived spacing scale

TokenValue
unit4px
xs6px
sm8px
md16px
lg40px
xl64px

Raw values (by frequency)

ValueCount
16px2
6px2
40px1
64px1
10px1
12px1
20px1
8px1
24px1
1px1

Borders & Radius

Derived radius tokens

TokenValue
sm4px
md8px
lg16px
pill50%

Raw values (resolved, by frequency)

RadiusCount
03
50%2
8px2
12px2
10px2
999px1
16px1
.25rem1

Shadows

Derived elevation

TokenValue
sm0 0 #6366f180
md0 0 #6366f100
lginset 0 1px #ffffffb3,0 1px 2px #1c19150d,0 12px 32px -16px #1c191529

All detected shadows

  • 0 0 #6366f180
  • 0 0 0 8px #6366f100
  • 0 0 #6366f100
  • inset 0 1px #ffffffb3,0 1px 2px #1c19150d,0 12px 32px -16px #1c191529
  • inset 0 1px 2px #1c19150f

Layout

Container max-width: 780px

Grid columns (largest detected grid): 6

Breakpoints

  • 480px
  • 40rem
  • 48rem
  • 64rem
  • 80rem
  • 96rem

Animation & Motion

Easing curves

  • cubic-bezier(0,0,.2,1)
  • cubic-bezier(.4,0,.2,1)
  • cubic-bezier(.4,0,.6,1)
  • cubic-bezier(.4,0,.2,1)
  • var(--tw-ease,var(--default-transition-timing-function))
  • var(--ease-in-out)
  • var(--ease-out)
  • cubic-bezier(.8,0,1,1)

Keyframes

@keyframes ihp-spin { to { transform: rotate(360deg); } }
@keyframes previewPing { 0%{box-shadow:0 0 #6366f180}70%{box-shadow:0 0 0 8px #6366f100}to{box-shadow:0 0 #6366f100} }
@keyframes spin { to{transform:rotate(360deg)} }
@keyframes ping { 75%,to{opacity:0;transform:scale(2)} }
@keyframes pulse { 50%{opacity:.5} }
@keyframes bounce { 0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none} }

Animations

  • ihp-spin 0.8s linear infinite
  • var(--animate-bounce)
  • var(--animate-ping)
  • var(--animate-pulse)
  • var(--animate-spin)
  • none

Source Design Tokens (CSS custom properties)

:root {
  --color-red-50: #f5f5f5;
  --color-red-100: #e5e5e5;
  --color-red-200: #d4d4d4;
  --color-red-300: #a3a3a3;
  --color-red-400: #262626;
  --color-red-500: #000000;
  --color-red-600: #000000;
  --color-red-700: #171717;
  --color-red-800: #000000;
  --color-red-900: #000000;
  --color-red-950: #000000;
  --color-orange-50: #f5f5f5;
  --color-orange-100: #e5e5e5;
  --color-orange-200: #d4d4d4;
  --color-orange-300: #a3a3a3;
  --color-orange-400: #262626;
  --color-orange-500: #000000;
  --color-orange-600: #000000;
  --color-orange-700: #171717;
  --color-orange-800: #000000;
  --color-orange-900: #000000;
  --color-orange-950: #000000;
  --color-amber-50: #f5f5f5;
  --color-amber-100: #e5e5e5;
  --color-amber-200: #d4d4d4;
  --color-amber-300: #a3a3a3;
  --color-amber-400: #262626;
  --color-amber-500: #000000;
  --color-amber-600: #000000;
  --color-amber-700: #171717;
  --color-amber-800: #000000;
  --color-amber-900: #000000;
  --color-amber-950: #000000;
  --color-yellow-50: #f5f5f5;
  --color-yellow-100: #e5e5e5;
  --color-yellow-200: #d4d4d4;
  --color-yellow-300: #a3a3a3;
  --color-yellow-400: #262626;
  --color-yellow-500: #000000;
  --color-yellow-600: #000000;
  --color-yellow-700: #171717;
  --color-yellow-800: #000000;
  --color-yellow-900: #000000;
  --color-yellow-950: #000000;
  --color-lime-50: #f5f5f5;
  --color-lime-100: #e5e5e5;
  --color-lime-200: #d4d4d4;
  --color-lime-300: #a3a3a3;
  --color-lime-400: #262626;
  --color-lime-500: #000000;
  --color-lime-600: #000000;
  --color-lime-700: #171717;
  --color-lime-800: #000000;
  --color-lime-900: #000000;
  --color-lime-950: #000000;
  --color-green-50: #f5f5f5;
  --color-green-100: #e5e5e5;
  --color-green-200: #d4d4d4;
  --color-green-300: #a3a3a3;
  --color-green-400: #262626;
}

Do's and Don'ts

Do

  • Do reserve the accent #FB2C36 for interactive highlights and key moments — it is used sparingly on the source page.
  • Do keep the canvas at #F7F5F0; surfaces should stay within the detected neutral ramp.
  • Do stick to the detected font weight(s): 500, 600, 700, 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.

Design Tokens (copy-paste)

:root {
  --color-background: #F7F5F0;
  --color-primary: #F99C00;
  --color-accent: #FB2C36;
  --color-surface: #F5F5F5;
  --color-text-primary: #1C1916;
  --color-secondary: #1C1916;
  --color-text-secondary: #E5E5E5;
  --color-border: #D4D4D4;
  --color-on-primary: #1C1916;
  --color-on-secondary: #FFFFFF;
  --color-on-accent: #FFFFFF;
  --color-surface-container-lowest: #FFFFFF;
  --color-surface-container-low: #FDFDFB;
  --color-surface-container: #FCFBF9;
  --color-surface-container-high: #FAFAFA;
  --color-surface-container-highest: #F7F5F0;
  --font-sans: var(--font-sans);
  --font-size-headline-md: 24px;
  --font-size-title-lg: 22.4px;
  --font-size-body-lg: 18px;
  --font-size-body-md: 16px;
  --font-size-label-md: 14px;
  --font-size-label-sm: 12px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-pill: 50%;
  --shadow-sm: 0 0 #6366f180;
  --shadow-md: 0 0 #6366f100;
  --shadow-lg: inset 0 1px #ffffffb3,0 1px 2px #1c19150d,0 12px 32px -16px #1c191529;
  --space-xs: 6px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 40px;
  --space-xl: 64px;
  --tracking-display: -.03em;
  --tracking-label: 0.08em;
  --container-max: 780px;
}

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