@lemonppt/themes 0.1.7 → 0.2.0

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.
Files changed (54) hide show
  1. package/dist/index.d.ts +169 -60
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +13 -7
  4. package/dist/index.js.map +1 -1
  5. package/dist/theme01/tokens.d.ts +72 -0
  6. package/dist/theme01/tokens.d.ts.map +1 -0
  7. package/dist/theme01/tokens.js +79 -0
  8. package/dist/theme01/tokens.js.map +1 -0
  9. package/dist/theme02/tokens.d.ts +73 -0
  10. package/dist/theme02/tokens.d.ts.map +1 -0
  11. package/dist/theme02/tokens.js +81 -0
  12. package/dist/theme02/tokens.js.map +1 -0
  13. package/dist/theme03/tokens.d.ts +322 -0
  14. package/dist/theme03/tokens.d.ts.map +1 -0
  15. package/dist/theme03/tokens.js +279 -0
  16. package/dist/theme03/tokens.js.map +1 -0
  17. package/dist/theme04/tokens.d.ts +94 -0
  18. package/dist/theme04/tokens.d.ts.map +1 -0
  19. package/dist/theme04/tokens.js +305 -0
  20. package/dist/theme04/tokens.js.map +1 -0
  21. package/dist/theme05/tokens.d.ts +92 -0
  22. package/dist/theme05/tokens.d.ts.map +1 -0
  23. package/dist/theme05/tokens.js +275 -0
  24. package/dist/theme05/tokens.js.map +1 -0
  25. package/dist/theme06/tokens.d.ts +101 -0
  26. package/dist/theme06/tokens.d.ts.map +1 -0
  27. package/dist/theme06/tokens.js +320 -0
  28. package/dist/theme06/tokens.js.map +1 -0
  29. package/package.json +2 -2
  30. package/src/theme01/styles.css +4796 -0
  31. package/src/theme02/styles.css +4624 -0
  32. package/src/theme03/styles.css +8348 -0
  33. package/src/theme04/styles.css +8739 -0
  34. package/src/theme05/styles.css +3587 -0
  35. package/src/theme06/styles.css +7071 -0
  36. package/dist/base/tokens.d.ts +0 -34
  37. package/dist/base/tokens.d.ts.map +0 -1
  38. package/dist/base/tokens.js +0 -37
  39. package/dist/base/tokens.js.map +0 -1
  40. package/dist/dark-tech/tokens.d.ts +0 -34
  41. package/dist/dark-tech/tokens.d.ts.map +0 -1
  42. package/dist/dark-tech/tokens.js +0 -37
  43. package/dist/dark-tech/tokens.js.map +0 -1
  44. package/dist/minimal/tokens.d.ts +0 -34
  45. package/dist/minimal/tokens.d.ts.map +0 -1
  46. package/dist/minimal/tokens.js +0 -34
  47. package/dist/minimal/tokens.js.map +0 -1
  48. package/dist/warm-business/tokens.d.ts +0 -34
  49. package/dist/warm-business/tokens.d.ts.map +0 -1
  50. package/dist/warm-business/tokens.js +0 -37
  51. package/dist/warm-business/tokens.js.map +0 -1
  52. package/src/base/styles.css +0 -3061
  53. package/src/dark-tech/styles.css +0 -2969
  54. package/src/warm-business/styles.css +0 -2848
@@ -0,0 +1,4796 @@
1
+ /* lemonPPT - AI-powered presentation generation */
2
+ /* Copyright (c) 2026 lemonforme */
3
+ /* SPDX-License-Identifier: AGPL-3.0-or-later */
4
+
5
+ /* packages/themes/src/theme01/styles.css */
6
+ /* theme01: 轻拟态 / 玻璃质感 / 柔和弥散渐变 */
7
+
8
+ /* CSS 变量由 renderer 在 <style> 中注入,styles.css 中不再重复定义 :root,
9
+ 避免覆盖注入的 light/dark 双套变量。 */
10
+
11
+ * {
12
+ box-sizing: border-box;
13
+ }
14
+
15
+ html,
16
+ body {
17
+ margin: 0;
18
+ padding: 0;
19
+ width: 100%;
20
+ height: 100%;
21
+ font-family: var(--lp-font);
22
+ background: var(--lp-bg);
23
+ color: var(--lp-ink);
24
+ overflow: hidden;
25
+ }
26
+
27
+ .lp-deck {
28
+ position: relative;
29
+ width: 100%;
30
+ height: 100%;
31
+ display: flex;
32
+ align-items: center;
33
+ justify-content: center;
34
+ }
35
+
36
+ .lp-slide-wrapper {
37
+ position: absolute;
38
+ top: 0;
39
+ left: 0;
40
+ width: 100%;
41
+ height: 100%;
42
+ display: flex;
43
+ align-items: center;
44
+ justify-content: center;
45
+ opacity: 0;
46
+ z-index: 0;
47
+ }
48
+
49
+ /* ---- 幻灯片切换动画 ---- */
50
+
51
+ .lp-slide-wrapper.enter,
52
+ .lp-slide-wrapper.leave {
53
+ pointer-events: none;
54
+ }
55
+
56
+ .lp-deck[data-lp-transition="none"] .lp-slide-wrapper {
57
+ transition: opacity 80ms ease;
58
+ transform: none;
59
+ }
60
+ .lp-deck[data-lp-transition="none"] .lp-slide-wrapper.active {
61
+ opacity: 1;
62
+ z-index: 2;
63
+ }
64
+
65
+ .lp-deck:not([data-lp-transition]) .lp-slide-wrapper,
66
+ .lp-deck[data-lp-transition="slide"] .lp-slide-wrapper {
67
+ transform: translateX(100%);
68
+ transition: transform 400ms ease-in-out, opacity 300ms ease;
69
+ }
70
+ .lp-deck:not([data-lp-transition]) .lp-slide-wrapper.active,
71
+ .lp-deck[data-lp-transition="slide"] .lp-slide-wrapper.active {
72
+ opacity: 1;
73
+ transform: translateX(0);
74
+ z-index: 2;
75
+ }
76
+ .lp-deck:not([data-lp-transition]) .lp-slide-wrapper.prev,
77
+ .lp-deck[data-lp-transition="slide"] .lp-slide-wrapper.prev {
78
+ opacity: 0;
79
+ transform: translateX(-100%);
80
+ z-index: 1;
81
+ }
82
+ .lp-deck:not([data-lp-transition]) .lp-slide-wrapper.active.leave,
83
+ .lp-deck[data-lp-transition="slide"] .lp-slide-wrapper.active.leave {
84
+ opacity: 1;
85
+ transform: translateX(0);
86
+ z-index: 2;
87
+ }
88
+ .lp-deck:not([data-lp-transition]) .lp-slide-wrapper.leave,
89
+ .lp-deck[data-lp-transition="slide"] .lp-slide-wrapper.leave {
90
+ opacity: 0;
91
+ transform: translateX(-100%);
92
+ z-index: 1;
93
+ }
94
+ .lp-deck:not([data-lp-transition]) .lp-slide-wrapper.enter,
95
+ .lp-deck[data-lp-transition="slide"] .lp-slide-wrapper.enter {
96
+ opacity: 0;
97
+ transform: translateX(100%);
98
+ z-index: 2;
99
+ }
100
+ .lp-deck[data-lp-transition="slide"][data-lp-direction="prev"] .lp-slide-wrapper.enter {
101
+ transform: translateX(-100%);
102
+ }
103
+ .lp-deck[data-lp-transition="slide"][data-lp-direction="prev"] .lp-slide-wrapper.leave {
104
+ transform: translateX(100%);
105
+ }
106
+
107
+ .lp-deck[data-lp-transition="fade"] .lp-slide-wrapper {
108
+ transform: none;
109
+ transition: opacity 400ms ease;
110
+ }
111
+ .lp-deck[data-lp-transition="fade"] .lp-slide-wrapper.active {
112
+ opacity: 1;
113
+ z-index: 2;
114
+ }
115
+
116
+ .lp-deck[data-lp-transition="scale"] .lp-slide-wrapper {
117
+ transform: none;
118
+ transition: transform 500ms ease-out, opacity 400ms ease;
119
+ }
120
+ .lp-deck[data-lp-transition="scale"] .lp-slide-wrapper.active {
121
+ opacity: 1;
122
+ transform: scale(1);
123
+ z-index: 2;
124
+ }
125
+ .lp-deck[data-lp-transition="scale"] .lp-slide-wrapper.leave {
126
+ opacity: 0;
127
+ transform: scale(1.05);
128
+ }
129
+ .lp-deck[data-lp-transition="scale"] .lp-slide-wrapper.enter {
130
+ opacity: 0;
131
+ transform: scale(0.9);
132
+ }
133
+ .lp-deck[data-lp-transition="scale"] .lp-slide-wrapper.active.enter {
134
+ opacity: 1;
135
+ transform: scale(1);
136
+ }
137
+
138
+ @media (prefers-reduced-motion: reduce) {
139
+ .lp-slide-wrapper,
140
+ .lp-deck[data-lp-transition] .lp-slide-wrapper {
141
+ transition: none !important;
142
+ }
143
+ }
144
+
145
+ /* ---- 通用幻灯片容器 ---- */
146
+
147
+ .lp-slide {
148
+ width: 1280px;
149
+ height: 720px;
150
+ position: relative;
151
+ overflow: hidden;
152
+ padding: 92px 108px 84px;
153
+ display: flex;
154
+ flex-direction: column;
155
+ color: var(--lp-ink);
156
+ background:
157
+ radial-gradient(circle at 12% 18%, var(--lp-glow-blue), transparent 38%),
158
+ radial-gradient(circle at 88% 24%, var(--lp-glow-amber), transparent 42%),
159
+ radial-gradient(circle at 72% 86%, var(--lp-glow-violet), transparent 40%),
160
+ linear-gradient(135deg, var(--lp-bg-gradient-start) 0%, var(--lp-bg-gradient-end) 100%);
161
+ }
162
+
163
+ .lp-slide::before {
164
+ content: '';
165
+ position: absolute;
166
+ inset: 0;
167
+ background:
168
+ radial-gradient(circle at 20% 30%, var(--lp-glow-blue), transparent 45%),
169
+ radial-gradient(circle at 80% 70%, var(--lp-glow-violet), transparent 45%);
170
+ opacity: 0.6;
171
+ pointer-events: none;
172
+ animation: lp-slide-ambient 12s ease-in-out infinite alternate;
173
+ }
174
+
175
+ @keyframes lp-slide-ambient {
176
+ from { transform: scale(1) translate(0, 0); }
177
+ to { transform: scale(1.08) translate(-2%, -1%); }
178
+ }
179
+
180
+ /* 玻璃卡片通用样式 */
181
+ .lp-card {
182
+ position: relative;
183
+ background: var(--lp-surface);
184
+ backdrop-filter: blur(28px) saturate(140%);
185
+ border: 1px solid var(--lp-border);
186
+ border-radius: var(--lp-radius-large);
187
+ box-shadow:
188
+ var(--lp-shadow-inset),
189
+ var(--lp-shadow);
190
+ transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.3s ease;
191
+ }
192
+
193
+ .lp-card:hover {
194
+ transform: translateY(-2px);
195
+ box-shadow:
196
+ var(--lp-shadow-inset),
197
+ 0 28px 70px rgba(var(--lp-shadow-rgb), 0.16);
198
+ }
199
+
200
+ .lp-card::after {
201
+ content: '';
202
+ position: absolute;
203
+ inset: 0;
204
+ border-radius: inherit;
205
+ padding: 1px;
206
+ background: linear-gradient(135deg, rgba(255,255,255,0.35) 0%, rgba(255,255,255,0) 50%, rgba(255,255,255,0.15) 100%);
207
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
208
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
209
+ -webkit-mask-composite: xor;
210
+ mask-composite: exclude;
211
+ pointer-events: none;
212
+ }
213
+
214
+ /* 可编辑图片占位区 */
215
+ .lp-editable-image-placeholder {
216
+ display: flex;
217
+ flex-direction: column;
218
+ align-items: center;
219
+ justify-content: center;
220
+ gap: 8px;
221
+ min-height: 120px;
222
+ padding: 16px;
223
+ color: var(--lp-ink2, #6b7280);
224
+ background: var(--lp-surface, rgba(255, 255, 255, 0.55));
225
+ border: 2px dashed var(--lp-border, rgba(0, 0, 0, 0.12));
226
+ border-radius: var(--lp-radius-large, 16px);
227
+ cursor: pointer;
228
+ transition: background 0.2s ease, border-color 0.2s ease;
229
+ }
230
+
231
+ .lp-editable-image-placeholder:hover {
232
+ background: var(--lp-surface-strong, rgba(255, 255, 255, 0.75));
233
+ border-color: var(--lp-blue, #5b9bd5);
234
+ }
235
+
236
+ .lp-editable-image-placeholder-icon {
237
+ width: 36px;
238
+ height: 36px;
239
+ display: flex;
240
+ align-items: center;
241
+ justify-content: center;
242
+ font-size: 24px;
243
+ font-weight: 300;
244
+ line-height: 1;
245
+ color: var(--lp-ink2, #6b7280);
246
+ border: 1.5px solid var(--lp-border, rgba(0, 0, 0, 0.12));
247
+ border-radius: 50%;
248
+ }
249
+
250
+ .lp-editable-image-placeholder-text {
251
+ font-size: 13px;
252
+ font-weight: 600;
253
+ color: var(--lp-ink2, #6b7280);
254
+ }
255
+
256
+ /* ---- 通用标题系统 ---- */
257
+
258
+ .lp-head,
259
+ .lp-heading {
260
+ font-weight: 900;
261
+ line-height: 1.12;
262
+ letter-spacing: 0.012em;
263
+ margin: 0 0 24px 0;
264
+ background: linear-gradient(135deg, var(--lp-ink) 0%, var(--lp-ink2) 100%);
265
+ -webkit-background-clip: text;
266
+ background-clip: text;
267
+ -webkit-text-fill-color: transparent;
268
+ }
269
+
270
+ .lp-sub,
271
+ .lp-subtitle {
272
+ font-weight: 700;
273
+ font-size: 28px;
274
+ line-height: 1.45;
275
+ color: var(--lp-ink2);
276
+ margin: 0 0 24px 0;
277
+ }
278
+
279
+ .lp-mono,
280
+ .lp-kicker,
281
+ .lp-cover-date,
282
+ .lp-page-counter,
283
+ .lp-metric-unit,
284
+ .lp-process-step-number,
285
+ .lp-toc-number,
286
+ .lp-timeline-date,
287
+ .lp-roadmap-phase-number,
288
+ .lp-chart-unit,
289
+ .lp-chart-axis-text,
290
+ .lp-chart-value-text {
291
+ font-family: var(--lp-font-mono);
292
+ }
293
+
294
+ /* ---- 标签 Pills ---- */
295
+
296
+ .lp-pill,
297
+ .lp-kicker {
298
+ display: inline-block;
299
+ padding: 5px 15px;
300
+ border-radius: var(--lp-radius-small);
301
+ font-weight: 700;
302
+ font-size: 14px;
303
+ letter-spacing: 0.04em;
304
+ line-height: 1.3;
305
+ color: var(--lp-white);
306
+ background: var(--lp-blue);
307
+ box-shadow:
308
+ inset 0 1px 0 rgba(255, 255, 255, 0.25),
309
+ 0 4px 12px rgba(0, 0, 0, 0.12);
310
+ transition: transform 0.2s ease, box-shadow 0.2s ease;
311
+ }
312
+
313
+ .lp-pill:hover,
314
+ .lp-kicker:hover {
315
+ transform: translateY(-1px);
316
+ box-shadow:
317
+ inset 0 1px 0 rgba(255, 255, 255, 0.3),
318
+ 0 6px 16px rgba(0, 0, 0, 0.16);
319
+ }
320
+
321
+ .lp-pill.red,
322
+ .lp-kicker[data-tone="negative"] {
323
+ background: var(--lp-red);
324
+ }
325
+ .lp-pill.green,
326
+ .lp-kicker[data-tone="positive"] {
327
+ background: var(--lp-green);
328
+ }
329
+ .lp-pill.amber {
330
+ background: var(--lp-amber);
331
+ }
332
+ .lp-pill.violet {
333
+ background: var(--lp-violet);
334
+ }
335
+
336
+ /* ---- 入场动画 ---- */
337
+
338
+ @media (prefers-reduced-motion: no-preference) {
339
+ .lp-rise,
340
+ .lp-slide > * {
341
+ animation: lp-rise 0.55s both;
342
+ }
343
+ .lp-slide > *:nth-child(1) { animation-delay: 0s; }
344
+ .lp-slide > *:nth-child(2) { animation-delay: 0.05s; }
345
+ .lp-slide > *:nth-child(3) { animation-delay: 0.1s; }
346
+ .lp-slide > *:nth-child(4) { animation-delay: 0.15s; }
347
+ .lp-slide > *:nth-child(5) { animation-delay: 0.2s; }
348
+ .lp-slide > *:nth-child(6) { animation-delay: 0.25s; }
349
+ }
350
+
351
+ @keyframes lp-rise {
352
+ from {
353
+ opacity: 0;
354
+ transform: translateY(14px);
355
+ }
356
+ to {
357
+ opacity: 1;
358
+ transform: none;
359
+ }
360
+ }
361
+
362
+ /* ---- 封面 cover ---- */
363
+
364
+ .lp-cover-v1,
365
+ .lp-cover-v2,
366
+ .lp-cover-v3,
367
+ .lp-cover-v4 {
368
+ align-items: center;
369
+ justify-content: center;
370
+ text-align: center;
371
+ }
372
+
373
+ .lp-cover-v1 .lp-cover-image {
374
+ position: absolute;
375
+ inset: 0;
376
+ width: 100%;
377
+ height: 100%;
378
+ object-fit: cover;
379
+ opacity: 0.35;
380
+ z-index: 0;
381
+ }
382
+
383
+ .lp-cover-v1 .lp-cover-content {
384
+ position: relative;
385
+ z-index: 1;
386
+ padding: 72px 96px;
387
+ display: flex;
388
+ flex-direction: column;
389
+ align-items: center;
390
+ text-align: center;
391
+ }
392
+
393
+ .lp-cover-kicker {
394
+ margin-bottom: 28px;
395
+ }
396
+
397
+ .lp-cover-title {
398
+ font-size: 92px;
399
+ font-weight: 900;
400
+ line-height: 1.05;
401
+ margin: 0 0 24px 0;
402
+ }
403
+
404
+ .lp-cover-subtitle {
405
+ font-size: 30px;
406
+ max-width: 820px;
407
+ color: var(--lp-ink2);
408
+ margin: 0 0 24px 0;
409
+ }
410
+
411
+ .lp-cover-date {
412
+ font-size: 14px;
413
+ letter-spacing: 0.08em;
414
+ text-transform: uppercase;
415
+ color: var(--lp-ink3);
416
+ }
417
+
418
+ /* cover v2 - 编辑式双栏 */
419
+ .lp-cover-v2 {
420
+ flex-direction: row;
421
+ align-items: stretch;
422
+ gap: 56px;
423
+ text-align: left;
424
+ }
425
+
426
+ .lp-cover-v2 .lp-cover-image {
427
+ flex: 1;
428
+ border-radius: var(--lp-radius-large);
429
+ object-fit: cover;
430
+ box-shadow: var(--lp-shadow);
431
+ }
432
+
433
+ .lp-cover-v2 .lp-cover-content {
434
+ flex: 1;
435
+ display: flex;
436
+ flex-direction: column;
437
+ justify-content: center;
438
+ align-items: flex-start;
439
+ padding: 0;
440
+ }
441
+
442
+ .lp-cover-v2 .lp-cover-title {
443
+ font-size: 72px;
444
+ text-align: left;
445
+ }
446
+
447
+ /* cover v3 - Bento 网格 */
448
+ .lp-cover-v3 {
449
+ display: grid;
450
+ grid-template-columns: 1.2fr 1fr;
451
+ grid-template-rows: auto 1fr;
452
+ gap: 24px;
453
+ padding: 92px 108px 84px;
454
+ text-align: left;
455
+ }
456
+
457
+ .lp-cover-v3 .lp-cover-main-card {
458
+ grid-row: 1 / 3;
459
+ display: flex;
460
+ flex-direction: column;
461
+ justify-content: flex-end;
462
+ padding: 48px;
463
+ }
464
+
465
+ .lp-cover-v3 .lp-cover-bento-card {
466
+ padding: 32px;
467
+ display: flex;
468
+ flex-direction: column;
469
+ justify-content: center;
470
+ }
471
+
472
+ .lp-cover-v3 .lp-cover-title {
473
+ font-size: 64px;
474
+ text-align: left;
475
+ margin-bottom: 18px;
476
+ }
477
+
478
+ .lp-cover-v3 .lp-cover-subtitle {
479
+ font-size: 22px;
480
+ text-align: left;
481
+ }
482
+
483
+ .lp-cover-v3 .lp-cover-meta {
484
+ display: flex;
485
+ gap: 24px;
486
+ font-size: 14px;
487
+ color: var(--lp-ink3);
488
+ }
489
+
490
+ /* cover v4 - 杂志刊头 */
491
+ .lp-cover-v4 {
492
+ align-items: flex-start;
493
+ justify-content: flex-end;
494
+ text-align: left;
495
+ padding-bottom: 120px;
496
+ }
497
+
498
+ .lp-cover-v4 .lp-cover-masthead {
499
+ display: flex;
500
+ align-items: center;
501
+ gap: 20px;
502
+ margin-bottom: 32px;
503
+ }
504
+
505
+ .lp-cover-v4 .lp-cover-masthead-line {
506
+ flex: 1;
507
+ height: 2px;
508
+ background: linear-gradient(90deg, var(--lp-blue), transparent);
509
+ }
510
+
511
+ .lp-cover-v4 .lp-cover-title {
512
+ font-size: 84px;
513
+ text-align: left;
514
+ }
515
+
516
+ .lp-cover-v4 .lp-cover-footer {
517
+ display: flex;
518
+ gap: 32px;
519
+ margin-top: 36px;
520
+ font-size: 14px;
521
+ color: var(--lp-ink3);
522
+ letter-spacing: 0.06em;
523
+ }
524
+
525
+ /* ---- 目录 TOC ---- */
526
+
527
+ .lp-toc-v1,
528
+ .lp-toc-v2 {
529
+ justify-content: center;
530
+ }
531
+
532
+ .lp-toc-card {
533
+ padding: 54px 64px;
534
+ width: 100%;
535
+ }
536
+
537
+ .lp-toc-header {
538
+ text-align: center;
539
+ margin-bottom: 56px;
540
+ }
541
+
542
+ .lp-toc-title {
543
+ font-size: 56px;
544
+ margin-bottom: 0;
545
+ }
546
+
547
+ .lp-toc-list {
548
+ list-style: none;
549
+ padding: 0;
550
+ margin: 0;
551
+ }
552
+
553
+ .lp-toc-v1 .lp-toc-list {
554
+ display: grid;
555
+ grid-template-columns: repeat(2, 1fr);
556
+ gap: 24px;
557
+ padding: 30px 0;
558
+ }
559
+
560
+ .lp-toc-item {
561
+ display: flex;
562
+ align-items: center;
563
+ gap: 18px;
564
+ padding: 26px 28px;
565
+ background: var(--lp-surface);
566
+ backdrop-filter: blur(28px) saturate(140%);
567
+ border: 1px solid var(--lp-border);
568
+ border-radius: var(--lp-radius-large);
569
+ box-shadow: var(--lp-shadow);
570
+ }
571
+
572
+ .lp-toc-number {
573
+ font-size: 18px;
574
+ width: 44px;
575
+ height: 44px;
576
+ display: flex;
577
+ align-items: center;
578
+ justify-content: center;
579
+ border-radius: 50%;
580
+ background: var(--lp-surface-strong);
581
+ color: var(--lp-blue);
582
+ font-weight: 700;
583
+ }
584
+
585
+ .lp-toc-text {
586
+ font-size: 22px;
587
+ font-weight: 700;
588
+ color: var(--lp-ink);
589
+ }
590
+
591
+ /* toc v2 - 卡片网格 */
592
+ .lp-toc-v2 .lp-toc-list {
593
+ display: grid;
594
+ grid-template-columns: repeat(3, 1fr);
595
+ gap: 24px;
596
+ }
597
+
598
+ .lp-toc-v2 .lp-toc-item {
599
+ flex-direction: column;
600
+ align-items: flex-start;
601
+ gap: 16px;
602
+ padding: 32px 28px;
603
+ }
604
+
605
+ .lp-toc-v2 .lp-toc-number {
606
+ width: 52px;
607
+ height: 52px;
608
+ font-size: 22px;
609
+ }
610
+
611
+ .lp-toc-v2 .lp-toc-text {
612
+ font-size: 20px;
613
+ }
614
+
615
+ /* ---- 内容页 content ---- */
616
+
617
+ .lp-content-v1,
618
+ .lp-content-v2,
619
+ .lp-content-v3,
620
+ .lp-content-v4 {
621
+ justify-content: center;
622
+ }
623
+
624
+ .lp-content-card {
625
+ padding: 54px 64px;
626
+ width: 100%;
627
+ }
628
+
629
+ .lp-content-title {
630
+ font-size: 48px;
631
+ margin-bottom: 36px;
632
+ }
633
+
634
+ .lp-bullet-list {
635
+ list-style: none;
636
+ padding: 0;
637
+ margin: 0;
638
+ display: flex;
639
+ flex-direction: column;
640
+ gap: 18px;
641
+ }
642
+
643
+ .lp-bullet-list li {
644
+ position: relative;
645
+ padding-left: 28px;
646
+ font-size: 22px;
647
+ line-height: 1.55;
648
+ color: var(--lp-ink2);
649
+ }
650
+
651
+ .lp-bullet-list li::before {
652
+ content: '';
653
+ position: absolute;
654
+ left: 0;
655
+ top: 13px;
656
+ width: 10px;
657
+ height: 10px;
658
+ border-radius: 50%;
659
+ background: var(--lp-blue);
660
+ }
661
+
662
+ /* content v2 - 双栏 */
663
+ .lp-content-v2 .lp-content-header {
664
+ margin-bottom: 36px;
665
+ }
666
+
667
+ .lp-content-v2 .lp-content-columns {
668
+ display: grid;
669
+ grid-template-columns: 1fr 1fr;
670
+ gap: 32px;
671
+ }
672
+
673
+ .lp-content-v2 .lp-content-col {
674
+ padding: 34px 30px;
675
+ }
676
+
677
+ .lp-content-v2 .lp-content-title {
678
+ margin-bottom: 0;
679
+ }
680
+
681
+ /* content v3 - 三栏 */
682
+ .lp-content-v3 .lp-content-card {
683
+ padding: 48px 56px;
684
+ }
685
+
686
+ .lp-content-v3 .lp-content-columns {
687
+ display: grid;
688
+ grid-template-columns: repeat(3, 1fr);
689
+ gap: 24px;
690
+ }
691
+
692
+ .lp-content-v3 .lp-content-col {
693
+ padding: 28px 24px;
694
+ }
695
+
696
+ .lp-content-v3 .lp-content-col-title {
697
+ font-size: 24px;
698
+ font-weight: 800;
699
+ margin: 0 0 14px 0;
700
+ color: var(--lp-ink);
701
+ }
702
+
703
+ .lp-content-v3 .lp-content-col-text {
704
+ font-size: 16px;
705
+ line-height: 1.6;
706
+ color: var(--lp-ink2);
707
+ margin: 0;
708
+ }
709
+
710
+ /* content v4 - 大字主张 */
711
+ .lp-content-v4 {
712
+ align-items: center;
713
+ justify-content: center;
714
+ text-align: center;
715
+ }
716
+
717
+ .lp-content-v4 .lp-content-statement {
718
+ max-width: 980px;
719
+ padding: 72px 96px;
720
+ }
721
+
722
+ .lp-content-v4 .lp-content-title {
723
+ font-size: 72px;
724
+ line-height: 1.15;
725
+ margin-bottom: 32px;
726
+ }
727
+
728
+ .lp-content-v4 .lp-content-subtitle {
729
+ font-size: 26px;
730
+ color: var(--lp-ink2);
731
+ }
732
+
733
+ /* ---- 案例详情 case study ---- */
734
+
735
+ .lp-case-study {
736
+ justify-content: center;
737
+ }
738
+
739
+ .lp-case-study-card {
740
+ width: 100%;
741
+ display: flex;
742
+ flex-direction: column;
743
+ gap: 32px;
744
+ padding:24px;
745
+ }
746
+
747
+ .lp-case-study-header {
748
+ display: flex;
749
+ flex-direction: column;
750
+ gap: 12px;
751
+ }
752
+
753
+ .lp-case-study-title {
754
+ font-size: 42px;
755
+ font-weight: 900;
756
+ line-height: 1.1;
757
+ letter-spacing: -0.02em;
758
+ margin: 0;
759
+ }
760
+
761
+ .lp-case-study-subtitle {
762
+ font-size: 16px;
763
+ font-weight: 700;
764
+ color: var(--lp-ink3);
765
+ letter-spacing: 0.12em;
766
+ text-transform: uppercase;
767
+ font-family: var(--lp-font-mono);
768
+ margin: 0;
769
+ }
770
+
771
+ .lp-case-study-body {
772
+ display: flex;
773
+ flex-direction: column;
774
+ gap: 28px;
775
+ }
776
+
777
+ .lp-case-study-intro {
778
+ font-size: 20px;
779
+ line-height: 1.7;
780
+ color: var(--lp-ink2);
781
+ margin: 0;
782
+ max-width: 900px;
783
+ }
784
+
785
+ .lp-case-study-timeline {
786
+ display: flex;
787
+ flex-direction: column;
788
+ gap: 14px;
789
+ }
790
+
791
+ .lp-case-study-round {
792
+ display: flex;
793
+ align-items: center;
794
+ justify-content: space-between;
795
+ gap: 20px;
796
+ padding: 18px 22px;
797
+ background: linear-gradient(135deg, var(--lp-surface-strong) 0%, var(--lp-surface) 100%);
798
+ border: 1px solid var(--lp-border);
799
+ border-left: 4px solid var(--lp-blue);
800
+ border-radius: var(--lp-radius-large);
801
+ box-shadow: var(--lp-shadow-inset);
802
+ animation: lp-case-study-round-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
803
+ transition: transform 0.2s ease, box-shadow 0.2s ease;
804
+ }
805
+
806
+ .lp-case-study-round:hover {
807
+ transform: translateX(4px);
808
+ box-shadow: var(--lp-shadow-inset), 0 8px 24px rgba(var(--lp-shadow-rgb), 0.1);
809
+ }
810
+
811
+ @keyframes lp-case-study-round-in {
812
+ from { opacity: 0; transform: translateX(-16px); }
813
+ to { opacity: 1; transform: translateX(0); }
814
+ }
815
+
816
+ .lp-case-study-round-main {
817
+ display: flex;
818
+ align-items: center;
819
+ gap: 16px;
820
+ flex: 1;
821
+ min-width: 0;
822
+ }
823
+
824
+ .lp-case-study-round-date {
825
+ font-size: 14px;
826
+ font-weight: 700;
827
+ color: var(--lp-ink3);
828
+ font-family: var(--lp-font-mono);
829
+ min-width: 86px;
830
+ }
831
+
832
+ .lp-case-study-round-name {
833
+ font-size: 18px;
834
+ font-weight: 800;
835
+ color: var(--lp-ink);
836
+ }
837
+
838
+ .lp-case-study-round-meta {
839
+ display: flex;
840
+ align-items: center;
841
+ gap: 24px;
842
+ flex-shrink: 0;
843
+ }
844
+
845
+ .lp-case-study-round-valuation {
846
+ font-size: 14px;
847
+ color: var(--lp-ink3);
848
+ font-family: var(--lp-font-mono);
849
+ }
850
+
851
+ .lp-case-study-round-amount {
852
+ font-size: 18px;
853
+ font-weight: 900;
854
+ color: var(--lp-ink);
855
+ font-family: var(--lp-font-mono);
856
+ }
857
+
858
+ .lp-case-study-quote {
859
+ padding: 32px 36px;
860
+ background: linear-gradient(135deg, rgba(91, 155, 213, 0.12) 0%, rgba(91, 155, 213, 0.03) 100%);
861
+ border: 1px solid var(--lp-border);
862
+ border-radius: var(--lp-radius-large);
863
+ }
864
+
865
+ .lp-case-study-quote-text {
866
+ font-size: 26px;
867
+ font-weight: 600;
868
+ line-height: 1.5;
869
+ color: var(--lp-ink);
870
+ margin: 0;
871
+ padding: 0;
872
+ border-left: 3px solid var(--lp-blue);
873
+ padding-left: 22px;
874
+ }
875
+
876
+ .lp-case-study-quote-author {
877
+ font-size: 15px;
878
+ color: var(--lp-ink3);
879
+ margin-top: 16px;
880
+ padding-left: 25px;
881
+ font-family: var(--lp-font-mono);
882
+ }
883
+
884
+ .lp-case-study-footnote {
885
+ font-size: 13px;
886
+ color: var(--lp-ink3);
887
+ text-align: right;
888
+ font-family: var(--lp-font-mono);
889
+ margin-top: 8px;
890
+ }
891
+
892
+ /* ---- 大数字 metric ---- */
893
+
894
+ .lp-metric-big {
895
+ align-items: center;
896
+ justify-content: center;
897
+
898
+ }
899
+
900
+ .lp-metric-big-card {
901
+ width: 100%;
902
+ display: flex;
903
+ flex-direction: column;
904
+ gap: 36px;
905
+ text-align: center;
906
+ padding:24px 0 ;
907
+ }
908
+
909
+ .lp-metric-big-header {
910
+ display: flex;
911
+ flex-direction: column;
912
+ align-items: center;
913
+ gap: 14px;
914
+ }
915
+
916
+ .lp-metric-big-title {
917
+ font-size: 42px;
918
+ font-weight: 900;
919
+ line-height: 1.1;
920
+ letter-spacing: -0.02em;
921
+ margin: 0;
922
+ }
923
+
924
+ .lp-metric-big-subtitle {
925
+ font-size: 16px;
926
+ font-weight: 700;
927
+ color: var(--lp-ink3);
928
+ letter-spacing: 0.12em;
929
+ text-transform: uppercase;
930
+ font-family: var(--lp-font-mono);
931
+ margin: 0;
932
+ }
933
+
934
+ .lp-metric-big-body {
935
+ display: flex;
936
+ flex-direction: column;
937
+ align-items: center;
938
+ gap: 16px;
939
+ }
940
+
941
+ .lp-metric-big-value-wrap {
942
+ display: flex;
943
+ align-items: baseline;
944
+ justify-content: center;
945
+ gap: 10px;
946
+ }
947
+
948
+ .lp-metric-big-value {
949
+ font-size: 120px;
950
+ font-weight: 900;
951
+ line-height: 1;
952
+ letter-spacing: -0.03em;
953
+ background: linear-gradient(135deg, var(--lp-ink) 0%, var(--lp-blue) 100%);
954
+ -webkit-background-clip: text;
955
+ background-clip: text;
956
+ -webkit-text-fill-color: transparent;
957
+ }
958
+
959
+ .lp-metric-big-unit {
960
+ font-size: 36px;
961
+ font-weight: 800;
962
+ color: var(--lp-blue);
963
+ font-family: var(--lp-font-mono);
964
+ }
965
+
966
+ .lp-metric-big-context {
967
+ font-size: 22px;
968
+ font-weight: 600;
969
+ color: var(--lp-ink2);
970
+ max-width: 720px;
971
+ line-height: 1.5;
972
+ margin: 0;
973
+ }
974
+
975
+ .lp-metric-big-metrics {
976
+ display: flex;
977
+ justify-content: center;
978
+ gap: 20px;
979
+ flex-wrap: wrap;
980
+ }
981
+
982
+ .lp-metric-big-metric {
983
+ min-width: 140px;
984
+ padding: 22px 28px;
985
+ background: linear-gradient(135deg, var(--lp-surface-strong) 0%, var(--lp-surface) 100%);
986
+ border: 1px solid var(--lp-border);
987
+ border-radius: var(--lp-radius-large);
988
+ box-shadow: var(--lp-shadow-inset);
989
+ animation: lp-metric-big-metric-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
990
+ transition: transform 0.2s ease, box-shadow 0.2s ease;
991
+ }
992
+
993
+ .lp-metric-big-metric:hover {
994
+ transform: translateY(-3px);
995
+ box-shadow: var(--lp-shadow-inset), 0 10px 28px rgba(var(--lp-shadow-rgb), 0.1);
996
+ }
997
+
998
+ .lp-metric-big-metric--accent {
999
+ border-color: var(--lp-blue);
1000
+ background: linear-gradient(135deg, rgba(91, 155, 213, 0.22) 0%, rgba(91, 155, 213, 0.06) 100%);
1001
+ }
1002
+
1003
+ .lp-metric-big-metric--accent .lp-metric-big-metric-value {
1004
+ color: var(--lp-blue);
1005
+ }
1006
+
1007
+ @keyframes lp-metric-big-metric-in {
1008
+ from { opacity: 0; transform: translateY(16px); }
1009
+ to { opacity: 1; transform: translateY(0); }
1010
+ }
1011
+
1012
+ .lp-metric-big-metric-value {
1013
+ font-size: 28px;
1014
+ font-weight: 900;
1015
+ color: var(--lp-ink);
1016
+ font-family: var(--lp-font-mono);
1017
+ }
1018
+
1019
+ .lp-metric-big-metric-label {
1020
+ font-size: 13px;
1021
+ color: var(--lp-ink3);
1022
+ margin-top: 6px;
1023
+ letter-spacing: 0.04em;
1024
+ }
1025
+
1026
+ .lp-metric-big-footnote {
1027
+ font-size: 13px;
1028
+ color: var(--lp-ink3);
1029
+ text-align: center;
1030
+ font-family: var(--lp-font-mono);
1031
+ margin-top: 8px;
1032
+ }
1033
+
1034
+ .lp-metric-v1,
1035
+ .lp-metric-v2,
1036
+ .lp-metric-v3 {
1037
+ align-items: center;
1038
+ justify-content: center;
1039
+ text-align: center;
1040
+ }
1041
+
1042
+ .lp-metric-v1 .lp-metric-value {
1043
+ font-size: 128px;
1044
+ font-weight: 900;
1045
+ line-height: 1;
1046
+ color: var(--lp-ink);
1047
+ margin-bottom: 12px;
1048
+ }
1049
+
1050
+ .lp-metric-v1 .lp-metric-unit {
1051
+ font-size: 36px;
1052
+ font-weight: 700;
1053
+ color: var(--lp-ink2);
1054
+ }
1055
+
1056
+ .lp-metric-description {
1057
+ margin-top: 34px;
1058
+ padding: 28px 36px;
1059
+ font-size: 22px;
1060
+ color: var(--lp-ink2);
1061
+ }
1062
+
1063
+ /* metric v2 - 多指标网格 */
1064
+ .lp-metric-v2 {
1065
+ justify-content: center;
1066
+ }
1067
+
1068
+ .lp-metric-v2 .lp-metric-header {
1069
+ text-align: center;
1070
+ margin-bottom: 48px;
1071
+ }
1072
+
1073
+ .lp-metric-v2 .lp-metric-title {
1074
+ font-size: 48px;
1075
+ margin-bottom: 0;
1076
+ }
1077
+
1078
+ .lp-metric-v2 .lp-metric-grid {
1079
+ display: grid;
1080
+ grid-template-columns: repeat(3, 1fr);
1081
+ gap: 28px;
1082
+ width: 100%;
1083
+ }
1084
+
1085
+ .lp-metric-v2 .lp-metric-card {
1086
+ padding: 40px 24px;
1087
+ text-align: center;
1088
+ }
1089
+
1090
+ .lp-metric-v2 .lp-metric-card-value {
1091
+ font-size: 56px;
1092
+ font-weight: 900;
1093
+ color: var(--lp-blue);
1094
+ line-height: 1.1;
1095
+ margin-bottom: 8px;
1096
+ }
1097
+
1098
+ .lp-metric-v2 .lp-metric-card-unit {
1099
+ font-size: 22px;
1100
+ font-weight: 700;
1101
+ color: var(--lp-ink);
1102
+ }
1103
+
1104
+ .lp-metric-v2 .lp-metric-card-label {
1105
+ font-size: 17px;
1106
+ color: var(--lp-ink2);
1107
+ margin-top: 10px;
1108
+ }
1109
+
1110
+ /* metric v3 - 图标 + 说明 */
1111
+ .lp-metric-v3 .lp-metric-card {
1112
+ display: flex;
1113
+ align-items: center;
1114
+ gap: 48px;
1115
+ padding: 52px 64px;
1116
+ text-align: left;
1117
+ max-width: 960px;
1118
+ }
1119
+
1120
+ .lp-metric-v3 .lp-metric-icon {
1121
+ width: 120px;
1122
+ height: 120px;
1123
+ border-radius: 50%;
1124
+ background: linear-gradient(135deg, var(--lp-glow-blue-strong), var(--lp-glow-violet-strong));
1125
+ display: flex;
1126
+ align-items: center;
1127
+ justify-content: center;
1128
+ flex-shrink: 0;
1129
+ }
1130
+
1131
+ .lp-metric-v3 .lp-metric-icon-text {
1132
+ font-size: 48px;
1133
+ font-weight: 900;
1134
+ color: var(--lp-blue);
1135
+ }
1136
+
1137
+ .lp-metric-v3 .lp-metric-value {
1138
+ font-size: 96px;
1139
+ font-weight: 900;
1140
+ line-height: 1;
1141
+ color: var(--lp-ink);
1142
+ margin-bottom: 8px;
1143
+ }
1144
+
1145
+ .lp-metric-v3 .lp-metric-unit {
1146
+ font-size: 28px;
1147
+ font-weight: 700;
1148
+ color: var(--lp-ink2);
1149
+ }
1150
+
1151
+ .lp-metric-v3 .lp-metric-description {
1152
+ margin-top: 18px;
1153
+ padding: 0;
1154
+ font-size: 20px;
1155
+ color: var(--lp-ink2);
1156
+ text-align: left;
1157
+ }
1158
+
1159
+ /* ---- 特色 feature ---- */
1160
+
1161
+ .lp-feature-v1 {
1162
+ justify-content: center;
1163
+ }
1164
+
1165
+ .lp-feature-header {
1166
+ text-align: center;
1167
+ margin-bottom: 52px;
1168
+ }
1169
+
1170
+ .lp-feature-title {
1171
+ font-size: 48px;
1172
+ margin-bottom: 0;
1173
+ }
1174
+
1175
+ .lp-feature-grid {
1176
+ display: grid;
1177
+ grid-template-columns: repeat(3, 1fr);
1178
+ gap: 28px;
1179
+ }
1180
+
1181
+ .lp-feature-card {
1182
+ padding: 34px 28px;
1183
+ }
1184
+
1185
+ .lp-feature-number {
1186
+ font-family: var(--lp-font-mono);
1187
+ font-size: 14px;
1188
+ color: var(--lp-blue);
1189
+ margin-bottom: 16px;
1190
+ letter-spacing: 0.08em;
1191
+ }
1192
+
1193
+ .lp-feature-card-title {
1194
+ font-size: 24px;
1195
+ font-weight: 800;
1196
+ margin: 0 0 12px 0;
1197
+ color: var(--lp-ink);
1198
+ }
1199
+
1200
+ .lp-feature-card-description {
1201
+ font-size: 17px;
1202
+ line-height: 1.55;
1203
+ margin: 0;
1204
+ color: var(--lp-ink2);
1205
+ }
1206
+
1207
+ /* ---- 案例与竞争力 feature v2 ---- */
1208
+
1209
+ .lp-feature-v2 {
1210
+ display: flex;
1211
+ flex-direction: column;
1212
+ padding: 56px 64px 40px;
1213
+ gap: 36px;
1214
+ }
1215
+
1216
+ .lp-feature-v2-header {
1217
+ text-align: left;
1218
+ }
1219
+
1220
+ .lp-feature-v2-title {
1221
+ font-size: 46px;
1222
+ margin: 18px 0 10px;
1223
+ color: var(--lp-ink);
1224
+ }
1225
+
1226
+ .lp-feature-v2-subtitle {
1227
+ font-size: 20px;
1228
+ color: var(--lp-ink3);
1229
+ margin: 0;
1230
+ line-height: 1.5;
1231
+ }
1232
+
1233
+ .lp-feature-v2-body {
1234
+ display: grid;
1235
+ grid-template-columns: 1fr 1.15fr;
1236
+ gap: 40px;
1237
+ align-items: stretch;
1238
+ flex: 1;
1239
+ min-height: 0;
1240
+ }
1241
+
1242
+ .lp-feature-v2-image-wrap {
1243
+ position: relative;
1244
+ border-radius: var(--lp-radius-large, 24px);
1245
+ overflow: hidden;
1246
+ background: var(--lp-bg);
1247
+ box-shadow: 0 18px 50px rgba(var(--lp-shadow-rgb), 0.12);
1248
+ }
1249
+
1250
+ .lp-feature-v2-image,
1251
+ .lp-feature-v2-image-placeholder {
1252
+ position: absolute;
1253
+ inset: 0;
1254
+ width: 100%;
1255
+ height: 100%;
1256
+ object-fit: cover;
1257
+ border-radius: var(--lp-radius-large, 24px);
1258
+ }
1259
+
1260
+ .lp-feature-v2-cards {
1261
+ display: flex;
1262
+ flex-direction: column;
1263
+ gap: 18px;
1264
+ justify-content: center;
1265
+ }
1266
+
1267
+ .lp-feature-v2-card {
1268
+ display: flex;
1269
+ align-items: flex-start;
1270
+ gap: 18px;
1271
+ padding: 22px 24px;
1272
+ border-radius: var(--lp-radius-medium, 18px);
1273
+ }
1274
+
1275
+ .lp-feature-v2-number {
1276
+ flex: none;
1277
+ width: 40px;
1278
+ height: 40px;
1279
+ display: flex;
1280
+ align-items: center;
1281
+ justify-content: center;
1282
+ border-radius: 12px;
1283
+ font-family: var(--lp-font-mono);
1284
+ font-size: 15px;
1285
+ font-weight: 700;
1286
+ color: var(--lp-white);
1287
+ background: var(--lp-violet);
1288
+ }
1289
+
1290
+ .lp-feature-v2-card:nth-child(2) .lp-feature-v2-number {
1291
+ background: var(--lp-green);
1292
+ }
1293
+
1294
+ .lp-feature-v2-card:nth-child(3) .lp-feature-v2-number {
1295
+ background: var(--lp-amber);
1296
+ }
1297
+
1298
+ .lp-feature-v2-card:nth-child(4) .lp-feature-v2-number {
1299
+ background: var(--lp-cyan);
1300
+ }
1301
+
1302
+ .lp-feature-v2-card:nth-child(5) .lp-feature-v2-number {
1303
+ background: var(--lp-pink);
1304
+ }
1305
+
1306
+ .lp-feature-v2-card-body {
1307
+ flex: 1;
1308
+ min-width: 0;
1309
+ }
1310
+
1311
+ .lp-feature-v2-card-title {
1312
+ font-size: 20px;
1313
+ font-weight: 800;
1314
+ margin: 0 0 8px;
1315
+ color: var(--lp-ink);
1316
+ }
1317
+
1318
+ .lp-feature-v2-card-description {
1319
+ font-size: 15px;
1320
+ line-height: 1.55;
1321
+ margin: 0;
1322
+ color: var(--lp-ink2);
1323
+ }
1324
+
1325
+ .lp-feature-v2-footer {
1326
+ text-align: left;
1327
+ }
1328
+
1329
+ .lp-feature-v2-footer-text {
1330
+ font-size: 13px;
1331
+ color: var(--lp-ink3);
1332
+ font-family: var(--lp-font-mono);
1333
+ }
1334
+
1335
+ /* ---- 流程 process ---- */
1336
+
1337
+ .lp-process-v1 {
1338
+ justify-content: center;
1339
+ }
1340
+
1341
+ .lp-process-inner {
1342
+ width: 100%;
1343
+ }
1344
+
1345
+ .lp-process-header {
1346
+ text-align: center;
1347
+ margin-bottom: 56px;
1348
+ }
1349
+
1350
+ .lp-process-title {
1351
+ font-size: 48px;
1352
+ margin-bottom: 0;
1353
+ }
1354
+
1355
+ .lp-process-steps {
1356
+ display: flex;
1357
+ gap: 24px;
1358
+ align-items: stretch;
1359
+ }
1360
+
1361
+ .lp-process-step {
1362
+ flex: 1;
1363
+ padding: 32px 24px;
1364
+ text-align: center;
1365
+ position: relative;
1366
+ }
1367
+
1368
+ .lp-process-step-number {
1369
+ font-size: 14px;
1370
+ color: var(--lp-blue);
1371
+ margin-bottom: 14px;
1372
+ letter-spacing: 0.08em;
1373
+ }
1374
+
1375
+ .lp-process-step h3 {
1376
+ font-size: 22px;
1377
+ font-weight: 800;
1378
+ margin: 0 0 12px 0;
1379
+ }
1380
+
1381
+ .lp-process-step-text {
1382
+ font-size: 16px;
1383
+ line-height: 1.5;
1384
+ margin: 0;
1385
+ color: var(--lp-ink2);
1386
+ }
1387
+
1388
+ .lp-process-arrow {
1389
+ position: absolute;
1390
+ right: -20px;
1391
+ top: 50%;
1392
+ transform: translateY(-50%);
1393
+ width: 0;
1394
+ height: 0;
1395
+ border-top: 10px solid transparent;
1396
+ border-bottom: 10px solid transparent;
1397
+ border-left: 12px solid var(--lp-blue);
1398
+ opacity: 0.35;
1399
+ }
1400
+
1401
+ /* ---- 对比 comparison ---- */
1402
+
1403
+ .lp-comparison-v1 {
1404
+ justify-content: center;
1405
+ }
1406
+
1407
+ .lp-comparison-inner {
1408
+ width: 100%;
1409
+ }
1410
+
1411
+ .lp-comparison-header {
1412
+ text-align: center;
1413
+ margin-bottom: 52px;
1414
+ }
1415
+
1416
+ .lp-comparison-title {
1417
+ font-size: 48px;
1418
+ }
1419
+
1420
+ .lp-comparison-grid {
1421
+ display: grid;
1422
+ grid-template-columns: repeat(2, 1fr);
1423
+ gap: 24px;
1424
+ }
1425
+
1426
+ .lp-comparison-col {
1427
+ padding: 34px 28px;
1428
+ }
1429
+
1430
+ .lp-comparison-col-title {
1431
+ font-size: 24px;
1432
+ font-weight: 800;
1433
+ margin: 0 0 18px 0;
1434
+ }
1435
+
1436
+ .lp-comparison-list {
1437
+ list-style: none;
1438
+ padding: 0;
1439
+ margin: 0;
1440
+ display: flex;
1441
+ flex-direction: column;
1442
+ gap: 10px;
1443
+ }
1444
+
1445
+ .lp-comparison-list li {
1446
+ font-size: 17px;
1447
+ color: var(--lp-ink2);
1448
+ position: relative;
1449
+ padding-left: 18px;
1450
+ }
1451
+
1452
+ .lp-comparison-list li::before {
1453
+ content: '';
1454
+ position: absolute;
1455
+ left: 0;
1456
+ top: 10px;
1457
+ width: 6px;
1458
+ height: 6px;
1459
+ border-radius: 50%;
1460
+ background: var(--lp-blue);
1461
+ }
1462
+
1463
+ /* ---- 金句 quote ---- */
1464
+
1465
+ .lp-quote-v1 {
1466
+ align-items: center;
1467
+ justify-content: center;
1468
+ text-align: center;
1469
+ }
1470
+
1471
+ .lp-quote-card {
1472
+ padding: 72px 96px;
1473
+ max-width: 980px;
1474
+ }
1475
+
1476
+ .lp-quote-text {
1477
+ font-size: 42px;
1478
+ font-weight: 700;
1479
+ line-height: 1.35;
1480
+ margin: 0 0 32px 0;
1481
+ color: var(--lp-ink);
1482
+ }
1483
+
1484
+ .lp-quote-author {
1485
+ font-size: 20px;
1486
+ color: var(--lp-ink2);
1487
+ }
1488
+
1489
+ /* ---- 封底 closing ---- */
1490
+
1491
+ .lp-closing-v2 {
1492
+ align-items: center;
1493
+ justify-content: center;
1494
+ text-align: center;
1495
+ }
1496
+
1497
+ .lp-closing-card {
1498
+ padding: 72px 96px;
1499
+ }
1500
+
1501
+ .lp-closing-kicker {
1502
+ margin-bottom: 24px;
1503
+ }
1504
+
1505
+ .lp-closing-title {
1506
+ font-size: 72px;
1507
+ font-weight: 900;
1508
+ margin: 0 0 24px 0;
1509
+ }
1510
+
1511
+ .lp-closing-subtitle {
1512
+ font-size: 28px;
1513
+ color: var(--lp-ink2);
1514
+ margin: 0 0 40px 0;
1515
+ }
1516
+
1517
+ .lp-closing-cta {
1518
+ display: inline-flex;
1519
+ align-items: center;
1520
+ justify-content: center;
1521
+ margin: 0 auto 32px;
1522
+ padding: 12px 32px;
1523
+ border-radius: 999px;
1524
+ font-weight: 700;
1525
+ background: var(--lp-accent);
1526
+ color: #fff;
1527
+ }
1528
+
1529
+ .lp-closing-contacts {
1530
+ display: flex;
1531
+ flex-direction: column;
1532
+ gap: 10px;
1533
+ }
1534
+
1535
+ .lp-closing-contact,
1536
+ .lp-closing-email,
1537
+ .lp-closing-link {
1538
+ font-weight: 700;
1539
+ color: var(--lp-ink);
1540
+ }
1541
+
1542
+ /* ---- 章节页 ---- */
1543
+
1544
+ .lp-chapter-v1 {
1545
+ align-items: center;
1546
+ justify-content: center;
1547
+ text-align: center;
1548
+ }
1549
+
1550
+ .lp-chapter-card {
1551
+ padding: 72px 96px;
1552
+ }
1553
+
1554
+ .lp-chapter-kicker {
1555
+ margin-bottom: 24px;
1556
+ }
1557
+
1558
+ .lp-chapter-title {
1559
+ font-size: 76px;
1560
+ font-weight: 900;
1561
+ margin: 0 0 18px 0;
1562
+ }
1563
+
1564
+ .lp-chapter-subtitle {
1565
+ font-size: 28px;
1566
+ color: var(--lp-ink2);
1567
+ margin: 0;
1568
+ }
1569
+
1570
+ /* ---- 多指标页 ---- */
1571
+
1572
+ .lp-stats-v1 {
1573
+ justify-content: center;
1574
+ }
1575
+
1576
+ .lp-stats-header {
1577
+ text-align: center;
1578
+ margin-bottom: 56px;
1579
+ }
1580
+
1581
+ .lp-stats-title {
1582
+ font-size: 48px;
1583
+ margin-bottom: 0;
1584
+ }
1585
+
1586
+ .lp-stats-grid {
1587
+ display: grid;
1588
+ grid-template-columns: repeat(4, 1fr);
1589
+ gap: 28px;
1590
+ }
1591
+
1592
+ .lp-stats-card {
1593
+ padding: 38px 24px;
1594
+ text-align: center;
1595
+ }
1596
+
1597
+ .lp-stats-value {
1598
+ font-size: 56px;
1599
+ font-weight: 900;
1600
+ color: var(--lp-blue);
1601
+ line-height: 1.1;
1602
+ margin-bottom: 10px;
1603
+ }
1604
+
1605
+ .lp-stats-unit {
1606
+ font-size: 24px;
1607
+ font-weight: 700;
1608
+ color: var(--lp-ink);
1609
+ margin-left: 4px;
1610
+ }
1611
+
1612
+ .lp-stats-label {
1613
+ font-size: 17px;
1614
+ color: var(--lp-ink2);
1615
+ }
1616
+
1617
+ /* ---- 时间轴 ---- */
1618
+
1619
+ .lp-timeline-v1 {
1620
+ justify-content: center;
1621
+ }
1622
+
1623
+ .lp-timeline-header {
1624
+ text-align: center;
1625
+ margin-bottom: 56px;
1626
+ }
1627
+
1628
+ .lp-timeline-title {
1629
+ font-size: 48px;
1630
+ margin-bottom: 0;
1631
+ }
1632
+
1633
+ .lp-timeline-track {
1634
+ display: flex;
1635
+ align-items: stretch;
1636
+ gap: 28px;
1637
+ position: relative;
1638
+ }
1639
+
1640
+ .lp-timeline-track::before {
1641
+ content: '';
1642
+ position: absolute;
1643
+ top: 20px;
1644
+ left: 0;
1645
+ right: 0;
1646
+ height: 2px;
1647
+ background: linear-gradient(90deg, var(--lp-blue), var(--lp-violet));
1648
+ opacity: 0.35;
1649
+ }
1650
+
1651
+ .lp-timeline-item {
1652
+ flex: 1;
1653
+ display: flex;
1654
+ flex-direction: column;
1655
+ align-items: center;
1656
+ position: relative;
1657
+ z-index: 1;
1658
+ }
1659
+
1660
+ .lp-timeline-dot {
1661
+ width: 42px;
1662
+ height: 42px;
1663
+ border-radius: 50%;
1664
+ background: var(--lp-surface-strong);
1665
+ border: 2px solid var(--lp-blue);
1666
+ box-shadow: 0 8px 24px var(--lp-glow-blue);
1667
+ margin-bottom: 24px;
1668
+ }
1669
+
1670
+ .lp-timeline-card {
1671
+ padding: 28px 22px;
1672
+ text-align: center;
1673
+ width: 100%;
1674
+ }
1675
+
1676
+ .lp-timeline-date {
1677
+ font-size: 13px;
1678
+ color: var(--lp-blue);
1679
+ margin-bottom: 10px;
1680
+ letter-spacing: 0.06em;
1681
+ }
1682
+
1683
+ .lp-timeline-event-title {
1684
+ font-size: 22px;
1685
+ font-weight: 800;
1686
+ margin: 0 0 10px 0;
1687
+ color: var(--lp-ink);
1688
+ }
1689
+
1690
+ .lp-timeline-description {
1691
+ font-size: 15px;
1692
+ line-height: 1.55;
1693
+ margin: 0;
1694
+ color: var(--lp-ink2);
1695
+ }
1696
+
1697
+ /* ---- 路线图 ---- */
1698
+
1699
+ .lp-roadmap-v1 {
1700
+ justify-content: center;
1701
+ }
1702
+
1703
+ .lp-roadmap-header {
1704
+ text-align: center;
1705
+ margin-bottom: 56px;
1706
+ }
1707
+
1708
+ .lp-roadmap-title {
1709
+ font-size: 48px;
1710
+ margin-bottom: 0;
1711
+ }
1712
+
1713
+ .lp-roadmap-grid {
1714
+ display: grid;
1715
+ grid-template-columns: repeat(4, 1fr);
1716
+ gap: 24px;
1717
+ }
1718
+
1719
+ .lp-roadmap-card {
1720
+ padding: 32px 24px;
1721
+ }
1722
+
1723
+ .lp-roadmap-phase-number {
1724
+ font-size: 14px;
1725
+ color: var(--lp-blue);
1726
+ margin-bottom: 14px;
1727
+ letter-spacing: 0.08em;
1728
+ }
1729
+
1730
+ .lp-roadmap-phase-title {
1731
+ font-size: 24px;
1732
+ font-weight: 800;
1733
+ margin: 0 0 18px 0;
1734
+ color: var(--lp-ink);
1735
+ }
1736
+
1737
+ .lp-roadmap-list {
1738
+ list-style: none;
1739
+ padding: 0;
1740
+ margin: 0;
1741
+ display: flex;
1742
+ flex-direction: column;
1743
+ gap: 10px;
1744
+ }
1745
+
1746
+ .lp-roadmap-list li {
1747
+ position: relative;
1748
+ padding-left: 18px;
1749
+ font-size: 15px;
1750
+ line-height: 1.45;
1751
+ color: var(--lp-ink2);
1752
+ }
1753
+
1754
+ .lp-roadmap-list li::before {
1755
+ content: '';
1756
+ position: absolute;
1757
+ left: 0;
1758
+ top: 9px;
1759
+ width: 6px;
1760
+ height: 6px;
1761
+ border-radius: 50%;
1762
+ background: var(--lp-blue);
1763
+ }
1764
+
1765
+ /* ---- 图表页 ---- */
1766
+
1767
+ .lp-chart-v1 {
1768
+ justify-content: center;
1769
+ align-items: center;
1770
+ }
1771
+
1772
+ .lp-chart-card {
1773
+ width: 100%;
1774
+ padding: 48px 56px;
1775
+ display: flex;
1776
+ flex-direction: column;
1777
+ }
1778
+
1779
+ .lp-chart-header {
1780
+ display: flex;
1781
+ align-items: flex-start;
1782
+ gap: 18px;
1783
+ margin-bottom: 32px;
1784
+ }
1785
+
1786
+ .lp-chart-header .lp-pill {
1787
+ flex-shrink: 0;
1788
+ }
1789
+
1790
+ .lp-chart-title {
1791
+ font-size: 42px;
1792
+ font-weight: 900;
1793
+ margin: 0;
1794
+ color: var(--lp-ink);
1795
+ letter-spacing: -0.01em;
1796
+ line-height: 1.1;
1797
+ }
1798
+
1799
+ .lp-chart-subtitle {
1800
+ font-size: 16px;
1801
+ font-weight: 700;
1802
+ color: var(--lp-ink3);
1803
+ margin: 8px 0 0;
1804
+ letter-spacing: 0.12em;
1805
+ text-transform: uppercase;
1806
+ font-family: var(--lp-font-mono);
1807
+ }
1808
+
1809
+ .lp-chart-wrapper {
1810
+ flex: 1;
1811
+ display: flex;
1812
+ align-items: center;
1813
+ justify-content: center;
1814
+ min-height: 0;
1815
+ }
1816
+
1817
+ .lp-chart-svg {
1818
+ width: 100%;
1819
+ height: auto;
1820
+ max-height: 420px;
1821
+ overflow: visible;
1822
+ }
1823
+
1824
+ .lp-chart-grid {
1825
+ stroke: var(--lp-stroke);
1826
+ stroke-width: 1;
1827
+ stroke-dasharray: 4 4;
1828
+ opacity: 0.7;
1829
+ }
1830
+
1831
+ .lp-chart-axis-text {
1832
+ font-size: 14px;
1833
+ fill: var(--lp-ink3);
1834
+ font-family: var(--lp-font-mono);
1835
+ }
1836
+
1837
+ .lp-chart-area {
1838
+ opacity: 0.9;
1839
+ }
1840
+
1841
+ .lp-chart-slice {
1842
+ opacity: 0.98;
1843
+ stroke: var(--lp-white);
1844
+ stroke-width: 2.5;
1845
+ filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.12));
1846
+ transition: filter 0.2s ease, transform 0.2s ease;
1847
+ transform-box: fill-box;
1848
+ transform-origin: center;
1849
+ cursor: pointer;
1850
+ animation: lp-chart-slice-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
1851
+ }
1852
+
1853
+ .lp-chart-slice:hover {
1854
+ filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.18)) brightness(1.05);
1855
+ transform: scale(1.04);
1856
+ }
1857
+
1858
+ @keyframes lp-chart-slice-in {
1859
+ from {
1860
+ opacity: 0;
1861
+ transform: scale(0.7) rotate(-12deg);
1862
+ }
1863
+ to {
1864
+ opacity: 0.98;
1865
+ transform: scale(1) rotate(0deg);
1866
+ }
1867
+ }
1868
+
1869
+ .lp-chart-pie-label {
1870
+ font-size: 13px;
1871
+ font-weight: 800;
1872
+ fill: var(--lp-white);
1873
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
1874
+ pointer-events: none;
1875
+ }
1876
+
1877
+ .lp-chart-pie-value {
1878
+ font-size: 15px;
1879
+ font-weight: 900;
1880
+ fill: var(--lp-white);
1881
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
1882
+ pointer-events: none;
1883
+ }
1884
+
1885
+ .lp-chart-color-0 { fill: var(--lp-blue); stroke: var(--lp-blue); }
1886
+ .lp-chart-color-1 { fill: var(--lp-green); stroke: var(--lp-green); }
1887
+ .lp-chart-color-2 { fill: var(--lp-amber); stroke: var(--lp-amber); }
1888
+ .lp-chart-color-3 { fill: var(--lp-red); stroke: var(--lp-red); }
1889
+ .lp-chart-color-4 { fill: var(--lp-violet); stroke: var(--lp-violet); }
1890
+
1891
+ .lp-chart-bar {
1892
+ opacity: 0.98;
1893
+ transition: filter 0.2s ease, transform 0.2s ease;
1894
+ transform-box: fill-box;
1895
+ transform-origin: center bottom;
1896
+ cursor: pointer;
1897
+ animation: lp-chart-bar-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
1898
+ }
1899
+
1900
+ .lp-chart-bar:hover {
1901
+ filter: brightness(1.06);
1902
+ transform: scaleY(1.02);
1903
+ }
1904
+
1905
+ @keyframes lp-chart-bar-in {
1906
+ from {
1907
+ transform: scaleY(0);
1908
+ opacity: 0;
1909
+ }
1910
+ to {
1911
+ transform: scaleY(1);
1912
+ opacity: 0.98;
1913
+ }
1914
+ }
1915
+
1916
+ .lp-chart-dot {
1917
+ filter: drop-shadow(0 2px 4px rgba(91, 155, 213, 0.35));
1918
+ transition: filter 0.2s ease, transform 0.2s ease, stroke-width 0.2s ease;
1919
+ transform-box: fill-box;
1920
+ transform-origin: center;
1921
+ cursor: pointer;
1922
+ animation: lp-chart-dot-in 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) both;
1923
+ }
1924
+
1925
+ .lp-chart-dot:hover {
1926
+ filter: drop-shadow(0 3px 6px rgba(91, 155, 213, 0.45));
1927
+ transform: scale(1.25);
1928
+ stroke-width: 5;
1929
+ }
1930
+
1931
+ .lp-chart-dot-halo {
1932
+ pointer-events: none;
1933
+ transform-box: fill-box;
1934
+ transform-origin: center;
1935
+ animation: lp-chart-dot-halo-in 0.45s ease-out both;
1936
+ }
1937
+
1938
+ @keyframes lp-chart-dot-halo-in {
1939
+ from { opacity: 0; transform: scale(0.2); }
1940
+ to { opacity: 0.14; transform: scale(1); }
1941
+ }
1942
+
1943
+ @keyframes lp-chart-dot-in {
1944
+ from {
1945
+ opacity: 0;
1946
+ transform: scale(0);
1947
+ }
1948
+ to {
1949
+ opacity: 1;
1950
+ transform: scale(1);
1951
+ }
1952
+ }
1953
+
1954
+ .lp-chart-line {
1955
+ stroke: var(--lp-blue);
1956
+ stroke-linecap: round;
1957
+ stroke-linejoin: round;
1958
+ filter: drop-shadow(0 3px 6px rgba(91, 155, 213, 0.28));
1959
+ stroke-dasharray: 2000;
1960
+ stroke-dashoffset: 2000;
1961
+ animation: lp-chart-line-in 1.1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
1962
+ transition: filter 0.25s ease, stroke-width 0.25s ease;
1963
+ }
1964
+
1965
+ .lp-chart-line:hover {
1966
+ filter: drop-shadow(0 5px 12px rgba(91, 155, 213, 0.42));
1967
+ stroke-width: 6.5;
1968
+ }
1969
+
1970
+ @keyframes lp-chart-line-in {
1971
+ to { stroke-dashoffset: 0; }
1972
+ }
1973
+
1974
+ .lp-chart-area {
1975
+ opacity: 0.9;
1976
+ animation: lp-chart-area-in 0.8s ease-out both;
1977
+ }
1978
+
1979
+ @keyframes lp-chart-area-in {
1980
+ from { opacity: 0; }
1981
+ to { opacity: 0.9; }
1982
+ }
1983
+
1984
+ .lp-chart-value-text {
1985
+ font-size: 16px;
1986
+ font-weight: 800;
1987
+ fill: var(--lp-ink);
1988
+ font-family: var(--lp-font-mono);
1989
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35), 0 -1px 0 rgba(255, 255, 255, 0.35);
1990
+ pointer-events: none;
1991
+ }
1992
+
1993
+ .lp-chart-v2 {
1994
+ justify-content: center;
1995
+ align-items: center;
1996
+ }
1997
+
1998
+ .lp-chart-titles {
1999
+ display: flex;
2000
+ flex-direction: column;
2001
+ gap: 4px;
2002
+ }
2003
+
2004
+ .lp-chart-body {
2005
+ display: flex;
2006
+ align-items: stretch;
2007
+ gap: 32px;
2008
+ flex: 1;
2009
+ min-height: 0;
2010
+ }
2011
+
2012
+ .lp-chart-body--with-insight .lp-chart-wrapper {
2013
+ flex: 1.45;
2014
+ min-width: 0;
2015
+ }
2016
+
2017
+ .lp-chart-insight {
2018
+ flex: 1;
2019
+ max-width: 340px;
2020
+ background: linear-gradient(135deg, var(--lp-surface-strong) 0%, var(--lp-surface) 100%);
2021
+ border: 1px solid var(--lp-border);
2022
+ border-top: 3px solid var(--lp-blue);
2023
+ border-radius: var(--lp-radius-large);
2024
+ box-shadow:
2025
+ var(--lp-shadow-inset),
2026
+ 0 28px 70px rgba(var(--lp-shadow-rgb), 0.14);
2027
+ padding: 32px;
2028
+ display: flex;
2029
+ flex-direction: column;
2030
+ gap: 22px;
2031
+ backdrop-filter: blur(20px) saturate(150%);
2032
+ -webkit-backdrop-filter: blur(20px) saturate(150%);
2033
+ }
2034
+
2035
+ .lp-chart-v1--with-insight .lp-chart-insight {
2036
+ border-top-color: var(--lp-blue);
2037
+ }
2038
+
2039
+ .lp-chart-insight-head {
2040
+ display: flex;
2041
+ flex-direction: column;
2042
+ gap: 6px;
2043
+ }
2044
+
2045
+ .lp-chart-insight-headline {
2046
+ font-size: 56px;
2047
+ font-weight: 900;
2048
+ line-height: 1;
2049
+ letter-spacing: -0.02em;
2050
+ color: var(--lp-ink);
2051
+ background: linear-gradient(135deg, var(--lp-ink) 0%, var(--lp-blue) 100%);
2052
+ -webkit-background-clip: text;
2053
+ background-clip: text;
2054
+ -webkit-text-fill-color: transparent;
2055
+ }
2056
+
2057
+ .lp-chart-insight-subheadline {
2058
+ font-size: 13px;
2059
+ font-weight: 700;
2060
+ letter-spacing: 0.12em;
2061
+ color: var(--lp-ink3);
2062
+ text-transform: uppercase;
2063
+ font-family: var(--lp-font-mono);
2064
+ }
2065
+
2066
+ .lp-chart-insight-items {
2067
+ display: flex;
2068
+ flex-direction: column;
2069
+ gap: 12px;
2070
+ }
2071
+
2072
+ .lp-chart-insight-item {
2073
+ display: flex;
2074
+ align-items: center;
2075
+ justify-content: space-between;
2076
+ gap: 12px;
2077
+ padding: 10px 0;
2078
+ border-bottom: 1px solid var(--lp-stroke);
2079
+ }
2080
+
2081
+ .lp-chart-insight-item:last-child {
2082
+ border-bottom: none;
2083
+ }
2084
+
2085
+ .lp-chart-insight-item-label {
2086
+ font-size: 15px;
2087
+ color: var(--lp-ink3);
2088
+ }
2089
+
2090
+ .lp-chart-insight-item-value {
2091
+ font-size: 16px;
2092
+ font-weight: 800;
2093
+ color: var(--lp-ink);
2094
+ text-align: right;
2095
+ font-family: var(--lp-font-mono);
2096
+ }
2097
+
2098
+ .lp-chart-insight-badge {
2099
+ align-self: flex-start;
2100
+ font-size: 13px;
2101
+ font-weight: 800;
2102
+ color: #fff;
2103
+ padding: 8px 14px;
2104
+ border-radius: 999px;
2105
+ box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
2106
+ letter-spacing: 0.02em;
2107
+ }
2108
+
2109
+ .lp-chart-insight-badge--accent {
2110
+ background: linear-gradient(135deg, var(--lp-blue) 0%, #7ab8e8 100%);
2111
+ }
2112
+
2113
+ .lp-chart-insight-badge--success {
2114
+ background: linear-gradient(135deg, var(--lp-green) 0%, #6fd1a8 100%);
2115
+ }
2116
+
2117
+ .lp-chart-insight-badge--warning {
2118
+ background: linear-gradient(135deg, var(--lp-amber) 0%, #f0c06a 100%);
2119
+ }
2120
+
2121
+ .lp-chart-footer {
2122
+ display: flex;
2123
+ align-items: center;
2124
+ justify-content: space-between;
2125
+ gap: 16px;
2126
+ margin-top: 22px;
2127
+ padding-top: 16px;
2128
+ border-top: 1px solid var(--lp-stroke);
2129
+ }
2130
+
2131
+ .lp-chart-unit {
2132
+ font-size: 13px;
2133
+ color: var(--lp-ink3);
2134
+ font-family: var(--lp-font-mono);
2135
+ }
2136
+
2137
+ .lp-chart-footnote {
2138
+ font-size: 13px;
2139
+ color: var(--lp-ink3);
2140
+ text-align: right;
2141
+ font-family: var(--lp-font-mono);
2142
+ }
2143
+
2144
+ .lp-chart-insight--funnel {
2145
+ justify-content: center;
2146
+ }
2147
+
2148
+ .lp-chart-insight-description {
2149
+ font-size: 15px;
2150
+ line-height: 1.7;
2151
+ color: var(--lp-ink2);
2152
+ margin: 0;
2153
+ }
2154
+
2155
+ .lp-chart-v2 .lp-chart-body--with-insight .lp-chart-wrapper.lp-echart-wrapper {
2156
+ flex: 1.45;
2157
+ min-width: 0;
2158
+ }
2159
+
2160
+ .lp-echart-wrapper {
2161
+ position: relative;
2162
+ width: 100%;
2163
+ min-height: 0;
2164
+ }
2165
+
2166
+ .lp-echart {
2167
+ width: 100%;
2168
+ height: 100%;
2169
+ min-height: 360px;
2170
+ }
2171
+
2172
+ .lp-wordcloud-wrapper {
2173
+ flex: 1;
2174
+ display: flex;
2175
+ align-items: center;
2176
+ justify-content: center;
2177
+ min-height: 0;
2178
+ width: 100%;
2179
+ }
2180
+
2181
+ .lp-wordcloud-svg {
2182
+ width: 100%;
2183
+ height: 100%;
2184
+ max-height: 420px;
2185
+ }
2186
+
2187
+ /* ---- 环形图拆解 ---- */
2188
+
2189
+ .lp-chart-donut {
2190
+ justify-content: center;
2191
+ }
2192
+
2193
+ .lp-chart-donut-card {
2194
+ width: 100%;
2195
+ display: flex;
2196
+ flex-direction: column;
2197
+ gap: 28px;
2198
+ }
2199
+
2200
+ .lp-chart-donut-header {
2201
+ display: flex;
2202
+ flex-direction: column;
2203
+ gap: 12px;
2204
+ }
2205
+
2206
+ .lp-chart-donut-title {
2207
+ font-size: 42px;
2208
+ font-weight: 900;
2209
+ line-height: 1.1;
2210
+ letter-spacing: -0.02em;
2211
+ margin: 0;
2212
+ }
2213
+
2214
+ .lp-chart-donut-subtitle {
2215
+ font-size: 16px;
2216
+ font-weight: 700;
2217
+ color: var(--lp-ink3);
2218
+ margin: 8px 0 0;
2219
+ letter-spacing: 0.12em;
2220
+ text-transform: uppercase;
2221
+ font-family: var(--lp-font-mono);
2222
+ }
2223
+
2224
+ .lp-chart-donut-body {
2225
+ display: flex;
2226
+ align-items: center;
2227
+ gap: 48px;
2228
+ flex: 1;
2229
+ min-height: 0;
2230
+ }
2231
+
2232
+ .lp-chart-donut-chart {
2233
+ position: relative;
2234
+ flex: 1;
2235
+ display: flex;
2236
+ align-items: center;
2237
+ justify-content: center;
2238
+ min-width: 0;
2239
+ }
2240
+
2241
+ .lp-chart-donut-svg {
2242
+ width: 100%;
2243
+ max-width: 360px;
2244
+ height: auto;
2245
+ overflow: visible;
2246
+ animation: lp-chart-donut-in 0.8s cubic-bezier(0.22, 1, 0.36, 1) both;
2247
+ }
2248
+
2249
+ .lp-chart-donut-ring {
2250
+ transform-origin: center;
2251
+ transform: rotate(-90deg);
2252
+ animation: lp-chart-donut-ring-in 0.8s cubic-bezier(0.22, 1, 0.36, 1) both;
2253
+ transition: filter 0.2s ease, stroke-width 0.2s ease;
2254
+ cursor: pointer;
2255
+ }
2256
+
2257
+ .lp-chart-donut-ring:hover {
2258
+ filter: brightness(1.08);
2259
+ stroke-width: 58;
2260
+ }
2261
+
2262
+ @keyframes lp-chart-donut-in {
2263
+ from { opacity: 0; transform: scale(0.92); }
2264
+ to { opacity: 1; transform: scale(1); }
2265
+ }
2266
+
2267
+ @keyframes lp-chart-donut-ring-in {
2268
+ from { stroke-dasharray: 0 2000; }
2269
+ }
2270
+
2271
+ .lp-chart-donut-center {
2272
+ position: absolute;
2273
+ top: 50%;
2274
+ left: 50%;
2275
+ transform: translate(-50%, -50%);
2276
+ text-align: center;
2277
+ pointer-events: none;
2278
+ }
2279
+
2280
+ .lp-chart-donut-total-value {
2281
+ font-size: 52px;
2282
+ font-weight: 900;
2283
+ line-height: 1;
2284
+ letter-spacing: -0.02em;
2285
+ color: var(--lp-ink);
2286
+ }
2287
+
2288
+ .lp-chart-donut-total-label {
2289
+ font-size: 13px;
2290
+ font-weight: 700;
2291
+ color: var(--lp-ink3);
2292
+ letter-spacing: 0.1em;
2293
+ text-transform: uppercase;
2294
+ margin-top: 6px;
2295
+ font-family: var(--lp-font-mono);
2296
+ }
2297
+
2298
+ .lp-chart-donut-legend {
2299
+ flex: 1;
2300
+ display: flex;
2301
+ flex-direction: column;
2302
+ gap: 16px;
2303
+ min-width: 0;
2304
+ }
2305
+
2306
+ .lp-chart-donut-legend-item {
2307
+ display: flex;
2308
+ align-items: center;
2309
+ gap: 14px;
2310
+ padding: 14px 18px;
2311
+ background: linear-gradient(135deg, var(--lp-surface-strong) 0%, var(--lp-surface) 100%);
2312
+ border: 1px solid var(--lp-border);
2313
+ border-radius: var(--lp-radius-large);
2314
+ box-shadow: var(--lp-shadow-inset);
2315
+ animation: lp-chart-donut-item-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
2316
+ transition: transform 0.2s ease, box-shadow 0.2s ease;
2317
+ }
2318
+
2319
+ .lp-chart-donut-legend-item:hover {
2320
+ transform: translateY(-2px);
2321
+ box-shadow: var(--lp-shadow-inset), 0 8px 24px rgba(var(--lp-shadow-rgb), 0.1);
2322
+ }
2323
+
2324
+ @keyframes lp-chart-donut-item-in {
2325
+ from { opacity: 0; transform: translateX(16px); }
2326
+ to { opacity: 1; transform: translateX(0); }
2327
+ }
2328
+
2329
+ .lp-chart-donut-legend-dot {
2330
+ width: 14px;
2331
+ height: 14px;
2332
+ border-radius: 4px;
2333
+ flex-shrink: 0;
2334
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
2335
+ }
2336
+
2337
+ .lp-chart-donut-legend-text {
2338
+ flex: 1;
2339
+ min-width: 0;
2340
+ }
2341
+
2342
+ .lp-chart-donut-legend-label {
2343
+ font-size: 17px;
2344
+ font-weight: 800;
2345
+ color: var(--lp-ink);
2346
+ }
2347
+
2348
+ .lp-chart-donut-legend-en {
2349
+ font-size: 12px;
2350
+ color: var(--lp-ink3);
2351
+ letter-spacing: 0.04em;
2352
+ margin-top: 2px;
2353
+ font-family: var(--lp-font-mono);
2354
+ }
2355
+
2356
+ .lp-chart-donut-legend-numbers {
2357
+ text-align: right;
2358
+ flex-shrink: 0;
2359
+ }
2360
+
2361
+ .lp-chart-donut-legend-percent {
2362
+ font-size: 20px;
2363
+ font-weight: 900;
2364
+ color: var(--lp-ink);
2365
+ font-family: var(--lp-font-mono);
2366
+ }
2367
+
2368
+ .lp-chart-donut-legend-value {
2369
+ font-size: 13px;
2370
+ color: var(--lp-ink3);
2371
+ margin-top: 2px;
2372
+ font-family: var(--lp-font-mono);
2373
+ }
2374
+
2375
+ .lp-chart-donut-footnote {
2376
+ font-size: 13px;
2377
+ color: var(--lp-ink3);
2378
+ text-align: right;
2379
+ font-family: var(--lp-font-mono);
2380
+ margin-top: 8px;
2381
+ }
2382
+
2383
+ /* ---- FAQ 页 ---- */
2384
+
2385
+ .lp-faq-v1 {
2386
+ justify-content: center;
2387
+ }
2388
+
2389
+ .lp-faq-header {
2390
+ text-align: center;
2391
+ margin-bottom: 46px;
2392
+ }
2393
+
2394
+ .lp-faq-title {
2395
+ font-size: 48px;
2396
+ margin-bottom: 0;
2397
+ }
2398
+
2399
+ .lp-faq-list {
2400
+ display: flex;
2401
+ flex-direction: column;
2402
+ gap: 18px;
2403
+ }
2404
+
2405
+ .lp-faq-card {
2406
+ padding: 28px 32px;
2407
+ }
2408
+
2409
+ .lp-faq-question,
2410
+ .lp-faq-answer {
2411
+ display: flex;
2412
+ gap: 16px;
2413
+ align-items: flex-start;
2414
+ }
2415
+
2416
+ .lp-faq-question {
2417
+ margin-bottom: 14px;
2418
+ }
2419
+
2420
+ .lp-faq-question h3 {
2421
+ font-size: 22px;
2422
+ font-weight: 800;
2423
+ margin: 0;
2424
+ color: var(--lp-ink);
2425
+ line-height: 1.35;
2426
+ }
2427
+
2428
+ .lp-faq-answer p {
2429
+ font-size: 17px;
2430
+ line-height: 1.6;
2431
+ margin: 0;
2432
+ color: var(--lp-ink2);
2433
+ }
2434
+
2435
+ .lp-faq-marker {
2436
+ flex-shrink: 0;
2437
+ width: 30px;
2438
+ height: 30px;
2439
+ display: flex;
2440
+ align-items: center;
2441
+ justify-content: center;
2442
+ border-radius: 50%;
2443
+ font-size: 14px;
2444
+ font-weight: 700;
2445
+ color: var(--lp-white);
2446
+ }
2447
+
2448
+ .lp-faq-q {
2449
+ background: var(--lp-blue);
2450
+ }
2451
+
2452
+ .lp-faq-a {
2453
+ background: var(--lp-green);
2454
+ }
2455
+
2456
+ /* ---- 团队页 ---- */
2457
+
2458
+ .lp-team-v1 {
2459
+ justify-content: center;
2460
+ }
2461
+
2462
+ .lp-team-header {
2463
+ text-align: center;
2464
+ margin-bottom: 46px;
2465
+ }
2466
+
2467
+ .lp-team-title {
2468
+ font-size: 48px;
2469
+ margin-bottom: 0;
2470
+ }
2471
+
2472
+ .lp-team-grid {
2473
+ display: grid;
2474
+ grid-template-columns: repeat(4, 1fr);
2475
+ gap: 24px;
2476
+ }
2477
+
2478
+ .lp-team-card {
2479
+ padding: 32px 24px;
2480
+ text-align: center;
2481
+ }
2482
+
2483
+ .lp-team-avatar {
2484
+ width: 96px;
2485
+ height: 96px;
2486
+ border-radius: 50%;
2487
+ object-fit: cover;
2488
+ margin: 0 auto 18px auto;
2489
+ border: 3px solid var(--lp-white-alpha-80);
2490
+ box-shadow: 0 8px 24px rgba(var(--lp-shadow-rgb), 0.12);
2491
+ }
2492
+
2493
+ .lp-team-avatar-placeholder {
2494
+ background: linear-gradient(135deg, var(--lp-glow-blue-strong), var(--lp-glow-violet-strong));
2495
+ }
2496
+
2497
+ .lp-team-name {
2498
+ font-size: 22px;
2499
+ font-weight: 800;
2500
+ margin: 0 0 6px 0;
2501
+ color: var(--lp-ink);
2502
+ }
2503
+
2504
+ .lp-team-role {
2505
+ font-size: 15px;
2506
+ color: var(--lp-blue);
2507
+ font-weight: 700;
2508
+ margin-bottom: 12px;
2509
+ }
2510
+
2511
+ .lp-team-bio {
2512
+ font-size: 14px;
2513
+ line-height: 1.55;
2514
+ color: var(--lp-ink2);
2515
+ margin: 0;
2516
+ }
2517
+
2518
+ /* ---- 章节页 v2 ---- */
2519
+
2520
+ .lp-chapter-v2 {
2521
+ align-items: center;
2522
+ justify-content: center;
2523
+ }
2524
+
2525
+ .lp-chapter-v2-inner {
2526
+ display: flex;
2527
+ align-items: center;
2528
+ gap: 64px;
2529
+ width: 100%;
2530
+ }
2531
+
2532
+ .lp-chapter-v2-left {
2533
+ flex: 0 0 280px;
2534
+ display: flex;
2535
+ align-items: center;
2536
+ justify-content: center;
2537
+ }
2538
+
2539
+ .lp-chapter-v2-number {
2540
+ font-size: 220px;
2541
+ font-weight: 900;
2542
+ line-height: 1;
2543
+ background: linear-gradient(135deg, var(--lp-blue), var(--lp-violet));
2544
+ -webkit-background-clip: text;
2545
+ background-clip: text;
2546
+ color: transparent;
2547
+ opacity: 0.55;
2548
+ }
2549
+
2550
+ .lp-chapter-v2-right {
2551
+ flex: 1;
2552
+ display: flex;
2553
+ flex-direction: column;
2554
+ gap: 18px;
2555
+ }
2556
+
2557
+ .lp-chapter-v2-kicker {
2558
+ align-self: flex-start;
2559
+ }
2560
+
2561
+ .lp-chapter-v2-title {
2562
+ font-size: 72px;
2563
+ font-weight: 900;
2564
+ line-height: 1.1;
2565
+ margin: 0;
2566
+ }
2567
+
2568
+ .lp-chapter-v2-subtitle {
2569
+ font-size: 28px;
2570
+ color: var(--lp-ink2);
2571
+ margin: 0;
2572
+ }
2573
+
2574
+ /* ---- 对比 v2 评分卡 ---- */
2575
+
2576
+ .lp-comparison-v2 {
2577
+ justify-content: center;
2578
+ }
2579
+
2580
+ .lp-comparison-v2-inner {
2581
+ width: 100%;
2582
+ }
2583
+
2584
+ .lp-comparison-v2-title {
2585
+ text-align: center;
2586
+ font-size: 48px;
2587
+ margin-bottom: 52px;
2588
+ }
2589
+
2590
+ .lp-comparison-v2-grid {
2591
+ display: grid;
2592
+ grid-template-columns: repeat(4, 1fr);
2593
+ gap: 24px;
2594
+ }
2595
+
2596
+ .lp-comparison-v2-card {
2597
+ padding: 34px 26px;
2598
+ text-align: center;
2599
+ }
2600
+
2601
+ .lp-comparison-v2-label {
2602
+ font-size: 18px;
2603
+ font-weight: 800;
2604
+ margin: 0 0 18px 0;
2605
+ color: var(--lp-ink);
2606
+ }
2607
+
2608
+ .lp-comparison-v2-score-row {
2609
+ display: flex;
2610
+ align-items: baseline;
2611
+ justify-content: center;
2612
+ margin-bottom: 16px;
2613
+ }
2614
+
2615
+ .lp-comparison-v2-score {
2616
+ font-size: 56px;
2617
+ font-weight: 900;
2618
+ color: var(--lp-blue);
2619
+ line-height: 1;
2620
+ }
2621
+
2622
+ .lp-comparison-v2-max {
2623
+ font-size: 18px;
2624
+ color: var(--lp-ink3);
2625
+ margin-left: 4px;
2626
+ font-family: var(--lp-font-mono);
2627
+ }
2628
+
2629
+ .lp-comparison-v2-bar {
2630
+ height: 8px;
2631
+ border-radius: 999px;
2632
+ background: var(--lp-glow-blue);
2633
+ overflow: hidden;
2634
+ margin-bottom: 16px;
2635
+ }
2636
+
2637
+ .lp-comparison-v2-bar-fill {
2638
+ height: 100%;
2639
+ border-radius: 999px;
2640
+ background: linear-gradient(90deg, var(--lp-blue), var(--lp-violet));
2641
+ }
2642
+
2643
+ .lp-comparison-v2-note {
2644
+ font-size: 14px;
2645
+ line-height: 1.5;
2646
+ color: var(--lp-ink2);
2647
+ margin: 0;
2648
+ }
2649
+
2650
+ /* ---- 对比 v3 横向对比表 ---- */
2651
+
2652
+ .lp-comparison-v3 {
2653
+ justify-content: center;
2654
+ }
2655
+
2656
+ .lp-comparison-v3-inner {
2657
+ width: 100%;
2658
+ }
2659
+
2660
+ .lp-comparison-v3-title {
2661
+ text-align: center;
2662
+ font-size: 48px;
2663
+ margin-bottom: 52px;
2664
+ }
2665
+
2666
+ .lp-comparison-v3-table {
2667
+ overflow: hidden;
2668
+ padding: 0;
2669
+ }
2670
+
2671
+ .lp-comparison-v3-header,
2672
+ .lp-comparison-v3-row {
2673
+ display: grid;
2674
+ grid-template-columns: 1.2fr 1fr 1fr;
2675
+ align-items: center;
2676
+ }
2677
+
2678
+ .lp-comparison-v3-header {
2679
+ background: var(--lp-glow-blue-subtle);
2680
+ font-weight: 800;
2681
+ font-size: 16px;
2682
+ }
2683
+
2684
+ .lp-comparison-v3-row {
2685
+ border-top: 1px solid var(--lp-divider);
2686
+ }
2687
+
2688
+ .lp-comparison-v3-cell {
2689
+ padding: 18px 22px;
2690
+ font-size: 16px;
2691
+ color: var(--lp-ink2);
2692
+ }
2693
+
2694
+ .lp-comparison-v3-header .lp-comparison-v3-cell {
2695
+ color: var(--lp-ink);
2696
+ }
2697
+
2698
+ .lp-comparison-v3-feature {
2699
+ font-weight: 700;
2700
+ color: var(--lp-ink);
2701
+ }
2702
+
2703
+ .lp-comparison-v3-left-title {
2704
+ color: var(--lp-blue);
2705
+ }
2706
+
2707
+ .lp-comparison-v3-right-title {
2708
+ color: var(--lp-violet);
2709
+ }
2710
+
2711
+ /* ---- 引用 v2 ---- */
2712
+
2713
+ .lp-quote-v2 {
2714
+ flex-direction: row;
2715
+ align-items: center;
2716
+ justify-content: center;
2717
+ gap: 48px;
2718
+ padding: 92px 108px 84px;
2719
+ }
2720
+
2721
+ .lp-quote-v2-mark {
2722
+ font-size: 220px;
2723
+ font-weight: 900;
2724
+ line-height: 1;
2725
+ color: var(--lp-blue);
2726
+ opacity: 0.25;
2727
+ flex: 0 0 160px;
2728
+ text-align: center;
2729
+ }
2730
+
2731
+ .lp-quote-v2-card {
2732
+ flex: 1;
2733
+ max-width: 820px;
2734
+ padding: 56px 64px;
2735
+ }
2736
+
2737
+ .lp-quote-v2-text {
2738
+ font-size: 36px;
2739
+ font-weight: 700;
2740
+ line-height: 1.4;
2741
+ margin: 0 0 32px 0;
2742
+ color: var(--lp-ink);
2743
+ }
2744
+
2745
+ .lp-quote-v2-meta {
2746
+ display: flex;
2747
+ flex-wrap: wrap;
2748
+ align-items: center;
2749
+ gap: 8px 18px;
2750
+ }
2751
+
2752
+ .lp-quote-v2-author {
2753
+ font-size: 18px;
2754
+ font-weight: 800;
2755
+ color: var(--lp-ink);
2756
+ }
2757
+
2758
+ .lp-quote-v2-role,
2759
+ .lp-quote-v2-source {
2760
+ font-size: 15px;
2761
+ color: var(--lp-ink2);
2762
+ }
2763
+
2764
+ .lp-quote-v2-role::before {
2765
+ content: '·';
2766
+ margin-right: 8px;
2767
+ color: var(--lp-ink3);
2768
+ }
2769
+
2770
+ /* ---- 引用 v3 大字金句 ---- */
2771
+
2772
+ .lp-quote-v3 {
2773
+ align-items: center;
2774
+ justify-content: center;
2775
+ text-align: center;
2776
+ }
2777
+
2778
+ .lp-quote-v3-content {
2779
+ max-width: 980px;
2780
+ }
2781
+
2782
+ .lp-quote-v3-text {
2783
+ font-size: 64px;
2784
+ font-weight: 900;
2785
+ line-height: 1.15;
2786
+ margin: 0 0 40px 0;
2787
+ color: var(--lp-ink);
2788
+ }
2789
+
2790
+ .lp-quote-v3-line {
2791
+ width: 80px;
2792
+ height: 4px;
2793
+ border-radius: 999px;
2794
+ background: linear-gradient(90deg, var(--lp-blue), var(--lp-violet));
2795
+ margin: 0 auto 28px auto;
2796
+ }
2797
+
2798
+ .lp-quote-v3-meta {
2799
+ display: flex;
2800
+ align-items: center;
2801
+ justify-content: center;
2802
+ gap: 12px;
2803
+ font-size: 18px;
2804
+ }
2805
+
2806
+ .lp-quote-v3-author {
2807
+ font-weight: 800;
2808
+ color: var(--lp-ink);
2809
+ }
2810
+
2811
+ .lp-quote-v3-role {
2812
+ color: var(--lp-ink2);
2813
+ }
2814
+
2815
+ .lp-quote-v3-role::before {
2816
+ content: '·';
2817
+ margin-right: 10px;
2818
+ color: var(--lp-ink3);
2819
+ }
2820
+
2821
+ /* ---- 团队页 v2 ---- */
2822
+
2823
+ .lp-team-v2 {
2824
+ justify-content: center;
2825
+ }
2826
+
2827
+ .lp-team-v2-header {
2828
+ text-align: center;
2829
+ margin-bottom: 56px;
2830
+ }
2831
+
2832
+ .lp-team-v2-title {
2833
+ font-size: 48px;
2834
+ margin-bottom: 0;
2835
+ }
2836
+
2837
+ .lp-team-v2-grid {
2838
+ display: grid;
2839
+ grid-template-columns: repeat(3, 1fr);
2840
+ gap: 32px;
2841
+ }
2842
+
2843
+ .lp-team-v2-card {
2844
+ padding: 42px 32px;
2845
+ text-align: center;
2846
+ }
2847
+
2848
+ .lp-team-v2-avatar {
2849
+ width: 120px;
2850
+ height: 120px;
2851
+ border-radius: 50%;
2852
+ object-fit: cover;
2853
+ margin: 0 auto 22px auto;
2854
+ border: 4px solid var(--lp-white-alpha-80);
2855
+ box-shadow: 0 10px 30px rgba(var(--lp-shadow-rgb), 0.12);
2856
+ }
2857
+
2858
+ .lp-team-v2-avatar-placeholder {
2859
+ display: flex;
2860
+ align-items: center;
2861
+ justify-content: center;
2862
+ font-size: 42px;
2863
+ font-weight: 900;
2864
+ color: var(--lp-white);
2865
+ background: linear-gradient(135deg, var(--lp-glow-blue-extra-strong), var(--lp-glow-violet-extra-strong));
2866
+ }
2867
+
2868
+ .lp-team-v2-name {
2869
+ font-size: 26px;
2870
+ font-weight: 800;
2871
+ margin: 0 0 8px 0;
2872
+ color: var(--lp-ink);
2873
+ }
2874
+
2875
+ .lp-team-v2-role {
2876
+ font-size: 16px;
2877
+ color: var(--lp-blue);
2878
+ font-weight: 700;
2879
+ margin-bottom: 16px;
2880
+ }
2881
+
2882
+ .lp-team-v2-bio {
2883
+ font-size: 15px;
2884
+ line-height: 1.6;
2885
+ color: var(--lp-ink2);
2886
+ margin: 0;
2887
+ }
2888
+
2889
+ /* ---- P3 特殊布局 ---- */
2890
+
2891
+ /* Bento 网格 */
2892
+ .lp-bento-v1 {
2893
+ justify-content: center;
2894
+ }
2895
+
2896
+ .lp-bento-v1-header {
2897
+ text-align: center;
2898
+ margin-bottom: 44px;
2899
+ }
2900
+
2901
+ .lp-bento-v1-title {
2902
+ font-size: 46px;
2903
+ margin-bottom: 0;
2904
+ }
2905
+
2906
+ .lp-bento-v1-grid {
2907
+ display: grid;
2908
+ grid-template-columns: repeat(4, 1fr);
2909
+ grid-auto-rows: minmax(140px, 1fr);
2910
+ gap: 24px;
2911
+ width: 100%;
2912
+ max-width: 1100px;
2913
+ }
2914
+
2915
+ .lp-bento-v1-card {
2916
+ display: flex;
2917
+ flex-direction: column;
2918
+ overflow: hidden;
2919
+ padding: 0;
2920
+ }
2921
+
2922
+ .lp-bento-v1-card--small {
2923
+ grid-column: span 1;
2924
+ grid-row: span 1;
2925
+ }
2926
+
2927
+ .lp-bento-v1-card--medium {
2928
+ grid-column: span 2;
2929
+ grid-row: span 1;
2930
+ }
2931
+
2932
+ .lp-bento-v1-card--large {
2933
+ grid-column: span 2;
2934
+ grid-row: span 2;
2935
+ }
2936
+
2937
+ .lp-bento-v1-image {
2938
+ width: 100%;
2939
+ height: 55%;
2940
+ object-fit: cover;
2941
+ border-bottom: 1px solid var(--lp-border);
2942
+ }
2943
+
2944
+ .lp-bento-v1-image-placeholder {
2945
+ background: linear-gradient(135deg, var(--lp-glow-blue-subtle), var(--lp-glow-violet-subtle));
2946
+ }
2947
+
2948
+ .lp-bento-v1-card-body {
2949
+ flex: 1;
2950
+ padding: 22px 26px;
2951
+ display: flex;
2952
+ flex-direction: column;
2953
+ justify-content: center;
2954
+ }
2955
+
2956
+ .lp-bento-v1-card-title {
2957
+ font-size: 22px;
2958
+ font-weight: 800;
2959
+ margin: 0 0 8px 0;
2960
+ color: var(--lp-ink);
2961
+ }
2962
+
2963
+ .lp-bento-v1-card-description {
2964
+ font-size: 14px;
2965
+ line-height: 1.55;
2966
+ color: var(--lp-ink2);
2967
+ margin: 0;
2968
+ }
2969
+
2970
+ /* 图片掠影 */
2971
+ .lp-gallery-v1 {
2972
+ justify-content: center;
2973
+ }
2974
+
2975
+ .lp-gallery-v1-header {
2976
+ text-align: center;
2977
+ margin-bottom: 44px;
2978
+ }
2979
+
2980
+ .lp-gallery-v1-title {
2981
+ font-size: 46px;
2982
+ margin-bottom: 0;
2983
+ }
2984
+
2985
+ .lp-gallery-v1-grid {
2986
+ display: grid;
2987
+ grid-template-columns: repeat(2, 1fr);
2988
+ gap: 28px;
2989
+ width: 100%;
2990
+ max-width: 1020px;
2991
+ }
2992
+
2993
+ .lp-gallery-v1-card {
2994
+ padding: 0;
2995
+ overflow: hidden;
2996
+ display: flex;
2997
+ flex-direction: column;
2998
+ }
2999
+
3000
+ .lp-gallery-v1-image {
3001
+ width: 100%;
3002
+ height: 220px;
3003
+ object-fit: cover;
3004
+ border-bottom: 1px solid var(--lp-border);
3005
+ }
3006
+
3007
+ .lp-gallery-v1-image-placeholder {
3008
+ height: 220px;
3009
+ background: linear-gradient(135deg, var(--lp-glow-blue-subtle), var(--lp-glow-cyan-subtle));
3010
+ }
3011
+
3012
+ .lp-gallery-v1-caption {
3013
+ padding: 18px 22px;
3014
+ font-size: 15px;
3015
+ font-weight: 700;
3016
+ color: var(--lp-ink);
3017
+ }
3018
+
3019
+ /* 表格页 */
3020
+ .lp-table-v1 {
3021
+ justify-content: center;
3022
+ }
3023
+
3024
+ .lp-table-v1-header {
3025
+ text-align: center;
3026
+ margin-bottom: 40px;
3027
+ }
3028
+
3029
+ .lp-table-v1-title {
3030
+ font-size: 46px;
3031
+ margin-bottom: 0;
3032
+ }
3033
+
3034
+ .lp-table-v1-card {
3035
+ width: 100%;
3036
+ max-width: 1000px;
3037
+ padding: 0;
3038
+ overflow: hidden;
3039
+ }
3040
+
3041
+ .lp-table-v1-table {
3042
+ width: 100%;
3043
+ border-collapse: collapse;
3044
+ font-size: 15px;
3045
+ table-layout: auto;
3046
+ }
3047
+
3048
+ .lp-table-v1-table thead {
3049
+ background: var(--lp-surface-strong);
3050
+ }
3051
+
3052
+ .lp-table-v1-table th,
3053
+ .lp-table-v1-table td {
3054
+ padding: 14px 18px;
3055
+ text-align: left;
3056
+ border-bottom: 1px solid var(--lp-border);
3057
+ }
3058
+
3059
+ .lp-table-v1-table th {
3060
+ font-weight: 800;
3061
+ color: var(--lp-ink);
3062
+ }
3063
+
3064
+ .lp-table-v1-table td {
3065
+ color: var(--lp-ink2);
3066
+ }
3067
+
3068
+ .lp-table-v1-table td[data-lp-highlight="true"] {
3069
+ font-weight: 800;
3070
+ color: var(--lp-ink);
3071
+ }
3072
+
3073
+ .lp-table-v1-table tbody tr:last-child td {
3074
+ border-bottom: none;
3075
+ }
3076
+
3077
+ /* 数据表格 */
3078
+ .lp-table-data {
3079
+ justify-content: center;
3080
+ }
3081
+
3082
+ .lp-table-data-card {
3083
+ width: 100%;
3084
+ max-width: 1000px;
3085
+ display: flex;
3086
+ flex-direction: column;
3087
+ gap: 28px;
3088
+ overflow: hidden;
3089
+ }
3090
+
3091
+ .lp-table-data-header {
3092
+ display: flex;
3093
+ flex-direction: column;
3094
+ gap: 12px;
3095
+ }
3096
+
3097
+ .lp-table-data-title {
3098
+ font-size: 42px;
3099
+ font-weight: 900;
3100
+ line-height: 1.1;
3101
+ letter-spacing: -0.02em;
3102
+ margin: 0;
3103
+ }
3104
+
3105
+ .lp-table-data-subtitle {
3106
+ font-size: 16px;
3107
+ font-weight: 700;
3108
+ color: var(--lp-ink3);
3109
+ letter-spacing: 0.12em;
3110
+ text-transform: uppercase;
3111
+ font-family: var(--lp-font-mono);
3112
+ margin: 0;
3113
+ }
3114
+
3115
+ .lp-table-data-wrap {
3116
+ overflow: auto;
3117
+ border-radius: var(--lp-radius-large);
3118
+ border: 1px solid var(--lp-border);
3119
+ }
3120
+
3121
+ .lp-table-data-table {
3122
+ width: 100%;
3123
+ border-collapse: collapse;
3124
+ font-size: 15px;
3125
+ table-layout: auto;
3126
+ }
3127
+
3128
+ .lp-table-data-table thead {
3129
+ background: linear-gradient(135deg, var(--lp-blue) 0%, #7ab8e8 100%);
3130
+ }
3131
+
3132
+ .lp-table-data-th {
3133
+ padding: 16px 18px;
3134
+ font-weight: 800;
3135
+ color: #fff;
3136
+ text-align: left;
3137
+ border-bottom: 1px solid var(--lp-border);
3138
+ }
3139
+
3140
+ .lp-table-data-td {
3141
+ padding: 14px 18px;
3142
+ color: var(--lp-ink2);
3143
+ border-bottom: 1px solid var(--lp-border);
3144
+ }
3145
+
3146
+ .lp-table-data-tr {
3147
+ background: var(--lp-surface);
3148
+ transition: background 0.2s ease;
3149
+ animation: lp-table-data-tr-in 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;
3150
+ }
3151
+
3152
+ .lp-table-data-tr:nth-child(even) {
3153
+ background: var(--lp-surface-strong);
3154
+ }
3155
+
3156
+ .lp-table-data-tr:hover {
3157
+ background: rgba(91, 155, 213, 0.08);
3158
+ }
3159
+
3160
+ .lp-table-data-tr--highlight .lp-table-data-td {
3161
+ color: var(--lp-ink);
3162
+ font-weight: 800;
3163
+ }
3164
+
3165
+ .lp-table-data-tr--highlight {
3166
+ background: linear-gradient(90deg, rgba(91, 155, 213, 0.16) 0%, rgba(91, 155, 213, 0.04) 100%);
3167
+ }
3168
+
3169
+ .lp-table-data-table tbody tr:last-child .lp-table-data-td {
3170
+ border-bottom: none;
3171
+ }
3172
+
3173
+ @keyframes lp-table-data-tr-in {
3174
+ from { opacity: 0; transform: translateY(10px); }
3175
+ to { opacity: 1; transform: translateY(0); }
3176
+ }
3177
+
3178
+ .lp-table-data-footnote {
3179
+ font-size: 13px;
3180
+ color: var(--lp-ink3);
3181
+ text-align: right;
3182
+ font-family: var(--lp-font-mono);
3183
+ }
3184
+
3185
+ /* 标签墙 */
3186
+ .lp-tags-v1 {
3187
+ justify-content: center;
3188
+ }
3189
+
3190
+ .lp-tags-v1-header {
3191
+ text-align: center;
3192
+ margin-bottom: 44px;
3193
+ }
3194
+
3195
+ .lp-tags-v1-title {
3196
+ font-size: 46px;
3197
+ margin-bottom: 0;
3198
+ }
3199
+
3200
+ .lp-tags-v1-card {
3201
+ width: 100%;
3202
+ max-width: 960px;
3203
+ padding: 48px 52px;
3204
+ }
3205
+
3206
+ .lp-tags-v1-cloud {
3207
+ display: flex;
3208
+ flex-wrap: wrap;
3209
+ justify-content: center;
3210
+ align-items: center;
3211
+ gap: 16px;
3212
+ }
3213
+
3214
+ .lp-tags-v1-tag {
3215
+ display: inline-flex;
3216
+ align-items: center;
3217
+ gap: 8px;
3218
+ padding: 12px 22px;
3219
+ border-radius: 999px;
3220
+ background: var(--lp-surface-strong);
3221
+ border: 1px solid var(--lp-border);
3222
+ font-size: 18px;
3223
+ font-weight: 700;
3224
+ color: var(--lp-ink);
3225
+ box-shadow: var(--lp-shadow-sm);
3226
+ }
3227
+
3228
+ .lp-tags-v1-tag--positive {
3229
+ background: var(--lp-glow-green-subtle);
3230
+ color: var(--lp-green);
3231
+ }
3232
+
3233
+ .lp-tags-v1-tag--negative {
3234
+ background: var(--lp-glow-red-subtle);
3235
+ color: var(--lp-red);
3236
+ }
3237
+
3238
+ .lp-tags-v1-tag--accent {
3239
+ background: var(--lp-glow-blue);
3240
+ color: var(--lp-blue);
3241
+ }
3242
+
3243
+ .lp-tags-v1-value {
3244
+ font-size: 13px;
3245
+ font-weight: 800;
3246
+ padding: 3px 9px;
3247
+ border-radius: 999px;
3248
+ background: var(--lp-overlay);
3249
+ color: var(--lp-ink2);
3250
+ }
3251
+
3252
+ /* 影像长卷 */
3253
+ .lp-filmstrip-v1 {
3254
+ justify-content: center;
3255
+ }
3256
+
3257
+ .lp-filmstrip-v1-header {
3258
+ text-align: center;
3259
+ margin-bottom: 40px;
3260
+ }
3261
+
3262
+ .lp-filmstrip-v1-title {
3263
+ font-size: 46px;
3264
+ margin-bottom: 0;
3265
+ }
3266
+
3267
+ .lp-filmstrip-v1-track {
3268
+ display: flex;
3269
+ gap: 24px;
3270
+ width: 100%;
3271
+ max-width: 1120px;
3272
+ overflow-x: auto;
3273
+ padding-bottom: 12px;
3274
+ }
3275
+
3276
+ .lp-filmstrip-v1-frame {
3277
+ flex: 0 0 280px;
3278
+ padding: 0;
3279
+ overflow: hidden;
3280
+ display: flex;
3281
+ flex-direction: column;
3282
+ }
3283
+
3284
+ .lp-filmstrip-v1-image {
3285
+ width: 100%;
3286
+ height: 180px;
3287
+ object-fit: cover;
3288
+ border-bottom: 1px solid var(--lp-border);
3289
+ }
3290
+
3291
+ .lp-filmstrip-v1-image-placeholder {
3292
+ height: 180px;
3293
+ background: linear-gradient(135deg, var(--lp-glow-violet-subtle), var(--lp-glow-pink-subtle));
3294
+ }
3295
+
3296
+ .lp-filmstrip-v1-caption {
3297
+ padding: 16px 20px;
3298
+ font-size: 15px;
3299
+ font-weight: 700;
3300
+ color: var(--lp-ink);
3301
+ }
3302
+
3303
+ /* ---- Theme 01 缺失角色补齐:testimonial ---- */
3304
+
3305
+ .lp-testimonial-v1 {
3306
+ justify-content: center;
3307
+ }
3308
+
3309
+ .lp-testimonial-v1-content {
3310
+ max-width: 980px;
3311
+ text-align: center;
3312
+ display: flex;
3313
+ flex-direction: column;
3314
+ gap: 40px;
3315
+ }
3316
+
3317
+ .lp-testimonial-v1-quote {
3318
+ position: relative;
3319
+ padding: 0 48px;
3320
+ }
3321
+
3322
+ .lp-testimonial-v1-mark {
3323
+ position: absolute;
3324
+ top: -28px;
3325
+ left: 0;
3326
+ font-size: 140px;
3327
+ line-height: 1;
3328
+ font-family: Georgia, serif;
3329
+ color: var(--lp-blue);
3330
+ opacity: 0.25;
3331
+ user-select: none;
3332
+ }
3333
+
3334
+ .lp-testimonial-v1-quote blockquote {
3335
+ font-size: 38px;
3336
+ line-height: 1.45;
3337
+ font-weight: 600;
3338
+ color: var(--lp-ink);
3339
+ margin: 0;
3340
+ }
3341
+
3342
+ .lp-testimonial-v1-author {
3343
+ display: inline-flex;
3344
+ align-items: center;
3345
+ gap: 18px;
3346
+ margin: 0 auto;
3347
+ }
3348
+
3349
+ .lp-testimonial-v1-author img,
3350
+ .lp-testimonial-v1-avatar-placeholder {
3351
+ width: 64px;
3352
+ height: 64px;
3353
+ border-radius: 50%;
3354
+ object-fit: cover;
3355
+ background: var(--lp-surface-strong);
3356
+ border: 1px solid var(--lp-border);
3357
+ box-shadow: var(--lp-shadow-sm);
3358
+ }
3359
+
3360
+ .lp-testimonial-v1-meta {
3361
+ text-align: left;
3362
+ display: flex;
3363
+ flex-direction: column;
3364
+ gap: 4px;
3365
+ }
3366
+
3367
+ .lp-testimonial-v1-name {
3368
+ font-size: 20px;
3369
+ font-weight: 800;
3370
+ color: var(--lp-ink);
3371
+ }
3372
+
3373
+ .lp-testimonial-v1-role {
3374
+ font-size: 15px;
3375
+ color: var(--lp-ink2);
3376
+ font-weight: 600;
3377
+ }
3378
+
3379
+ /* ---- 导航 ---- */
3380
+
3381
+ .lp-nav {
3382
+ position: fixed;
3383
+ bottom: 32px;
3384
+ left: 50%;
3385
+ transform: translateX(-50%);
3386
+ display: flex;
3387
+ align-items: center;
3388
+ gap: 16px;
3389
+ z-index: 100;
3390
+ background: var(--lp-surface);
3391
+ backdrop-filter: blur(20px) saturate(140%);
3392
+ padding: 12px 20px;
3393
+ border-radius: 999px;
3394
+ border: 1px solid var(--lp-border);
3395
+ box-shadow: var(--lp-shadow);
3396
+ }
3397
+
3398
+ .lp-nav button {
3399
+ border: none;
3400
+ background: transparent;
3401
+ cursor: pointer;
3402
+ font-size: 20px;
3403
+ color: var(--lp-ink);
3404
+ padding: 6px 12px;
3405
+ border-radius: 8px;
3406
+ transition: background 150ms ease;
3407
+ }
3408
+
3409
+ .lp-nav button:hover:not(:disabled) {
3410
+ background: var(--lp-overlay);
3411
+ }
3412
+
3413
+ .lp-nav button:disabled {
3414
+ opacity: 0.35;
3415
+ cursor: not-allowed;
3416
+ }
3417
+
3418
+ .lp-nav-dot {
3419
+ width: 10px;
3420
+ height: 10px;
3421
+ border-radius: 50%;
3422
+ background: var(--lp-overlay-strong);
3423
+ cursor: pointer;
3424
+ transition: background 150ms ease, transform 150ms ease;
3425
+ }
3426
+
3427
+ .lp-nav-dot.active {
3428
+ background: var(--lp-blue);
3429
+ transform: scale(1.2);
3430
+ }
3431
+
3432
+ .lp-page-counter {
3433
+ font-size: 13px;
3434
+ color: var(--lp-ink3);
3435
+ min-width: 48px;
3436
+ text-align: center;
3437
+ }
3438
+
3439
+ .lp-hint {
3440
+ position: fixed;
3441
+ bottom: 12px;
3442
+ left: 50%;
3443
+ transform: translateX(-50%);
3444
+ font-size: 12px;
3445
+ color: var(--lp-ink3);
3446
+ z-index: 100;
3447
+ }
3448
+
3449
+ /* ---- P0 版式扩展:结论 / 附录 / 评分卡 / banner 章节 ---- */
3450
+
3451
+ /* 结论页 */
3452
+ .lp-conclusion-v1 {
3453
+ justify-content: center;
3454
+ }
3455
+
3456
+ .lp-conclusion-v1-inner {
3457
+ width: 100%;
3458
+ text-align: center;
3459
+ }
3460
+
3461
+ .lp-conclusion-v1-inner > .lp-pill {
3462
+ margin: 0 auto 22px;
3463
+ }
3464
+
3465
+ .lp-conclusion-v1-title {
3466
+ font-size: 52px;
3467
+ margin-bottom: 52px;
3468
+ }
3469
+
3470
+ .lp-conclusion-v1-grid {
3471
+ display: grid;
3472
+ grid-template-columns: repeat(4, 1fr);
3473
+ gap: 24px;
3474
+ text-align: left;
3475
+ }
3476
+
3477
+ .lp-conclusion-v1-card {
3478
+ padding: 32px 26px;
3479
+ display: flex;
3480
+ flex-direction: column;
3481
+ gap: 18px;
3482
+ min-height: 220px;
3483
+ }
3484
+
3485
+ .lp-conclusion-v1-number {
3486
+ font-size: 42px;
3487
+ font-weight: 900;
3488
+ color: var(--lp-blue);
3489
+ line-height: 1;
3490
+ }
3491
+
3492
+ .lp-conclusion-v1-text {
3493
+ font-size: 18px;
3494
+ line-height: 1.55;
3495
+ color: var(--lp-ink);
3496
+ margin: 0;
3497
+ }
3498
+
3499
+ /* 附录页 */
3500
+ .lp-appendix-v1 {
3501
+ justify-content: center;
3502
+ }
3503
+
3504
+ .lp-appendix-v1-inner {
3505
+ width: 100%;
3506
+ text-align: center;
3507
+ }
3508
+
3509
+ .lp-appendix-v1-inner > .lp-pill {
3510
+ margin: 0 auto 22px;
3511
+ }
3512
+
3513
+ .lp-appendix-v1-title {
3514
+ font-size: 52px;
3515
+ margin-bottom: 44px;
3516
+ }
3517
+
3518
+ .lp-appendix-v1-list {
3519
+ text-align: left;
3520
+ padding: 36px 44px;
3521
+ display: flex;
3522
+ flex-direction: column;
3523
+ gap: 16px;
3524
+ }
3525
+
3526
+ .lp-appendix-v1-row {
3527
+ display: flex;
3528
+ gap: 12px;
3529
+ font-size: 16px;
3530
+ line-height: 1.5;
3531
+ color: var(--lp-ink);
3532
+ }
3533
+
3534
+ .lp-appendix-v1-label {
3535
+ font-weight: 800;
3536
+ color: var(--lp-blue);
3537
+ flex-shrink: 0;
3538
+ }
3539
+
3540
+ .lp-appendix-v1-value {
3541
+ color: var(--lp-ink2);
3542
+ }
3543
+
3544
+ /* 评分卡 */
3545
+ .lp-scorecard-v1 {
3546
+ justify-content: center;
3547
+ }
3548
+
3549
+ .lp-scorecard-v1-inner {
3550
+ width: 100%;
3551
+ text-align: center;
3552
+ }
3553
+
3554
+ .lp-scorecard-v1-inner > .lp-pill {
3555
+ margin: 0 auto 22px;
3556
+ }
3557
+
3558
+ .lp-scorecard-v1-title {
3559
+ font-size: 48px;
3560
+ margin-bottom: 48px;
3561
+ }
3562
+
3563
+ .lp-scorecard-v1-list {
3564
+ text-align: left;
3565
+ display: flex;
3566
+ flex-direction: column;
3567
+ gap: 22px;
3568
+ max-width: 920px;
3569
+ margin: 0 auto;
3570
+ }
3571
+
3572
+ .lp-scorecard-v1-row {
3573
+ display: flex;
3574
+ flex-direction: column;
3575
+ gap: 10px;
3576
+ }
3577
+
3578
+ .lp-scorecard-v1-info {
3579
+ display: flex;
3580
+ justify-content: space-between;
3581
+ align-items: baseline;
3582
+ }
3583
+
3584
+ .lp-scorecard-v1-label {
3585
+ font-size: 18px;
3586
+ font-weight: 800;
3587
+ color: var(--lp-ink);
3588
+ }
3589
+
3590
+ .lp-scorecard-v1-score-wrap {
3591
+ font-family: var(--lp-font-mono);
3592
+ }
3593
+
3594
+ .lp-scorecard-v1-score {
3595
+ font-size: 24px;
3596
+ font-weight: 900;
3597
+ color: var(--lp-blue);
3598
+ }
3599
+
3600
+ .lp-scorecard-v1-max {
3601
+ font-size: 15px;
3602
+ color: var(--lp-ink3);
3603
+ }
3604
+
3605
+ .lp-scorecard-v1-bar {
3606
+ height: 10px;
3607
+ border-radius: 999px;
3608
+ background: var(--lp-glow-blue);
3609
+ overflow: hidden;
3610
+ }
3611
+
3612
+ .lp-scorecard-v1-bar-fill {
3613
+ height: 100%;
3614
+ border-radius: 999px;
3615
+ background: linear-gradient(90deg, var(--lp-blue), var(--lp-violet));
3616
+ transition: width 600ms ease;
3617
+ }
3618
+
3619
+ .lp-scorecard-v1-note {
3620
+ font-size: 14px;
3621
+ color: var(--lp-ink2);
3622
+ margin: 0;
3623
+ }
3624
+
3625
+ /* banner 章节页 v3 */
3626
+ .lp-chapter-v3 {
3627
+ position: relative;
3628
+ align-items: center;
3629
+ justify-content: center;
3630
+ padding: 0;
3631
+ overflow: hidden;
3632
+ }
3633
+
3634
+ .lp-chapter-v3-bg {
3635
+ position: absolute;
3636
+ inset: 0;
3637
+ width: 100%;
3638
+ height: 100%;
3639
+ object-fit: cover;
3640
+ z-index: 0;
3641
+ }
3642
+
3643
+ .lp-chapter-v3-overlay {
3644
+ position: absolute;
3645
+ inset: 0;
3646
+ background: var(--lp-scrim);
3647
+ z-index: 1;
3648
+ pointer-events: none;
3649
+ }
3650
+
3651
+ .lp-chapter-v3-card {
3652
+ position: relative;
3653
+ z-index: 2;
3654
+ max-width: 860px;
3655
+ padding: 56px 72px;
3656
+ text-align: center;
3657
+ background: var(--lp-surface);
3658
+ backdrop-filter: blur(24px) saturate(150%);
3659
+ border: 1px solid var(--lp-border);
3660
+ border-radius: var(--lp-radius-large);
3661
+ box-shadow: 0 24px 64px rgba(var(--lp-shadow-rgb), 0.18);
3662
+ }
3663
+
3664
+ .lp-chapter-v3-kicker {
3665
+ margin: 0 auto 20px;
3666
+ }
3667
+
3668
+ .lp-chapter-v3-title {
3669
+ font-size: 64px;
3670
+ font-weight: 900;
3671
+ line-height: 1.1;
3672
+ margin: 0 0 16px 0;
3673
+ color: var(--lp-white);
3674
+ }
3675
+
3676
+ .lp-chapter-v3-subtitle {
3677
+ font-size: 24px;
3678
+ color: var(--lp-white-alpha-85);
3679
+ margin: 0;
3680
+ }
3681
+
3682
+ /* ---- Theme 01 缺失角色补齐:pricing / partners / image / swot / pest ---- */
3683
+
3684
+ /* Pricing */
3685
+ .lp-pricing-v1 {
3686
+ justify-content: center;
3687
+ }
3688
+
3689
+ .lp-pricing-header {
3690
+ text-align: center;
3691
+ margin-bottom: 48px;
3692
+ }
3693
+
3694
+ .lp-pricing-title {
3695
+ font-size: 56px;
3696
+ margin-bottom: 0;
3697
+ }
3698
+
3699
+ .lp-pricing-grid {
3700
+ display: grid;
3701
+ grid-template-columns: repeat(3, 1fr);
3702
+ gap: 28px;
3703
+ width: 100%;
3704
+ }
3705
+
3706
+ .lp-pricing-card {
3707
+ padding: 38px 32px;
3708
+ display: flex;
3709
+ flex-direction: column;
3710
+ align-items: center;
3711
+ text-align: center;
3712
+ }
3713
+
3714
+ .lp-pricing-card-highlight {
3715
+ background: var(--lp-surface-strong);
3716
+ transform: scale(1.04);
3717
+ box-shadow:
3718
+ 0 1px 0 var(--lp-white-alpha-85) inset,
3719
+ 0 32px 72px rgba(var(--lp-shadow-rgb), 0.16);
3720
+ border-color: var(--lp-white-alpha-90);
3721
+ }
3722
+
3723
+ .lp-pricing-name {
3724
+ font-size: 22px;
3725
+ font-weight: 800;
3726
+ margin: 0 0 18px 0;
3727
+ color: var(--lp-ink2);
3728
+ }
3729
+
3730
+ .lp-pricing-price-row {
3731
+ display: flex;
3732
+ align-items: baseline;
3733
+ gap: 6px;
3734
+ margin-bottom: 26px;
3735
+ }
3736
+
3737
+ .lp-pricing-price {
3738
+ font-size: 56px;
3739
+ font-weight: 900;
3740
+ color: var(--lp-ink);
3741
+ line-height: 1;
3742
+ }
3743
+
3744
+ .lp-pricing-period {
3745
+ font-size: 15px;
3746
+ color: var(--lp-ink3);
3747
+ font-family: var(--lp-font-mono);
3748
+ }
3749
+
3750
+ .lp-pricing-features {
3751
+ list-style: none;
3752
+ padding: 0;
3753
+ margin: 0 0 28px 0;
3754
+ width: 100%;
3755
+ }
3756
+
3757
+ .lp-pricing-features li {
3758
+ padding: 10px 0;
3759
+ border-bottom: 1px solid var(--lp-divider);
3760
+ font-size: 16px;
3761
+ color: var(--lp-ink2);
3762
+ }
3763
+
3764
+ .lp-pricing-features li:last-child {
3765
+ border-bottom: none;
3766
+ }
3767
+
3768
+ .lp-pricing-cta {
3769
+ margin-top: auto;
3770
+ padding: 12px 28px;
3771
+ border-radius: 999px;
3772
+ background: var(--lp-blue);
3773
+ color: var(--lp-white);
3774
+ font-weight: 700;
3775
+ font-size: 15px;
3776
+ }
3777
+
3778
+ /* Partners */
3779
+ .lp-partners-v1 {
3780
+ justify-content: center;
3781
+ }
3782
+
3783
+ .lp-partners-header {
3784
+ text-align: center;
3785
+ margin-bottom: 56px;
3786
+ }
3787
+
3788
+ .lp-partners-title {
3789
+ font-size: 56px;
3790
+ margin-bottom: 0;
3791
+ }
3792
+
3793
+ .lp-partners-grid {
3794
+ display: grid;
3795
+ grid-template-columns: repeat(4, 1fr);
3796
+ gap: 28px;
3797
+ width: 100%;
3798
+ }
3799
+
3800
+ .lp-partners-card {
3801
+ padding: 32px 24px;
3802
+ display: flex;
3803
+ flex-direction: column;
3804
+ align-items: center;
3805
+ justify-content: center;
3806
+ gap: 18px;
3807
+ text-align: center;
3808
+ min-height: 160px;
3809
+ }
3810
+
3811
+ .lp-partners-card img {
3812
+ max-width: 80%;
3813
+ max-height: 64px;
3814
+ object-fit: contain;
3815
+ filter: grayscale(30%);
3816
+ }
3817
+
3818
+ .lp-partners-logo-placeholder {
3819
+ width: 80px;
3820
+ height: 48px;
3821
+ border-radius: var(--lp-radius-small);
3822
+ background: var(--lp-overlay);
3823
+ }
3824
+
3825
+ .lp-partners-name {
3826
+ font-size: 15px;
3827
+ font-weight: 700;
3828
+ color: var(--lp-ink2);
3829
+ }
3830
+
3831
+ /* Image */
3832
+ .lp-image-v1 {
3833
+ align-items: center;
3834
+ justify-content: center;
3835
+ text-align: center;
3836
+ padding: 0;
3837
+ }
3838
+
3839
+ .lp-image-v1 .lp-image-bg {
3840
+ position: absolute;
3841
+ inset: 0;
3842
+ width: 100%;
3843
+ height: 100%;
3844
+ object-fit: cover;
3845
+ z-index: 0;
3846
+ }
3847
+
3848
+ .lp-image-v1 .lp-image-overlay {
3849
+ position: absolute;
3850
+ inset: 0;
3851
+ background: var(--lp-image-overlay);
3852
+ z-index: 1;
3853
+ }
3854
+
3855
+ .lp-image-v1 .lp-image-content {
3856
+ position: relative;
3857
+ z-index: 2;
3858
+ padding: 72px 108px;
3859
+ display: flex;
3860
+ flex-direction: column;
3861
+ align-items: center;
3862
+ }
3863
+
3864
+ .lp-image-title {
3865
+ font-size: 72px;
3866
+ font-weight: 900;
3867
+ margin: 0 0 22px 0;
3868
+ color: var(--lp-ink);
3869
+ }
3870
+
3871
+ .lp-image-subtitle {
3872
+ font-size: 28px;
3873
+ color: var(--lp-ink2);
3874
+ margin: 0;
3875
+ max-width: 760px;
3876
+ }
3877
+
3878
+ /* SWOT & PEST */
3879
+ .lp-swot-v1,
3880
+ .lp-pest-v1 {
3881
+ justify-content: center;
3882
+ }
3883
+
3884
+ .lp-swot-header,
3885
+ .lp-pest-header {
3886
+ text-align: center;
3887
+ margin-bottom: 48px;
3888
+ }
3889
+
3890
+ .lp-swot-title,
3891
+ .lp-pest-title {
3892
+ font-size: 56px;
3893
+ margin-bottom: 0;
3894
+ }
3895
+
3896
+ .lp-swot-grid,
3897
+ .lp-pest-grid {
3898
+ display: grid;
3899
+ grid-template-columns: repeat(2, 1fr);
3900
+ gap: 28px;
3901
+ width: 100%;
3902
+ }
3903
+
3904
+ .lp-swot-cell,
3905
+ .lp-pest-cell {
3906
+ padding: 34px 36px;
3907
+ min-height: 210px;
3908
+ }
3909
+
3910
+ .lp-swot-label,
3911
+ .lp-pest-label {
3912
+ font-size: 48px;
3913
+ font-weight: 900;
3914
+ line-height: 1;
3915
+ margin-bottom: 6px;
3916
+ font-family: var(--lp-font-mono);
3917
+ }
3918
+
3919
+ .lp-swot-subtitle,
3920
+ .lp-pest-subtitle {
3921
+ font-size: 14px;
3922
+ font-weight: 700;
3923
+ letter-spacing: 0.08em;
3924
+ text-transform: uppercase;
3925
+ margin-bottom: 16px;
3926
+ color: var(--lp-ink3);
3927
+ }
3928
+
3929
+ .lp-swot-cell p,
3930
+ .lp-pest-cell p {
3931
+ font-size: 18px;
3932
+ line-height: 1.6;
3933
+ color: var(--lp-ink2);
3934
+ margin: 0;
3935
+ }
3936
+
3937
+ .lp-swot-s .lp-swot-label { color: var(--lp-green); }
3938
+ .lp-swot-w .lp-swot-label { color: var(--lp-red); }
3939
+ .lp-swot-o .lp-swot-label { color: var(--lp-blue); }
3940
+ .lp-swot-t .lp-swot-label { color: var(--lp-amber); }
3941
+
3942
+ .lp-pest-p .lp-pest-label { color: var(--lp-red); }
3943
+ .lp-pest-e .lp-pest-label { color: var(--lp-amber); }
3944
+ .lp-pest-s .lp-pest-label { color: var(--lp-blue); }
3945
+ .lp-pest-t .lp-pest-label { color: var(--lp-violet); }
3946
+
3947
+ /* ---- P1 版式扩展:甘特图 / 趋势图 / 排名 / 四象限 ---- */
3948
+
3949
+ /* ---- Trend V1 ---- */
3950
+ .lp-trend-v1 {
3951
+ justify-content: center;
3952
+ }
3953
+
3954
+ .lp-trend-v1-inner {
3955
+ width: 100%;
3956
+ text-align: center;
3957
+ }
3958
+
3959
+ .lp-trend-v1-title {
3960
+ font-size: 48px;
3961
+ margin-bottom: 44px;
3962
+ }
3963
+
3964
+ .lp-trend-v1-chart {
3965
+ max-width: 960px;
3966
+ margin: 0 auto;
3967
+ }
3968
+
3969
+ .lp-trend-v1-svg {
3970
+ width: 100%;
3971
+ height: auto;
3972
+ display: block;
3973
+ }
3974
+
3975
+ .lp-trend-v1-grid {
3976
+ stroke: var(--lp-border);
3977
+ stroke-width: 1;
3978
+ stroke-dasharray: 4 4;
3979
+ }
3980
+
3981
+ .lp-trend-v1-axis {
3982
+ stroke: var(--lp-ink3);
3983
+ stroke-width: 2;
3984
+ }
3985
+
3986
+ .lp-trend-v1-label {
3987
+ font-size: 12px;
3988
+ fill: var(--lp-ink2);
3989
+ font-family: var(--lp-font-mono);
3990
+ }
3991
+
3992
+ .lp-trend-v1-legend {
3993
+ display: flex;
3994
+ justify-content: center;
3995
+ gap: 24px;
3996
+ margin-top: 18px;
3997
+ }
3998
+
3999
+ .lp-trend-v1-legend-item {
4000
+ display: inline-flex;
4001
+ align-items: center;
4002
+ gap: 8px;
4003
+ font-size: 14px;
4004
+ color: var(--lp-ink2);
4005
+ }
4006
+
4007
+ .lp-trend-v1-legend-dot {
4008
+ width: 12px;
4009
+ height: 12px;
4010
+ border-radius: 50%;
4011
+ }
4012
+
4013
+ /* ---- Ranking V1 ---- */
4014
+ .lp-ranking-v1 {
4015
+ justify-content: center;
4016
+ }
4017
+
4018
+ .lp-ranking-v1-inner {
4019
+ width: 100%;
4020
+ text-align: center;
4021
+ }
4022
+
4023
+ .lp-ranking-v1-title {
4024
+ font-size: 48px;
4025
+ margin-bottom: 44px;
4026
+ }
4027
+
4028
+ .lp-ranking-v1-list {
4029
+ display: flex;
4030
+ flex-direction: column;
4031
+ gap: 18px;
4032
+ max-width: 920px;
4033
+ margin: 0 auto;
4034
+ text-align: left;
4035
+ }
4036
+
4037
+ .lp-ranking-v1-row {
4038
+ display: grid;
4039
+ grid-template-columns: 36px minmax(120px, 1fr) 2fr auto;
4040
+ align-items: center;
4041
+ gap: 16px;
4042
+ }
4043
+
4044
+ .lp-ranking-v1-rank {
4045
+ width: 32px;
4046
+ height: 32px;
4047
+ display: flex;
4048
+ align-items: center;
4049
+ justify-content: center;
4050
+ border-radius: 50%;
4051
+ background: var(--lp-surface-strong);
4052
+ font-size: 14px;
4053
+ font-weight: 900;
4054
+ color: var(--lp-ink);
4055
+ font-family: var(--lp-font-mono);
4056
+ }
4057
+
4058
+ .lp-ranking-v1-label {
4059
+ font-size: 16px;
4060
+ font-weight: 700;
4061
+ color: var(--lp-ink);
4062
+ }
4063
+
4064
+ .lp-ranking-v1-bar-wrap {
4065
+ height: 14px;
4066
+ border-radius: 999px;
4067
+ background: var(--lp-glow-blue-subtle);
4068
+ overflow: hidden;
4069
+ }
4070
+
4071
+ .lp-ranking-v1-bar {
4072
+ height: 100%;
4073
+ border-radius: 999px;
4074
+ background: linear-gradient(90deg, var(--lp-blue), var(--lp-violet));
4075
+ transition: width 600ms ease;
4076
+ }
4077
+
4078
+ .lp-ranking-v1-value {
4079
+ font-size: 20px;
4080
+ font-weight: 900;
4081
+ color: var(--lp-blue);
4082
+ font-family: var(--lp-font-mono);
4083
+ }
4084
+
4085
+ .lp-ranking-v1-unit {
4086
+ font-size: 13px;
4087
+ color: var(--lp-ink3);
4088
+ margin-left: 4px;
4089
+ font-weight: 500;
4090
+ }
4091
+
4092
+ /* ---- Gantt V1 ---- */
4093
+ .lp-gantt-v1 {
4094
+ justify-content: center;
4095
+ }
4096
+
4097
+ .lp-gantt-v1-inner {
4098
+ width: 100%;
4099
+ text-align: center;
4100
+ }
4101
+
4102
+ .lp-gantt-v1-title {
4103
+ font-size: 48px;
4104
+ margin-bottom: 44px;
4105
+ }
4106
+
4107
+ .lp-gantt-v1-chart {
4108
+ max-width: 960px;
4109
+ margin: 0 auto;
4110
+ text-align: left;
4111
+ }
4112
+
4113
+ .lp-gantt-v1-header {
4114
+ display: grid;
4115
+ grid-template-columns: 200px repeat(auto-fit, minmax(0, 1fr));
4116
+ gap: 1px;
4117
+ margin-bottom: 16px;
4118
+ padding-left: 200px;
4119
+ }
4120
+
4121
+ .lp-gantt-v1-phase {
4122
+ text-align: center;
4123
+ font-size: 14px;
4124
+ font-weight: 700;
4125
+ color: var(--lp-ink2);
4126
+ font-family: var(--lp-font-mono);
4127
+ }
4128
+
4129
+ .lp-gantt-v1-body {
4130
+ display: flex;
4131
+ flex-direction: column;
4132
+ gap: 18px;
4133
+ }
4134
+
4135
+ .lp-gantt-v1-row {
4136
+ display: grid;
4137
+ grid-template-columns: 200px 1fr;
4138
+ align-items: center;
4139
+ gap: 16px;
4140
+ }
4141
+
4142
+ .lp-gantt-v1-task-name {
4143
+ font-size: 15px;
4144
+ font-weight: 700;
4145
+ color: var(--lp-ink);
4146
+ }
4147
+
4148
+ .lp-gantt-v1-track {
4149
+ position: relative;
4150
+ height: 24px;
4151
+ border-radius: 999px;
4152
+ background: var(--lp-glow-blue-subtle);
4153
+ }
4154
+
4155
+ .lp-gantt-v1-bar {
4156
+ position: absolute;
4157
+ top: 4px;
4158
+ height: 16px;
4159
+ border-radius: 999px;
4160
+ transition: all 400ms ease;
4161
+ }
4162
+
4163
+ /* ---- Quadrant V1 ---- */
4164
+ .lp-quadrant-v1 {
4165
+ justify-content: center;
4166
+ }
4167
+
4168
+ .lp-quadrant-v1-inner {
4169
+ width: 100%;
4170
+ text-align: center;
4171
+ }
4172
+
4173
+ .lp-quadrant-v1-title {
4174
+ font-size: 48px;
4175
+ margin-bottom: 20px;
4176
+ }
4177
+
4178
+ .lp-quadrant-v1-axes {
4179
+ display: flex;
4180
+ justify-content: center;
4181
+ gap: 28px;
4182
+ margin-bottom: 32px;
4183
+ }
4184
+
4185
+ .lp-quadrant-v1-axis {
4186
+ font-size: 14px;
4187
+ color: var(--lp-ink2);
4188
+ font-family: var(--lp-font-mono);
4189
+ }
4190
+
4191
+ .lp-quadrant-v1-grid {
4192
+ display: grid;
4193
+ grid-template-columns: repeat(2, 1fr);
4194
+ gap: 24px;
4195
+ max-width: 960px;
4196
+ margin: 0 auto;
4197
+ text-align: left;
4198
+ }
4199
+
4200
+ .lp-quadrant-v1-card {
4201
+ padding: 30px 26px;
4202
+ min-height: 220px;
4203
+ }
4204
+
4205
+ .lp-quadrant-v1-label {
4206
+ font-size: 22px;
4207
+ font-weight: 900;
4208
+ margin: 0 0 18px 0;
4209
+ color: var(--lp-ink);
4210
+ }
4211
+
4212
+ .lp-quadrant-v1-items {
4213
+ margin: 0;
4214
+ padding-left: 20px;
4215
+ font-size: 16px;
4216
+ line-height: 1.7;
4217
+ color: var(--lp-ink2);
4218
+ }
4219
+
4220
+ .lp-quadrant-v1-items li {
4221
+ margin-bottom: 6px;
4222
+ }
4223
+
4224
+ /* ---- P2 场景化内容页 ---- */
4225
+
4226
+ /* 风险研判 */
4227
+ .lp-risk-v1 {
4228
+ justify-content: center;
4229
+ }
4230
+
4231
+ .lp-risk-v1-inner {
4232
+ width: 100%;
4233
+ }
4234
+
4235
+ .lp-risk-v1-inner > .lp-pill {
4236
+ margin-bottom: 18px;
4237
+ }
4238
+
4239
+ .lp-risk-v1-title {
4240
+ font-size: 44px;
4241
+ margin-bottom: 42px;
4242
+ }
4243
+
4244
+ .lp-risk-v1-grid {
4245
+ display: grid;
4246
+ grid-template-columns: repeat(2, 1fr);
4247
+ gap: 24px;
4248
+ }
4249
+
4250
+ .lp-risk-v1-card {
4251
+ padding: 28px 26px;
4252
+ min-height: 200px;
4253
+ }
4254
+
4255
+ .lp-risk-v1-header {
4256
+ display: flex;
4257
+ align-items: flex-start;
4258
+ justify-content: space-between;
4259
+ margin-bottom: 18px;
4260
+ }
4261
+
4262
+ .lp-risk-v1-risk {
4263
+ font-size: 22px;
4264
+ font-weight: 700;
4265
+ line-height: 1.3;
4266
+ margin: 0;
4267
+ color: var(--lp-ink);
4268
+ }
4269
+
4270
+ .lp-risk-v1-index {
4271
+ font-family: var(--lp-font-mono);
4272
+ font-size: 18px;
4273
+ font-weight: 700;
4274
+ color: var(--lp-blue);
4275
+ line-height: 1;
4276
+ }
4277
+
4278
+ .lp-risk-v1-body {
4279
+ display: flex;
4280
+ flex-direction: column;
4281
+ gap: 10px;
4282
+ }
4283
+
4284
+ .lp-risk-v1-row {
4285
+ display: flex;
4286
+ gap: 10px;
4287
+ font-size: 16px;
4288
+ line-height: 1.55;
4289
+ }
4290
+
4291
+ .lp-risk-v1-label {
4292
+ flex-shrink: 0;
4293
+ color: var(--lp-ink3);
4294
+ font-weight: 500;
4295
+ }
4296
+
4297
+ .lp-risk-v1-impact,
4298
+ .lp-risk-v1-response {
4299
+ color: var(--lp-ink2);
4300
+ }
4301
+
4302
+ /* 投资展望 */
4303
+ .lp-outlook-v1 {
4304
+ justify-content: center;
4305
+ }
4306
+
4307
+ .lp-outlook-v1-inner {
4308
+ width: 100%;
4309
+ }
4310
+
4311
+ .lp-outlook-v1-inner > .lp-pill {
4312
+ margin-bottom: 18px;
4313
+ }
4314
+
4315
+ .lp-outlook-v1-title {
4316
+ font-size: 44px;
4317
+ margin-bottom: 42px;
4318
+ }
4319
+
4320
+ .lp-outlook-v1-list {
4321
+ display: grid;
4322
+ grid-template-columns: repeat(3, 1fr);
4323
+ gap: 24px;
4324
+ }
4325
+
4326
+ .lp-outlook-v1-card {
4327
+ display: flex;
4328
+ flex-direction: column;
4329
+ align-items: center;
4330
+ padding: 32px 24px;
4331
+ text-align: center;
4332
+ }
4333
+
4334
+ .lp-outlook-v1-step {
4335
+ width: 48px;
4336
+ height: 48px;
4337
+ border-radius: 50%;
4338
+ display: flex;
4339
+ align-items: center;
4340
+ justify-content: center;
4341
+ background: linear-gradient(135deg, var(--lp-blue), var(--lp-violet));
4342
+ color: var(--lp-white);
4343
+ font-weight: 700;
4344
+ font-size: 18px;
4345
+ margin-bottom: 20px;
4346
+ }
4347
+
4348
+ .lp-outlook-v1-item-title {
4349
+ font-size: 22px;
4350
+ font-weight: 700;
4351
+ margin: 0 0 18px 0;
4352
+ color: var(--lp-ink);
4353
+ }
4354
+
4355
+ .lp-outlook-v1-body {
4356
+ width: 100%;
4357
+ display: flex;
4358
+ flex-direction: column;
4359
+ gap: 12px;
4360
+ }
4361
+
4362
+ .lp-outlook-v1-row {
4363
+ display: flex;
4364
+ flex-direction: column;
4365
+ gap: 4px;
4366
+ text-align: left;
4367
+ }
4368
+
4369
+ .lp-outlook-v1-label {
4370
+ font-size: 13px;
4371
+ color: var(--lp-ink3);
4372
+ font-weight: 500;
4373
+ }
4374
+
4375
+ .lp-outlook-v1-trend,
4376
+ .lp-outlook-v1-action {
4377
+ font-size: 15px;
4378
+ line-height: 1.55;
4379
+ color: var(--lp-ink2);
4380
+ }
4381
+
4382
+ /* 地区/市场分布 */
4383
+ .lp-region-v1 {
4384
+ justify-content: center;
4385
+ }
4386
+
4387
+ .lp-region-v1-inner {
4388
+ width: 100%;
4389
+ }
4390
+
4391
+ .lp-region-v1-inner > .lp-pill {
4392
+ margin-bottom: 18px;
4393
+ }
4394
+
4395
+ .lp-region-v1-title {
4396
+ font-size: 44px;
4397
+ margin-bottom: 42px;
4398
+ }
4399
+
4400
+ .lp-region-v1-grid {
4401
+ display: grid;
4402
+ grid-template-columns: repeat(3, 1fr);
4403
+ gap: 22px;
4404
+ }
4405
+
4406
+ .lp-region-v1-card {
4407
+ padding: 26px 24px;
4408
+ min-height: 170px;
4409
+ }
4410
+
4411
+ .lp-region-v1-top {
4412
+ display: flex;
4413
+ align-items: flex-start;
4414
+ justify-content: space-between;
4415
+ gap: 12px;
4416
+ margin-bottom: 10px;
4417
+ }
4418
+
4419
+ .lp-region-v1-name {
4420
+ font-size: 16px;
4421
+ font-weight: 500;
4422
+ color: var(--lp-ink3);
4423
+ margin: 0;
4424
+ }
4425
+
4426
+ .lp-region-v1-change {
4427
+ font-family: var(--lp-font-mono);
4428
+ font-size: 13px;
4429
+ font-weight: 600;
4430
+ color: var(--lp-green);
4431
+ white-space: nowrap;
4432
+ }
4433
+
4434
+ .lp-region-v1-value-wrap {
4435
+ margin-bottom: 8px;
4436
+ }
4437
+
4438
+ .lp-region-v1-value {
4439
+ font-size: 36px;
4440
+ font-weight: 800;
4441
+ color: var(--lp-ink);
4442
+ line-height: 1.1;
4443
+ }
4444
+
4445
+ .lp-region-v1-note {
4446
+ font-size: 14px;
4447
+ line-height: 1.5;
4448
+ color: var(--lp-ink2);
4449
+ margin: 0;
4450
+ }
4451
+
4452
+ /* ---- 主题聚焦网格 spotlight-grid ---- */
4453
+
4454
+ .lp-spotlight-grid {
4455
+ justify-content: center;
4456
+ }
4457
+
4458
+ .lp-spotlight-grid-header {
4459
+ text-align: center;
4460
+ margin-bottom: 48px;
4461
+ }
4462
+
4463
+ .lp-spotlight-grid-title {
4464
+ font-size: 48px;
4465
+ margin-bottom: 12px;
4466
+ }
4467
+
4468
+ .lp-spotlight-grid-subtitle {
4469
+ font-size: 20px;
4470
+ color: var(--lp-ink2);
4471
+ margin: 0;
4472
+ }
4473
+
4474
+ .lp-spotlight-grid-body {
4475
+ display: grid;
4476
+ gap: 24px;
4477
+ width: 100%;
4478
+ }
4479
+
4480
+ .lp-spotlight-grid-body--2 { grid-template-columns: repeat(2, 1fr); }
4481
+ .lp-spotlight-grid-body--3 { grid-template-columns: repeat(3, 1fr); }
4482
+ .lp-spotlight-grid-body--4 { grid-template-columns: repeat(4, 1fr); }
4483
+
4484
+ .lp-spotlight-grid-card {
4485
+ padding: 28px 24px;
4486
+ display: flex;
4487
+ flex-direction: column;
4488
+ gap: 18px;
4489
+ overflow: hidden;
4490
+ }
4491
+
4492
+ .lp-spotlight-grid-tag {
4493
+ font-size: 13px;
4494
+ font-weight: 700;
4495
+ color: var(--lp-blue);
4496
+ letter-spacing: 0.06em;
4497
+ font-family: var(--lp-font-mono);
4498
+ }
4499
+
4500
+ .lp-spotlight-grid-image {
4501
+ width: 100%;
4502
+ height: 120px;
4503
+ object-fit: cover;
4504
+ border-radius: 12px;
4505
+ }
4506
+
4507
+ .lp-spotlight-grid-image-placeholder {
4508
+ width: 100%;
4509
+ height: 120px;
4510
+ border-radius: 12px;
4511
+ background: var(--lp-surface-2);
4512
+ border: 1px dashed var(--lp-border);
4513
+ }
4514
+
4515
+ .lp-spotlight-grid-card-title {
4516
+ font-size: 22px;
4517
+ font-weight: 800;
4518
+ margin: 0;
4519
+ color: var(--lp-ink);
4520
+ }
4521
+
4522
+ .lp-spotlight-grid-card-description {
4523
+ font-size: 15px;
4524
+ line-height: 1.55;
4525
+ margin: 0;
4526
+ color: var(--lp-ink2);
4527
+ }
4528
+
4529
+ .lp-spotlight-grid-footnote {
4530
+ margin-top: 32px;
4531
+ font-size: 13px;
4532
+ color: var(--lp-ink3);
4533
+ font-family: var(--lp-font-mono);
4534
+ }
4535
+
4536
+ /* ---- 三指标总览 metric-triptych ---- */
4537
+
4538
+ .lp-metric-triptych {
4539
+ justify-content: center;
4540
+ }
4541
+
4542
+ .lp-metric-triptych-header {
4543
+ text-align: center;
4544
+ margin-bottom: 48px;
4545
+ }
4546
+
4547
+ .lp-metric-triptych-title {
4548
+ font-size: 48px;
4549
+ margin-bottom: 12px;
4550
+ }
4551
+
4552
+ .lp-metric-triptych-subtitle {
4553
+ font-size: 20px;
4554
+ color: var(--lp-ink2);
4555
+ margin: 0;
4556
+ }
4557
+
4558
+ .lp-metric-triptych-body {
4559
+ display: grid;
4560
+ gap: 24px;
4561
+ width: 100%;
4562
+ }
4563
+
4564
+ .lp-metric-triptych-body--2 { grid-template-columns: repeat(2, 1fr); }
4565
+ .lp-metric-triptych-body--3 { grid-template-columns: repeat(3, 1fr); }
4566
+
4567
+ .lp-metric-triptych-panel {
4568
+ padding: 28px 24px;
4569
+ display: flex;
4570
+ flex-direction: column;
4571
+ gap: 12px;
4572
+ overflow: hidden;
4573
+ }
4574
+
4575
+ .lp-metric-triptych-panel-head {
4576
+ display: flex;
4577
+ align-items: center;
4578
+ gap: 12px;
4579
+ }
4580
+
4581
+ .lp-metric-triptych-panel-index {
4582
+ font-size: 14px;
4583
+ font-weight: 700;
4584
+ color: var(--lp-blue);
4585
+ font-family: var(--lp-font-mono);
4586
+ }
4587
+
4588
+ .lp-metric-triptych-panel-title {
4589
+ font-size: 16px;
4590
+ font-weight: 700;
4591
+ margin: 0;
4592
+ color: var(--lp-ink2);
4593
+ }
4594
+
4595
+ .lp-metric-triptych-panel-value {
4596
+ font-size: 48px;
4597
+ font-weight: 900;
4598
+ color: var(--lp-ink);
4599
+ line-height: 1.1;
4600
+ }
4601
+
4602
+ .lp-metric-triptych-panel-chart {
4603
+ height: 48px;
4604
+ margin: 8px 0;
4605
+ }
4606
+
4607
+ .lp-metric-triptych-chart-svg {
4608
+ width: 100%;
4609
+ height: 100%;
4610
+ overflow: visible;
4611
+ }
4612
+
4613
+ .lp-metric-triptych-panel-subtitle {
4614
+ font-size: 14px;
4615
+ line-height: 1.5;
4616
+ margin: 0;
4617
+ color: var(--lp-ink2);
4618
+ }
4619
+
4620
+ .lp-metric-triptych-footnote {
4621
+ margin-top: 32px;
4622
+ font-size: 13px;
4623
+ color: var(--lp-ink3);
4624
+ font-family: var(--lp-font-mono);
4625
+ }
4626
+
4627
+ /* ---- 双联对比 diptych-contrast ---- */
4628
+
4629
+ .lp-diptych-contrast {
4630
+ justify-content: center;
4631
+ position: relative;
4632
+ }
4633
+
4634
+ .lp-diptych-contrast-bg {
4635
+ position: absolute;
4636
+ inset: 0;
4637
+ display: grid;
4638
+ grid-template-columns: 1fr 1fr;
4639
+ gap: 24px;
4640
+ z-index: 0;
4641
+ }
4642
+
4643
+ .lp-diptych-contrast-side {
4644
+ position: relative;
4645
+ border-radius: 24px;
4646
+ overflow: hidden;
4647
+ display: flex;
4648
+ flex-direction: column;
4649
+ justify-content: flex-end;
4650
+ padding: 32px;
4651
+ background: var(--lp-surface-elevated);
4652
+ }
4653
+
4654
+ .lp-diptych-contrast-side--left {
4655
+ border: 1px solid var(--lp-border);
4656
+ }
4657
+
4658
+ .lp-diptych-contrast-side--right {
4659
+ border: 1px solid var(--lp-border);
4660
+ }
4661
+
4662
+ .lp-diptych-contrast-image {
4663
+ position: absolute;
4664
+ inset: 0;
4665
+ width: 100%;
4666
+ height: 100%;
4667
+ object-fit: cover;
4668
+ opacity: 0.45;
4669
+ }
4670
+
4671
+ .lp-diptych-contrast-image-placeholder {
4672
+ position: absolute;
4673
+ inset: 0;
4674
+ background: linear-gradient(135deg, var(--lp-surface-2), var(--lp-surface-elevated));
4675
+ }
4676
+
4677
+ .lp-diptych-contrast-side-label {
4678
+ position: relative;
4679
+ z-index: 1;
4680
+ text-align: center;
4681
+ }
4682
+
4683
+ .lp-diptych-contrast-label-en {
4684
+ font-size: 12px;
4685
+ letter-spacing: 0.1em;
4686
+ color: var(--lp-ink3);
4687
+ margin-bottom: 8px;
4688
+ font-family: var(--lp-font-mono);
4689
+ }
4690
+
4691
+ .lp-diptych-contrast-label {
4692
+ font-size: 36px;
4693
+ font-weight: 900;
4694
+ color: var(--lp-ink);
4695
+ }
4696
+
4697
+ .lp-diptych-contrast-content {
4698
+ position: relative;
4699
+ z-index: 1;
4700
+ width: 100%;
4701
+ display: flex;
4702
+ flex-direction: column;
4703
+ align-items: center;
4704
+ pointer-events: none;
4705
+ }
4706
+
4707
+ .lp-diptych-contrast-content > * {
4708
+ pointer-events: auto;
4709
+ }
4710
+
4711
+ .lp-diptych-contrast-kicker {
4712
+ margin-bottom: 12px;
4713
+ }
4714
+
4715
+ .lp-diptych-contrast-title {
4716
+ font-size: 48px;
4717
+ text-align: center;
4718
+ margin-bottom: 24px;
4719
+ }
4720
+
4721
+ .lp-diptych-contrast-center-card {
4722
+ width: 420px;
4723
+ max-width: 90%;
4724
+ padding: 32px;
4725
+ text-align: center;
4726
+ background: var(--lp-surface);
4727
+ backdrop-filter: blur(12px);
4728
+ }
4729
+
4730
+ .lp-diptych-contrast-center-title {
4731
+ font-size: 20px;
4732
+ font-weight: 800;
4733
+ margin: 0 0 24px 0;
4734
+ color: var(--lp-ink);
4735
+ }
4736
+
4737
+ .lp-diptych-contrast-comparisons {
4738
+ display: flex;
4739
+ flex-direction: column;
4740
+ gap: 18px;
4741
+ margin-bottom: 24px;
4742
+ }
4743
+
4744
+ .lp-diptych-contrast-row {
4745
+ display: grid;
4746
+ grid-template-columns: 1fr auto 1fr;
4747
+ align-items: center;
4748
+ gap: 16px;
4749
+ }
4750
+
4751
+ .lp-diptych-contrast-cell {
4752
+ display: flex;
4753
+ flex-direction: column;
4754
+ gap: 2px;
4755
+ }
4756
+
4757
+ .lp-diptych-contrast-cell--left {
4758
+ text-align: right;
4759
+ }
4760
+
4761
+ .lp-diptych-contrast-cell--right {
4762
+ text-align: left;
4763
+ }
4764
+
4765
+ .lp-diptych-contrast-value {
4766
+ font-size: 22px;
4767
+ font-weight: 800;
4768
+ color: var(--lp-ink);
4769
+ }
4770
+
4771
+ .lp-diptych-contrast-value-label {
4772
+ font-size: 12px;
4773
+ color: var(--lp-ink3);
4774
+ font-family: var(--lp-font-mono);
4775
+ }
4776
+
4777
+ .lp-diptych-contrast-vs {
4778
+ font-size: 12px;
4779
+ font-weight: 700;
4780
+ color: var(--lp-blue);
4781
+ font-family: var(--lp-font-mono);
4782
+ }
4783
+
4784
+ .lp-diptych-contrast-conclusion {
4785
+ font-size: 15px;
4786
+ line-height: 1.55;
4787
+ margin: 0;
4788
+ color: var(--lp-ink2);
4789
+ }
4790
+
4791
+ .lp-diptych-contrast-footnote {
4792
+ margin-top: 24px;
4793
+ font-size: 13px;
4794
+ color: var(--lp-ink3);
4795
+ font-family: var(--lp-font-mono);
4796
+ }