- 微信小程序 @font-face 不支持引用项目内本地 .ttf 路径,字体加载失败会回退系统字体把私有区码点渲染成字符/豆腐块 - 将 fc-icon.ttf (7KB) 转 base64 内联进 app.wxss 的 @font-face,离线可用、零网络依赖
164 lines
15 KiB
Plaintext
164 lines
15 KiB
Plaintext
/* ===== Lucide 子集 iconfont(动态生成,font-family: fc-icon) ===== */
|
||
@font-face {
|
||
font-family: "fc-icon";
|
||
src: url('data:font/ttf;base64,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Y3QuaHR0cDovL2ZvbnRlbGxvLmNvbQBmAGMALQBpAGMAbwBuAFIAZQBnAHUAbABhAHIAZgBjAC0AaQBjAG8AbgBmAGMALQBpAGMAbwBuAFYAZQByAHMAaQBvAG4AIAAxAC4AMABmAGMALQBpAGMAbwBuAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQAAAAIAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyAAN6YXAIeC1jaXJjbGUEdXNlcgZ0cm9waHkLdHJlbmRpbmctdXAHdHJhc2gtMgZ0YXJnZXQEc3RhcghzcGFya2xlcxJzbGlkZXJzLWhvcml6b250YWwHc2hhcmUtMghzZXR0aW5ncwZzZWFyY2gJcm90YXRlLWN3CnJlZnJlc2gtY3cEcGx1cwRwbGF5D3BlcnNvbi1zdGFuZGluZwVtZWRhbAdsb2ctb3V0C2xheW91dC1ncmlkBmxheWVycwRpbmZvBWltYWdlBGhvbWUFaGVhcnQIZ3JpZC0yeDILZm9sZGVyLW9wZW4FZmxhbWUGZmlsdGVyCGR1bWJiZWxsCGRvd25sb2FkBWNsb2NrDmNsaXBib2FyZC1saXN0DWNoZXZyb24tcmlnaHQMY2hldnJvbi1kb3duBWNoZWNrDGNoZWNrLWNpcmNsZQhjYWxlbmRhcghib29rbWFyawRiaWtlBGJlbGwFYXdhcmQLYXJyb3ctcmlnaHQKYXJyb3ctbGVmdAxhbGVydC1jaXJjbGUIYWN0aXZpdHkNYWNjZXNzaWJpbGl0eQAAAAA=') format('truetype');
|
||
font-weight: normal;
|
||
font-style: normal;
|
||
font-display: block;
|
||
}
|
||
|
||
/* ===== FITCOACH 设计系统:动能暗色(Kinetic Dark) =====
|
||
强调色 accent = Volt 荧光绿 #B6F24E(用户拍板)。
|
||
为兼容现有页面对 --gold/--teal 等变量名的引用,保留变量名、改其色值为新调色板;
|
||
并补全套语义色/字号/间距/圆角/阴影/动效 Token(真源 design-system/design-tokens.json)。 */
|
||
page {
|
||
/* —— 颜色 —— */
|
||
--bg: #0B0F0E; /* 页面背景(冷中性近黑) */
|
||
--bg-grad: radial-gradient(120% 80% at 50% 0%, rgba(17,23,20,0) 0%, #0B0F0E 60%);
|
||
--surface: #141A18; /* 卡片/容器 */
|
||
--surface-2: #1C2421; /* 次级表面 chip/输入/选中 */
|
||
--surface-warm: #1A211E; /* 悬浮/高亮表面 */
|
||
|
||
--text: #ECF1EF; /* 主文本 */
|
||
--text-2: #9BA7A1; /* 次级文本 */
|
||
--text-3: #6B7670; /* 三级/元数据(仅 ≥24rpx) */
|
||
|
||
--line: rgba(255,255,255,0.08); /* 默认边框/分隔线 */
|
||
--border-strong: rgba(255,255,255,0.14); /* 强调边框(选中态) */
|
||
--border-soft: rgba(255,255,255,0.05); /* 内部行分隔 */
|
||
|
||
/* 强调色(原 --gold 命名保留以兼容引用,值改为 Volt 绿) */
|
||
--gold: #B6F24E; /* accent 主色 */
|
||
--gold-2: #C7F56E; /* accent hover */
|
||
--gold-soft: rgba(182,242,78,0.12); /* accent 淡底 */
|
||
--gold-line: rgba(182,242,78,0.28); /* accent 边框 */
|
||
--teal: #2BD9A6; /* success(原语义) */
|
||
|
||
/* 语义色(新增) */
|
||
--accent: #B6F24E;
|
||
--accent-hover: #C7F56E;
|
||
--accent-active: #9EDB3A;
|
||
--accent-on: #0E1A05; /* accent 背景上的前景(深绿,对比>7:1) */
|
||
--accent-soft: rgba(182,242,78,0.12);
|
||
--accent-ring: rgba(182,242,78,0.38);
|
||
--success: #2BD9A6;
|
||
--success-on: #04201A;
|
||
--success-soft: rgba(43,217,166,0.12);
|
||
--warn: #F2B53D;
|
||
--danger: #FF5C5C; /* 替代旧 #E5544B */
|
||
--danger-soft: rgba(255,92,92,0.12);
|
||
--info: #4FA8FF;
|
||
--bar-bg: rgba(11,15,14,0.92); /* 底部操作条毛玻璃底(=bg 带透明) */
|
||
--float-bg: rgba(11,15,14,0.55); /* 浮动按钮底 */
|
||
--scrim: rgba(0,0,0,0.5); /* 弹层遮罩 */
|
||
|
||
/* 字体三族(含中文) */
|
||
--font-display: 'Manrope', 'PingFang SC', 'HarmonyOS Sans SC', 'Source Han Sans SC', 'Noto Sans CJK SC', sans-serif;
|
||
--font-body: 'PingFang SC', 'HarmonyOS Sans SC', 'Source Han Sans SC', 'Noto Sans CJK SC', -apple-system, sans-serif;
|
||
--font-mono: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', monospace;
|
||
|
||
/* 字号阶梯(rpx,22–72) */
|
||
--fs-xs: 22rpx; --fs-sm: 24rpx; --fs-base: 28rpx; --fs-md: 30rpx;
|
||
--fs-lg: 32rpx; --fs-xl: 36rpx; --fs-2xl: 44rpx; --fs-3xl: 56rpx; --fs-4xl: 72rpx;
|
||
|
||
/* 字重 / 字距 */
|
||
--fw-regular: 400; --fw-medium: 500; --fw-semibold: 600;
|
||
--ls-eyebrow: 0.08em; --ls-title: -0.02em; --ls-body: 0;
|
||
|
||
/* 间距尺度(4px 网格) */
|
||
--sp-1: 8rpx; --sp-2: 16rpx; --sp-3: 24rpx; --sp-4: 32rpx; --sp-5: 40rpx;
|
||
--sp-6: 48rpx; --sp-8: 64rpx; --sp-10: 80rpx; --sp-12: 96rpx; --sp-16: 128rpx;
|
||
|
||
/* 圆角(收紧) */
|
||
--radius-sm: 16rpx; --radius: 24rpx; --radius-md: 24rpx;
|
||
--radius-lg: 32rpx; --radius-xl: 40rpx; --radius-pill: 9999rpx;
|
||
|
||
/* 阴影(Hairline First:默认无阴影,靠发丝边框) */
|
||
--shadow: none;
|
||
--shadow-ring: 0 0 0 1rpx rgba(255,255,255,0.08);
|
||
--shadow-raised: 0 8rpx 24rpx rgba(0,0,0,0.32);
|
||
--shadow-float: 0 12rpx 40rpx rgba(0,0,0,0.45);
|
||
--shadow-glow: 0 8rpx 24rpx rgba(182,242,78,0.28); /* 唯一允许的彩色阴影:CTA */
|
||
--focus-ring: 0 0 0 3rpx rgba(182,242,78,0.45);
|
||
|
||
/* 动效 */
|
||
--motion-fast: 150ms; --motion-base: 200ms; --motion-slow: 300ms;
|
||
--ease: cubic-bezier(0.2, 0, 0, 1);
|
||
|
||
background: var(--bg);
|
||
color: var(--text);
|
||
font-family: var(--font-body);
|
||
font-size: var(--fs-base);
|
||
line-height: 1.5;
|
||
}
|
||
|
||
view, text, scroll-view, image, input, textarea, button {
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
/* ===== 通用工具类 ===== */
|
||
.eyebrow {
|
||
font-size: var(--fs-xs);
|
||
letter-spacing: var(--ls-eyebrow);
|
||
color: var(--accent);
|
||
text-transform: uppercase;
|
||
font-weight: var(--fw-semibold);
|
||
}
|
||
|
||
.section { padding: var(--sp-5) var(--sp-4); }
|
||
.section + .section { border-top: 1rpx solid var(--line); }
|
||
|
||
.card {
|
||
background: var(--surface);
|
||
border-radius: var(--radius);
|
||
border: 1rpx solid var(--line);
|
||
}
|
||
|
||
.chip {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
padding: 10rpx 24rpx;
|
||
border-radius: var(--radius-pill);
|
||
background: var(--surface-2);
|
||
color: var(--text-2);
|
||
font-size: var(--fs-sm);
|
||
border: 1rpx solid var(--line);
|
||
}
|
||
|
||
.gold-text { color: var(--gold); }
|
||
.muted { color: var(--text-2); }
|
||
.row { display: flex; flex-direction: row; align-items: center; }
|
||
.col { display: flex; flex-direction: column; }
|
||
|
||
.empty {
|
||
color: var(--text-3);
|
||
font-size: var(--fs-sm);
|
||
text-align: center;
|
||
padding: 80rpx 0;
|
||
}
|
||
|
||
.tag {
|
||
font-size: 20rpx;
|
||
color: var(--text-2);
|
||
background: var(--surface-2);
|
||
padding: 4rpx 12rpx;
|
||
border-radius: var(--radius-pill);
|
||
}
|
||
.tag--gold {
|
||
color: var(--gold-2);
|
||
background: var(--gold-soft);
|
||
}
|
||
|
||
/* ===== 横向滚动右侧渐隐遮罩(提示可右滑) ===== */
|
||
.hscroll, .chip-scroll, .filterbar, .emoji-row, .prog-scroll {
|
||
position: relative;
|
||
}
|
||
.hscroll::after, .chip-scroll::after, .filterbar::after, .emoji-row::after, .prog-scroll::after {
|
||
content: '';
|
||
position: absolute;
|
||
top: 0; right: 0; bottom: 0;
|
||
width: 56rpx;
|
||
pointer-events: none;
|
||
background: linear-gradient(90deg, rgba(11,15,14,0) 0%, rgba(11,15,14,0.9) 100%);
|
||
}
|