Best For
Ma / 侘寂 / 留白
Japanese Fresh
Centered on Ma (space) philosophy, wabi-sabi aesthetics, and extreme breathing room, using hairline borders, botanical line-drawing accents, and minimal warm neutral colors to create a serene, healing design experience.
Best For
Ma / 侘寂 / 留白
Primary Move
Use extreme whitespace (py-32, py-40) between sections -- Ma is the primary design tool
Watch Out
Never use bold or heavy font weights (font-bold, font-semibold)
Showcase Entry
Live preview of the showcase page. Click to explore the full experience.
Color Palette
Primary
#64b5f6
Secondary
#fafaf8
Accent 1
#98d8c8
Accent 2
#ffb7c5
Prompts
Use one-click prompts to generate 日系清新风 style UIs. Hard mode enforces strict constraints; soft mode keeps overall style direction while allowing flexibility.
Strict constraints for high style consistency
STYLEKIT_STYLE_REFERENCE
style_name: 日系清新风
style_slug: japanese-fresh
style_source: /styles/japanese-fresh
# Hard Prompt
请严格遵守以下风格规则并保持一致性,禁止风格漂移。
## 执行要求
- 优先保证风格一致性,其次再做创意延展。
- 遇到冲突时以禁止项为最高优先级。
- 输出前自检:颜色、排版、间距、交互是否仍属于该风格。
## Style Rules
# Japanese Fresh (日系清新风) Design System
> 以Ma (间) 留白哲学、侘寂美学和极致呼吸感为核心,通过发丝级边框、植物线描装饰和极简温暖中性色,营造沉静治愈的设计体验。
## 核心理念
Japanese Fresh embodies Ma (space between) and wabi-sabi (beauty in imperfection). Design is not about what you add, but what you allow to breathe.
Core principles:
- Ma (間): Intentional, generous whitespace is the primary design element. Sections use py-32+ to create profound breathing room between content
- Wabi-sabi: Embrace subtle imperfection -- asymmetric layouts, slightly off-center elements, and organic rather than rigid alignment
- Hairline Borders: All borders are 0.5-1px maximum, using warm neutral colors like #d4d4cf at 30-40% opacity
- Natural Textures: Subtle linen/paper grain texture backgrounds reference natural materials (washi paper, unbleached cotton)
- Botanical Accents: Single delicate line-drawn botanical SVG elements per section -- one branch, one leaf, never crowded
- Bottom-line Inputs: Inputs use only a bottom border line, floating labels, no surrounding frame
- No Shadows: Forms exist without shadow; they float in whitespace by their own presence
---
## Token 字典(精确 Class 映射)
### 边框
```
宽度: border
颜色: border-[#d4d4cf]
圆角: rounded-xl
```
### 阴影
```
小: shadow-none
中: shadow-[0_1px_3px_rgba(0,0,0,0.03)]
大: shadow-[0_2px_6px_rgba(0,0,0,0.04)]
悬停: hover:shadow-[0_2px_8px_rgba(0,0,0,0.05)]
聚焦: focus:shadow-[0_0_0_2px_rgba(100,181,246,0.08)]
```
### 交互效果
```
悬停位移: hover:-translate-y-px
过渡动画: transition-all duration-500 ease-in-out
按下状态: active:scale-[0.99]
```
### 字体
```
标题: font-sans font-extralight text-[#4a5568] tracking-wide
正文: font-sans font-light text-[#6b7280] leading-relaxed
```
### 字号
```
Hero: text-3xl md:text-5xl lg:text-6xl
H1: text-2xl md:text-4xl
H2: text-xl md:text-2xl
H3: text-base md:text-lg
正文: text-sm md:text-base
小字: text-xs md:text-sm
```
### 间距
```
Section: py-24 md:py-32 lg:py-40
容器: px-8 md:px-12 lg:px-20
卡片: p-8 md:p-10
```
---
## [FORBIDDEN] 绝对禁止
以下 class 在本风格中**绝对禁止使用**,生成时必须检查并避免:
### 禁止的 Class
- `rounded-none`
- `rounded-sm`
- `border-2`
- `border-4`
- `font-bold`
- `font-black`
- `font-extrabold`
- `bg-[#0f0f1a]`
- `bg-black`
- `bg-[#1a1a1a]`
- `shadow-[0_0_`
- `text-[#ff006e]`
- `uppercase`
- `shadow-lg`
- `shadow-xl`
- `shadow-2xl`
- `tracking-widest`
### 禁止的模式
- 匹配 `^rounded-(?:none|sm)$`
- 匹配 `^border-[2-9]$`
- 匹配 `^font-(?:bold|black|extrabold|semibold)$`
- 匹配 `^bg-(?:black|\[#0)`
- 匹配 `^uppercase$`
- 匹配 `^shadow-(?:lg|xl|2xl)$`
### 禁止原因
- `rounded-none`: Japanese Fresh uses gentle curves inspired by natural forms, never sharp corners
- `border-2`: Japanese Fresh uses only hairline borders (0.5-1px) for wabi-sabi delicacy
- `font-bold`: Japanese Fresh uses light/extralight font weights to embody Ma and restraint
- `bg-black`: Japanese Fresh uses warm off-white and natural tones only, darkness disrupts serenity
- `uppercase`: Japanese Fresh avoids uppercase for a quieter, more contemplative reading experience
- `shadow-lg`: Japanese Fresh avoids visible shadows; forms float in whitespace without weight
> WARNING: 如果你的代码中包含以上任何 class,必须立即替换。
---
## [REQUIRED] 必须包含
### 按钮必须包含
```
rounded-lg
font-sans font-light
border border-[#d4d4cf]/40
transition-all duration-500 ease-in-out
```
### 卡片必须包含
```
bg-white
rounded-xl
border border-[#d4d4cf]/30
```
### 输入框必须包含
```
border-b border-[#d4d4cf]
bg-transparent
font-sans font-light
focus:outline-none
```
---
## [COMPARE] 错误 vs 正确对比
### 按钮
[WRONG] **错误示例**(使用了圆角和模糊阴影):
```html
<button class="rounded-lg shadow-lg bg-blue-500 text-white px-4 py-2 hover:bg-blue-600">
点击我
</button>
```
[CORRECT] **正确示例**(使用硬边缘、无圆角、位移效果):
```html
<button class="rounded-lg font-sans font-light border border-[#d4d4cf]/40 transition-all duration-500 ease-in-out bg-[#ff006e] text-white px-4 py-2 md:px-6 md:py-3">
点击我
</button>
```
### 卡片
[WRONG] **错误示例**(使用了渐变和圆角):
```html
<div class="rounded-xl shadow-2xl bg-gradient-to-r from-purple-500 to-pink-500 p-6">
<h3 class="text-xl font-semibold">标题</h3>
</div>
```
[CORRECT] **正确示例**(纯色背景、硬边缘阴影):
```html
<div class="bg-white rounded-xl border border-[#d4d4cf]/30 p-8 md:p-10">
<h3 class="font-sans font-extralight text-[#4a5568] tracking-wide text-base md:text-lg">标题</h3>
</div>
```
### 输入框
[WRONG] **错误示例**(灰色边框、圆角):
```html
<input class="rounded-md border border-gray-300 px-3 py-2 focus:ring-2 focus:ring-blue-500" />
```
[CORRECT] **正确示例**(黑色粗边框、聚焦阴影):
```html
<input class="border-b border-[#d4d4cf] bg-transparent font-sans font-light focus:outline-none px-3 py-2 md:px-4 md:py-3" placeholder="请输入..." />
```
---
## [TEMPLATES] 页面骨架模板
使用以下模板生成页面,只需替换 `{PLACEHOLDER}` 部分:
### 导航栏骨架
```html
<nav class="bg-white border-b-2 md:border-b-4 border-black px-4 md:px-8 py-3 md:py-4">
<div class="flex items-center justify-between max-w-6xl mx-auto">
<a href="/" class="font-black text-xl md:text-2xl tracking-wider">
{LOGO_TEXT}
</a>
<div class="flex gap-4 md:gap-8 font-mono text-sm md:text-base">
{NAV_LINKS}
</div>
</div>
</nav>
```
### Hero 区块骨架
```html
<section class="min-h-[60vh] md:min-h-[80vh] flex items-center px-4 md:px-8 py-12 md:py-0 bg-{ACCENT_COLOR} border-b-2 md:border-b-4 border-black">
<div class="max-w-4xl mx-auto">
<h1 class="font-black text-4xl md:text-6xl lg:text-8xl leading-tight tracking-tight mb-4 md:mb-6">
{HEADLINE}
</h1>
<p class="font-mono text-base md:text-xl max-w-xl mb-6 md:mb-8">
{SUBHEADLINE}
</p>
<button class="bg-black text-white font-black px-6 py-3 md:px-8 md:py-4 border-2 md:border-4 border-black shadow-[4px_4px_0px_0px_rgba(255,0,110,1)] md:shadow-[8px_8px_0px_0px_rgba(255,0,110,1)] hover:shadow-none hover:translate-x-[2px] hover:translate-y-[2px] transition-all text-sm md:text-base">
{CTA_TEXT}
</button>
</div>
</section>
```
### 卡片网格骨架
```html
<section class="py-12 md:py-24 px-4 md:px-8">
<div class="max-w-6xl mx-auto">
<h2 class="font-black text-2xl md:text-4xl mb-8 md:mb-12">{SECTION_TITLE}</h2>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 md:gap-6">
<!-- Card template - repeat for each card -->
<div class="bg-white border-2 md:border-4 border-black shadow-[4px_4px_0px_0px_rgba(0,0,0,1)] md:shadow-[8px_8px_0px_0px_rgba(0,0,0,1)] p-4 md:p-6 hover:shadow-[4px_4px_0px_0px_rgba(255,0,110,1)] md:hover:shadow-[8px_8px_0px_0px_rgba(255,0,110,1)] hover:-translate-y-1 transition-all">
<h3 class="font-black text-lg md:text-xl mb-2">{CARD_TITLE}</h3>
<p class="font-mono text-sm md:text-base text-gray-700">{CARD_DESCRIPTION}</p>
</div>
</div>
</div>
</section>
```
### 页脚骨架
```html
<footer class="bg-black text-white py-12 md:py-16 px-4 md:px-8 border-t-2 md:border-t-4 border-black">
<div class="max-w-6xl mx-auto">
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
<div>
<span class="font-black text-xl md:text-2xl">{LOGO_TEXT}</span>
<p class="font-mono text-sm mt-4 text-gray-400">{TAGLINE}</p>
</div>
<div>
<h4 class="font-black text-lg mb-4">{COLUMN_TITLE}</h4>
<ul class="space-y-2 font-mono text-sm text-gray-400">
{FOOTER_LINKS}
</ul>
</div>
</div>
</div>
</footer>
```
---
## [CHECKLIST] 生成后自检清单
**在输出代码前,必须逐项验证以下每一条。如有违反,立即修正后再输出:**
### 1. 圆角检查
- [ ] 搜索代码中的 `rounded-`
- [ ] 确认只有 `rounded-none` 或无圆角
- [ ] 如果发现 `rounded-lg`、`rounded-md` 等,替换为 `rounded-none`
### 2. 阴影检查
- [ ] 搜索代码中的 `shadow-`
- [ ] 确认只使用 `shadow-[Xpx_Xpx_0px_0px_rgba(...)]` 格式
- [ ] 如果发现 `shadow-lg`、`shadow-xl` 等,替换为正确格式
### 3. 边框检查
- [ ] 搜索代码中的 `border-`
- [ ] 确认边框颜色是 `border-black`
- [ ] 如果发现 `border-gray-*`、`border-slate-*`,替换为 `border-black`
### 4. 交互检查
- [ ] 所有按钮都有 `hover:shadow-none hover:translate-x-[2px] hover:translate-y-[2px]`
- [ ] 所有卡片都有 hover 效果(阴影变色或位移)
- [ ] 都包含 `transition-all`
### 5. 响应式检查
- [ ] 边框有 `border-2 md:border-4`
- [ ] 阴影有 `shadow-[4px...] md:shadow-[8px...]`
- [ ] 间距有 `p-4 md:p-6` 或类似的响应式值
- [ ] 字号有 `text-sm md:text-base` 或类似的响应式值
### 6. 字体检查
- [ ] 标题使用 `font-black`
- [ ] 正文使用 `font-mono`
> CRITICAL: **如果任何一项检查不通过,必须修正后重新生成代码。**
---
## [EXAMPLES] 示例 Prompt
### 1. 静谧日记
极致留白的个人日记页面
```
Use Japanese Fresh style to create a personal journal page:
1. Background: rice-white (#fafaf8) with subtle linen texture
2. Extreme whitespace between all sections (py-32+)
3. Hairline borders only (0.5px warm gray)
4. One delicate botanical line drawing SVG accent
5. Bottom-line inputs, no shadows, font-extralight throughout
```
### 2. SaaS 着陆页
生成 日系清新风风格的 SaaS 产品着陆页
```
Create a SaaS landing page using Japanese Fresh style with hero section, feature grid, testimonials, pricing table, and footer.
```
### 3. 作品集展示
生成 日系清新风风格的作品集页面
```
Create a portfolio showcase page using Japanese Fresh style with project grid, about section, contact form, and consistent visual language.
```Flexible constraints for quick ideation
STYLEKIT_STYLE_REFERENCE
style_name: 日系清新风
style_slug: japanese-fresh
style_source: /styles/japanese-fresh
# Soft Prompt
保持整体风格气质即可,允许实现细节灵活调整,但不要偏离核心视觉语言。
## Style Signals
- Ma
- 侘寂
- 留白
- 发丝边框
- 植物线描
- 呼吸感
## Prefer
- Use extreme whitespace (py-32, py-40) between sections -- Ma is the primary design tool
- Use only hairline borders (border with opacity-30, never border-2)
- Include one delicate botanical SVG line drawing per major section
- Use font-extralight/font-light exclusively for all text
## Avoid
- Never use bold or heavy font weights (font-bold, font-semibold)
- Never use uppercase text -- it is too aggressive for this aesthetic
- Never use border-2 or thicker -- only hairline borders
## Output Guidance
- 先保证整体风格识别度,再优化细节。
- 避免过度炫技,保持可读性与可维护性。Component Templates
Button with hairline border, huge padding, and barely-visible hover state
/* Japanese Fresh Global Styles */
:root {
--jf-sky: #64b5f6;
--jf-rice: #fafaf8;
--jf-mint: #98d8c8;
--jf-pink: #ffb7c5;
--jf-powder: #b8d4e3;
--jf-text: #4a5568;
--jf-muted: #b0b8c4;
--jf-border: #d4d4cf;
}
/* Linen paper texture */
.jf-linen {
background-image: url("data:image/svg+xml,%3Csvg width='6' height='6' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='6' height='6' fill='%23fafaf8'/%3E%3Crect x='0' y='0' width='1' height='1' fill='%23e8e8e4' opacity='0.12'/%3E%3Crect x='3' y='3' width='1' height='1' fill='%23e8e8e4' opacity='0.08'/%3E%3C/svg%3E");
}
/* Hairline divider */
.jf-divider {
height: 0.5px;
background: var(--jf-border);
opacity: 0.4;
}
/* Bottom-line input focus */
.jf-input-underline {
border: none;
border-bottom: 1px solid var(--jf-border);
border-radius: 0;
background: transparent;
}
.jf-input-underline:focus {
border-bottom-color: var(--jf-sky);
box-shadow: none;
outline: none;
}
/* Ma-based section spacing */
.jf-ma-section {
padding-top: 8rem;
padding-bottom: 8rem;
}
/* Botanical SVG accent */
.jf-botanical {
opacity: 0.12;
stroke: var(--jf-muted);
fill: none;
stroke-width: 0.7;
}
@keyframes japanese-fresh-fade-in {
from { opacity: 0; transform: translateY(8px); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes japanese-fresh-pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.7; }
}
.japanese-fresh-card {
position: relative;
overflow: hidden;
}
.japanese-fresh-card::before {
content: "";
position: absolute;
inset: 0;
opacity: 0;
transition: opacity 0.3s ease;
background: linear-gradient(135deg, rgba(100, 181, 246, 0.05), transparent);
pointer-events: none;
}
.japanese-fresh-card:hover::before {
opacity: 1;
}
.japanese-fresh-gradient {
background: linear-gradient(135deg, #64b5f6, #98d8c8);
}
.japanese-fresh-gradient-text {
background: linear-gradient(135deg, #64b5f6, #98d8c8);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.japanese-fresh-frosted {
backdrop-filter: blur(12px) saturate(180%);
-webkit-backdrop-filter: blur(12px) saturate(180%);
background: rgba(100, 181, 246, 0.08);
}
.japanese-fresh-accent-corner {
clip-path: polygon(0 0, 100% 0, 100% calc(100% - 2rem), calc(100% - 2rem) 100%, 0 100%);
}
.japanese-fresh-animate-in {
animation: japanese-fresh-fade-in 0.5s ease-out both;
}IDE Integration
Download config files for your AI coding assistant to generate code following this style.
Style Pack
Get the 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
Japanese Fresh embodies Ma (space between) and wabi-sabi (beauty in imperfection). Design is not about what you add, but what you allow to breathe.
WCAG 2.1 compliance analysis based on color contrast ratios and typography readability.
Overall Score
Grade: D - Poor
Contrast Ratios
| Context | Colors | Ratio | AA | AAA |
|---|---|---|---|---|
| Text on background | /#4a5568 / #fafaf8 | 7.2:1 | ||
| Secondary text on background | /#7a8a9e / #fafaf8 | 3.37:1 | ||
| Muted text on background | /#b0b8c4 / #fafaf8 | 1.91:1 | ||
| Text on secondary background | /#4a5568 / #ffffff | 7.53:1 | ||
| Secondary text on secondary | /#7a8a9e / #ffffff | 3.53:1 | ||
| Button primary | /#ffffff / #64b5f6 | 2.21:1 | ||
| Text on accent 1 | /#4a5568 / #64b5f6 | 3.4:1 | ||
| Alt text on accent 1 | /#7a8a9e / #64b5f6 | 1.59:1 | ||
| Text on accent 2 | /#4a5568 / #98d8c8 | 4.66:1 | ||
| Alt text on accent 2 | /#7a8a9e / #98d8c8 | 2.18:1 | ||
| Text on accent 3 | /#4a5568 / #ffb7c5 | 4.6:1 | ||
| Alt text on accent 3 | /#7a8a9e / #ffb7c5 | 2.15:1 | ||
| Text on accent 4 | /#4a5568 / #b8d4e3 | 4.86:1 | ||
| Alt text on accent 4 | /#7a8a9e / #b8d4e3 | 2.28:1 |
Readability
Score
80/100
Font Size
text-sm md:text-base
Font Weight
font-sans font-extralight text-[#4a5568] tracking-wide
Line Height
default
Scores are based on WCAG 2.1 guidelines. AA requires 4.5:1 contrast for normal text and 3:1 for large text. AAA requires 7:1 for normal text and 4.5:1 for large text.
Further Reading
This section is better for readers who already like the direction and want more depth.