name: 自助洗车运营管理 description: 为自助洗车门店提供一站式运营管理平台,连接门店、服务商与车主 colors: cinnabar-red:
hex: "#C6171E"
role: primary
cinnabar-light:
hex: "#E84545"
role: primary-light
cinnabar-dark:
hex: "#A81212"
role: primary-dark
success-green:
hex: "#52C41A"
role: semantic
warning-orange:
hex: "#FF9800"
role: semantic
error-red:
hex: "#F44336"
role: semantic
info-blue:
hex: "#2196F3"
role: semantic
ink-black:
hex: "#1A1A1A"
role: text-primary
stone-grey:
hex: "#666666"
role: text-secondary
ash-grey:
hex: "#999999"
role: text-disabled
cloud-grey:
hex: "#B0B0B0"
role: text-placeholder
surface-white:
hex: "#FFFFFF"
role: surface
frost-page:
hex: "#F5F7FA"
role: page-bg
hairline:
hex: "#E0E0E0"
role: border
hairline-light:
hex: "#F0F0F0"
role: border-light
typography: display:
fontFamily: "Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif"
fontSize: "32px"
fontWeight: 700
lineHeight: 1.2
headline:
fontFamily: "Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif"
fontSize: "24px"
fontWeight: 600
lineHeight: 1.3
title:
fontFamily: "Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif"
fontSize: "20px"
fontWeight: 600
lineHeight: 1.3
body:
fontFamily: "Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif"
fontSize: "16px"
fontWeight: 400
lineHeight: 1.5
body-sm:
fontFamily: "Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif"
fontSize: "14px"
fontWeight: 400
lineHeight: 1.5
label:
fontFamily: "Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif"
fontSize: "12px"
fontWeight: 500
lineHeight: 1.2
rounded: sm: "8px" md: "12px" lg: "16px" xl: "24px" pill: "100px" spacing: xs: "4px" sm: "8px" base: "12px" lg: "16px" xl: "20px" card-inner: "10px" components: button-primary:
backgroundColor: "{colors.cinnabar-red}"
textColor: "{colors.surface-white}"
rounded: "{rounded.lg}"
padding: "12px 28px"
button-primary-pressed:
backgroundColor: "{colors.cinnabar-dark}"
textColor: "{colors.surface-white}"
rounded: "{rounded.lg}"
button-secondary:
backgroundColor: "{colors.surface-white}"
textColor: "{colors.ink-black}"
rounded: "{rounded.sm}"
padding: "10px 24px"
chip-status:
backgroundColor: "var(--chip-bg)"
textColor: "var(--chip-color)"
rounded: "{rounded.pill}"
padding: "3px 12px"
card:
backgroundColor: "{colors.surface-white}"
rounded: "{rounded.xl}"
padding: "12px"
input-field:
backgroundColor: "#F5F5F5"
textColor: "{colors.ink-black}"
rounded: "{rounded.sm}"
padding: "10px 14px"
tab-active:
backgroundColor: "{colors.cinnabar-red}"
textColor: "{colors.surface-white}"
rounded: "{rounded.sm}"
tab-inactive:
backgroundColor: "transparent"
textColor: "{colors.stone-grey}"
rounded: "{rounded.sm}"
Creative North Star: "工坊里的红标工具箱"
朱砂红是工具箱上的那块铭牌——它不抢眼,但你扫一眼就知道该拿哪一把。每一件工具都放在它应该在的位置,手柄的弧度刚好贴合手掌,不需要说明书,不需要思考。界面是安静的,但处处有回应:按下去有反馈,等待时有交代,出错时说人话。
这套设计语言服务于每天面对屏幕数小时的操作者——洗车店经营者、员工、服务商。它不追求惊艳,追求的是长期相处的舒适。温润有质、清晰优先、亲切高效:这三条产品原则直接翻译成了视觉规则。
Key Characteristics:
朱砂红是工具箱的标记色,灰白系是工坊的墙面和桌面。
The 10% Rule. 朱砂红在任何一屏上的面积不超过 10%。它是标记,不是底色。如果发现自己在给第三个元素涂红,先问问前两个是不是必须的。
The Red Don't Compete Rule. 错误红 (#F44336) 和朱砂红 (#C6171E) 永远不同时出现在同一视线区域内。它们是两套独立的信号系统——品牌 vs 状态——混在一起就是噪音。
Display Font: Inter (with system fallback stack) Body Font: Inter (with system fallback stack)
Character: Inter 是一个「没有口音」的字体——它不暗示任何时代、任何地域、任何行业。它的中性让操作者把注意力完全放在数据上,而不是字体的性格上。但它的 x-height 偏高、开口开阔,在长时间阅读时不容易疲劳。
The Weight Contrast Rule. 相邻层级之间字重差至少 200(Regular→Semibold→Bold),字号差至少 1.25 倍。不要用同字重不同字号来区分层级——它看起来像排版错误。
The Single Typeface Rule. 全系统只用 Inter 一个字族。不要引入第二个字体——层级完全由字号和字重区分,不需要换字体来「增加变化」。
触感微升 Tactile Lift. 界面在静态时是平的——卡片和页面底色之间只有颜色差异,没有阴影。元素只有在交互时才微微浮起:悬停的卡片、按下的按钮、展开的下拉。阴影是交互的产物,不是默认装饰。
0 1px 2px rgba(0,0,0,0.06), 0 1px 3px rgba(0,0,0,0.04)): 悬停态,元素刚刚离开表面。0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.06)): 卡片默认态(当页面需要卡片显式分层时)。0 4px 6px rgba(0,0,0,0.07), 0 2px 4px rgba(0,0,0,0.06)): 激活卡片、拖拽中元素。0 10px 15px rgba(0,0,0,0.08), 0 4px 6px rgba(0,0,0,0.05)): 模态框、弹出层。0 2px 8px rgba(198,23,30,0.15)): 顶部导航栏专属——红色调阴影让它温和地浮在内容之上。The Lift-On-Interaction Rule. 静态元素没有阴影。阴影只在 hover、focus、active、drag 时出现。如果一张卡在用户碰到它之前就已经浮在那里,问自己它是不是真的需要那么重要。
Character: 温润确定。圆角柔和但不圆胖,按压有下降和颜色加深的双重反馈。
transform: scale(0.97)——双重确认。Character: 功能性徽章——一眼知道状态,不需要读文字。
1A(10% 不透明度),文字 = 字典色原值。例如在线状态:background: #52C41A1A; color: #52C41A。Character: 安静的白纸。圆角柔和(24px/xl),阴影极轻(Ambient Base),只在悬停时升起。
0 4rpx 16rpx rgba(0,0,0,0.06),配合 translateY(-2px)。Character: 低调的输入区,焦点时被朱砂红唤醒。
0 0 0 3px rgba(198,23,30,0.2),背景保持 #F5F5F5 不变。Character: 快速切换视口的「挡位选择器」。选中态有明确的物理感。
0 4rpx 12rpx rgba(198,23,30,0.3)——这是整个系统里阴影最重的元素,因为它需要确认「你在这里」。Character: 工具条,不是装饰。输入区和按钮紧密相邻,一眼知道是搜索。
0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.06),圆角匹配所在页面的卡片风格。search,云灰色)。Character: 朱砂红的顶部标记——告诉操作者「你还在工具里」。白色标题文字,左侧返回箭头。
0 2px 8px rgba(198,23,30,0.15)。chevron-left,白色,24px。cubic-bezier(0.4, 0, 0.2, 1) 缓动,0.25s 时长。统一的节奏比花哨的曲线更重要。border-left 或 border-right 超过 1px 的彩色侧边条纹来标记卡片或列表项。用完整的边框、背景色差或前置图标代替。background-clip: text)。标题的强调通过字重和字号实现,不需要渐变。