@lemonppt/themes 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1225 @@
1
+ /* lemonPPT - theme08 黑金实验风 / Black Gold Experimental
2
+ * SPDX-License-Identifier: AGPL-3.0-or-later
3
+ * 深黑底 + 荧光金 + 高饱和点缀 + Anton 展示数字体(项目内嵌)+ 手绘装饰层
4
+ * 所有色值/类名均为原创,不复制 third-party theme08 具体实现
5
+ */
6
+
7
+ /* ============ 基础布局与黑金氛围背景 ============ */
8
+ .lp-theme08.lp-slide {
9
+ --lp-page-padding: 56px;
10
+ --lp-pad-top: 76px;
11
+ --lp-pad-bottom: 64px;
12
+
13
+ position: relative;
14
+ width: 1280px;
15
+ height: 720px;
16
+ box-sizing: border-box;
17
+ overflow: hidden;
18
+ color: var(--lp-ink);
19
+ font-family: var(--lp-font);
20
+ background-color: var(--lp-bg);
21
+ background:
22
+ radial-gradient(ellipse 760px 580px at 100% 0%, color-mix(in srgb, var(--lp-accent) 30%, transparent) 0%, transparent 68%),
23
+ radial-gradient(ellipse 600px 480px at 88% 18%, color-mix(in srgb, var(--lp-accent-2) 22%, transparent) 0%, transparent 64%),
24
+ radial-gradient(ellipse 560px 460px at 82% 40%, color-mix(in srgb, var(--lp-accent-cool) 18%, transparent) 0%, transparent 62%),
25
+ radial-gradient(ellipse 640px 560px at 2% 106%, color-mix(in srgb, var(--lp-violet, #B98CFF) 16%, transparent) 0%, transparent 64%),
26
+ repeating-linear-gradient(0deg, rgba(255, 210, 63, 0.05) 0 1px, transparent 1px 34px),
27
+ repeating-linear-gradient(90deg, rgba(255, 210, 63, 0.05) 0 1px, transparent 1px 34px),
28
+ linear-gradient(165deg, var(--lp-bg-gradient-start) 0%, var(--lp-bg-gradient-end) 100%);
29
+ }
30
+
31
+ /* muted 浅色阅读背景(象牙暖白底 + 古铜金点缀) */
32
+ .lp-theme08.lp-slide[data-appearance="muted"],
33
+ [data-appearance="muted"] .lp-theme08.lp-slide,
34
+ .lp-theme08.lp-slide[data-appearance="light"],
35
+ [data-appearance="light"] .lp-theme08.lp-slide {
36
+ background:
37
+ radial-gradient(ellipse 700px 520px at 100% 0%, color-mix(in srgb, var(--lp-accent-bright, #E8B633) 10%, transparent) 0%, transparent 68%),
38
+ radial-gradient(ellipse 560px 460px at 4% 104%, color-mix(in srgb, var(--lp-accent-2) 8%, transparent) 0%, transparent 64%),
39
+ repeating-linear-gradient(0deg, rgba(143, 102, 8, 0.03) 0 1px, transparent 1px 32px),
40
+ repeating-linear-gradient(90deg, rgba(143, 102, 8, 0.03) 0 1px, transparent 1px 32px),
41
+ linear-gradient(165deg, var(--lp-bg-gradient-start) 0%, var(--lp-bg-gradient-end) 100%);
42
+ }
43
+
44
+ /* ---- 幻灯片切换:绝对定位 + 显隐控制(编辑器/画廊共用) ---- */
45
+ .lp-deck {
46
+ position: relative;
47
+ width: 100%;
48
+ height: 100%;
49
+ display: flex;
50
+ align-items: center;
51
+ justify-content: center;
52
+ }
53
+
54
+ .lp-slide-wrapper {
55
+ position: absolute;
56
+ top: 0;
57
+ left: 0;
58
+ width: 100%;
59
+ height: 100%;
60
+ display: flex;
61
+ align-items: center;
62
+ justify-content: center;
63
+ opacity: 0;
64
+ z-index: 0;
65
+ }
66
+
67
+ .lp-slide-wrapper.enter,
68
+ .lp-slide-wrapper.leave {
69
+ pointer-events: none;
70
+ }
71
+
72
+ .lp-deck[data-lp-transition="none"] .lp-slide-wrapper {
73
+ transition: opacity 80ms ease;
74
+ transform: none;
75
+ }
76
+
77
+ .lp-deck[data-lp-transition="none"] .lp-slide-wrapper.active {
78
+ opacity: 1;
79
+ z-index: 2;
80
+ }
81
+
82
+ .lp-deck:not([data-lp-transition]) .lp-slide-wrapper,
83
+ .lp-deck[data-lp-transition="slide"] .lp-slide-wrapper {
84
+ transform: translateX(100%);
85
+ transition: transform 400ms ease-in-out, opacity 300ms ease;
86
+ }
87
+
88
+ .lp-deck:not([data-lp-transition]) .lp-slide-wrapper.active,
89
+ .lp-deck[data-lp-transition="slide"] .lp-slide-wrapper.active {
90
+ opacity: 1;
91
+ transform: translateX(0);
92
+ z-index: 2;
93
+ }
94
+
95
+ .lp-deck:not([data-lp-transition]) .lp-slide-wrapper.prev,
96
+ .lp-deck[data-lp-transition="slide"] .lp-slide-wrapper.prev {
97
+ opacity: 0;
98
+ transform: translateX(-100%);
99
+ }
100
+
101
+ /* ============ 共享文字与标题 ============ */
102
+ .lp-theme08 .lp-theme08-kicker {
103
+ display: inline-flex;
104
+ align-items: center;
105
+ gap: 8px;
106
+ font-family: var(--lp-font);
107
+ font-size: 13px;
108
+ font-weight: 600;
109
+ letter-spacing: 0.16em;
110
+ text-transform: uppercase;
111
+ color: var(--lp-accent);
112
+ }
113
+
114
+ .lp-theme08 .lp-theme08-title {
115
+ font-family: var(--lp-font-heading);
116
+ font-weight: 800;
117
+ font-size: var(--lp-font-size-h1);
118
+ line-height: 1.08;
119
+ color: var(--lp-ink);
120
+ margin: 0;
121
+ }
122
+
123
+ .lp-theme08 .lp-theme08-subtitle {
124
+ font-family: var(--lp-font);
125
+ font-size: var(--lp-font-size-h3);
126
+ line-height: 1.5;
127
+ color: var(--lp-ink2);
128
+ margin: 12px 0 0;
129
+ max-width: 760px;
130
+ }
131
+
132
+ /* Anton 展示体大数字 */
133
+ .lp-theme08 .lp-theme08-num {
134
+ font-family: var(--lp-font-display);
135
+ font-weight: 400;
136
+ letter-spacing: 0.01em;
137
+ line-height: 0.92;
138
+ color: var(--lp-accent);
139
+ }
140
+
141
+ /* ============ 玻璃微光卡片(黑金版,不依赖 backdrop-filter 做主视觉) ============ */
142
+ .lp-theme08 .lp-theme08-card {
143
+ position: relative;
144
+ background: color-mix(in srgb, var(--lp-surface-solid) 82%, transparent);
145
+ border: 1px solid var(--lp-border-strong);
146
+ border-radius: var(--lp-radius-large);
147
+ box-shadow: 0 14px 38px var(--lp-shadow-rgb, 0, 0, 0), 0 3px 10px var(--lp-scrim, rgba(0, 0, 0, 0.25)), inset 0 1px 0 var(--lp-white-alpha-90, rgba(255, 255, 255, 0.10));
148
+ overflow: hidden;
149
+ }
150
+
151
+ /* 顶部高光描边 */
152
+ .lp-theme08 .lp-theme08-card::before {
153
+ content: "";
154
+ position: absolute;
155
+ inset: 0 0 auto 0;
156
+ height: 2px;
157
+ background: linear-gradient(90deg, transparent, var(--lp-accent), transparent);
158
+ opacity: 0.7;
159
+ }
160
+
161
+ /* ============ 辉光线 ============ */
162
+ .lp-theme08 .lp-theme08-glow-line {
163
+ position: absolute;
164
+ left: var(--lp-page-padding);
165
+ right: var(--lp-page-padding);
166
+ bottom: 52px;
167
+ height: 2px;
168
+ background: linear-gradient(90deg, var(--lp-accent), transparent 70%);
169
+ box-shadow: 0 0 16px color-mix(in srgb, var(--lp-accent) 60%, transparent);
170
+ border-radius: 2px;
171
+ pointer-events: none;
172
+ }
173
+
174
+ /* ============ 焦高亮(focus 系统) ============ */
175
+ .lp-theme08 .lp-focus {
176
+ position: relative;
177
+ outline: 2px solid var(--lp-accent);
178
+ outline-offset: 4px;
179
+ border-radius: var(--lp-radius-medium);
180
+ box-shadow: 0 0 22px color-mix(in srgb, var(--lp-accent) 42%, transparent);
181
+ }
182
+
183
+ .lp-theme08 .lp-focus-lens {
184
+ position: absolute;
185
+ inset: -10px;
186
+ border: 2px dashed color-mix(in srgb, var(--lp-accent) 70%, transparent);
187
+ border-radius: var(--lp-radius-large);
188
+ pointer-events: none;
189
+ box-shadow: 0 0 10px color-mix(in srgb, var(--lp-accent) 50%, transparent);
190
+ }
191
+
192
+ /* ============ 页脚 ============ */
193
+ .lp-theme08 .lp-theme08-footer {
194
+ position: absolute;
195
+ left: var(--lp-page-padding);
196
+ right: var(--lp-page-padding);
197
+ bottom: 24px;
198
+ display: flex;
199
+ align-items: center;
200
+ justify-content: space-between;
201
+ font-family: var(--lp-font);
202
+ font-size: 12px;
203
+ letter-spacing: 0.08em;
204
+ color: var(--lp-ink3);
205
+ }
206
+ .lp-theme08 .lp-theme08-footer-left { display: inline-flex; align-items: center; gap: 14px; }
207
+ .lp-theme08 .lp-theme08-footer-right { color: var(--lp-accent); font-weight: 600; }
208
+
209
+ /* ============ 装饰层:手绘箭头 / 火花 / 批注 ============ */
210
+ .lp-theme08 .lp-theme08-deco { position: absolute; pointer-events: none; z-index: 2; }
211
+ .lp-theme08 .lp-theme08-deco-arrow path { stroke: var(--lp-accent); stroke-width: 2.4; fill: none; stroke-linecap: round; stroke-linejoin: round; }
212
+ .lp-theme08 .lp-theme08-deco-spark { fill: var(--lp-accent-2); }
213
+ .lp-theme08 .lp-theme08-deco-note {
214
+ font-family: var(--lp-font);
215
+ font-size: 13px;
216
+ font-weight: 600;
217
+ color: var(--lp-accent);
218
+ border: 1.5px solid color-mix(in srgb, var(--lp-accent) 60%, transparent);
219
+ border-radius: 999px;
220
+ padding: 4px 12px;
221
+ background: color-mix(in srgb, var(--lp-bg) 60%, transparent);
222
+ }
223
+
224
+ /* ============ 入场动画 ============ */
225
+ .lp-theme08 .lp-rise {
226
+ opacity: 0;
227
+ transform: translateY(var(--lp-rise-distance, 14px));
228
+ animation: lp-theme08-rise 0.5s ease forwards;
229
+ }
230
+ @keyframes lp-theme08-rise {
231
+ to { opacity: 1; transform: translateY(0); }
232
+ }
233
+
234
+ /* ============ 封面版式(P0 smoke) ============ */
235
+ /* 注意:版式类同时挂在根节点(根节点自身即 .lp-theme08),
236
+ * 因此必须同时提供「复合选择器」,否则后代选择器匹配不到根节点,规则整条失效。 */
237
+ .lp-theme08 .lp-theme08-cover,
238
+ .lp-theme08.lp-theme08-cover {
239
+ display: grid;
240
+ grid-template-columns: 1.15fr 0.85fr;
241
+ align-items: center;
242
+ gap: 40px;
243
+ padding: var(--lp-pad-top) var(--lp-page-padding) var(--lp-pad-bottom);
244
+ box-sizing: border-box;
245
+ }
246
+ .lp-theme08 .lp-theme08-cover-main { position: relative; z-index: 3; }
247
+ .lp-theme08 .lp-theme08-cover-title {
248
+ font-family: var(--lp-font-heading);
249
+ font-weight: 800;
250
+ font-size: 60px;
251
+ line-height: 1.06;
252
+ margin: 18px 0 0;
253
+ color: var(--lp-ink);
254
+ }
255
+ .lp-theme08 .lp-theme08-cover-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
256
+ .lp-theme08 .lp-theme08-cover-tag {
257
+ font-family: var(--lp-font);
258
+ font-size: 13px;
259
+ font-weight: 600;
260
+ letter-spacing: 0.04em;
261
+ color: var(--lp-ink2);
262
+ border: 1px solid var(--lp-border-strong);
263
+ border-radius: 999px;
264
+ padding: 6px 14px;
265
+ background: color-mix(in srgb, var(--lp-surface-solid) 60%, transparent);
266
+ }
267
+ .lp-theme08 .lp-theme08-cover-aside { position: relative; z-index: 3; display: flex; flex-direction: column; gap: 18px; }
268
+ .lp-theme08 .lp-theme08-cover-image {
269
+ position: relative;
270
+ width: 100%;
271
+ aspect-ratio: 16 / 11;
272
+ border-radius: var(--lp-radius-large);
273
+ overflow: hidden;
274
+ border: 1px solid var(--lp-border-strong);
275
+ background: color-mix(in srgb, var(--lp-surface-solid) 70%, transparent);
276
+ box-shadow: 0 18px 44px rgba(0, 0, 0, 0.45);
277
+ }
278
+ .lp-theme08 .lp-theme08-cover-image-img { width: 100%; height: 100%; object-fit: cover; display: block; }
279
+ .lp-theme08 .lp-theme08-cover-image-placeholder {
280
+ position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
281
+ color: var(--lp-ink); font-family: var(--lp-font); font-size: 14px;
282
+ }
283
+ .lp-theme08 .lp-theme08-cover-metrics {
284
+ display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
285
+ }
286
+ .lp-theme08 .lp-theme08-cover-metric {
287
+ padding: 16px 18px;
288
+ border-radius: var(--lp-radius-medium);
289
+ background: color-mix(in srgb, var(--lp-surface-solid) 78%, transparent);
290
+ border: 1px solid var(--lp-border);
291
+ }
292
+ .lp-theme08 .lp-theme08-cover-metric.accent { border-color: var(--lp-accent); border-width: 2px; background: color-mix(in srgb, var(--lp-accent) 16%, var(--lp-surface-solid) 84%); box-shadow: 0 0 22px color-mix(in srgb, var(--lp-accent) 42%, transparent); }
293
+ .lp-theme08 .lp-theme08-cover-metric-value {
294
+ font-family: var(--lp-font-display);
295
+ font-size: 38px;
296
+ line-height: 1;
297
+ color: var(--lp-ink);
298
+ }
299
+ .lp-theme08 .lp-theme08-cover-metric.accent .lp-theme08-cover-metric-value { color: var(--lp-accent); text-shadow: 0 0 12px color-mix(in srgb, var(--lp-accent) 40%, transparent); }
300
+ .lp-theme08 .lp-theme08-cover-metric-label {
301
+ margin-top: 6px; font-family: var(--lp-font); font-size: 13px; color: var(--lp-ink3);
302
+ }
303
+
304
+ /* 整页强调:荧光金描边 + 标题发光,让“强调”开关有清晰可见的反馈 */
305
+ .lp-theme08 .lp-theme08-cover.accent,
306
+ .lp-theme08.lp-theme08-cover.accent {
307
+ outline: 3px solid var(--lp-accent);
308
+ outline-offset: -3px;
309
+ box-shadow: inset 0 0 70px color-mix(in srgb, var(--lp-accent) 16%, transparent);
310
+ }
311
+ .lp-theme08 .lp-theme08-cover.accent .lp-theme08-cover-title,
312
+ .lp-theme08.lp-theme08-cover.accent .lp-theme08-cover-title {
313
+ color: var(--lp-accent);
314
+ text-shadow: 0 0 26px color-mix(in srgb, var(--lp-accent) 55%, transparent);
315
+ }
316
+ .lp-theme08 .lp-theme08-cover.accent .lp-theme08-kicker,
317
+ .lp-theme08.lp-theme08-cover.accent .lp-theme08-kicker { color: var(--lp-accent); }
318
+ .lp-theme08 .lp-theme08-watermark-number {
319
+ position: absolute; right: var(--lp-page-padding); top: 30px; z-index: 1;
320
+ font-family: var(--lp-font-display); font-size: 180px; line-height: 1;
321
+ color: color-mix(in srgb, var(--lp-accent) 16%, transparent);
322
+ pointer-events: none; user-select: none;
323
+ }
324
+
325
+ /* ============ MVP 版式共享骨架 ============ */
326
+ .lp-theme08 .lp-theme08-page {
327
+ position: relative; z-index: 3;
328
+ display: flex; flex-direction: column;
329
+ width: 100%; height: 100%;
330
+ padding: var(--lp-pad-top) var(--lp-page-padding) var(--lp-pad-bottom);
331
+ box-sizing: border-box;
332
+ }
333
+ .lp-theme08 .lp-theme08-section-header {
334
+ display: flex; flex-direction: column; gap: 10px;
335
+ }
336
+ .lp-theme08 .lp-theme08-section-header .lp-theme08-title { font-size: var(--lp-font-size-h1); }
337
+ .lp-theme08 .lp-theme08-section-header .lp-theme08-subtitle { margin-top: 2px; }
338
+ .lp-theme08 .lp-theme08-body { flex: 1; min-height: 0; position: relative; }
339
+
340
+ /* 通用列表/项 */
341
+ .lp-theme08 .lp-theme08-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
342
+ .lp-theme08 .lp-theme08-list-item {
343
+ display: flex; align-items: flex-start; gap: 16px;
344
+ padding: 16px 20px;
345
+ background: color-mix(in srgb, var(--lp-surface-solid) 78%, transparent);
346
+ border: 1px solid var(--lp-border); border-radius: var(--lp-radius-medium);
347
+ }
348
+ .lp-theme08 .lp-theme08-list-index {
349
+ flex: none; font-family: var(--lp-font-display); font-size: 28px; line-height: 1;
350
+ color: var(--lp-accent); min-width: 36px;
351
+ }
352
+ .lp-theme08 .lp-theme08-list-text { display: flex; flex-direction: column; gap: 4px; }
353
+ .lp-theme08 .lp-theme08-list-title { font-family: var(--lp-font-heading); font-weight: 700; font-size: 19px; color: var(--lp-ink); }
354
+ .lp-theme08 .lp-theme08-list-desc { font-size: 14px; color: var(--lp-ink2); line-height: 1.5; }
355
+
356
+ /* 网格工具 */
357
+ .lp-theme08 .lp-theme08-grid { display: grid; gap: 18px; }
358
+ .lp-theme08 .lp-theme08-card-pad { padding: 22px 24px; }
359
+ .lp-theme08 .lp-theme08-card-title { font-family: var(--lp-font-heading); font-weight: 700; font-size: 19px; color: var(--lp-ink); margin: 0; }
360
+ .lp-theme08 .lp-theme08-card-desc { font-size: 14px; color: var(--lp-ink2); line-height: 1.55; margin: 8px 0 0; }
361
+ .lp-theme08 .lp-theme08-card-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--lp-accent); margin-bottom: 8px; }
362
+
363
+ /* ============ chapter-v1 章节过渡 ============ */
364
+ .lp-theme08 .lp-theme08-chapter {
365
+ display: flex; flex-direction: column; justify-content: center; gap: 18px;
366
+ height: 100%; box-sizing: border-box;
367
+ padding: var(--lp-pad-top) var(--lp-page-padding) var(--lp-pad-bottom);
368
+ }
369
+ .lp-theme08 .lp-theme08-chapter-index {
370
+ font-family: var(--lp-font-display); font-size: 200px; line-height: 0.8; color: var(--lp-accent);
371
+ opacity: 0.92; text-shadow: 0 0 40px color-mix(in srgb, var(--lp-accent) 40%, transparent);
372
+ }
373
+ .lp-theme08 .lp-theme08-chapter-kicker { font-size: 14px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--lp-accent-2); font-weight: 700; }
374
+ .lp-theme08 .lp-theme08-chapter-title { font-family: var(--lp-font-heading); font-weight: 800; font-size: 72px; line-height: 1.04; color: var(--lp-ink); margin: 0; max-width: 900px; }
375
+ .lp-theme08 .lp-theme08-chapter-sub { font-size: 18px; color: var(--lp-ink2); max-width: 680px; }
376
+
377
+ /* ============ overview-v1 摘要 ============ */
378
+ .lp-theme08 .lp-theme08-overview-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; align-content: center; height: 100%; }
379
+ .lp-theme08 .lp-theme08-overview-card { display: flex; flex-direction: column; gap: 10px; justify-content: center; }
380
+ .lp-theme08 .lp-theme08-overview-num { font-family: var(--lp-font-display); font-size: 54px; line-height: 1; color: var(--lp-accent); }
381
+ .lp-theme08 .lp-theme08-overview-label { font-size: 15px; font-weight: 600; color: var(--lp-ink); }
382
+ .lp-theme08 .lp-theme08-overview-desc { font-size: 13px; color: var(--lp-ink2); line-height: 1.5; }
383
+
384
+ /* ============ contents-v1 目录 ============ */
385
+ .lp-theme08 .lp-theme08-contents { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 36px; align-content: center; }
386
+ .lp-theme08 .lp-theme08-contents-item {
387
+ display: flex; align-items: center; gap: 16px; padding: 14px 18px;
388
+ border-left: 3px solid var(--lp-accent); border-radius: 0 var(--lp-radius-medium) var(--lp-radius-medium) 0;
389
+ background: color-mix(in srgb, var(--lp-surface-solid) 70%, transparent);
390
+ }
391
+ .lp-theme08 .lp-theme08-contents-num { font-family: var(--lp-font-display); font-size: 26px; color: var(--lp-accent); min-width: 40px; }
392
+ .lp-theme08 .lp-theme08-contents-title { font-size: 17px; font-weight: 600; color: var(--lp-ink); }
393
+
394
+ /* ============ content-v1 内容 ============ */
395
+ .lp-theme08 .lp-theme08-content-split { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 36px; align-items: center; height: 100%; }
396
+ .lp-theme08 .lp-theme08-content-aside {
397
+ display: flex; flex-direction: column; gap: 14px;
398
+ padding: 26px; border-radius: var(--lp-radius-large);
399
+ background: color-mix(in srgb, var(--lp-surface-solid) 82%, transparent);
400
+ border: 1px solid var(--lp-border-strong);
401
+ }
402
+ .lp-theme08 .lp-theme08-content-aside-stat { display: flex; align-items: baseline; gap: 10px; }
403
+ .lp-theme08 .lp-theme08-content-aside-num { font-family: var(--lp-font-display); font-size: 48px; color: var(--lp-accent); line-height: 1; }
404
+ .lp-theme08 .lp-theme08-content-aside-label { font-size: 14px; color: var(--lp-ink2); }
405
+
406
+ /* ============ quote-v1 金句 ============ */
407
+ .lp-theme08 .lp-theme08-quote {
408
+ display: flex; flex-direction: column; justify-content: center; gap: 22px;
409
+ height: 100%; position: relative; box-sizing: border-box;
410
+ padding: var(--lp-pad-top) var(--lp-page-padding) var(--lp-pad-bottom);
411
+ }
412
+ .lp-theme08 .lp-theme08-quote-mark { font-family: var(--lp-font-display); font-size: 160px; line-height: 0.6; color: var(--lp-accent); opacity: 0.5; }
413
+ .lp-theme08 .lp-theme08-quote-text {
414
+ font-family: var(--lp-font-heading); font-weight: 800; font-size: 52px; line-height: 1.18;
415
+ color: var(--lp-ink); max-width: 1000px; margin: 0;
416
+ }
417
+ .lp-theme08 .lp-theme08-quote-text b, .lp-theme08 .lp-theme08-quote-text .lp-accent { color: var(--lp-accent); }
418
+ .lp-theme08 .lp-theme08-quote-author { font-size: 16px; color: var(--lp-ink2); letter-spacing: 0.04em; }
419
+
420
+ /* ============ feature-v1 三栏特性 ============ */
421
+ .lp-theme08 .lp-theme08-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; align-content: center; height: 100%; }
422
+ .lp-theme08 .lp-theme08-feature-card { display: flex; flex-direction: column; gap: 12px; }
423
+ .lp-theme08 .lp-theme08-feature-head { display: flex; align-items: center; gap: 12px; }
424
+
425
+ /* ============ metrics-v1 指标网格 ============ */
426
+ .lp-theme08 .lp-theme08-metrics-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; align-content: center; height: 100%; }
427
+ .lp-theme08 .lp-theme08-metric-card { display: flex; flex-direction: column; gap: 6px; justify-content: center; padding: 16px; border-radius: var(--lp-radius-medium); border: 1px solid transparent; transition: border-color .2s, box-shadow .2s; }
428
+ .lp-theme08 .lp-theme08-metric-value { font-family: var(--lp-font-display); font-size: 56px; line-height: 1; color: var(--lp-ink); }
429
+ .lp-theme08 .lp-theme08-metric-card.accent { border-color: var(--lp-accent); background: color-mix(in srgb, var(--lp-accent) 6%, transparent); box-shadow: 0 0 20px color-mix(in srgb, var(--lp-accent) 18%, transparent); }
430
+ .lp-theme08 .lp-theme08-metric-card.accent .lp-theme08-metric-value { color: var(--lp-accent); }
431
+ .lp-theme08 .lp-theme08-metric-unit { font-size: 16px; color: var(--lp-ink2); margin-left: 6px; }
432
+ .lp-theme08 .lp-theme08-metric-label { font-size: 14px; color: var(--lp-ink3); }
433
+
434
+ /* ============ metric-big-v1 大数字 ============ */
435
+ .lp-theme08 .lp-theme08-metric-big { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; height: 100%; }
436
+ .lp-theme08 .lp-theme08-metric-big-num {
437
+ font-family: var(--lp-font-display); font-size: 220px; line-height: 0.86; color: var(--lp-accent);
438
+ text-shadow: 0 0 60px color-mix(in srgb, var(--lp-accent) 45%, transparent);
439
+ }
440
+ .lp-theme08 .lp-theme08-metric-big-unit { font-size: 40px; color: var(--lp-ink2); margin-left: 10px; }
441
+ .lp-theme08 .lp-theme08-metric-big-side { display: flex; flex-direction: column; gap: 14px; }
442
+ .lp-theme08 .lp-theme08-metric-big-title { font-family: var(--lp-font-heading); font-weight: 800; font-size: 34px; color: var(--lp-ink); }
443
+ .lp-theme08 .lp-theme08-metric-big-desc { font-size: 16px; color: var(--lp-ink2); line-height: 1.6; }
444
+
445
+ /* ============ case-v1 案例卡 ============ */
446
+ .lp-theme08 .lp-theme08-case { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 36px; align-items: center; height: 100%; }
447
+ .lp-theme08 .lp-theme08-case-brand { display: flex; flex-direction: column; gap: 14px; }
448
+ .lp-theme08 .lp-theme08-case-logo {
449
+ display: inline-flex; align-items: center; justify-content: center; width: 96px; height: 96px;
450
+ border-radius: 20px; font-family: var(--lp-font-display); font-size: 40px; color: var(--lp-text-inverse);
451
+ background: var(--lp-accent); box-shadow: 0 0 36px color-mix(in srgb, var(--lp-accent) 45%, transparent);
452
+ }
453
+ .lp-theme08 .lp-theme08-case-name { font-family: var(--lp-font-heading); font-weight: 800; font-size: 40px; color: var(--lp-ink); }
454
+ .lp-theme08 .lp-theme08-case-tag { font-size: 14px; color: var(--lp-accent-2); font-weight: 600; letter-spacing: 0.08em; }
455
+ .lp-theme08 .lp-theme08-case-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
456
+ .lp-theme08 .lp-theme08-case-metric-num { font-family: var(--lp-font-display); font-size: 34px; color: var(--lp-ink); line-height: 1; }
457
+ .lp-theme08 .lp-theme08-case-metric-label { font-size: 12px; color: var(--lp-ink3); margin-top: 4px; }
458
+ .lp-theme08 .lp-theme08-case-detail { display: flex; flex-direction: column; gap: 16px; }
459
+
460
+ /* ============ compare-v1 对比 ============ */
461
+ .lp-theme08 .lp-theme08-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: stretch; height: 100%; }
462
+ .lp-theme08 .lp-theme08-compare-col { display: flex; flex-direction: column; gap: 14px; padding: 26px; }
463
+ .lp-theme08 .lp-theme08-compare-col.left { border-top: 3px solid var(--lp-accent); }
464
+ .lp-theme08 .lp-theme08-compare-col.right { border-top: 3px solid var(--lp-accent-2); }
465
+ .lp-theme08 .lp-theme08-compare-head { font-family: var(--lp-font-heading); font-weight: 800; font-size: 28px; color: var(--lp-ink); }
466
+
467
+ /* ============ ranking-v1 排名 ============ */
468
+ .lp-theme08 .lp-theme08-ranking { display: flex; flex-direction: column; gap: 12px; justify-content: center; height: 100%; }
469
+ .lp-theme08 .lp-theme08-ranking-row {
470
+ display: grid; grid-template-columns: 54px 1fr auto; align-items: center; gap: 16px;
471
+ padding: 14px 20px; border-radius: var(--lp-radius-medium);
472
+ background: color-mix(in srgb, var(--lp-surface-solid) 78%, transparent); border: 1px solid var(--lp-border);
473
+ }
474
+ .lp-theme08 .lp-theme08-ranking-pos { font-family: var(--lp-font-display); font-size: 30px; color: var(--lp-accent); }
475
+ .lp-theme08 .lp-theme08-ranking-name { font-size: 17px; font-weight: 600; color: var(--lp-ink); }
476
+ .lp-theme08 .lp-theme08-ranking-val { font-family: var(--lp-font-display); font-size: 26px; color: var(--lp-ink2); }
477
+
478
+ /* ============ table-v1 数据表 ============ */
479
+ .lp-theme08 .lp-theme08-table { width: 100%; border-collapse: separate; border-spacing: 0; height: 100%; }
480
+ .lp-theme08 .lp-theme08-table th {
481
+ text-align: left; font-size: 13px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase;
482
+ color: var(--lp-accent); padding: 12px 16px; border-bottom: 2px solid var(--lp-accent);
483
+ }
484
+ .lp-theme08 .lp-theme08-table td { font-size: 15px; color: var(--lp-ink); padding: 13px 16px; border-bottom: 1px solid var(--lp-border); }
485
+ .lp-theme08 .lp-theme08-table tr td:last-child, .lp-theme08 .lp-theme08-table tr th:last-child { text-align: right; color: var(--lp-ink2); }
486
+ .lp-theme08 .lp-theme08-table tr:hover td { background: color-mix(in srgb, var(--lp-accent) 6%, transparent); }
487
+
488
+ /* ============ timeline-v1 时间轴 ============ */
489
+ .lp-theme08 .lp-theme08-timeline { display: flex; flex-direction: column; justify-content: center; gap: 0; height: 100%; position: relative; }
490
+ .lp-theme08 .lp-theme08-timeline-track { position: absolute; left: 120px; right: 40px; top: 50%; height: 2px; background: linear-gradient(90deg, var(--lp-accent), var(--lp-accent-2)); opacity: 0.5; }
491
+ .lp-theme08 .lp-theme08-timeline-row { display: grid; grid-template-columns: 110px 1fr; align-items: center; gap: 24px; padding: 12px 0; }
492
+ .lp-theme08 .lp-theme08-timeline-year { font-family: var(--lp-font-display); font-size: 34px; color: var(--lp-accent); text-align: right; }
493
+ .lp-theme08 .lp-theme08-timeline-card { display: flex; flex-direction: column; gap: 4px; padding: 14px 20px; border-radius: var(--lp-radius-medium); background: color-mix(in srgb, var(--lp-surface-solid) 80%, transparent); border: 1px solid var(--lp-border); }
494
+ .lp-theme08 .lp-theme08-timeline-title { font-size: 17px; font-weight: 600; color: var(--lp-ink); }
495
+ .lp-theme08 .lp-theme08-timeline-desc { font-size: 13px; color: var(--lp-ink2); }
496
+
497
+ /* ============ process-v1 流程 ============ */
498
+ .lp-theme08 .lp-theme08-process { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 14px; align-items: stretch; height: 100%; }
499
+ .lp-theme08 .lp-theme08-process-step { display: flex; flex-direction: column; gap: 10px; padding: 22px; justify-content: center; position: relative; border: 1.5px solid var(--lp-border-strong); border-radius: var(--lp-radius-medium); background: color-mix(in srgb, var(--lp-surface-solid) 60%, transparent); backdrop-filter: blur(4px); }
500
+ .lp-theme08 .lp-theme08-process-step:not(:last-child)::after {
501
+ content: "→"; position: absolute; right: -14px; top: 50%; transform: translateY(-50%);
502
+ color: var(--lp-accent); font-size: 22px; z-index: 4;
503
+ }
504
+ .lp-theme08 .lp-theme08-process-num { font-family: var(--lp-font-display); font-size: 30px; color: var(--lp-accent); }
505
+ .lp-theme08 .lp-theme08-process-title { font-family: var(--lp-font-heading); font-weight: 700; font-size: 19px; color: var(--lp-ink); }
506
+
507
+ /* ============ roadmap-v1 路线图 ============ */
508
+ .lp-theme08 .lp-theme08-roadmap { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; align-content: center; height: 100%; }
509
+ .lp-theme08 .lp-theme08-roadmap-phase { display: flex; flex-direction: column; gap: 12px; padding: 22px; border-top: 3px solid var(--lp-accent); }
510
+ .lp-theme08 .lp-theme08-roadmap-period { font-family: var(--lp-font-display); font-size: 24px; color: var(--lp-accent); }
511
+ .lp-theme08 .lp-theme08-roadmap-goal { font-size: 16px; font-weight: 600; color: var(--lp-ink); }
512
+ .lp-theme08 .lp-theme08-roadmap-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
513
+ .lp-theme08 .lp-theme08-roadmap-list li { font-size: 13px; color: var(--lp-ink2); padding-left: 16px; position: relative; }
514
+ .lp-theme08 .lp-theme08-roadmap-list li::before { content: ""; position: absolute; left: 0; top: 8px; width: 6px; height: 6px; border-radius: 50%; background: var(--lp-accent); }
515
+
516
+ /* ============ strategy-v1 策略 ============ */
517
+ .lp-theme08 .lp-theme08-strategy { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; align-content: center; height: 100%; }
518
+ .lp-theme08 .lp-theme08-strategy-card { display: flex; flex-direction: column; gap: 10px; }
519
+ .lp-theme08 .lp-theme08-strategy-top { display: flex; align-items: center; gap: 12px; }
520
+
521
+ /* ============ quadrant-v1 象限 ============ */
522
+ .lp-theme08 .lp-theme08-quadrant { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 16px; height: 100%; position: relative; }
523
+ .lp-theme08 .lp-theme08-quadrant::before, .lp-theme08 .lp-theme08-quadrant::after {
524
+ content: ""; position: absolute; background: var(--lp-border-strong);
525
+ }
526
+ .lp-theme08 .lp-theme08-quadrant::before { left: 50%; top: 6%; bottom: 6%; width: 1px; transform: translateX(-50%); }
527
+ .lp-theme08 .lp-theme08-quadrant::after { top: 50%; left: 6%; right: 6%; height: 1px; transform: translateY(-50%); }
528
+ .lp-theme08 .lp-theme08-quad-cell { display: flex; flex-direction: column; gap: 8px; padding: 22px; justify-content: center; z-index: 2; }
529
+ .lp-theme08 .lp-theme08-quad-label { font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--lp-accent); }
530
+
531
+ /* ============ chart-bar-v1 柱状图 ============ */
532
+ .lp-theme08 .lp-theme08-chart-bar { display: grid; grid-template-columns: 1.3fr 0.7fr; gap: 36px; align-items: center; height: 100%; }
533
+ .lp-theme08 .lp-theme08-bars { display: flex; align-items: flex-end; gap: 18px; height: 340px; padding: 0 8px; }
534
+ .lp-theme08 .lp-theme08-bar-col { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; height: 100%; justify-content: flex-end; }
535
+ .lp-theme08 .lp-theme08-bar { width: 100%; border-radius: 8px 8px 0 0; background: linear-gradient(180deg, var(--lp-accent), color-mix(in srgb, var(--lp-accent) 40%, transparent)); box-shadow: 0 0 24px color-mix(in srgb, var(--lp-accent) 30%, transparent); transition: height 0.4s ease; }
536
+ .lp-theme08 .lp-theme08-bar.alt { background: linear-gradient(180deg, var(--lp-accent-2), color-mix(in srgb, var(--lp-accent-2) 40%, transparent)); box-shadow: 0 0 24px color-mix(in srgb, var(--lp-accent-2) 30%, transparent); }
537
+ .lp-theme08 .lp-theme08-bar-val { font-family: var(--lp-font-display); font-size: 22px; color: var(--lp-ink); }
538
+ .lp-theme08 .lp-theme08-bar-label { font-size: 13px; color: var(--lp-ink2); text-align: center; }
539
+ .lp-theme08 .lp-theme08-chart-legend { display: flex; flex-direction: column; gap: 12px; }
540
+ .lp-theme08 .lp-theme08-legend-item { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--lp-ink2); }
541
+ .lp-theme08 .lp-theme08-legend-dot { width: 12px; height: 12px; border-radius: 3px; background: var(--lp-accent); }
542
+ .lp-theme08 .lp-theme08-legend-dot.alt { background: var(--lp-accent-2); }
543
+
544
+ /* ============ chart-donut-v1 环形图 ============ */
545
+ .lp-theme08 .lp-theme08-chart-donut { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 40px; align-items: center; height: 100%; }
546
+ .lp-theme08 .lp-theme08-donut-wrap { position: relative; width: 280px; height: 280px; }
547
+ .lp-theme08 .lp-theme08-donut-hole { position: absolute; left: 22%; top: 22%; width: 56%; height: 56%; border-radius: 50%; background: var(--lp-surface-solid); box-shadow: inset 0 0 0 1px var(--lp-border-strong); z-index: 1; }
548
+ .lp-theme08 .lp-theme08-donut-center { z-index: 2; }
549
+ .lp-theme08 .lp-theme08-donut-center { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
550
+ .lp-theme08 .lp-theme08-donut-center-num { font-family: var(--lp-font-display); font-size: 46px; color: var(--lp-ink); line-height: 1; }
551
+ .lp-theme08 .lp-theme08-donut-center-label { font-size: 13px; color: var(--lp-ink3); margin-top: 4px; }
552
+ .lp-theme08 .lp-theme08-donut-legend { display: flex; flex-direction: column; gap: 14px; }
553
+ .lp-theme08 .lp-theme08-donut-legend-row { display: grid; grid-template-columns: 16px 1fr auto; align-items: center; gap: 12px; }
554
+ .lp-theme08 .lp-theme08-donut-legend-name { font-size: 15px; color: var(--lp-ink); }
555
+ .lp-theme08 .lp-theme08-donut-legend-val { font-family: var(--lp-font-display); font-size: 22px; color: var(--lp-ink2); }
556
+
557
+ /* ============ region-v1 地理/区域 ============ */
558
+ .lp-theme08 .lp-theme08-region { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: center; height: 100%; }
559
+ .lp-theme08 .lp-theme08-region-map { position: relative; height: 360px; border-radius: var(--lp-radius-large); border: 1px solid var(--lp-border); background: color-mix(in srgb, var(--lp-surface-solid) 60%, transparent); overflow: hidden; }
560
+ .lp-theme08 .lp-theme08-region-dot { position: absolute; width: 14px; height: 14px; border-radius: 50%; background: var(--lp-accent); box-shadow: 0 0 18px var(--lp-accent); transform: translate(-50%, -50%); }
561
+ .lp-theme08 .lp-theme08-region-dot.sm { width: 9px; height: 9px; background: var(--lp-accent-2); box-shadow: 0 0 12px var(--lp-accent-2); }
562
+ .lp-theme08 .lp-theme08-region-list { display: flex; flex-direction: column; gap: 12px; }
563
+ .lp-theme08 .lp-theme08-region-row { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 14px 18px; border-radius: var(--lp-radius-medium); background: color-mix(in srgb, var(--lp-surface-solid) 78%, transparent); border: 1px solid var(--lp-border); }
564
+ .lp-theme08 .lp-theme08-region-city { font-size: 17px; font-weight: 600; color: var(--lp-ink); }
565
+ .lp-theme08 .lp-theme08-region-val { font-family: var(--lp-font-display); font-size: 24px; color: var(--lp-accent); }
566
+
567
+ /* ============ gallery-v1 照片墙 ============ */
568
+ .lp-theme08 .lp-theme08-gallery { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 1fr; gap: 16px; height: 100%; }
569
+ .lp-theme08 .lp-theme08-gallery-cell { position: relative; border-radius: var(--lp-radius-medium); overflow: hidden; border: 1px solid var(--lp-border); background: color-mix(in srgb, var(--lp-surface-solid) 80%, transparent); }
570
+ .lp-theme08 .lp-theme08-gallery-cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 12px 14px; font-size: 14px; font-weight: 600; color: var(--lp-ink); background: linear-gradient(0deg, var(--lp-bg) 30%, transparent); }
571
+ .lp-theme08 .lp-theme08-gallery-img { width: 100%; height: 100%; object-fit: cover; display: block; }
572
+ .lp-theme08 .lp-theme08-gallery-img-placeholder { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--lp-ink); font-size: 13px; }
573
+
574
+ /* ============ team-v1 团队 ============ */
575
+ .lp-theme08 .lp-theme08-team { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; align-content: center; height: 100%; }
576
+ .lp-theme08 .lp-theme08-team-card { display: flex; flex-direction: column; gap: 10px; align-items: center; text-align: center; padding: 22px; }
577
+ .lp-theme08 .lp-theme08-team-avatar { width: 84px; height: 84px; border-radius: 50%; background: color-mix(in srgb, var(--lp-accent) 18%, transparent); border: 1px solid var(--lp-border-strong); display: flex; align-items: center; justify-content: center; font-family: var(--lp-font-display); font-size: 34px; color: var(--lp-accent); }
578
+ .lp-theme08 .lp-theme08-team-name { font-size: 18px; font-weight: 700; color: var(--lp-ink); }
579
+ .lp-theme08 .lp-theme08-team-role { font-size: 13px; color: var(--lp-ink2); }
580
+
581
+ /* ============ partners-v1 合作伙伴 ============ */
582
+ .lp-theme08 .lp-theme08-partners { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; align-content: center; height: 100%; }
583
+ .lp-theme08 .lp-theme08-partner-cell { display: flex; align-items: center; justify-content: center; height: 110px; border-radius: var(--lp-radius-medium); background: color-mix(in srgb, var(--lp-surface-solid) 80%, transparent); border: 1px solid var(--lp-border); font-family: var(--lp-font-display); font-size: 30px; color: var(--lp-ink2); letter-spacing: 0.04em; }
584
+
585
+ /* ============ closing-v1 结尾 ============ */
586
+ .lp-theme08 .lp-theme08-closing {
587
+ display: flex; flex-direction: column; justify-content: center; align-items: center;
588
+ text-align: center; gap: 22px; height: 100%; box-sizing: border-box;
589
+ padding: var(--lp-pad-top) var(--lp-page-padding) var(--lp-pad-bottom);
590
+ }
591
+ .lp-theme08 .lp-theme08-closing-title { font-family: var(--lp-font-heading); font-weight: 800; font-size: 72px; line-height: 1.06; color: var(--lp-ink); margin: 0; }
592
+ .lp-theme08 .lp-theme08-closing-sub { font-size: 18px; color: var(--lp-ink2); max-width: 720px; }
593
+ .lp-theme08 .lp-theme08-closing-tags { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
594
+ .lp-theme08 .lp-theme08-closing-tag { font-size: 13px; color: var(--lp-ink2); border: 1px solid var(--lp-border-strong); border-radius: 999px; padding: 7px 16px; }
595
+
596
+ /* ============ 倾斜图片拼贴系统(Tilted Collage Photos) ============ */
597
+ .lp-theme08-collage-frame {
598
+ position: relative;
599
+ display: inline-block;
600
+ background: var(--lp-surface-solid, #fff);
601
+ border-radius: 4px;
602
+ box-shadow:
603
+ 0 2px 12px rgba(0,0,0,0.18),
604
+ 0 0 0 1px rgba(0,0,0,0.06);
605
+ overflow: hidden;
606
+ transition: transform 0.3s ease, box-shadow 0.3s ease;
607
+ }
608
+ .lp-theme08-collage-frame:hover {
609
+ box-shadow:
610
+ 0 8px 28px rgba(0,0,0,0.25),
611
+ 0 0 0 1px rgba(0,0,0,0.08);
612
+ }
613
+ .lp-theme08-collage-img {
614
+ display: block;
615
+ width: 100%;
616
+ height: 100%;
617
+ object-fit: cover;
618
+ background: #f5f3ef;
619
+ }
620
+ .lp-theme08-collage-img-placeholder {
621
+ display: flex;
622
+ flex-direction: column;
623
+ align-items: center;
624
+ justify-content: center;
625
+ gap: 8px;
626
+ width: 100%;
627
+ height: 100%;
628
+ min-height: 140px;
629
+ background: #f8f6f1;
630
+ color: #bbb;
631
+ font-size: 13px;
632
+ }
633
+ .lp-theme08-collage-label {
634
+ position: absolute;
635
+ bottom: -10px;
636
+ left: 50%;
637
+ transform: translateX(-50%);
638
+ background: var(--lp-accent);
639
+ color: #000;
640
+ font-family: var(--lp-font-heading);
641
+ font-weight: 800;
642
+ font-size: 11px;
643
+ letter-spacing: 0.04em;
644
+ padding: 4px 12px;
645
+ border-radius: 3px;
646
+ white-space: nowrap;
647
+ z-index: 2;
648
+ }
649
+ /* 预设旋转角度 */
650
+ .lp-theme08-collage-rot-1 { transform: rotate(-2.5deg); }
651
+ .lp-theme08-collage-rot-2 { transform: rotate(1.8deg); }
652
+ .lp-theme08-collage-rot-3 { transform: rotate(-1.2deg); }
653
+ .lp-theme08-collage-rot-4 { transform: rotate(3deg); }
654
+ .lp-theme08-collage-rot-5 { transform: rotate(-3.5deg); }
655
+ .lp-theme08-collage-rot-6 { transform: rotate(0.8deg); }
656
+
657
+ /* ============ 拼贴照片版式 (collage-v1) ============ */
658
+ .lp-theme08 .lp-theme08-collage-page { display: flex; flex-direction: column; height: 100%; }
659
+ .lp-theme08 .lp-theme08-collage-layout { display: flex; gap: 32px; flex: 1 1 auto; align-items: stretch; min-height: 0; }
660
+ .lp-theme08 .lp-theme08-collage-left { flex: 1 1 0; display: flex; flex-direction: column; justify-content: center; gap: 16px; min-width: 0; min-height: 0; }
661
+ /* 右侧拼贴改为固定 2x2 网格:宽高完全由容器约束,避免 flex-wrap 换行撑爆页面 */
662
+ .lp-theme08 .lp-theme08-collage-right {
663
+ flex: 0 0 424px;
664
+ width: 424px;
665
+ position: relative;
666
+ display: grid;
667
+ grid-template-columns: repeat(2, minmax(0, 1fr));
668
+ grid-auto-rows: minmax(0, 1fr);
669
+ align-content: stretch;
670
+ gap: 14px;
671
+ padding: 14px 16px;
672
+ box-sizing: border-box;
673
+ min-height: 0;
674
+ }
675
+ .lp-theme08 .lp-theme08-collage-photo { position: relative; min-width: 0; min-height: 0; }
676
+ /* 错落感改用 translate + rotate,不再改变布局盒尺寸 */
677
+ .lp-theme08 .lp-theme08-collage-photo:nth-child(1) { transform: translateY(-8px) rotate(-2.5deg); }
678
+ .lp-theme08 .lp-theme08-collage-photo:nth-child(2) { transform: translateY(10px) rotate(1.8deg); }
679
+ .lp-theme08 .lp-theme08-collage-photo:nth-child(3) { transform: translateY(-6px) rotate(-1.2deg); }
680
+ .lp-theme08 .lp-theme08-collage-photo:nth-child(4) { transform: translateY(8px) rotate(3deg); }
681
+ .lp-theme08 .lp-theme08-collage-photo:nth-child(n + 5) { display: none; }
682
+ /* 网格内的图片框需铺满单元格 */
683
+ .lp-theme08 .lp-theme08-collage-photo.lp-theme08-collage-frame { display: block; width: 100%; height: 100%; }
684
+ .lp-theme08 .lp-theme08-collage-photo .lp-theme08-collage-img-placeholder { min-height: 0; }
685
+
686
+ /* 左侧面板:说明文字 + 右下角大数字 */
687
+ .lp-theme08 .lp-theme08-collage-desc {
688
+ font-family: var(--lp-font);
689
+ font-size: 15px;
690
+ line-height: 1.65;
691
+ color: var(--lp-ink2);
692
+ margin: 0;
693
+ max-width: 460px;
694
+ }
695
+ .lp-theme08 .lp-theme08-collage-bignum {
696
+ margin-top: auto;
697
+ align-self: flex-end;
698
+ text-align: right;
699
+ display: flex;
700
+ flex-direction: column;
701
+ gap: 2px;
702
+ padding-top: 18px;
703
+ }
704
+ .lp-theme08 .lp-theme08-collage-bignum-value {
705
+ font-family: var(--lp-font-display);
706
+ font-weight: 400;
707
+ font-size: 76px;
708
+ line-height: 0.9;
709
+ color: var(--lp-accent);
710
+ text-shadow: 0 0 40px color-mix(in srgb, var(--lp-accent) 42%, transparent);
711
+ }
712
+ .lp-theme08 .lp-theme08-collage-bignum-label {
713
+ font-family: var(--lp-font);
714
+ font-size: 13px;
715
+ letter-spacing: 0.1em;
716
+ color: var(--lp-ink3);
717
+ }
718
+
719
+ /* ============ 雷达图 (radar-v1) ============ */
720
+ .lp-theme08 .lp-theme08-radar-page { display: flex; flex-direction: column; height: 100%; }
721
+ .lp-theme08 .lp-theme08-radar-body { display: flex; gap: 36px; flex: 1; align-items: stretch; }
722
+ .lp-theme08 .lp-theme08-radar-chart { width: 400px; position: relative; display: flex; align-items: center; justify-content: center; }
723
+ .lp-theme08 .lp-theme08-radar-svg { width: 360px; height: 360px; }
724
+ .lp-theme08 .lp-theme08-radar-sidebar { flex: 1; display: flex; flex-direction: column; gap: 12px; justify-content: center; }
725
+ .lp-theme08 .lp-theme08-radar-row { display: flex; align-items: center; gap: 14px; padding: 12px 16px; background: var(--lp-surface-solid, rgba(255,255,255,0.6)); border-radius: 6px; border-left: 4px solid transparent; }
726
+ .lp-theme08 .lp-theme08-radar-row.positive { border-left-color: var(--lp-accent); }
727
+ .lp-theme08 .lp-theme08-radar-row.negative { border-left-color: var(--lp-accent-cool, #3CB4A5); }
728
+ .lp-theme08 .lp-theme08-radar-row-label { flex: 1; font-size: 14px; font-weight: 600; color: var(--lp-ink); }
729
+ .lp-theme08 .lp-theme08-radar-row-label-sub { font-size: 11px; color: var(--lp-ink2); text-transform: uppercase; letter-spacing: 0.04em; }
730
+ .lp-theme08 .lp-theme08-radar-row-value { font-family: var(--lp-font-heading); font-size: 28px; font-weight: 800; color: var(--lp-accent); }
731
+ .lp-theme08 .lp-theme08-radar-row-delta { font-size: 13px; font-weight: 700; margin-left: 4px; }
732
+ .lp-theme08 .lp-theme08-radar-row-delta.up { color: var(--lp-accent); }
733
+ .lp-theme08 .lp-theme08-radar-row-delta.down { color: var(--lp-accent-cool, #3CB4A5); }
734
+ .lp-theme08 .lp-theme08-radar-legend { display: flex; gap: 16px; margin-top: 8px; font-size: 12px; }
735
+ .lp-theme08 .lp-theme08-radar-legend-item { display: flex; align-items: center; gap: 6px; }
736
+ .lp-theme08 .lp-theme08-radar-dot { width: 10px; height: 10px; border-radius: 50%; }
737
+
738
+ /* ============ 瀑布图 (waterfall-v1) ============ */
739
+ .lp-theme08 .lp-theme08-waterfall-page { display: flex; flex-direction: column; height: 100%; }
740
+ .lp-theme08 .lp-theme08-waterfall-chart { flex: 1; display: flex; flex-direction: column; padding: 20px 40px; min-height: 0; }
741
+ .lp-theme08 .lp-theme08-waterfall-bars { flex: 1; display: flex; align-items: flex-end; gap: 20px; position: relative; padding-bottom: 36px; border-bottom: 2px dashed var(--lp-border-strong); }
742
+ .lp-theme08 .lp-theme08-waterfall-bar-wrap { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 0; height: 100%; justify-content: flex-end; }
743
+ .lp-theme08 .lp-theme08-waterfall-bar { width: 100%; max-width: 110px; border-radius: 4px 4px 0 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 32px; position: relative; transition: height 0.4s ease; }
744
+ .lp-theme08 .lp-theme08-waterfall-bar-value { font-family: var(--lp-font-heading); font-weight: 800; font-size: 22px; line-height: 1; color: #fff; text-shadow: 0 1px 3px rgba(0,0,0,0.3); }
745
+ .lp-theme08 .lp-theme08-waterfall-bar-pct { font-size: 11px; font-weight: 700; color: #fff; opacity: 0.9; }
746
+ .lp-theme08 .lp-theme08-waterfall-bar-label { font-size: 13px; font-weight: 600; color: var(--lp-ink); text-align: center; margin-top: 4px; }
747
+ .lp-theme08 .lp-theme08-waterfall-bar-label-sub { font-size: 11px; color: var(--lp-ink2); text-transform: uppercase; letter-spacing: 0.03em; }
748
+ .lp-theme08 .lp-theme08-waterfall-total { display: flex; align-items: baseline; gap: 8px; margin-top: 8px; padding: 8px 16px; background: var(--lp-inverse-panel, #14130D); border-radius: 6px; align-self: flex-end; }
749
+ .lp-theme08 .lp-theme08-waterfall-total-value { font-family: var(--lp-font-heading); font-weight: 800; font-size: 32px; color: var(--lp-gold, #E8D22D); }
750
+ .lp-theme08 .lp-theme08-waterfall-total-label { font-size: 13px; color: color-mix(in srgb, var(--lp-inverse-panel-ink, #F7F4EA) 70%, transparent); }
751
+
752
+ /* ============ 仪表盘/圆环进度 (gauge-v1) ============ */
753
+ .lp-theme08 .lp-theme08-gauge-page { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; gap: 24px; }
754
+ .lp-theme08 .lp-theme08-gauge-ring { position: relative; width: 300px; height: 300px; }
755
+ .lp-theme08 .lp-theme08-gauge-svg { width: 100%; height: 100%; transform: rotate(-90deg); }
756
+ .lp-theme08 .lp-theme08-gauge-track { fill: none; stroke: var(--lp-surface-raised, rgba(255,255,255,0.15)); stroke-width: 18; }
757
+ .lp-theme08 .lp-theme08-gauge-fill { fill: none; stroke: var(--lp-gold, #E8D22D); stroke-width: 18; stroke-linecap: round; transition: stroke-dashoffset 0.8s ease; }
758
+ .lp-theme08 .lp-theme08-gauge-center { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; }
759
+ .lp-theme08 .lp-theme08-gauge-value { font-family: var(--lp-font-heading); font-weight: 800; font-size: 72px; line-height: 1; color: var(--lp-gold, #E8D22D); }
760
+ .lp-theme08 .lp-theme08-gauge-unit { font-size: 28px; font-weight: 700; color: var(--lp-gold, #E8D22D); }
761
+ .lp-theme08 .lp-theme08-gauge-desc { font-size: 14px; color: var(--lp-ink2); text-align: center; max-width: 280px; }
762
+ .lp-theme08 .lp-theme08-gauge-breakdown { display: flex; gap: 32px; margin-top: 8px; }
763
+ .lp-theme08 .lp-theme08-gauge-breakdown-item { text-align: center; }
764
+ .lp-theme08 .lp-theme08-gauge-bk-value { font-family: var(--lp-font-heading); font-weight: 800; font-size: 32px; color: var(--lp-ink); }
765
+ .lp-theme08 .lp-theme08-gauge-bk-label { font-size: 12px; color: var(--lp-ink2); }
766
+
767
+ /* ============ 产业链分层 (chain-v1) ============ */
768
+ .lp-theme08 .lp-theme08-chain-page { display: flex; flex-direction: column; height: 100%; }
769
+ .lp-theme08 .lp-theme08-chain-body { flex: 1; display: flex; flex-direction: column; gap: 12px; padding: 0 48px; }
770
+ .lp-theme08 .lp-theme08-chain-layer { display: flex; align-items: stretch; gap: 20px; padding: 20px 24px; border-radius: 8px; border: 2px solid var(--lp-border-strong); position: relative; }
771
+ .lp-theme08 .lp-theme08-chain-layer.dark { background: var(--lp-inverse-panel, #14130D); color: var(--lp-inverse-panel-ink, #F7F4EA); }
772
+ .lp-theme08 .lp-theme08-chain-layer.light { background: var(--lp-surface-solid, rgba(255,255,255,0.85)); }
773
+ .lp-theme08 .lp-theme08-chain-icon { font-size: 42px; font-family: var(--lp-font-heading); font-weight: 900; width: 56px; display: flex; align-items: center; justify-content: center; opacity: 0.35; }
774
+ .lp-theme08 .lp-theme08-chain-icon.accent { opacity: 1; color: var(--lp-accent); }
775
+ .lp-theme08 .lp-theme08-chain-content { flex: 1; display: flex; flex-direction: column; gap: 6px; }
776
+ .lp-theme08 .lp-theme08-chain-title { font-family: var(--lp-font-heading); font-weight: 800; font-size: 22px; }
777
+ .lp-theme08 .lp-theme08-chain-sub { font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; opacity: 0.72; }
778
+ .lp-theme08 .lp-theme08-chain-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 4px; }
779
+ .lp-theme08 .lp-theme08-chain-tag { font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 3px; border: 1.5px solid currentColor; }
780
+ .lp-theme08 .lp-theme08-chain-side { width: 180px; display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 4px; font-size: 13px; color: var(--lp-ink2); text-align: right; }
781
+ .lp-theme08 .lp-theme08-chain-arrow { position: absolute; bottom: -14px; left: 44px; font-size: 20px; color: var(--lp-accent); transform: rotate(70deg); }
782
+
783
+ /* ============ 气泡图 (bubble-v1) ============ */
784
+ .lp-theme08 .lp-theme08-bubble-page { display: flex; flex-direction: column; height: 100%; }
785
+ .lp-theme08 .lp-theme08-bubble-body { flex: 1; display: flex; flex-direction: column; padding: 16px 40px; }
786
+ .lp-theme08 .lp-theme08-bubble-chart { flex: 1; display: flex; flex-direction: column; position: relative; min-height: 0; }
787
+ .lp-theme08 .lp-theme08-bubble-groups { flex: 1; display: flex; gap: 16px; align-items: flex-end; padding: 20px 0 40px; border-bottom: 2px solid var(--lp-border-strong); }
788
+ .lp-theme08 .lp-theme08-bubble-group { flex: 1; display: flex; flex-wrap: wrap; align-content: flex-end; justify-content: center; gap: 6px; padding: 0 8px; min-height: 160px; position: relative; }
789
+ .lp-theme08 .lp-theme08-bubble { border-radius: 50%; border: 2px solid var(--lp-ink); display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 700; color: #fff; transition: transform 0.2s ease; cursor: default; }
790
+ .lp-theme08 .lp-theme08-bubble:hover { transform: scale(1.12); z-index: 2; }
791
+ .lp-theme08 .lp-theme08-bubble-group-label { position: absolute; bottom: -28px; left: 50%; transform: translateX(-50%); font-size: 12px; font-weight: 700; white-space: nowrap; }
792
+ .lp-theme08 .lp-theme08-bubble-group-stat { text-align: center; margin-top: 4px; }
793
+ .lp-theme08 .lp-theme08-bubble-group-count { font-family: var(--lp-font-heading); font-weight: 800; font-size: 26px; }
794
+ .lp-theme08 .lp-theme08-bubble-group-total { font-size: 12px; color: var(--lp-ink2); }
795
+ .lp-theme08 .lp-theme08-bubble-legend { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-top: 10px; font-size: 11px; }
796
+
797
+ /* ============ 热力图 (heatmap-v1) ============ */
798
+ .lp-theme08 .lp-theme08-heatmap-page { display: flex; flex-direction: column; height: 100%; }
799
+ .lp-theme08 .lp-theme08-heatmap-body { flex: 1; display: flex; flex-direction: column; padding: 20px 40px; }
800
+ .lp-theme08 .lp-theme08-heatmap-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; flex: 1; }
801
+ .lp-theme08 .lp-theme08-heatmap-cell { border-radius: 6px; padding: 16px 12px; display: flex; flex-direction: column; justify-content: space-between; min-height: 110px; border: 2px solid var(--lp-border-strong); position: relative; overflow: hidden; }
802
+ .lp-theme08 .lp-theme08-heatmap-cell-month { font-size: 13px; font-weight: 700; opacity: 0.7; }
803
+ .lp-theme08 .lp-theme08-heatmap-cell-en { font-size: 10px; text-transform: uppercase; letter-spacing: 0.06em; opacity: 0.45; position: absolute; top: 10px; right: 12px; }
804
+ .lp-theme08 .lp-theme08-heatmap-cell-value { font-family: var(--lp-font-heading); font-weight: 800; font-size: 34px; line-height: 1; }
805
+ .lp-theme08 .lp-theme08-heatmap-cell-unit { font-size: 13px; font-weight: 600; opacity: 0.7; }
806
+ .lp-theme08 .lp-theme08-heatmap-cell-badge { position: absolute; top: 8px; left: 8px; font-size: 10px; font-weight: 800; padding: 2px 8px; border-radius: 3px; background: var(--lp-ink); color: var(--lp-gold, #E8D22D); }
807
+ .lp-theme08 .lp-theme08-heatmap-scale { display: flex; align-items: center; gap: 8px; margin-top: 12px; justify-content: center; font-size: 11px; color: var(--lp-ink2); }
808
+ .lp-theme08 .lp-theme08-heatmap-scale-bar { width: 200px; height: 10px; border-radius: 5px; background: linear-gradient(90deg, #A8C8FF, #B8E8B0, #FFE066, #FF8F8F, #E83B22); }
809
+
810
+ /* ============ 哑铃/范围图 (range-v1) ============ */
811
+ .lp-theme08 .lp-theme08-range-page { display: flex; flex-direction: column; height: 100%; }
812
+ .lp-theme08 .lp-theme08-range-body { flex: 1; display: flex; flex-direction: column; padding: 16px 48px; justify-content: center; }
813
+ .lp-theme08 .lp-theme08-range-row { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--lp-border, rgba(0,0,0,0.08)); }
814
+ .lp-theme08 .lp-theme08-range-name { width: 130px; font-weight: 700; font-size: 15px; flex-shrink: 0; }
815
+ .lp-theme08 .lp-theme08-range-name-sub { font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--lp-ink2); display: block; }
816
+ .lp-theme08 .lp-theme08-range-track { flex: 1; position: relative; height: 28px; display: flex; align-items: center; }
817
+ .lp-theme08 .lp-theme08-range-line { position: absolute; left: 0; right: 0; top: 50%; height: 6px; background: var(--lp-ink); border-radius: 3px; transform: translateY(-50%); opacity: 0.85; }
818
+ .lp-theme08 .lp-theme08-range-fill { position: absolute; height: 10px; background: var(--lp-accent); border-radius: 5px; top: 50%; transform: translateY(-50%); }
819
+ .lp-theme08 .lp-theme08-range-dot { position: absolute; width: 22px; height: 22px; border-radius: 50%; border: 3px solid; background: #fff; z-index: 2; top: 50%; transform: translate(-50%, -50%); }
820
+ .lp-theme08 .lp-theme08-range-dot.low { border-color: var(--lp-accent-cool, #3CB4A5); }
821
+ .lp-theme08 .lp-theme08-range-dot.high { border-color: var(--lp-accent); }
822
+ .lp-theme08 .lp-theme08-range-val { position: absolute; top: -22px; font-weight: 800; font-size: 16px; font-family: var(--lp-font-heading); transform: translateX(-50%); white-space: nowrap; }
823
+ .lp-theme08 .lp-theme08-range-mid { position: absolute; left: 50%; top: -18px; font-size: 10px; color: var(--lp-ink2); transform: translateX(-50%); border-top: 1px dashed var(--lp-border-strong); padding-top: 3px; }
824
+ .lp-theme08 .lp-theme08-range-span { width: 80px; text-align: right; font-family: var(--lp-font-heading); font-weight: 800; font-size: 18px; flex-shrink: 0; }
825
+
826
+ /* ============ 记分卡 (scorecard-v1) ============ */
827
+ .lp-theme08 .lp-theme08-scorecard-page { display: flex; flex-direction: column; height: 100%; }
828
+ .lp-theme08 .lp-theme08-scorecard-grid { flex: 1; display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; padding: 20px 48px; align-content: center; }
829
+ .lp-theme08 .lp-theme08-scorecard-card { padding: 24px; border-radius: 10px; border: 2px solid var(--lp-border-strong); display: flex; flex-direction: column; gap: 10px; transition: border-color .2s, box-shadow .2s, background .2s; }
830
+ .lp-theme08 .lp-theme08-scorecard-card.highlight { border-color: var(--lp-accent); border-width: 2.5px; background: color-mix(in srgb, var(--lp-accent) 10%, var(--lp-surface-solid, rgba(255,255,255,0.85))); box-shadow: 0 0 24px color-mix(in srgb, var(--lp-accent) 20%, transparent), inset 0 0 20px color-mix(in srgb, var(--lp-accent) 6%, transparent); }
831
+ .lp-theme08 .lp-theme08-scorecard-label { font-size: 13px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--lp-ink2); font-weight: 700; }
832
+ .lp-theme08 .lp-theme08-scorecard-value { font-family: var(--lp-font-heading); font-weight: 800; font-size: 48px; line-height: 1; }
833
+ .lp-theme08 .lp-theme08-scorecard-change { font-size: 16px; font-weight: 700; display: inline-flex; align-items: center; gap: 4px; }
834
+ .lp-theme08 .lp-theme08-scorecard-change.up { color: var(--lp-accent); }
835
+ .lp-theme08 .lp-theme08-scorecard-change.down { color: var(--lp-accent-cool, #3CB4A5); }
836
+ .lp-theme08 .lp-theme08-scorecard-desc { font-size: 14px; color: var(--lp-ink2); line-height: 1.5; }
837
+
838
+ /* ============ 生态圈辐射 (ecosystem-v1) ============ */
839
+ .lp-theme08 .lp-theme08-ecosystem-page { display: flex; flex-direction: column; height: 100%; }
840
+ .lp-theme08 .lp-theme08-ecosystem-body { flex: 1; display: flex; align-items: center; justify-content: center; position: relative; }
841
+ .lp-theme08 .lp-theme08-ecosystem-hub { width: 220px; height: 220px; border-radius: 50%; background: var(--lp-inverse-panel, #14130D); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; z-index: 3; position: relative; overflow: visible; }
842
+ .lp-theme08 .lp-theme08-ecosystem-hub-text { font-family: var(--lp-font-heading); font-weight: 900; font-size: 46px; color: var(--lp-gold, #E8D22D); line-height: 1.1; }
843
+ .lp-theme08 .lp-theme08-ecosystem-hub-sub { font-size: 12px; color: color-mix(in srgb, var(--lp-inverse-panel-ink, #F7F4EA) 60%, transparent); text-transform: uppercase; letter-spacing: 0.08em; }
844
+ .lp-theme08 .lp-theme08-ecosystem-node { position: absolute; display: flex; flex-direction: column; align-items: center; gap: 4px; z-index: 2; }
845
+ .lp-theme08 .lp-theme08-ecosystem-node-card { padding: 10px 16px; border-radius: 6px; background: var(--lp-surface-solid, rgba(255,255,255,0.92)); border: 2px solid var(--lp-border-strong); text-align: center; min-width: 90px; }
846
+ .lp-theme08 .lp-theme08-ecosystem-node-name { font-weight: 800; font-size: 14px; }
847
+ .lp-theme08 .lp-theme08-ecosystem-node-val { font-family: var(--lp-font-heading); font-weight: 800; font-size: 22px; color: var(--lp-ink); }
848
+ .lp-theme08 .lp-theme08-ecosystem-node-unit { font-size: 11px; color: var(--lp-ink2); }
849
+ .lp-theme08 .lp-theme08-ecosystem-orbit { position: absolute; border: 2px dashed var(--lp-border-strong); border-radius: 50%; pointer-events: none; }
850
+
851
+ /* ============ 投资阶段/早期轮 (funding-v1) ============ */
852
+ .lp-theme08 .lp-theme08-funding-page { display: flex; flex-direction: column; height: 100%; }
853
+ .lp-theme08 .lp-theme08-funding-table { flex: 1; display: flex; flex-direction: column; padding: 16px 48px; justify-content: center; gap: 8px; }
854
+ .lp-theme08 .lp-theme08-funding-header { display: flex; gap: 16px; padding: 8px 0; border-bottom: 2px solid var(--lp-ink); font-size: 12px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--lp-ink2); font-weight: 700; }
855
+ .lp-theme08 .lp-theme08-funding-row { display: flex; gap: 16px; align-items: center; padding: 14px 16px; border-radius: 6px; }
856
+ .lp-theme08 .lp-theme08-funding-row.alt { background: var(--lp-inverse-panel, #14130D); color: var(--lp-inverse-panel-ink, #F7F4EA); }
857
+ .lp-theme08 .lp-theme08-funding-row.alt .lp-theme08-funding-row-name-sub,
858
+ .lp-theme08 .lp-theme08-funding-row.alt .lp-theme08-funding-dots span { opacity: 0.6; }
859
+ .lp-theme08 .lp-theme08-funding-row-name { width: 150px; flex-shrink: 0; }
860
+ .lp-theme08 .lp-theme08-funding-row-name-main { font-weight: 800; font-size: 18px; }
861
+ .lp-theme08 .lp-theme08-funding-row-name-sub { font-size: 12px; color: var(--lp-ink2); }
862
+ .lp-theme08 .lp-theme08-funding-dots { display: flex; gap: 5px; flex: 1; }
863
+ .lp-theme08 .lp-theme08-funding-dots span { width: 16px; height: 16px; border-radius: 50%; background: var(--lp-accent); }
864
+ .lp-theme08 .lp-theme08-funding-count { font-family: var(--lp-font-heading); font-weight: 800; font-size: 26px; width: 50px; text-align: center; }
865
+ .lp-theme08 .lp-theme08-funding-bar-wrap { width: 120px; display: flex; align-items: center; }
866
+ .lp-theme08 .lp-theme08-funding-bar { height: 14px; border-radius: 3px; background: var(--lp-gold, #E8D22D); min-width: 0; }
867
+ .lp-theme08 .lp-theme08-funding-avg { width: 80px; font-family: var(--lp-font-heading); font-weight: 800; font-size: 18px; text-align: right; }
868
+ .lp-theme08 .lp-theme08-funding-tags { display: flex; gap: 6px; flex: 1; justify-content: flex-end; }
869
+ .lp-theme08 .lp-theme08-funding-tag { font-size: 11px; font-weight: 700; padding: 3px 8px; border-radius: 3px; background: var(--lp-gold, #E8D22D); color: #000; }
870
+ .lp-theme08 .lp-theme08-funding-signals { display: flex; gap: 6px; width: 80px; justify-content: flex-end; }
871
+ .lp-theme08 .lp-theme08-funding-signal { width: 14px; height: 14px; transform: rotate(45deg); border: 2px solid var(--lp-accent); }
872
+ .lp-theme08 .lp-theme08-funding-signal.filled { background: var(--lp-accent); }
873
+ .lp-theme08 .lp-theme08-funding-summary { display: flex; align-items: center; gap: 12px; margin-top: 12px; padding: 12px 20px; background: var(--lp-inverse-panel, #14130D); border-radius: 8px; align-self: flex-end; }
874
+ .lp-theme08 .lp-theme08-funding-summary-value { font-family: var(--lp-font-heading); font-weight: 800; font-size: 36px; color: var(--lp-gold, #E8D22D); }
875
+ .lp-theme08 .lp-theme08-funding-summary-label { font-size: 14px; color: color-mix(in srgb, var(--lp-inverse-panel-ink, #F7F4EA) 70%, transparent); }
876
+
877
+ /* ============ 场景矩阵 (matrix-v1) ============ */
878
+ .lp-theme08 .lp-theme08-matrix-page { display: flex; flex-direction: column; height: 100%; }
879
+ .lp-theme08 .lp-theme08-matrix-body { flex: 1; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 16px; padding: 24px 40px; }
880
+ .lp-theme08 .lp-theme08-matrix-cell { border-radius: 10px; border: 2px solid var(--lp-border-strong); padding: 24px; display: flex; flex-direction: column; gap: 10px; position: relative; overflow: hidden; }
881
+ .lp-theme08 .lp-theme08-matrix-cell.dark { background: var(--lp-inverse-panel, #14130D); color: var(--lp-inverse-panel-ink, #F7F4EA); }
882
+ .lp-theme08 .lp-theme08-matrix-cell.light { background: var(--lp-surface-solid, rgba(255,255,255,0.85)); }
883
+ .lp-theme08 .lp-theme08-matrix-cell-title { font-family: var(--lp-font-heading); font-weight: 800; font-size: 24px; }
884
+ .lp-theme08 .lp-theme08-matrix-cell-desc { font-size: 14px; color: inherit; opacity: 0.75; line-height: 1.5; flex: 1; }
885
+ .lp-theme08 .lp-theme08-matrix-cell-tags { display: flex; gap: 8px; flex-wrap: wrap; }
886
+ .lp-theme08 .lp-theme08-matrix-tag { font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 3px; border: 1.5px solid currentColor; }
887
+ .lp-theme08 .lp-theme08-matrix-cell-corner { position: absolute; top: 10px; right: 10px; font-size: 11px; font-weight: 800; padding: 3px 8px; border-radius: 3px; background: var(--lp-accent); color: #000; }
888
+
889
+ /* ============ 工作流嵌入 (workflow-v1) ============ */
890
+ .lp-theme08 .lp-theme08-workflow-page { display: flex; flex-direction: column; height: 100%; }
891
+ .lp-theme08 .lp-theme08-workflow-body { flex: 1; display: flex; flex-direction: column; gap: 16px; padding: 20px 48px; justify-content: center; }
892
+ .lp-theme08 .lp-theme08-workflow-steps { display: flex; gap: 16px; align-items: stretch; }
893
+ .lp-theme08 .lp-theme08-workflow-step { flex: 1; border: 2px solid var(--lp-border-strong); border-radius: 10px; padding: 20px; display: flex; flex-direction: column; gap: 10px; position: relative; }
894
+ .lp-theme08 .lp-theme08-workflow-step-num { position: absolute; top: -12px; left: 16px; font-family: var(--lp-font-heading); font-weight: 900; font-size: 24px; color: var(--lp-accent); }
895
+ .lp-theme08 .lp-theme08-workflow-step-title { font-weight: 800; font-size: 18px; margin-top: 4px; }
896
+ .lp-theme08 .lp-theme08-workflow-step-desc { font-size: 13px; color: var(--lp-ink2); line-height: 1.5; flex: 1; }
897
+ .lp-theme08 .lp-theme08-workflow-step-tags { display: flex; gap: 6px; flex-wrap: wrap; }
898
+ .lp-theme08 .lp-theme08-workflow-tag { font-size: 11px; font-weight: 700; padding: 3px 8px; border-radius: 3px; background: var(--lp-surface-raised, rgba(0,0,0,0.06)); }
899
+ .lp-theme08 .lp-theme08-workflow-timeline { display: flex; align-items: center; gap: 0; margin-top: 8px; }
900
+ .lp-theme08 .lp-theme08-workflow-line { flex: 1; height: 3px; background: var(--lp-ink); opacity: 0.2; }
901
+ .lp-theme08 .lp-theme08-workflow-line.active { opacity: 1; background: var(--lp-ink); }
902
+ .lp-theme08 .lp-theme08-workflow-dot { width: 16px; height: 16px; border-radius: 50%; border: 3px solid var(--lp-ink); background: #fff; flex-shrink: 0; }
903
+ .lp-theme08 .lp-theme08-workflow-dot.active { background: var(--lp-ink); }
904
+ .lp-theme08 .lp-theme08-workflow-dot-label { position: absolute; top: 20px; font-size: 12px; font-weight: 700; white-space: nowrap; }
905
+
906
+ /* ============ 跨页分割 (hero-split-v1) ============ */
907
+ .lp-theme08 .lp-theme08-hero-split-page,
908
+ .lp-theme08.lp-theme08-hero-split-page { display: flex; height: 100%; box-sizing: border-box; }
909
+ .lp-theme08 .lp-theme08-hero-split-half { flex: 1; display: flex; flex-direction: column; justify-content: center; padding: var(--lp-pad-top) var(--lp-page-padding) var(--lp-pad-bottom); box-sizing: border-box; position: relative; overflow: hidden; }
910
+ .lp-theme08 .lp-theme08-hero-split-half.left { background: var(--lp-inverse-panel, #14130D); color: var(--lp-inverse-panel-ink, #F7F4EA); }
911
+ .lp-theme08 .lp-theme08-hero-split-half.right { background: #F6F2E8; color: #14130D; }
912
+ .lp-theme08 .lp-theme08-hero-split-kicker { font-size: 12px; text-transform: uppercase; letter-spacing: 0.1em; opacity: 0.5; font-weight: 700; margin-bottom: 8px; }
913
+ .lp-theme08 .lp-theme08-hero-split-title { font-family: var(--lp-font-heading); font-weight: 900; font-size: 56px; line-height: 1.05; }
914
+ .lp-theme08 .lp-theme08-hero-split-desc { font-size: 16px; opacity: 0.75; line-height: 1.6; margin-top: 12px; max-width: 420px; }
915
+ .lp-theme08 .lp-theme08-hero-split-number { font-family: var(--lp-font-heading); font-weight: 900; font-size: 120px; line-height: 1; opacity: 0.08; position: absolute; bottom: -20px; right: 20px; }
916
+ /* 强调(机会侧):荧光金描边 + 浅金底,文字保持深墨可读 */
917
+ .lp-theme08 .lp-theme08-hero-split-half.accent {
918
+ background: color-mix(in srgb, var(--lp-accent) 10%, #F6F2E8);
919
+ box-shadow: inset 0 0 0 3px var(--lp-accent), 0 0 30px color-mix(in srgb, var(--lp-accent) 40%, transparent);
920
+ }
921
+
922
+ /* 矩阵坐标轴标签(底部) */
923
+ .lp-theme08 .lp-theme08-matrix-axis { display: flex; align-items: center; justify-content: space-between; padding: 12px 56px 0; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; color: var(--lp-ink2); }
924
+ .lp-theme08 .lp-theme08-matrix-axis-x { color: var(--lp-accent); }
925
+ .lp-theme08 .lp-theme08-matrix-axis-y { color: var(--lp-accent-2); }
926
+
927
+ /* 工作流时间轴节点 */
928
+ .lp-theme08 .lp-theme08-workflow-node { position: relative; display: flex; flex-direction: column; align-items: center; flex: 1; }
929
+ .lp-theme08 .lp-theme08-workflow-dot-label { left: 50%; transform: translateX(-50%); color: var(--lp-ink); top: 22px; }
930
+
931
+ /* ============ 浅色(muted/light)模式覆盖 ============ */
932
+ /* 辉光线:浅色下用 accent-bright 保持可见 */
933
+ [data-appearance="muted"] .lp-theme08 .lp-theme08-glow-line,
934
+ [data-appearance="light"] .lp-theme08 .lp-theme08-glow-line {
935
+ background: linear-gradient(90deg, var(--lp-accent-bright, #E8B633), transparent 70%);
936
+ box-shadow: 0 0 16px color-mix(in srgb, var(--lp-accent-bright, #E8B633) 40%, transparent);
937
+ }
938
+
939
+ /* 卡片阴影:浅色下用暖灰而非纯黑 */
940
+ [data-appearance="muted"] .lp-theme08 .lp-theme08-card,
941
+ [data-appearance="light"] .lp-theme08 .lp-theme08-card {
942
+ box-shadow: 0 14px 38px rgba(20, 19, 13, 0.10), 0 3px 10px rgba(20, 19, 13, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.6);
943
+ }
944
+
945
+ /* 表头:浅色下用深墨文字 */
946
+ [data-appearance="muted"] .lp-theme08 .lp-theme08-table th,
947
+ [data-appearance="light"] .lp-theme08 .lp-theme08-table th {
948
+ color: var(--lp-ink);
949
+ }
950
+
951
+ /* 装饰层批注:浅色下用深墨 */
952
+ [data-appearance="muted"] .lp-theme08 .lp-theme08-deco-note,
953
+ [data-appearance="light"] .lp-theme08 .lp-theme08-deco-note {
954
+ color: var(--lp-ink3);
955
+ }
956
+
957
+ /* ============ 浅色模式(muted)补丁:反色面板内文字 + 金色可读性 ============ */
958
+ :root[data-theme="obsidian-gold"][data-appearance="muted"] .lp-theme08 {
959
+ --lp-gold: #8F6608;
960
+ }
961
+
962
+ /* 反色面板(inverse-panel)在浅色模式下变为亮底,内部文字必须使用深色 ink */
963
+ [data-appearance="muted"] .lp-theme08 .lp-theme08-matrix-cell.dark .lp-theme08-matrix-cell-title,
964
+ [data-appearance="muted"] .lp-theme08 .lp-theme08-matrix-cell.dark .lp-theme08-matrix-cell-desc,
965
+ [data-appearance="muted"] .lp-theme08 .lp-theme08-matrix-cell.dark .lp-theme08-matrix-cell-tag,
966
+ [data-appearance="muted"] .lp-theme08 .lp-theme08-ecosystem-hub .lp-theme08-ecosystem-hub-text,
967
+ [data-appearance="muted"] .lp-theme08 .lp-theme08-ecosystem-hub .lp-theme08-ecosystem-hub-text span,
968
+ [data-appearance="muted"] .lp-theme08 .lp-theme08-ecosystem-hub > div > span,
969
+ [data-appearance="muted"] .lp-theme08 .lp-theme08-chain-layer.dark .lp-theme08-chain-title,
970
+ [data-appearance="muted"] .lp-theme08 .lp-theme08-chain-layer.dark .lp-theme08-chain-note,
971
+ [data-appearance="muted"] .lp-theme08 .lp-theme08-chain-layer.dark .lp-theme08-chain-icon,
972
+ [data-appearance="muted"] .lp-theme08 .lp-theme08-waterfall-total div > span,
973
+ [data-appearance="muted"] .lp-theme08 .lp-theme08-funding-summary .lp-theme08-funding-summary-value span,
974
+ [data-appearance="muted"] .lp-theme08 .lp-theme08-bubble-group-foot .lp-theme08-bubble-total span {
975
+ color: var(--lp-ink);
976
+ }
977
+
978
+ /* 链式图深色层在浅色模式下跟随反色面板变为亮底 */
979
+ [data-appearance="muted"] .lp-theme08 .lp-theme08-chain-layer.dark {
980
+ background: var(--lp-inverse-panel);
981
+ color: var(--lp-inverse-panel-ink);
982
+ }
983
+
984
+ /* 浅色模式下金色芯片(标签/角标)配深色文字不可读,改用反色亮字 */
985
+ [data-appearance="muted"] .lp-theme08 .lp-theme08-funding-tag,
986
+ [data-appearance="muted"] .lp-theme08 .lp-theme08-matrix-cell-corner {
987
+ color: #FFFFFF;
988
+ }
989
+
990
+ /* 浅色模式下分数卡下降箭头(青色)需加深以保证对比 */
991
+ [data-appearance="muted"] .lp-theme08 .lp-theme08-scorecard-change.down {
992
+ color: #0A6B78;
993
+ }
994
+
995
+ /* 浅色模式下链式副标题恢复不透明,避免金色被白色底稀释 */
996
+ [data-appearance="muted"] .lp-theme08 .lp-theme08-chain-sub {
997
+ opacity: 1;
998
+ }
999
+
1000
+ /* 浅色模式下大号引号标记加深提升可读性(装饰大字,满足 3:1 即可) */
1001
+ [data-appearance="muted"] .lp-theme08 .lp-theme08-quote-mark {
1002
+ opacity: 0.85;
1003
+ }
1004
+
1005
+ /* =========================================================================
1006
+ theme08 v2 共享原型 + 变体版式样式(原创)
1007
+ 统一黑金视觉、双外观适配、强制防溢出(1280x720 页面内)
1008
+ ========================================================================= */
1009
+
1010
+ /* ---- 全局防溢出:所有 grid/flex 子项可收缩,标题限定宽度 ---- */
1011
+ .lp-theme08 .lp-theme08-grid > *,
1012
+ .lp-theme08 .lp-theme08-two > *,
1013
+ .lp-theme08 .lp-theme08-cards-grid > *,
1014
+ .lp-theme08 [class*="lp-theme08-"] {
1015
+ min-width: 0;
1016
+ }
1017
+ .lp-theme08 .lp-theme08-sec-title,
1018
+ .lp-theme08 .lp-theme08-title,
1019
+ .lp-theme08 .lp-theme08-cover-title,
1020
+ .lp-theme08 .lp-theme08-content-aside,
1021
+ .lp-theme08 .lp-theme08-two-right,
1022
+ .lp-theme08 .lp-theme08-two-left {
1023
+ max-width: 100%;
1024
+ overflow-wrap: break-word;
1025
+ word-break: break-word;
1026
+ }
1027
+ /* 左右布局:右列约束不超出页面 */
1028
+ .lp-theme08 .lp-theme08-content-split,
1029
+ .lp-theme08 .lp-theme08-case,
1030
+ .lp-theme08 .lp-theme08-compare,
1031
+ .lp-theme08 .lp-theme08-two {
1032
+ width: 100%;
1033
+ max-width: calc(1280px - 2 * var(--lp-page-padding, 56px));
1034
+ }
1035
+ .lp-theme08 .lp-theme08-content-split > *,
1036
+ .lp-theme08 .lp-theme08-case > *,
1037
+ .lp-theme08 .lp-theme08-compare > *,
1038
+ .lp-theme08 .lp-theme08-two > * {
1039
+ min-width: 0;
1040
+ }
1041
+
1042
+ /* ---- 区块标题原型 ---- */
1043
+ .lp-theme08 .lp-theme08-sec-head { display: flex; flex-direction: column; gap: 10px; margin-bottom: 22px; }
1044
+ .lp-theme08 .lp-theme08-sec-head.center { align-items: center; text-align: center; }
1045
+ .lp-theme08 .lp-theme08-sec-icon { margin-bottom: 4px; }
1046
+ .lp-theme08 .lp-theme08-sec-kicker {
1047
+ display: inline-flex; align-items: center; gap: 8px;
1048
+ font-size: 13px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
1049
+ color: var(--lp-accent);
1050
+ }
1051
+ .lp-theme08 .lp-theme08-sec-title {
1052
+ font-family: var(--lp-font-heading); font-weight: 800;
1053
+ font-size: var(--lp-font-size-h1); line-height: 1.08; color: var(--lp-ink);
1054
+ max-width: 980px; text-wrap: balance; margin: 0;
1055
+ }
1056
+ .lp-theme08 .lp-theme08-sec-sub {
1057
+ font-size: var(--lp-font-size-h3); line-height: 1.5; color: var(--lp-ink2);
1058
+ max-width: 820px; margin: 0;
1059
+ }
1060
+
1061
+ /* ---- 卡片 / 指标 / 标签 / 网格 / 两列 原型 ---- */
1062
+ .lp-theme08 .lp-theme08-card {
1063
+ background: var(--lp-surface-elevated, color-mix(in srgb, var(--lp-bg) 86%, #fff 6%));
1064
+ border: 1px solid var(--lp-border, rgba(255,210,63,0.16));
1065
+ border-radius: 14px; padding: 20px;
1066
+ display: flex; flex-direction: column; gap: 10px;
1067
+ }
1068
+ .lp-theme08 .lp-theme08-card.accent { border-color: color-mix(in srgb, var(--lp-accent) 60%, transparent); }
1069
+ .lp-theme08 .lp-theme08-stat { display: flex; flex-direction: column; gap: 4px; }
1070
+ .lp-theme08 .lp-theme08-stat-value {
1071
+ font-family: var(--lp-font-display); font-size: 46px; line-height: 1; color: var(--lp-ink);
1072
+ display: flex; align-items: baseline; gap: 6px;
1073
+ }
1074
+ .lp-theme08 .lp-theme08-stat.accent .lp-theme08-stat-value { color: var(--lp-accent); }
1075
+ .lp-theme08 .lp-theme08-stat-unit { font-size: 20px; color: var(--lp-ink2); }
1076
+ .lp-theme08 .lp-theme08-stat-label { font-size: 13px; color: var(--lp-ink2); line-height: 1.4; }
1077
+ .lp-theme08 .lp-theme08-tag {
1078
+ display: inline-flex; align-items: center; padding: 5px 12px; border-radius: 999px;
1079
+ background: color-mix(in srgb, var(--lp-accent) 16%, transparent);
1080
+ color: var(--lp-accent); font-size: 12px; font-weight: 600; letter-spacing: 0.04em;
1081
+ border: 1px solid color-mix(in srgb, var(--lp-accent) 28%, transparent);
1082
+ }
1083
+ .lp-theme08 .lp-theme08-tag.accent { background: var(--lp-accent); color: var(--lp-bg); border-color: transparent; }
1084
+ .lp-theme08 .lp-theme08-grid { display: grid; gap: 16px; }
1085
+ .lp-theme08 .lp-theme08-two { display: grid; gap: 40px; align-items: center; height: 100%; }
1086
+ .lp-theme08 .lp-theme08-two-left { display: flex; flex-direction: column; gap: 16px; justify-content: center; }
1087
+ .lp-theme08 .lp-theme08-two-right { display: flex; flex-direction: column; gap: 14px; justify-content: center; }
1088
+
1089
+ /* ---- 通用版式外壳 ---- */
1090
+ .lp-theme08 .lp-theme08-sec {
1091
+ position: relative; z-index: 3;
1092
+ width: 100%; max-width: calc(1280px - 2 * var(--lp-page-padding, 56px));
1093
+ height: 100%; box-sizing: border-box;
1094
+ padding: var(--lp-pad-top, 76px) var(--lp-page-padding, 56px) var(--lp-pad-bottom, 64px);
1095
+ display: flex; flex-direction: column;
1096
+ }
1097
+
1098
+ /* ---- 封面变体 (cover_v2..v5) ---- */
1099
+ .lp-theme08 .t08-cover2 { display: flex; flex-direction: column; justify-content: center; gap: 26px; }
1100
+ .lp-theme08 .t08-cover2.centered { align-items: center; text-align: center; }
1101
+ .lp-theme08 .t08-cover2.minimal { justify-content: flex-end; }
1102
+ .lp-theme08 .t08-cover2 .t08-cover2-title { font-family: var(--lp-font-heading); font-weight: 800; font-size: 68px; line-height: 1.02; color: var(--lp-ink); max-width: 1000px; }
1103
+ .lp-theme08 .t08-cover2.centered .t08-cover2-title { font-size: 80px; }
1104
+ .lp-theme08 .t08-cover2 .t08-cover2-sub { font-size: 18px; color: var(--lp-ink2); max-width: 760px; line-height: 1.5; }
1105
+ .lp-theme08 .t08-cover2 .t08-cover2-wall { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 8px; }
1106
+ .lp-theme08 .t08-cover2.split { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
1107
+
1108
+ /* ---- 章节变体 (chapter_v2..v4) ---- */
1109
+ .lp-theme08 .t08-chapter2 { display: flex; flex-direction: column; justify-content: center; gap: 18px; }
1110
+ .lp-theme08 .t08-chapter2 .t08-chapter2-num { font-family: var(--lp-font-display); font-size: 140px; line-height: 0.9; color: var(--lp-accent); opacity: 0.9; }
1111
+ .lp-theme08 .t08-chapter2 .t08-chapter2-title { font-family: var(--lp-font-heading); font-weight: 800; font-size: 56px; color: var(--lp-ink); }
1112
+ .lp-theme08 .t08-chapter2.big { align-items: center; text-align: center; }
1113
+ .lp-theme08 .t08-chapter2.big .t08-chapter2-num { font-size: 180px; }
1114
+ .lp-theme08 .t08-chapter2.side { display: grid; grid-template-columns: auto 1fr; gap: 36px; align-items: center; }
1115
+
1116
+ /* ---- 金句变体 (quote_statement/resources/verdict/twofield/manifesto) ---- */
1117
+ .lp-theme08 .t08-quote2 { display: flex; flex-direction: column; justify-content: center; gap: 20px; }
1118
+ .lp-theme08 .t08-quote2 .t08-quote2-text { font-family: var(--lp-font-heading); font-weight: 800; font-size: 44px; line-height: 1.18; color: var(--lp-ink); max-width: 1000px; }
1119
+ .lp-theme08 .t08-quote2.manifesto .t08-quote2-text { font-size: 32px; }
1120
+ .lp-theme08 .t08-quote2.twofield { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
1121
+ .lp-theme08 .t08-quote2 .t08-quote2-field { font-size: 22px; color: var(--lp-ink2); line-height: 1.5; }
1122
+ .lp-theme08 .t08-quote2 .t08-quote2-field b { color: var(--lp-accent); }
1123
+ .lp-theme08 .t08-quote2 .t08-quote2-cite { font-size: 15px; color: var(--lp-ink3); letter-spacing: 0.06em; }
1124
+
1125
+ /* ---- 卡片网格族 (case/architecture/capital/topic) ---- */
1126
+ .lp-theme08 .t08-cards { display: flex; flex-direction: column; gap: 18px; height: 100%; }
1127
+ .lp-theme08 .t08-cards-grid { display: grid; gap: 16px; align-content: center; flex: 1; min-height: 0; }
1128
+ .lp-theme08 .t08-cards .t08-card-title { font-family: var(--lp-font-heading); font-weight: 800; font-size: 22px; color: var(--lp-ink); }
1129
+ .lp-theme08 .t08-cards .t08-card-row { display: flex; align-items: baseline; gap: 10px; }
1130
+ .lp-theme08 .t08-cards .t08-card-num { font-family: var(--lp-font-display); font-size: 30px; color: var(--lp-accent); line-height: 1; }
1131
+ .lp-theme08 .t08-cards .t08-card-desc { font-size: 13px; color: var(--lp-ink2); line-height: 1.5; }
1132
+ /* 列表变体:单列长清单改为紧凑横向行,避免 5~6 条时纵向溢出 */
1133
+ .lp-theme08 .t08-cards.list .t08-cards-grid { grid-template-columns: 1fr; gap: 10px; align-content: center; }
1134
+ .lp-theme08 .t08-cards.list .lp-theme08-card {
1135
+ display: grid; grid-template-columns: minmax(140px, 0.85fr) auto minmax(0, 1.9fr);
1136
+ align-items: center; gap: 18px; padding: 12px 18px; border-radius: 12px;
1137
+ }
1138
+ .lp-theme08 .t08-cards.list .t08-card-title { font-size: 17px; line-height: 1.25; }
1139
+ .lp-theme08 .t08-cards.list .t08-card-row { justify-self: start; }
1140
+ .lp-theme08 .t08-cards.list .t08-card-num { font-size: 22px; }
1141
+ .lp-theme08 .t08-cards.list .t08-card-desc { font-size: 12.5px; line-height: 1.45; }
1142
+ /* 6 条以上进一步压缩 */
1143
+ .lp-theme08 .t08-cards.list .t08-cards-grid:has(> :nth-child(6)) { gap: 8px; }
1144
+ .lp-theme08 .t08-cards.list .t08-cards-grid:has(> :nth-child(6)) .lp-theme08-card { padding: 9px 16px; }
1145
+ .lp-theme08 .t08-cards.list .t08-cards-grid:has(> :nth-child(6)) .t08-card-title { font-size: 15.5px; }
1146
+ .lp-theme08 .t08-cards.list .t08-cards-grid:has(> :nth-child(6)) .t08-card-num { font-size: 19px; }
1147
+ .lp-theme08 .t08-cards.list .t08-cards-grid:has(> :nth-child(6)) .t08-card-desc { font-size: 12px; }
1148
+
1149
+ /* ---- 指标墙 (statwall) ---- */
1150
+ .lp-theme08 .t08-statwall { display: flex; flex-direction: column; gap: 18px; height: 100%; justify-content: center; }
1151
+ .lp-theme08 .t08-statwall-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
1152
+ .lp-theme08 .t08-statwall-grid.cols3 { grid-template-columns: repeat(3, 1fr); }
1153
+ .lp-theme08 .t08-statwall-grid.cols2 { grid-template-columns: repeat(2, 1fr); }
1154
+
1155
+ /* ---- 图表族 (bars/line/dumbbell) ---- */
1156
+ .lp-theme08 .t08-chart { display: flex; flex-direction: column; gap: 14px; height: 100%; justify-content: center; }
1157
+ .lp-theme08 .t08-bars { display: flex; flex-direction: column; gap: 14px; }
1158
+ .lp-theme08 .t08-bar-row { display: grid; grid-template-columns: 160px 1fr 90px; gap: 14px; align-items: center; }
1159
+ .lp-theme08 .t08-bar-label { font-size: 14px; color: var(--lp-ink); font-weight: 600; }
1160
+ .lp-theme08 .t08-bar-track { height: 18px; border-radius: 9px; background: var(--lp-surface, rgba(255,255,255,0.06)); overflow: hidden; }
1161
+ .lp-theme08 .t08-bar-fill { height: 100%; border-radius: 9px; background: linear-gradient(90deg, var(--lp-accent), var(--lp-accent-2)); }
1162
+ .lp-theme08 .t08-bar-val { font-family: var(--lp-font-display); font-size: 20px; color: var(--lp-ink); text-align: right; }
1163
+ .lp-theme08 .t08-line { display: flex; align-items: flex-end; gap: 10px; height: 280px; padding-top: 10px; }
1164
+ .lp-theme08 .t08-line-col { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; height: 100%; justify-content: flex-end; }
1165
+ .lp-theme08 .t08-line-bar { width: 60%; border-radius: 8px 8px 0 0; background: linear-gradient(180deg, var(--lp-accent), color-mix(in srgb, var(--lp-accent) 40%, transparent)); }
1166
+ .lp-theme08 .t08-line-x { font-size: 12px; color: var(--lp-ink2); }
1167
+ .lp-theme08 .t08-dumbbell { display: flex; flex-direction: column; gap: 16px; }
1168
+ .lp-theme08 .t08-dumbbell-row { display: grid; grid-template-columns: 150px 1fr 70px; gap: 12px; align-items: center; }
1169
+ .lp-theme08 .t08-dumbbell-track { position: relative; height: 8px; border-radius: 4px; background: var(--lp-surface, rgba(255,255,255,0.06)); }
1170
+ .lp-theme08 .t08-dumbbell-dot { position: absolute; top: 50%; width: 18px; height: 18px; border-radius: 50%; transform: translate(-50%, -50%); }
1171
+ .lp-theme08 .t08-dumbbell-dot.a { background: var(--lp-accent); }
1172
+ .lp-theme08 .t08-dumbbell-dot.b { background: var(--lp-accent-2); }
1173
+ .lp-theme08 .t08-dumbbell-val { font-family: var(--lp-font-display); font-size: 18px; color: var(--lp-ink); text-align: right; }
1174
+
1175
+ /* ---- 面板族 (risk: revenue/regulation/squeeze) ---- */
1176
+ .lp-theme08 .t08-panel { display: flex; flex-direction: column; gap: 16px; height: 100%; justify-content: center; }
1177
+ .lp-theme08 .t08-panel-row { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 20px; align-items: center; padding: 18px 22px; border-radius: 14px; background: var(--lp-surface-elevated, color-mix(in srgb, var(--lp-bg) 86%, #fff 6%)); border: 1px solid var(--lp-border, rgba(255,210,63,0.16)); border-left: 4px solid var(--lp-accent); }
1178
+ .lp-theme08 .t08-panel-row .t08-panel-name { font-family: var(--lp-font-heading); font-weight: 800; font-size: 24px; color: var(--lp-ink); }
1179
+ .lp-theme08 .t08-panel-row .t08-panel-note { font-size: 14px; color: var(--lp-ink2); line-height: 1.5; }
1180
+
1181
+ /* ---- 三栏 (triptych / topic) ---- */
1182
+ .lp-theme08 .t08-triptych { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; height: 100%; align-content: center; }
1183
+
1184
+ /* ---- 地域族 (region anchor/card/dotmap) ---- */
1185
+ .lp-theme08 .t08-region { display: flex; flex-direction: column; gap: 18px; height: 100%; justify-content: center; }
1186
+ .lp-theme08 .t08-region-anchor { display: flex; flex-direction: column; gap: 6px; }
1187
+ .lp-theme08 .t08-region-anchor .t08-region-num { font-family: var(--lp-font-display); font-size: 120px; line-height: 0.9; color: var(--lp-accent); }
1188
+ .lp-theme08 .t08-region-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
1189
+ .lp-theme08 .t08-dotmap { display: grid; grid-template-columns: repeat(8, 1fr); gap: 14px; }
1190
+ .lp-theme08 .t08-dotmap .t08-dot { aspect-ratio: 1; border-radius: 10px; background: var(--lp-surface-elevated, color-mix(in srgb, var(--lp-bg) 86%, #fff 6%)); border: 1px solid var(--lp-border, rgba(255,210,63,0.16)); display: flex; align-items: center; justify-content: center; font-size: 12px; color: var(--lp-ink2); }
1191
+
1192
+ /* ---- 架构族 (segment/pipeline/architecture/supply/compute) ---- */
1193
+ .lp-theme08 .t08-arch { display: flex; flex-direction: column; gap: 18px; height: 100%; justify-content: center; }
1194
+ .lp-theme08 .t08-arch-flow { display: flex; align-items: stretch; gap: 14px; flex-wrap: wrap; }
1195
+ .lp-theme08 .t08-arch-node { flex: 1; min-width: 150px; padding: 18px; border-radius: 14px; background: var(--lp-surface-elevated, color-mix(in srgb, var(--lp-bg) 86%, #fff 6%)); border: 1px solid var(--lp-border, rgba(255,210,63,0.16)); display: flex; flex-direction: column; gap: 8px; }
1196
+ .lp-theme08 .t08-arch-node .t08-arch-name { font-family: var(--lp-font-heading); font-weight: 800; font-size: 18px; color: var(--lp-ink); }
1197
+ .lp-theme08 .t08-arch-node .t08-arch-desc { font-size: 13px; color: var(--lp-ink2); line-height: 1.5; }
1198
+ .lp-theme08 .t08-arch-arrow { align-self: center; color: var(--lp-accent); font-size: 24px; }
1199
+
1200
+ /* ---- 资本族 (early_stage/investor_mix/resource_map/closed_loop/gpu) ---- */
1201
+ .lp-theme08 .t08-capital { display: flex; flex-direction: column; gap: 18px; height: 100%; justify-content: center; }
1202
+ .lp-theme08 .t08-capital-grid { display: grid; gap: 16px; align-content: center; }
1203
+ .lp-theme08 .t08-capital-loop { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; justify-content: center; }
1204
+ .lp-theme08 .t08-capital-step { padding: 16px 20px; border-radius: 12px; background: var(--lp-surface-elevated, color-mix(in srgb, var(--lp-bg) 86%, #fff 6%)); border: 1px solid var(--lp-border, rgba(255,210,63,0.16)); font-size: 15px; color: var(--lp-ink); font-weight: 600; }
1205
+ .lp-theme08 .t08-capital-step b { color: var(--lp-accent); }
1206
+
1207
+ /* ---- 策略族 (budget/mainlines/migration) ---- */
1208
+ .lp-theme08 .t08-strategy { display: flex; flex-direction: column; gap: 18px; height: 100%; justify-content: center; }
1209
+ .lp-theme08 .t08-strategy-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
1210
+
1211
+ /* ---- 尺寸拆分 (size_split) ---- */
1212
+ .lp-theme08 .t08-sizesplit { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; height: 100%; align-items: center; }
1213
+ .lp-theme08 .t08-sizesplit .t08-size-block { padding: 22px; border-radius: 14px; background: var(--lp-surface-elevated, color-mix(in srgb, var(--lp-bg) 86%, #fff 6%)); border: 1px solid var(--lp-border, rgba(255,210,63,0.16)); }
1214
+ .lp-theme08 .t08-sizesplit .t08-size-num { font-family: var(--lp-font-display); font-size: 40px; color: var(--lp-accent); line-height: 1; }
1215
+
1216
+ /* 浅色(muted)外观:卡片/面板底色使用浅表面,文字用深墨,保证对比度 */
1217
+ [data-appearance="muted"] .lp-theme08 .lp-theme08-card,
1218
+ [data-appearance="muted"] .lp-theme08 .t08-panel-row,
1219
+ [data-appearance="muted"] .lp-theme08 .t08-arch-node,
1220
+ [data-appearance="muted"] .lp-theme08 .t08-capital-step,
1221
+ [data-appearance="muted"] .lp-theme08 .t08-size-block,
1222
+ [data-appearance="muted"] .lp-theme08 .t08-dotmap .t08-dot {
1223
+ background: color-mix(in srgb, var(--lp-bg) 70%, #fff 18%);
1224
+ border-color: color-mix(in srgb, var(--lp-ink) 14%, transparent);
1225
+ }