Best For
organic / warm / natural
暖感有机风
A warm, naturalist portfolio style for architects, interior designers, product designers, ceramic artists, and landscape architects. Think warm-toned minimalism: terracotta and clay colors, natural textures, soft shadows, organic curves, and a palpable sense of craft. The design itself feels handmade — like it was printed on textured paper.
Best For
organic / warm / natural
Primary Move
Set the page background to bg-[#F5F0EB] warm off-white; cards and panels use bg-[#E8DED1] or bg-white/60 translucent white
Watch Out
Never use cool grays like #999 or #6B7280 for text or background neutrals — every neutral must lean warm
Showcase Entry
Live preview of the showcase page. Click to explore the full experience.
Color Palette
Primary
#2D2A24
Secondary
#F5F0EB
Accent 1
#C86A4A
Accent 2
#7A8B5E
AI Implementation
Use the Hard Prompt by default to generate UI. Use the Design Spec to understand, modify, and review the style. Use the Creative Brief for early exploration.
Use this by default: copy it, append the concrete requirement, and let AI generate consistent production UI.
When to use
How to use
STYLEKIT_STYLE_REFERENCE
style_name: Warm Organic
style_slug: warm-organic
style_source: /styles/warm-organic
# Hard Prompt
## When To Use
Use this when you want AI to generate code with strict style consistency. It is the safest default for production UI.
## How To Use
- Copy the full prompt into ChatGPT, Claude, Cursor, or another coding assistant.
- Append the concrete product/page requirement after the prompt.
- After generation, check the forbidden rules and interaction states before accepting the output.
Strictly follow the style rules below and maintain consistency. No style drift allowed.
## Requirements
- Prioritize style consistency first, then creative extension.
- When conflicts arise, treat prohibitions as the highest priority.
- Self-check before output: verify colors, typography, spacing, and interactions still match this style.
## Style Rules
## Required Style Rules
- Set the page background to bg-[#F5F0EB] warm off-white; cards and panels use bg-[#E8DED1] or bg-white/60 translucent white
- Use unified rounded-lg radii everywhere — curves that look natural like river-smoothed pebbles, not artificial bubbles
- Cards cast warm shadows: shadow-[0_4px_20px_-4px_rgba(45,42,36,0.12)] with warm brown undertone, never cold gray
- Body text uses font-sans text-[#2D2A24] leading-relaxed; headings use font-serif font-medium or font-sans font-light tracking-wide
- Accent colors: text-[#C86A4A] terracotta for links and CTAs, bg-[#C86A4A] for buttons; olive green text-[#7A8B5E] for secondary tags and natural elements
- Dividers use warm hairlines: border-t border-[#D4BFA5] opacity-60, like the natural shadow between stacked sheets of paper
- Inputs use bg-[#E8DED1]/40 warm gray background, border-[#D4BFA5] edges, switching to terracotta border-[#C86A4A] with ring-1 ring-[#C86A4A]/20 on focus
- Decorative dividers use circular or organic shapes: w-12 h-12 rounded-full bg-[#D4BFA5]/30 with a hairline olive dot
## Forbidden Rules
- Never use cool grays like #999 or #6B7280 for text or background neutrals — every neutral must lean warm
- Never use sharp rounded-none or tiny rounded-sm — the organic aesthetic needs soft, rounded edges
- Never use cool shadows (shadow with #000 or cold gray); shadows must carry a warm brown undertone
- Never use saturated neon colors or cool blues — terracotta #C86A4A and olive #7A8B5E are the only accent colors
- Never use glassmorphism (backdrop-blur + translucent white) — organic texture comes from warm color layers and soft shadows, not frosted glass
- Never use pure black #000000 for body text; deep brown #2D2A24 is the maximum darkness for text
## Absolute Bans (Match and Refuse)
If any of the following patterns appear, it is a style violation — rewrite without exception.
- use cool grays like #999 or #6B7280 for text or background neutrals — every neutral must lean warm
- use sharp rounded-none or tiny rounded-sm — the organic aesthetic needs soft, rounded edges
- use cool shadows (shadow with #000 or cold gray); shadows must carry a warm brown undertone
- use saturated neon colors or cool blues — terracotta #C86A4A and olive #7A8B5E are the only accent colors
- use glassmorphism (backdrop-blur + translucent white) — organic texture comes from warm color layers and soft shadows, not frosted glass
- use pure black #000000 for body text; deep brown #2D2A24 is the maximum darkness for text
## Self-Check (Verify Before Shipping)
If any item fails, the style has drifted — fix before shipping.
- [ ] No purple-to-blue gradients
- [ ] No overused fonts (Inter, Roboto, Geist, Fraunces, Plus Jakarta Sans)
- [ ] No nested cards (cards inside cards)
- [ ] No gray text on colored backgrounds
- [ ] Body text contrast meets WCAG AA (>= 4.5:1)
- [ ] No bounce or elastic easing curves
- [ ] Animations have a prefers-reduced-motion fallback
- [ ] Body text line length capped at 65-75 characters
- [ ] No side-stripe accent borders (border-left/right > 1px)
- [ ] No gradient text (background-clip: text)
- [ ] No glassmorphism used as the default surface treatment
- [ ] No tiny uppercase tracked eyebrow labels above every section heading
- [ ] never use cool grays like #999 or #6B7280 for text or background neutrals — every neutral must lean warm
- [ ] never use sharp rounded-none or tiny rounded-sm — the organic aesthetic needs soft, rounded edges
- [ ] never use cool shadows (shadow with #000 or cold gray); shadows must carry a warm brown undertone
- [ ] never use saturated neon colors or cool blues — terracotta #C86A4A and olive #7A8B5E are the only accent colors
- [ ] never use glassmorphism (backdrop-blur + translucent white) — organic texture comes from warm color layers and soft shadows, not frosted glassUse it in your workflow
Drop this style's theme into an existing shadcn project with one command.
npx shadcn add https://www.stylekit.top/r/warm-organic.jsonGrab this style's theme without leaving your terminal.
npx stylekit-cli add warm-organicLet Claude, Cursor & Windsurf apply “Warm Organic” while you code.
npx stylekit-mcpComponent Templates
暖感主操作按钮,陶土色圆角按钮,hover 时加深,像烧制后的黏土
Frontend Readiness
This layer tracks whether the style is ready for real websites: theme modes, state feedback, keyboard access, and performance constraints.
Overall
51%
Fallback
Dark Mode
0%
MissingUI States
79%
PartialMotion
70%
PartialA11y
70%
PartialPerformance
35%
FallbackButton
Default / Hover / Focus Visible / Active / Disabled
Input
Default / Hover / Focus Visible / Disabled / Error
Card
Default / Hover / Focus Visible / Loading / Skeleton
Form
Default / Focus Visible / Disabled / Loading / Error
/* Warm Organic Global Styles */
/* Signature warm shadow (claymorphism-lite) */
.warm-organic-card-shadow {
box-shadow: 0 4px 20px -4px rgba(45, 42, 36, 0.10);
transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.warm-organic-card-shadow:hover {
box-shadow: 0 8px 30px -6px rgba(45, 42, 36, 0.15);
transform: translateY(-2px);
}
/* Warm button shadow */
.warm-organic-button-shadow {
box-shadow: 0 2px 12px -3px rgba(200, 106, 74, 0.3);
}
/* Organic decorative dot */
.warm-organic-dot {
display: inline-block;
width: 0.5rem;
height: 0.5rem;
border-radius: 9999px;
}
.warm-organic-dot--terracotta {
background: #C86A4A;
}
.warm-organic-dot--olive {
background: #7A8B5E;
}
.warm-organic-dot--clay {
background: #D4BFA5;
}
/* Warm hairline divider */
.warm-organic-hairline {
border: none;
border-top: 1px solid #D4BFA5;
opacity: 0.6;
}
/* Natural texture overlay (subtle paper grain) */
.warm-organic-texture {
position: relative;
}
.warm-organic-texture::before {
content: "";
position: absolute;
inset: 0;
opacity: 0.03;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.5'/%3E%3C/svg%3E");
background-repeat: repeat;
pointer-events: none;
}
/* Image treatment: rounded with warm undertone border */
.warm-organic-image {
border-radius: 0.5rem;
border: 1px solid rgba(212, 191, 165, 0.4);
}
/* Decorative organic divider */
.warm-organic-divider {
display: flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
}
.warm-organic-divider::before,
.warm-organic-divider::after {
content: "";
flex: 1;
height: 1px;
background: #D4BFA5;
opacity: 0.5;
}
.warm-organic-divider-dot {
display: inline-block;
width: 0.375rem;
height: 0.375rem;
border-radius: 9999px;
background: rgba(200, 106, 74, 0.4);
}
/* Warm Organic Design Tokens */
:root {
--warm-organic-paper: #F5F0EB;
--warm-organic-sand: #E8DED1;
--warm-organic-clay: #D4BFA5;
--warm-organic-ink: #2D2A24;
--warm-organic-terracotta: #C86A4A;
--warm-organic-olive: #7A8B5E;
}
@keyframes warm-organic-fade-up {
from { opacity: 0; transform: translateY(12px); }
to { opacity: 1; transform: translateY(0); }
}
.warm-organic-animate-in {
animation: warm-organic-fade-up 0.5s ease-out both;
}IDE Integration
Download configuration files for AI coding assistants to generate code in this style.
Style Pack
Get complete machine-readable style assets including design tokens, Tailwind presets, CSS variables, and shadcn/ui themes.
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
Warm Organic is "the breath of the earth palette": weaving the colors of terracotta, clay, sand, and olive branch into a digital interface until the page feels as warm and tactile as a hand-thrown vessel.
WCAG 2.1 compliance analysis based on color contrast and typography readability.
Overall Score
Grade: B - Good
Contrast Ratios
| Context | Colors | Ratio | AA | AAA |
|---|---|---|---|---|
| Text on background | /#2D2A24 / #F5F0EB | 12.63:1 | ||
| Secondary text on background | /#2D2A24 / #F5F0EB | 12.63:1 | ||
| Muted text on background | /#2D2A24 / #F5F0EB | 12.63:1 | ||
| Text on secondary background | /#2D2A24 / #E8DED1 | 10.76:1 | ||
| Secondary text on secondary | /#2D2A24 / #E8DED1 | 10.76:1 | ||
| Button primary | /#ffffff / #C86A4A | 3.74:1 | ||
| Text on accent 1 | /#2D2A24 / #C86A4A | 3.83:1 | ||
| Alt text on accent 1 | /#2D2A24 / #C86A4A | 3.83:1 | ||
| Text on accent 2 | /#2D2A24 / #7A8B5E | 3.87:1 | ||
| Alt text on accent 2 | /#2D2A24 / #7A8B5E | 3.87:1 | ||
| Text on accent 3 | /#2D2A24 / #D4BFA5 | 8.03:1 | ||
| Alt text on accent 3 | /#2D2A24 / #D4BFA5 | 8.03:1 | ||
| Text on accent 4 | /#2D2A24 / #F5F0EB | 12.63:1 | ||
| Alt text on accent 4 | /#2D2A24 / #F5F0EB | 12.63:1 |
Readability
Score
95/100
Font Size
text-sm md:text-base
Font Weight
font-serif font-medium text-[#2D2A24] tracking-tight
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.