style: 重做整体视觉系统(编辑设计 × 建筑精度)

- Fraunces 衬线 display + DM Sans body + JetBrains Mono 数字标签
- 暖米白主题(#f7f4ee)+ 蓝色强调色(#2563eb)
- 引入 lucide-react 图标库替代 emoji
- Sidebar 加入编号索引、Logo、用户区域、杂志风分组标题
- 产品列表页加入大号 display 标题、搜索、卡片悬浮动画
- 产品详情页面包屑、tab 编号、需求表格重做
- 状态徽章改为色点 + 文字,"已拒绝"用红色避免与"评审中"冲突
- 全局加入 grain 噪点纹理、入场交错动画

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Script Generator
2026-06-08 12:37:17 +08:00
parent 5bfa0811db
commit 0099b23a86
10 changed files with 590 additions and 240 deletions

View File

@@ -1,3 +1,52 @@
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,500;9..144,600;9..144,700&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600;9..40,700&family=JetBrains+Mono:wght@400;500&display=swap');
@tailwind base;
@tailwind components;
@tailwind utilities;
:root {
--bg: #f7f4ee;
--bg-elevated: #fbf9f4;
--ink: #1a1814;
--ink-soft: #4a4640;
--ink-muted: #8a847a;
--line: #e6e0d4;
--line-soft: #efeae0;
--accent: #2563eb;
--accent-soft: #dbeafe;
}
html, body {
background: var(--bg);
color: var(--ink);
font-family: 'DM Sans', system-ui, sans-serif;
font-feature-settings: 'ss01', 'ss02', 'cv11';
-webkit-font-smoothing: antialiased;
}
.font-display {
font-family: 'Fraunces', Georgia, serif;
font-feature-settings: 'ss01';
}
.font-mono {
font-family: 'JetBrains Mono', monospace;
}
.grain::before {
content: '';
position: absolute;
inset: 0;
pointer-events: none;
opacity: 0.03;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
@keyframes fade-up {
from { opacity: 0; transform: translateY(8px); }
to { opacity: 1; transform: translateY(0); }
}
.animate-fade-up {
animation: fade-up 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) backwards;
}