railway-ui-skills
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseRailway UI Skills
Railway UI 设计指南
Opinionated constraints for building Railway-style interfaces with AI agents.
为AI Agent构建Railway风格界面的专属约束规范。
When to Apply
适用场景
Reference these guidelines when:
- Building dark-mode interfaces
- Creating Railway-inspired design systems
- Implementing UIs with Inter font and 4px grid
在以下场景中参考本指南:
- 构建深色模式界面时
- 创建受Railway启发的设计系统时
- 实现采用Inter字体和4px栅格的UI时
Colors
色彩规范
- MUST use dark backgrounds (lightness < 20) for primary surfaces - detected lightness: 7
- MUST use as page background (
#0F0E14)surface-base - MUST use for primary actions and focus states (
#0B1025)accent - SHOULD reduce color palette (currently 19 colors detected)
- MUST maintain text contrast ratio of at least 4.5:1 for accessibility
- 主界面必须使用深色背景(亮度<20)——检测到的亮度为7
- 必须使用作为页面背景(
#0F0E14)surface-base - 必须使用作为主要操作和聚焦状态的颜色(
#0B1025)accent - 应精简调色板(当前检测到19种颜色)
- 为保证可访问性,文本对比度必须至少达到4.5:1
Semantic Tokens
语义化令牌
| Token | HEX | RGB | Usage |
|---|---|---|---|
| #0F0E14 | rgb(15,14,20) | Page background |
| #1E1C25 | rgb(30,28,37) | Cards, modals, raised surfaces |
| #0B1025 | rgb(11,16,37) | Overlays, tooltips, dropdowns |
| #85848A | rgb(133,132,138) | Headings, body text |
| #48464F | rgb(72,70,79) | Secondary, muted text |
| #A09FA5 | rgb(160,159,165) | Additional text |
| #15181F | rgb(21,24,31) | Subtle borders, dividers |
| #0B1025 | rgb(11,16,37) | Primary actions, links, focus |
| 令牌 | 十六进制值 | RGB值 | 用途 |
|---|---|---|---|
| #0F0E14 | rgb(15,14,20) | 页面背景 |
| #1E1C25 | rgb(30,28,37) | 卡片、模态框、凸起界面 |
| #0B1025 | rgb(11,16,37) | 覆盖层、提示框、下拉菜单 |
| #85848A | rgb(133,132,138) | 标题、正文文本 |
| #48464F | rgb(72,70,79) | 次要、弱化文本 |
| #A09FA5 | rgb(160,159,165) | 辅助文本 |
| #15181F | rgb(21,24,31) | 细微边框、分隔线 |
| #0B1025 | rgb(11,16,37) | 主要操作、链接、聚焦状态 |
Typography
排版规范
- MUST use as primary font family
Inter - SHOULD use single font family for consistency
- MUST use /
54pxfor primary headingsextra_bold - MUST use /
11pxfor body text300 - SHOULD reduce font weights (currently 4 detected)
- MUST use for headings and
text-balancefor body texttext-pretty - SHOULD use for numeric data
tabular-nums - NEVER modify letter-spacing unless explicitly requested
- 必须使用作为主要字体族
Inter - 为保证一致性,应使用单一字体族
- 主标题必须使用/
54px(特粗)样式extra_bold - 正文文本必须使用/
11px(轻量)样式300 - 应精简字重(当前检测到4种)
- 标题必须使用(文本平衡),正文必须使用
text-balance(文本美化)text-pretty - 数值数据应使用(等宽数字)
tabular-nums - 除非明确要求,否则绝不能修改字间距
Text Styles
文本样式
| Style | Font | Size | Weight | Color | Count |
|---|---|---|---|---|---|
| Inter | 54px | extra_bold | #E9ECED | 1 |
| Inter | 19px | 400 | #90959E | 1 |
| Inter | 19px | 500 | #C6C5CA | 1 |
| Inter | 18px | 500 | #DACEE6 | 1 |
| Inter | 15px | 400 | #5C3C82 | 1 |
| Inter | 14px | 400 | #C0C4C7 | 1 |
| Inter | 14px | 400 | #8C929B | 1 |
| Inter | 14px | 400 | #A5A4AA | 1 |
| Inter | 14px | 400 | #8D8C93 | 1 |
| Inter | 14px | 400 | #95949B | 1 |
| 样式 | 字体 | 字号 | 字重 | 颜色 | 数量 |
|---|---|---|---|---|---|
| Inter | 54px | extra_bold | #E9ECED | 1 |
| Inter | 19px | 400 | #90959E | 1 |
| Inter | 19px | 500 | #C6C5CA | 1 |
| Inter | 18px | 500 | #DACEE6 | 1 |
| Inter | 15px | 400 | #5C3C82 | 1 |
| Inter | 14px | 400 | #C0C4C7 | 1 |
| Inter | 14px | 400 | #8C929B | 1 |
| Inter | 14px | 400 | #A5A4AA | 1 |
| Inter | 14px | 400 | #8D8C93 | 1 |
| Inter | 14px | 400 | #95949B | 1 |
Typography Reference
排版参考
Font Families:
- (used 74x)
Inter
Font Sizes: 7px, 8px, 9px, 10px, 11px, 12px, 13px, 14px, 15px, 18px, 19px, 54px
字体族:
- (使用74次)
Inter
字号: 7px, 8px, 9px, 10px, 11px, 12px, 13px, 14px, 15px, 18px, 19px, 54px
Spacing
间距规范
- MUST use 4px grid for spacing
- SHOULD use spacing from scale: 1px, 2px, 3px, 4px, 5px, 8px, 12px, 14px
- SHOULD use 2px as default gap between elements
- NEVER use arbitrary spacing values (use design scale)
- SHOULD maintain consistent padding within containers
- 必须使用4px栅格来设置间距
- 应使用以下间距刻度:1px, 2px, 3px, 4px, 5px, 8px, 12px, 14px
- 元素间默认间距应使用2px
- 绝不能使用任意间距值(必须使用设计刻度)
- 容器内的内边距应保持一致
Borders
边框规范
- MUST use border-radius from scale: 0px, 2px, 3px, 4px, 5px, 6px, 8px, 10px
- SHOULD limit border widths to: 1px, 2px, 6px
- SHOULD use 3px as default border-radius
- NEVER use arbitrary border-radius values (use design scale)
- SHOULD use subtle borders (1px) for element separation
- 必须使用以下圆角刻度:0px, 2px, 3px, 4px, 5px, 6px, 8px, 10px
- 边框宽度应限制为:1px, 2px, 6px
- 默认圆角应使用3px
- 绝不能使用任意圆角值(必须使用设计刻度)
- 元素分隔应使用细微边框(1px)
Border Radius Reference
圆角参考
Scale: 0px, 2px, 3px, 4px, 5px, 6px, 8px, 10px
刻度: 0px, 2px, 3px, 4px, 5px, 6px, 8px, 10px
Layout
布局规范
- MUST design for 1920px base viewport width
- SHOULD use consistent element widths: 81px, 8px, 72px, 62px, 708px
- SHOULD maintain text-heavy layout with clear hierarchy
- NEVER use , use
h-screenfor full viewport heighth-dvh - MUST respect for fixed elements
safe-area-inset - SHOULD use for square elements instead of
size-*+w-*h-*
- 必须以1920px为基础视口宽度进行设计
- 应使用一致的元素宽度:81px, 8px, 72px, 62px, 708px
- 应保持文本为主的布局,且层级清晰
- 绝不能使用,应使用
h-screen来设置全屏高度h-dvh - 固定元素必须遵循(安全区域内边距)
safe-area-inset - 方形元素应使用,而非
size-*+w-*h-*
Detected Layout Patterns
检测到的布局模式
- Main Content: width: 1920px, height: 1080px
- Main Content: width: 1710px, height: 958px
- Main Content: width: 1853px, height: 724px
- Header: height: 53px
- Header: height: 52px
- 主内容区:宽度: 1920px, 高度: 1080px
- 主内容区:宽度: 1710px, 高度: 958px
- 主内容区:宽度: 1853px, 高度: 724px
- 页眉:高度: 53px
- 页眉:高度: 52px
Components
组件规范
Buttons
按钮
| Variant | Background | Text | Border | Height | Radius |
|---|---|---|---|---|---|
| Ghost | transparent | #2C2B33 | none | - | - |
| 变体 | 背景 | 文本 | 边框 | 高度 | 圆角 |
|---|---|---|---|---|---|
| Ghost(幽灵按钮) | transparent(透明) | #2C2B33 | none(无) | - | - |
Interactive States
交互状态
Focus
聚焦状态
- MUST use outline with accent color (
2px)#0B1025 - MUST use outline-offset
2px - NEVER remove focus indicators
- 必须使用的
2px色(accent)外轮廓#0B1025 - 必须使用的外轮廓偏移量
2px - 绝不能移除聚焦指示器
Hover
悬停状态
- Buttons (primary): lighten background by 10%
- Buttons (secondary): use background
#1E1C25 - List items: use background
#1E1C25
- 主按钮:背景亮度提高10%
- 次要按钮:使用作为背景
#1E1C25 - 列表项:使用作为背景
#1E1C25
Disabled
禁用状态
- MUST use
opacity: 0.5 - MUST use
cursor: not-allowed
- 必须使用(透明度0.5)
opacity: 0.5 - 必须使用(禁止光标)
cursor: not-allowed
Interaction
交互规范
- MUST use an for destructive or irreversible actions
AlertDialog - SHOULD use structural skeletons for loading states
- MUST show errors next to where the action happens
- NEVER block paste in or
inputelementstextarea - MUST add an to icon-only buttons
aria-label
- 破坏性或不可逆操作必须使用(确认对话框)
AlertDialog - 加载状态应使用结构化骨架屏
- 错误提示必须显示在操作发生的位置附近
- 绝不能阻止或
input元素的粘贴功能textarea - 纯图标按钮必须添加(无障碍标签)
aria-label
Animation
性能规范
- NEVER add animation unless it is explicitly requested
- MUST animate only compositor props (,
transform)opacity - NEVER animate layout properties (,
width,height,top,left,margin)padding - SHOULD use on entrance animations
ease-out - NEVER exceed for interaction feedback
200ms - SHOULD respect
prefers-reduced-motion
- 绝不能对大面积或
blur()(背景滤镜)区域执行动画backdrop-filter - 绝不能在非活跃动画外使用(预渲染)
will-change - 任何可通过渲染逻辑实现的功能,绝不能使用
useEffect
Performance
—
- NEVER animate large or
blur()surfacesbackdrop-filter - NEVER apply outside an active animation
will-change - NEVER use for anything that can be expressed as render logic
useEffect
—