CI / backend (push) Canceled after 0s
纸白底改冷调与主色同轴;语义色 sage/wheat/rust 不变,sky 提亮与主色区分。Logo 三段线改浅蓝白、圆点改亮蓝;favicon/PWA 图标/安卓自适应图标/状态栏一并重绘,新增 tools/make-icons.py 作为唯一出处。
122 lines
4.0 KiB
JavaScript
122 lines
4.0 KiB
JavaScript
/** @type {import('tailwindcss').Config} */
|
|
export default {
|
|
content: ["./index.html", "./src/**/*.{ts,tsx}"],
|
|
theme: {
|
|
extend: {
|
|
colors: {
|
|
// 底色:暖白纸面,不用纯白,避免刺眼、也让卡片有层次
|
|
paper: {
|
|
50: "#F9FAFC",
|
|
100: "#F3F5F9",
|
|
200: "#E9EDF3",
|
|
300: "#DFE5ED",
|
|
},
|
|
// 分隔线与描边(冷灰,跟蓝主色同一个中性轴)
|
|
line: {
|
|
100: "#EDEFF3",
|
|
200: "#E2E6EC",
|
|
300: "#D3D9E1",
|
|
},
|
|
// 文字与中性
|
|
ink: {
|
|
50: "#F6F8FA",
|
|
100: "#E9EEF3",
|
|
200: "#D7DEE7",
|
|
300: "#B8C2CE",
|
|
400: "#929EAD",
|
|
500: "#6C7788",
|
|
600: "#4E5867",
|
|
700: "#3A4352",
|
|
800: "#262D39",
|
|
900: "#161C25",
|
|
},
|
|
// 主色:景泰蓝(沉一点的靛蓝),克制、有"工作台"气质,避开任务工具常见的荧光蓝
|
|
primary: {
|
|
50: "#EFF5FB",
|
|
100: "#DCE9F7",
|
|
200: "#B9D3EC",
|
|
300: "#8FB6DD",
|
|
400: "#6094C8",
|
|
500: "#3E76AC",
|
|
600: "#2E5D8D",
|
|
700: "#274B73",
|
|
800: "#1F3B5B",
|
|
900: "#1A2F48",
|
|
},
|
|
// 强调色:陶土橙,只用在"需要人注意"的地方
|
|
clay: {
|
|
50: "#FBF2EB",
|
|
100: "#F5DFCE",
|
|
200: "#EBC1A2",
|
|
300: "#DFA176",
|
|
400: "#D08454",
|
|
500: "#C2703D",
|
|
600: "#A65B2F",
|
|
700: "#854926",
|
|
800: "#65381E",
|
|
900: "#472716",
|
|
},
|
|
sage: { 500: "#2F7D5E", 50: "#EAF4EF" },
|
|
wheat: { 500: "#A97C25", 50: "#F8F1E2" },
|
|
rust: { 500: "#B04A32", 50: "#FAEDE9" },
|
|
// 信息色:比主色更亮更青一档,免得和 primary 的「进行中」糊在一起
|
|
sky: { 500: "#2F86B0", 50: "#E8F4FA" },
|
|
},
|
|
fontFamily: {
|
|
sans: [
|
|
"Inter",
|
|
"-apple-system",
|
|
"PingFang SC",
|
|
"HarmonyOS Sans SC",
|
|
"Microsoft YaHei",
|
|
"system-ui",
|
|
"sans-serif",
|
|
],
|
|
display: ["Inter", "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "sans-serif"],
|
|
mono: ["JetBrains Mono", "SFMono-Regular", "Consolas", "monospace"],
|
|
},
|
|
fontSize: {
|
|
"2xs": ["11px", { lineHeight: "16px", letterSpacing: "0.02em" }],
|
|
xs: ["12px", { lineHeight: "18px" }],
|
|
sm: ["13px", { lineHeight: "20px" }],
|
|
base: ["14px", { lineHeight: "22px" }],
|
|
lg: ["16px", { lineHeight: "24px" }],
|
|
xl: ["18px", { lineHeight: "26px", letterSpacing: "-0.01em" }],
|
|
"2xl": ["22px", { lineHeight: "30px", letterSpacing: "-0.02em" }],
|
|
"3xl": ["28px", { lineHeight: "36px", letterSpacing: "-0.02em" }],
|
|
"4xl": ["36px", { lineHeight: "42px", letterSpacing: "-0.03em" }],
|
|
},
|
|
borderRadius: {
|
|
md: "8px",
|
|
lg: "10px",
|
|
xl: "14px",
|
|
"2xl": "18px",
|
|
"3xl": "24px",
|
|
},
|
|
boxShadow: {
|
|
card: "0 1px 2px rgba(20,27,36,0.04), 0 8px 24px -16px rgba(20,27,36,0.35)",
|
|
pop: "0 2px 6px rgba(20,27,36,0.06), 0 20px 48px -24px rgba(20,27,36,0.35)",
|
|
inset: "inset 0 1px 0 rgba(255,255,255,0.6)",
|
|
},
|
|
keyframes: {
|
|
"fade-in": { from: { opacity: "0" }, to: { opacity: "1" } },
|
|
"slide-up": {
|
|
from: { opacity: "0", transform: "translateY(6px)" },
|
|
to: { opacity: "1", transform: "translateY(0)" },
|
|
},
|
|
"slide-in-right": {
|
|
from: { opacity: "0", transform: "translateX(24px)" },
|
|
to: { opacity: "1", transform: "translateX(0)" },
|
|
},
|
|
shimmer: { "100%": { transform: "translateX(100%)" } },
|
|
},
|
|
animation: {
|
|
"fade-in": "fade-in .18s ease-out both",
|
|
"slide-up": "slide-up .22s cubic-bezier(.2,.7,.3,1) both",
|
|
"slide-in-right": "slide-in-right .24s cubic-bezier(.2,.7,.3,1) both",
|
|
},
|
|
},
|
|
},
|
|
plugins: [],
|
|
};
|