Best For
African textile design / African pattern / Kente cloth
Design style inspired by West African Kente cloth and Adire tie-dye, featuring bold geometric weave patterns, earth tones clashing with vivid colors, and handcrafted textures.
Best For
African textile design / African pattern / Kente cloth
Primary Move
Use Kente orange bg-[#c4501f] and gold bg-[#f0c75e] for accent elements
Watch Out
Do not use neon or high-saturation fluorescent colors text-[#00ffff]
design.md
One document describes the colour roles, type rules, spacing and component construction behind this style. Copy or download it into Claude Code, Cursor, Codex or v0.
Kente warp and weft, adire dye marks — color and structure woven together.
Theme: dark
African Textile draws on West African Kente cloth and adire resist dye: a dark wood ground (#2c1810) for weight, Kente orange (#c4501f) and gold (#f0c75e) for emphasis, sand (#e8d5b5) for cards and secondary grounds, and forest green (#1a5632) for text and ornament. The core graphic is woven geometry — stripes, checks and diamonds repeating in alternation like warp and weft. Borders run 2 to 4px to carry the cloth's structure, radii hold at 8px so the work stays handmade rather than crude, and headings are bold uppercase on wide tracking for gravity.
| Name | Value | Token | Role |
|---|---|---|---|
| Kente Orange | #c4501f | --color-kente-orange | The first primary on buttons, stripes and the loudest woven band. |
| Dark Wood | #2c1810 | --color-dark-wood | The page ground — dark enough to warm both the orange and the gold. |
| Gold | #f0c75e | --color-gold | The second primary on bright threads, highlights and badges. |
| Forest | #1a5632 | --color-forest | Text and ornament — the third thread of the weave. |
| Sand | #e8d5b5 | --color-sand | Cards and light blocks, balancing the dark wood. |
| Sprout | #80e671 | --color-sprout | The brightest tone, appearing only in very small areas. |
| Role | Family | Weight | Size | Line Height | Letter Spacing | Token |
|---|---|---|---|---|---|---|
| display | — | 900 | 48px | 1.15 | 0.02em | --text-display |
| heading | — | 900 | 36px | 1.2 | 0.02em | --text-heading |
| subheading | — | 700 | 28px | 1.3 | — | --text-subheading |
| body-lg | — | 700 | 21px | 1.5 | — | --text-body-lg |
| body | — | 700 | 16px | 1.6 | — | --text-body |
| label | — | 900 | 13px | 1.4 | 0.24em | --text-label |
Base unit: 8px Density: comfortable
| Name | Value | Token |
|---|---|---|
| 8 | 8px | --spacing-8 |
| 16 | 16px | --spacing-16 |
| 24 | 24px | --spacing-24 |
| 32 | 32px | --spacing-32 |
| 48 | 48px | --spacing-48 |
| 64 | 64px | --spacing-64 |
| 96 | 96px | --spacing-96 |
| 128 | 128px | --spacing-128 |
| Element | Value |
|---|---|
| cards | 8px |
| buttons | 6px |
| inputs | 6px |
Role: The Kente band — the signature
A 24 to 64px band woven from a repeating gradient alternating four colors — orange, gold, forest, sand — in stripes 8 to 16px wide and deliberately uneven. Every third stripe carries a diamond or check. It appears at the header, between sections, or at a card's top.
Role: The woven card — the core component
Sand fill, 8px radius, a 4px dark wood border, 28px padding, with a 12px Kente band along the top. The title runs 36px/900 uppercase in forest at 0.02em with body at 16px in 85% dark wood. Hover swaps the border to Kente orange and lifts 2px.
Role: Action button
Kente orange fill, gold text, 6px radius, a 2px dark wood border, 13px/900 uppercase at 0.24em, 14px 32px padding, hard shadow 0 4px 0 at 60% dark wood. Hover flips the fill to gold and the text to dark wood; press translates 4px 4px and zeroes the shadow. 120ms linear.
Role: The adire dye wash
Layered radial gradients — 8 to 16px circles, irregularly offset — scatter resist-dye marks in gold or orange at 8% to 15%. It must repeat unevenly; an even dot field immediately reads as UI rather than cloth.
Role: The diamond and check ornament
A 24 to 48px solid diamond (a square at 45 degrees) or a 2×2 check in gold, orange or forest, arranged in clusters of two to four. They imitate the symbolic motifs of the cloth and sit at card corners or between regions, two to three clusters per screen.
| Level | Name | Value | Purpose |
|---|---|---|---|
| 0 | Dark Wood | #2c1810 | 页面底 |
| 1 | Sand Card | #e8d5b5 | 卡片 |
| 2 | Woven Band | #c4501f | 织纹带 |
0 4px 0 rgba(44,24,16,0.60)0 8px 24px rgba(44,24,16,0.50)Textile and craft photography: Kente cloth, resist dye, woven baskets, pottery, markets. Warm, high-contrast, with visible weave, and a photo may be cropped into strips set into the woven structure. No cool-toned photography, modern minimalism or imagery without texture.
Capped at 1160px with 24px padding, sections 96px apart. Woven bands divide sections in place of ordinary rules, and cards may stagger in width like seams in cloth.
QUICK COLOR REFERENCE:
#1a5632#2c1810#c4501f#f0c75e#e8d5b5#1a5632EXAMPLE COMPONENT PROMPTS:
:root {
/* Colors */
--color-kente-orange: #c4501f;
--color-dark-wood: #2c1810;
--color-gold: #f0c75e;
--color-forest: #1a5632;
--color-sand: #e8d5b5;
--color-sprout: #80e671;
/* Typography — Font Families */
--font-sans: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
/* Typography — Scale */
--text-display: 48px;
--leading-display: 1.15;
--tracking-display: 0.02em;
--text-heading: 36px;
--leading-heading: 1.2;
--tracking-heading: 0.02em;
--text-subheading: 28px;
--leading-subheading: 1.3;
--text-body-lg: 21px;
--leading-body-lg: 1.5;
--text-body: 16px;
--leading-body: 1.6;
--text-label: 13px;
--leading-label: 1.4;
--tracking-label: 0.24em;
/* Typography — Weights */
--font-weight-bold: 700;
--font-weight-black: 900;
/* Spacing */
--spacing-unit: 8px;
--spacing-8: 8px;
--spacing-16: 16px;
--spacing-24: 24px;
--spacing-32: 32px;
--spacing-48: 48px;
--spacing-64: 64px;
--spacing-96: 96px;
--spacing-128: 128px;
/* Layout */
--page-max-width: 1160px;
--section-gap: 96px;
--card-padding: 28px;
--element-gap: 20px;
--density: comfortable;
/* Border Radius */
--radius-cards: 8px;
--radius-buttons: 6px;
--radius-inputs: 6px;
/* Surfaces */
--surface-dark-wood: #2c1810;
--surface-sand-card: #e8d5b5;
--surface-woven-band: #c4501f;
}
Component Templates
FAQ
/* African Textile Global Styles */
:root {
--at-kente-orange: #c4501f;
--at-dark-wood: #2c1810;
--at-gold: #f0c75e;
--at-forest-green: #1a5632;
--at-sand: #e8d5b5;
}
/* Kente stripe pattern */
.at-kente-stripe {
background: repeating-linear-gradient(
90deg,
var(--at-kente-orange) 0px,
var(--at-kente-orange) 20px,
var(--at-gold) 20px,
var(--at-gold) 40px,
var(--at-forest-green) 40px,
var(--at-forest-green) 60px
);
}
/* Woven texture overlay */
.at-woven-texture {
background-image:
linear-gradient(0deg, rgba(44, 24, 16, 0.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(44, 24, 16, 0.03) 1px, transparent 1px);
background-size: 8px 8px;
}
/* Geometric block accent */
.at-geo-block {
border: 2px solid var(--at-dark-wood);
box-shadow: 4px 4px 0px var(--at-dark-wood);
}
/* Earth tone card */
.at-earth-card {
background-color: var(--at-sand);
border: 2px solid var(--at-dark-wood);
border-radius: 0.5rem;
}
/* Gold accent line */
.at-gold-line {
height: 3px;
background: linear-gradient(90deg, var(--at-kente-orange), var(--at-gold), var(--at-forest-green));
}
@keyframes african-textile-fade-in {
from { opacity: 0; transform: translateY(8px); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes african-textile-pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.7; }
}
.african-textile-card {
position: relative;
overflow: hidden;
}
.african-textile-card::before {
content: "";
position: absolute;
inset: 0;
opacity: 0;
transition: opacity 0.3s ease;
background: linear-gradient(135deg, rgba(196, 80, 31, 0.05), transparent);
pointer-events: none;
}
.african-textile-card:hover::before {
opacity: 1;
}
.african-textile-frosted {
backdrop-filter: blur(12px) saturate(180%);
-webkit-backdrop-filter: blur(12px) saturate(180%);
background: rgba(196, 80, 31, 0.08);
}
.african-textile-accent-corner {
clip-path: polygon(0 0, 100% 0, 100% calc(100% - 2rem), calc(100% - 2rem) 100%, 0 100%);
}
.african-textile-animate-in {
animation: african-textile-fade-in 0.5s ease-out both;
}Related Styles
Explore these styles for ready-made tokens and components.
African Textile and Acid Graphics sit closest to each other. The table below gives the real differences in color, use case, and tags, so the choice between them is made on facts.
| Attribute | African Textile | Acid Graphics |
|---|---|---|
| Primary color | #c4501f | #39ff14 |
| Secondary color | #2c1810 | #0a0a0a |
| Best for | African textile design / African pattern / Kente cloth | acid graphics / acid design / psychedelic design |
| Unique tags | — | — |
Export tools
7 style files, including SKILL.md.
Metadata
Style metadata including version information
Design Tokens
Compatible with Figma / Style Dictionary / Tokens Studio
Tailwind Preset
Tailwind CSS theme preset, import directly in config
Global CSS
CSS variables and base styles
shadcn Theme
shadcn/ui theme configuration
CSS Variables
Pure CSS variables, works with any project
SKILL.md
Loadable skill pack for Cursor / Claude Code / VS Code
African Textile draws inspiration from West African Kente weaving and Adire indigo tie-dye, transforming centuries of textile craft traditions into a vibrant digital design language.
WCAG 2.1 compliance analysis based on color contrast and typography readability.
Overall Score
Grade: D - Poor
Contrast Ratios
| Context | Colors | Ratio | AA | AAA |
|---|---|---|---|---|
| Text on background | /#2c1810 / #2c1810 | 1:1 | ||
| Secondary text on background | /#e8d5b5 / #2c1810 | 11.74:1 | ||
| Muted text on background | /#2c1810 / #2c1810 | 1:1 | ||
| Text on secondary background | /#2c1810 / #e8d5b5 | 11.74:1 | ||
| Secondary text on secondary | /#e8d5b5 / #e8d5b5 | 1:1 | ||
| Button primary | /#e8d5b5 / #c4501f | 3.24:1 | ||
| Text on accent 1 | /#2c1810 / #c4501f | 3.63:1 | ||
| Alt text on accent 1 | /#e8d5b5 / #c4501f | 3.24:1 | ||
| Text on accent 2 | /#2c1810 / #f0c75e | 10.47:1 | ||
| Alt text on accent 2 | /#e8d5b5 / #f0c75e | 1.12:1 | ||
| Text on accent 3 | /#2c1810 / #1a5632 | 1.94:1 | ||
| Alt text on accent 3 | /#e8d5b5 / #1a5632 | 6.04:1 |
Readability
Score
87/100
Font Size
text-sm md:text-base
Font Weight
font-bold uppercase tracking-widest text-[#2c1810]
Line Height
default
Scoring is based on WCAG 2.1 standards. AA requires 4.5:1 contrast for normal text, 3:1 for large text; AAA requires 7:1 for normal text, 4.5:1 for large text.