适合场景
RPG / 菜单 / 属性
经典日式 RPG 菜单与对话框美学,斜面边框、渐变背景、状态栏、华丽框架。适合游戏界面、互动叙事、奇幻风格产品。
适合场景
RPG / 菜单 / 属性
设计重点
背景使用深海军蓝 bg-[#0f172a] 或 bg-slate-900
注意事项
禁止使用极简扁平风格(无边框、无阴影)
AI 实现文档
默认用硬性提示词让 AI 直接生成前端;Design Spec 用来理解、改写和审核风格;Creative Brief 用来早期探索方向。
默认使用它:复制后追加具体需求,让 AI 直接生成一致、可落地的前端。
什么时候用
怎么用
STYLEKIT_STYLE_REFERENCE
style_name: 日式RPG
style_slug: jrpg
style_source: /styles/jrpg
# Hard Prompt
## 什么时候用
当你希望 AI 严格按风格规则生成代码时使用。它是生产界面最稳的默认选择。
## 怎么用
- 把完整提示词复制到 ChatGPT、Claude、Cursor 或其他编码助手。
- 在提示词后追加具体产品、页面或组件需求。
- 生成后按禁止项和交互状态检查,确认没有风格漂移。
请严格遵守以下风格规则并保持一致性,禁止风格漂移。
## 执行要求
- 优先保证风格一致性,其次再做创意延展。
- 遇到冲突时以禁止项为最高优先级。
- 输出前自检:颜色、排版、间距、交互是否仍属于该风格。
## Style Rules
STYLE: JRPG
TYPE: Classic Japanese RPG menu interface
## 必须遵守
- 背景使用深海军蓝 bg-[#0f172a] 或 bg-slate-900
- 使用 border-2 border-[#1e40af] 搭配内阴影模拟斜面效果
- 金色高亮文字 text-[#fbbf24] 用于标题和重要信息
- 使用渐变背景 bg-gradient-to-b from-blue-900 to-slate-900
- 状态栏使用 bg-[#22c55e] 表示 HP,bg-blue-500 表示 MP
- 卡片面板使用双层边框 ring-1 ring-blue-400/20 border-2 border-blue-800
- 按钮使用内阴影 shadow-[inset_0_1px_0_rgba(255,255,255,0.2)] 模拟凸起
- 菜单交互使用硬切反馈(duration-75 到 120)模拟手柄选中节奏
## 绝对禁止
- 禁止使用极简扁平风格(无边框、无阴影)
- 禁止使用白色或浅色背景
- 禁止仅使用现代无衬线字体(需搭配衬线或像素字体)
- 禁止使用圆角过大 rounded-full 的按钮
- 禁止使用透明/无底色的面板
- 禁止使用低对比度配色
- 禁止使用慢速网页化过渡(duration-300+)稀释游戏菜单手感
COLOR RULES:
- Primary: Royal Blue (#1e40af)
- Accent: Gold (#fbbf24)
- Background: Dark Navy (#0f172a)
- Text: Crystal White (#f0f9ff)
- HP: Green (#22c55e)
- MP: Blue (#3b82f6)
- Borders: Blue shades with glow
SPECIAL EFFECTS:
- Inset shadows for beveled/raised look
- Corner ornaments on panels
- Gradient overlays for depth
- Stat bar animations
Animation & Interaction Rules:
- Cursor Snap: 交互反馈优先硬切,使用 duration-75 到 120,模拟方向键选中菜单项。
- Retro Confirm Press: active 必须有按键下压感(scale + translate-y + inset shadow 切换)。
- Menu Hover State: hover 时点亮金色边框或高亮条,保持高对比确认反馈。
- Flashing Prompts: 提示性标签可使用轻量 pulse,避免大面积动画干扰读数。
---
# JRPG (日式RPG) Design System
> 经典日式 RPG 菜单与对话框美学,斜面边框、渐变背景、状态栏、华丽框架。适合游戏界面、互动叙事、奇幻风格产品。
## 核心理念
JRPG 风格源自经典日式角色扮演游戏的菜单与 UI 设计,通过斜面边框、渐变背景和精致框架重现复古游戏体验。
核心理念:
- 斜面边框:使用内外阴影和渐变模拟立体按钮与面板
- 深色基底:深海军蓝背景搭配金色与水晶白高光
- 状态可视化:HP/MP/EXP 条形图直观展示数值
- 华丽装饰:边角纹饰和框架增强奇幻世界感
设计原则:
- 视觉一致性:所有组件必须遵循统一的视觉语言,从色彩到字体到间距保持谐调
- 层次分明:通过颜色深浅、字号大小、留白空间建立清晰的信息层级
- 交互反馈:每个可交互元素都必须有明确的 hover、active、focus 状态反馈
- 响应式适配:设计必须在移动端、平板、桌面端上保持一致的体验
- 无障碍性:确保色彩对比度符合 WCAG 2.1 AA 标准,所有交互元素可键盘访问
---
## Token 字典(精确 Class 映射)
### 边框
```
宽度: border-2
颜色: border-blue-700
圆角: rounded-md
```
### 阴影
```
小: shadow-[inset_0_1px_0_rgba(255,255,255,0.1),0_1px_2px_rgba(0,0,0,0.3)]
中: shadow-[inset_0_1px_0_rgba(255,255,255,0.2),0_2px_4px_rgba(0,0,0,0.5)]
大: shadow-[inset_0_1px_0_rgba(255,255,255,0.2),0_4px_12px_rgba(0,0,0,0.6)]
悬停: shadow-[inset_0_1px_0_rgba(255,255,255,0.3),0_4px_8px_rgba(0,0,0,0.4)]
聚焦: shadow-[inset_0_1px_0_rgba(255,255,255,0.2),0_0_0_2px_rgba(30,64,175,0.4)]
```
### 交互效果
```
悬停位移: (无)
悬停缩放: hover:brightness-110
悬停透明度: (无)
过渡动画: transition-all duration-200
按下状态: active:shadow-[inset_0_2px_4px_rgba(0,0,0,0.4)]
```
### 字体
```
标题: font-bold
正文: font-sans
等宽: font-mono
```
### 字号
```
Hero: text-3xl md:text-5xl lg:text-7xl
H1: text-2xl md:text-4xl
H2: text-xl md:text-2xl
H3: text-lg md:text-xl
正文: text-sm md:text-base
小字: text-xs
```
### 间距
```
Section: py-12 md:py-20
容器: px-4 md:px-8
卡片: p-4 md:p-6
小间距: gap-3
中间距: gap-4
大间距: gap-6
```
### 颜色角色
```
背景主色: bg-[#0f172a]
背景辅色: bg-slate-900
背景强调色: bg-[#1e40af], bg-[#fbbf24], bg-[#22c55e]
正文主色: text-[#f0f9ff]
正文辅色: text-[#fbbf24]
正文弱化色: text-blue-300/60
按钮主色: bg-gradient-to-b from-blue-700 to-blue-900 text-[#f0f9ff]
按钮辅色: bg-slate-900/80 text-blue-300 border-2 border-blue-400/60
```
---
## [FORBIDDEN] 绝对禁止
以下 class 在本风格中**绝对禁止使用**,生成时必须检查并避免:
### 禁止的 Class
- `bg-white`
- `bg-gray-50`
- `bg-slate-50`
- `shadow-sm`
- `shadow-md`
- `shadow-lg`
- `rounded-full`
- `rounded-3xl`
- `border-0`
### 禁止的模式
- 匹配 `^bg-white`
- 匹配 `^bg-gray-[1-3]`
- 匹配 `^bg-slate-[1-3]`
- 匹配 `^shadow-(?!\[)`
- 匹配 `^rounded-full`
- 匹配 `^rounded-3xl`
### 禁止原因
- `bg-white`: JRPG uses dark navy backgrounds only
- `shadow-md`: Use inset/beveled shadows: shadow-[inset_0_1px_0_rgba(255,255,255,0.2)]
- `rounded-full`: RPG buttons use subtle rounding (rounded-md max)
- `border-0`: JRPG panels require visible borders for the menu box aesthetic
> WARNING: 如果你的代码中包含以上任何 class,必须立即替换。
---
## [REQUIRED] 必须包含
### 按钮必须包含
```
px-6 py-3
rounded-md
font-bold
tracking-wide
border-2
transition-all duration-200
```
### 卡片必须包含
```
bg-gradient-to-b from-slate-800 to-slate-900
border-2 border-blue-700
rounded-md
ring-1 ring-blue-400/20
```
### 输入框必须包含
```
bg-slate-900
border-2 border-blue-700
rounded-md
text-[#f0f9ff]
focus:border-blue-400
focus:ring-1 focus:ring-blue-400/30
shadow-[inset_0_2px_4px_rgba(0,0,0,0.3)]
```
---
## [COMPARE] JRPG 错误 vs 正确对比
以下错误示例只代表“未经过当前风格适配的通用默认值”,不要把错误示例当成视觉建议。
### 按钮
[WRONG] **错误示例**(通用组件库默认样式,不要直接复制):
```html
<button class="{GENERIC_LIBRARY_BUTTON_DEFAULT}">
点击我
</button>
```
[CORRECT] **正确示例**(使用当前风格的 token):
```html
<button class="px-6 py-3 rounded-md font-bold tracking-wide border-2 transition-all duration-200 bg-gradient-to-b from-blue-700 to-blue-900 text-[#f0f9ff]">
点击我
</button>
```
### 卡片
[WRONG] **错误示例**(未经当前风格适配的通用卡片):
```html
<div class="{GENERIC_LIBRARY_CARD_DEFAULT}">
<h3>{TITLE}</h3>
</div>
```
[CORRECT] **正确示例**(使用当前风格的 card token):
```html
<div class="bg-gradient-to-b from-slate-800 to-slate-900 border-2 border-blue-700 rounded-md ring-1 ring-blue-400/20 p-4 md:p-6">
<h3 class="font-bold text-lg md:text-xl">{TITLE}</h3>
</div>
```
### 输入框
[WRONG] **错误示例**(未经当前风格适配的通用输入框):
```html
<input class="{GENERIC_LIBRARY_INPUT_DEFAULT}" />
```
[CORRECT] **正确示例**(使用当前风格的 input token):
```html
<input class="bg-slate-900 border-2 border-blue-700 rounded-md text-[#f0f9ff] focus:border-blue-400 focus:ring-1 focus:ring-blue-400/30 shadow-[inset_0_2px_4px_rgba(0,0,0,0.3)]" placeholder="{PLACEHOLDER}" />
```
---
## [TEMPLATES] JRPG 页面骨架模板
以下骨架只使用当前风格的 token。替换 `{PLACEHOLDER}` 时,不要移除或替换这些 token:
### 导航栏骨架
```html
<nav class="bg-[#0f172a] text-[#f0f9ff] border-2 border-blue-700 px-4 md:px-8">
<div class="flex items-center justify-between max-w-6xl mx-auto gap-4">
<a href="/" class="font-bold text-lg md:text-xl">
{LOGO_TEXT}
</a>
<div class="flex gap-4 font-sans text-xs">
{NAV_LINKS}
</div>
</div>
</nav>
```
### Hero 区块骨架
```html
<section class="bg-[#1e40af] text-[#f0f9ff] py-12 md:py-20 px-4 md:px-8">
<div class="max-w-4xl mx-auto">
<h1 class="font-bold text-3xl md:text-5xl lg:text-7xl">
{HEADLINE}
</h1>
<p class="font-sans text-sm md:text-base max-w-xl">
{SUBHEADLINE}
</p>
<button class="px-6 py-3 rounded-md font-bold tracking-wide border-2 transition-all duration-200 bg-gradient-to-b from-blue-700 to-blue-900 text-[#f0f9ff]">
{CTA_TEXT}
</button>
</div>
</section>
```
### 卡片网格骨架
```html
<section class="bg-[#0f172a] text-[#f0f9ff] py-12 md:py-20 px-4 md:px-8">
<div class="max-w-6xl mx-auto">
<h2 class="font-bold text-xl md:text-2xl">{SECTION_TITLE}</h2>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
<!-- Card template - repeat for each card -->
<div class="bg-gradient-to-b from-slate-800 to-slate-900 border-2 border-blue-700 rounded-md ring-1 ring-blue-400/20 p-4 md:p-6">
<h3 class="font-bold text-lg md:text-xl">{CARD_TITLE}</h3>
<p class="font-sans text-sm md:text-base text-blue-300/60">{CARD_DESCRIPTION}</p>
</div>
</div>
</div>
</section>
```
### 表单输入骨架
```html
<input class="bg-slate-900 border-2 border-blue-700 rounded-md text-[#f0f9ff] focus:border-blue-400 focus:ring-1 focus:ring-blue-400/30 shadow-[inset_0_2px_4px_rgba(0,0,0,0.3)]" placeholder="{PLACEHOLDER}" />
```
### 页脚骨架
```html
<footer class="bg-slate-900 text-[#fbbf24] py-12 md:py-20 px-4 md:px-8">
<div class="max-w-6xl mx-auto">
<div class="grid grid-cols-1 md:grid-cols-3 gap-6">
<div>
<span class="font-bold text-lg md:text-xl">{LOGO_TEXT}</span>
<p class="font-sans text-xs">{TAGLINE}</p>
</div>
<div>
<h4 class="font-bold text-lg md:text-xl">{COLUMN_TITLE}</h4>
<ul class="font-sans text-xs">
{FOOTER_LINKS}
</ul>
</div>
</div>
</div>
</footer>
```
---
## [CHECKLIST] JRPG 生成后自检清单
**输出代码前,逐项验证当前风格的 token 和规则。如有违反,先修正再交付:**
### Token 检查
- [ ] 按钮包含: `px-6 py-3 rounded-md font-bold tracking-wide border-2 transition-all duration-200`
- [ ] 卡片包含: `bg-gradient-to-b from-slate-800 to-slate-900 border-2 border-blue-700 rounded-md ring-1 ring-blue-400/20`
- [ ] 输入框包含: `bg-slate-900 border-2 border-blue-700 rounded-md text-[#f0f9ff] focus:border-blue-400 focus:ring-1 focus:ring-blue-400/30 shadow-[inset_0_2px_4px_rgba(0,0,0,0.3)]`
### 禁止项检查
- [ ] 没有使用 `bg-white`
- [ ] 没有使用 `bg-gray-50`
- [ ] 没有使用 `bg-slate-50`
- [ ] 没有使用 `shadow-sm`
- [ ] 没有使用 `shadow-md`
- [ ] 没有使用 `shadow-lg`
- [ ] 没有使用 `rounded-full`
- [ ] 没有使用 `rounded-3xl`
### 风格规则检查
- [ ] 背景使用深海军蓝 bg-[#0f172a] 或 bg-slate-900
- [ ] 使用 border-2 border-[#1e40af] 搭配内阴影模拟斜面效果
- [ ] 金色高亮文字 text-[#fbbf24] 用于标题和重要信息
- [ ] 使用渐变背景 bg-gradient-to-b from-blue-900 to-slate-900
- [ ] 状态栏使用 bg-[#22c55e] 表示 HP,bg-blue-500 表示 MP
### 风格漂移检查
- [ ] 没有违反:禁止使用极简扁平风格(无边框、无阴影)
- [ ] 没有违反:禁止使用白色或浅色背景
- [ ] 没有违反:禁止仅使用现代无衬线字体(需搭配衬线或像素字体)
- [ ] 没有违反:禁止使用圆角过大 rounded-full 的按钮
- [ ] 没有违反:禁止使用透明/无底色的面板
### 通用交付检查
- [ ] 响应式布局在手机、平板和桌面下稳定,没有横向溢出
- [ ] 所有交互元素有清晰焦点、可访问名称和 reduced-motion 方案
- [ ] 文本对比度达到 WCAG AA,且没有用颜色单独传递状态
- [ ] 结果仍然能够一眼识别为 JRPG
---
## [EXAMPLES] 示例 Prompt
### 1. 角色状态界面
生成 RPG 风格角色属性面板
```
Create a character status screen using JRPG style:
- Dark navy background with gradient
- Character info panel with gold title and corner decorations
- HP/MP/EXP stat bars with colored gradients
- Equipment slots with beveled borders
- Action buttons with inset shadow depth
- Stats grid showing STR, DEF, INT, SPD values
```
### 2. SaaS 着陆页
生成 日式RPG风格的 SaaS 产品着陆页
```
Create a SaaS landing page using JRPG style with hero section, feature grid, testimonials, pricing table, and footer.
```
### 3. 作品集展示
生成 日式RPG风格的作品集页面
```
Create a portfolio showcase page using JRPG style with project grid, about section, contact form, and consistent visual language.
```
## 绝对禁止(匹配即拒绝)
以下模式一旦出现,视为风格违规——不找借口,直接重写。
- 使用极简扁平风格(无边框、无阴影)
- 使用白色或浅色背景
- 仅使用现代无衬线字体(需搭配衬线或像素字体)
- 使用圆角过大 rounded-full 的按钮
- 使用透明/无底色的面板
- 使用低对比度配色
- 使用慢速网页化过渡(duration-300+)稀释游戏菜单手感
## 自检清单(交付前逐条确认)
如果任何一条不通过,说明风格漂移了——修改后再交付。
- [ ] 没有紫色到蓝色的渐变
- [ ] 没有使用 Inter / Roboto / Geist 等过度使用的字体
- [ ] 没有嵌套卡片(卡片里面套卡片)
- [ ] 没有在彩色背景上放灰色文字
- [ ] 正文对比度满足 WCAG AA(≥4.5:1)
- [ ] 没有 bounce / elastic 缓动曲线
- [ ] 动效有 prefers-reduced-motion 备选方案
- [ ] 正文行宽不超过 65-75 个字符
- [ ] 没有单侧粗边框装饰(border-left/right accent stripe)
- [ ] 没有渐变文字(background-clip: text)
- [ ] 没有把玻璃态(glassmorphism)当作默认风格
- [ ] 没有 tiny uppercase tracked eyebrow 放在每个 section 标题上面
- [ ] 禁止使用极简扁平风格(无边框、无阴影)
- [ ] 禁止使用白色或浅色背景
- [ ] 禁止仅使用现代无衬线字体(需搭配衬线或像素字体)
- [ ] 禁止使用圆角过大 rounded-full 的按钮
- [ ] 禁止使用透明/无底色的面板更多提示词库:全部 UI 提示词 · Tailwind UI 提示词 · 暗色模式提示词
组件模板
RPG 风格的菜单按钮,斜面立体效果
真实前端完成度
这层检查这个风格是否已经具备真实网站常见的主题、状态反馈、键盘可访问性和性能约束。
总体覆盖
51%
Fallback 规则
暗色模式
0%
缺失组件状态
79%
部分动效规则
70%
部分可访问性
70%
部分性能代价
35%
通用按钮
默认 / 悬停 / 键盘焦点 / 按下 / 禁用
输入框
默认 / 悬停 / 键盘焦点 / 禁用 / 错误
卡片
默认 / 悬停 / 键盘焦点 / 加载中 / 骨架屏
表单
默认 / 键盘焦点 / 禁用 / 加载中 / 错误
常见问题
/* JRPG Global Styles */
@layer base {
body {
@apply bg-[#0f172a] text-[#f0f9ff] antialiased;
}
h1, h2, h3 {
color: #fbbf24;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}
::selection {
@apply bg-blue-700 text-white;
}
}
@keyframes hp-pulse {
0%, 100% { box-shadow: 0 0 4px rgba(34, 197, 94, 0.3); }
50% { box-shadow: 0 0 8px rgba(34, 197, 94, 0.6); }
}
/* JRPG Design Tokens */
:root {
--jrpg-primary: #1e40af;
--jrpg-secondary: #0f172a;
--jrpg-accent: #fbbf24;
--jrpg-glow: rgba(30, 64, 175, 0.3);
}
.jrpg-card {
position: relative;
overflow: hidden;
}
.jrpg-card::before {
content: "";
position: absolute;
inset: 0;
opacity: 0;
transition: opacity 0.3s ease;
background: linear-gradient(135deg, rgba(30, 64, 175, 0.05), transparent);
pointer-events: none;
}
.jrpg-card:hover::before {
opacity: 1;
}
.jrpg-gradient {
background: linear-gradient(135deg, #1e40af, #fbbf24);
}
.jrpg-gradient-text {
background: linear-gradient(135deg, #1e40af, #fbbf24);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.jrpg-frosted {
backdrop-filter: blur(12px) saturate(180%);
-webkit-backdrop-filter: blur(12px) saturate(180%);
background: rgba(30, 64, 175, 0.08);
}
.jrpg-accent-corner {
clip-path: polygon(0 0, 100% 0, 100% calc(100% - 2rem), calc(100% - 2rem) 100%, 0 100%);
}
.jrpg-animate-in {
animation: jrpg-fade-in 0.5s ease-out both;
}相关风格
探索这些风格获取现成的 tokens 和组件。
IDE 集成
下载 AI 编码助手的配置文件,使其按照此风格生成代码。
风格包
获取完整的可机器读取风格资源,包括 Design Tokens、Tailwind 预设、CSS 变量和 shadcn/ui 主题。
Metadata
Style metadata including version information
Design Tokens
Figma / Style Dictionary / Tokens Studio 兼容
Tailwind Preset
Tailwind CSS 主题预设,可直接在配置中引用
Global CSS
包含 CSS 变量和基础样式
shadcn Theme
shadcn/ui 主题配置
CSS Variables
纯 CSS 变量,适用于任何项目
SKILL.md
可加载到 Cursor / Claude Code / VS Code 的技能包
JRPG 风格源自经典日式角色扮演游戏的菜单与 UI 设计,通过斜面边框、渐变背景和精致框架重现复古游戏体验。
基于颜色对比度和排版可读性的 WCAG 2.1 合规分析。
综合评分
等级: C - 一般
对比度
| 场景 | 颜色 | 比率 | AA | AAA |
|---|---|---|---|---|
| Text on background | /#f0f9ff / #0f172a | 16.75:1 | ||
| Secondary text on background | /#fbbf24 / #0f172a | 10.69:1 | ||
| Text on secondary background | /#f0f9ff / #0f172a | 16.75:1 | ||
| Secondary text on secondary | /#fbbf24 / #0f172a | 10.69:1 | ||
| Text on accent 1 | /#f0f9ff / #1e40af | 8.18:1 | ||
| Alt text on accent 1 | /#fbbf24 / #1e40af | 5.22:1 | ||
| Text on accent 2 | /#f0f9ff / #fbbf24 | 1.57:1 | ||
| Alt text on accent 2 | /#fbbf24 / #fbbf24 | 1:1 | ||
| Text on accent 3 | /#f0f9ff / #22c55e | 2.14:1 | ||
| Alt text on accent 3 | /#fbbf24 / #22c55e | 1.36:1 |
可读性
分数
87/100
字号
text-sm md:text-base
字重
font-bold
行高
default
评分基于 WCAG 2.1 标准。AA 级要求普通文本对比度 4.5:1、大文本 3:1;AAA 级要求普通文本 7:1、大文本 4.5:1。