@lemonppt/themes 0.1.7 → 0.2.1

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 (74) hide show
  1. package/dist/index.d.ts +173 -60
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +21 -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/dist/theme07/tokens.d.ts +99 -0
  30. package/dist/theme07/tokens.d.ts.map +1 -0
  31. package/dist/theme07/tokens.js +274 -0
  32. package/dist/theme07/tokens.js.map +1 -0
  33. package/dist/theme08/tokens.d.ts +103 -0
  34. package/dist/theme08/tokens.d.ts.map +1 -0
  35. package/dist/theme08/tokens.js +286 -0
  36. package/dist/theme08/tokens.js.map +1 -0
  37. package/dist/theme09/tokens.d.ts +128 -0
  38. package/dist/theme09/tokens.d.ts.map +1 -0
  39. package/dist/theme09/tokens.js +334 -0
  40. package/dist/theme09/tokens.js.map +1 -0
  41. package/dist/theme10/tokens.d.ts +87 -0
  42. package/dist/theme10/tokens.d.ts.map +1 -0
  43. package/dist/theme10/tokens.js +201 -0
  44. package/dist/theme10/tokens.js.map +1 -0
  45. package/package.json +2 -2
  46. package/src/theme01/styles.css +5371 -0
  47. package/src/theme02/styles.css +5017 -0
  48. package/src/theme03/styles.css +8355 -0
  49. package/src/theme04/styles.css +8758 -0
  50. package/src/theme05/styles.css +3601 -0
  51. package/src/theme06/styles.css +7122 -0
  52. package/src/theme07/styles.css +5546 -0
  53. package/src/theme08/styles.css +1225 -0
  54. package/src/theme09/styles.css +3950 -0
  55. package/src/theme10/styles.css +1721 -0
  56. package/dist/base/tokens.d.ts +0 -34
  57. package/dist/base/tokens.d.ts.map +0 -1
  58. package/dist/base/tokens.js +0 -37
  59. package/dist/base/tokens.js.map +0 -1
  60. package/dist/dark-tech/tokens.d.ts +0 -34
  61. package/dist/dark-tech/tokens.d.ts.map +0 -1
  62. package/dist/dark-tech/tokens.js +0 -37
  63. package/dist/dark-tech/tokens.js.map +0 -1
  64. package/dist/minimal/tokens.d.ts +0 -34
  65. package/dist/minimal/tokens.d.ts.map +0 -1
  66. package/dist/minimal/tokens.js +0 -34
  67. package/dist/minimal/tokens.js.map +0 -1
  68. package/dist/warm-business/tokens.d.ts +0 -34
  69. package/dist/warm-business/tokens.d.ts.map +0 -1
  70. package/dist/warm-business/tokens.js +0 -37
  71. package/dist/warm-business/tokens.js.map +0 -1
  72. package/src/base/styles.css +0 -3061
  73. package/src/dark-tech/styles.css +0 -2969
  74. package/src/warm-business/styles.css +0 -2848
@@ -0,0 +1,3601 @@
1
+ /* lemonPPT - AI-powered presentation generation
2
+ * Copyright (c) 2026 lemonforme
3
+ * SPDX-License-Identifier: AGPL-3.0-or-later
4
+ */
5
+
6
+ @keyframes lp-theme05-rise {
7
+ from { opacity: 0; transform: translateY(16px); }
8
+ to { opacity: 1; transform: translateY(0); }
9
+ }
10
+
11
+ .lp-deck {
12
+ position: relative;
13
+ width: 100%;
14
+ height: 100%;
15
+ display: flex;
16
+ align-items: center;
17
+ justify-content: center;
18
+ }
19
+
20
+ .lp-slide-wrapper {
21
+ position: absolute;
22
+ top: 0;
23
+ left: 0;
24
+ width: 100%;
25
+ height: 100%;
26
+ display: flex;
27
+ align-items: center;
28
+ justify-content: center;
29
+ opacity: 0;
30
+ z-index: 0;
31
+ }
32
+
33
+ .lp-slide-wrapper.enter,
34
+ .lp-slide-wrapper.leave {
35
+ pointer-events: none;
36
+ }
37
+
38
+ .lp-deck[data-lp-transition="none"] .lp-slide-wrapper {
39
+ transition: opacity 80ms ease;
40
+ transform: none;
41
+ }
42
+ .lp-deck[data-lp-transition="none"] .lp-slide-wrapper.active {
43
+ opacity: 1;
44
+ z-index: 2;
45
+ }
46
+
47
+ .lp-deck:not([data-lp-transition]) .lp-slide-wrapper,
48
+ .lp-deck[data-lp-transition="slide"] .lp-slide-wrapper {
49
+ transform: translateX(100%);
50
+ transition: transform 400ms ease-in-out, opacity 300ms ease;
51
+ }
52
+ .lp-deck:not([data-lp-transition]) .lp-slide-wrapper.active,
53
+ .lp-deck[data-lp-transition="slide"] .lp-slide-wrapper.active {
54
+ opacity: 1;
55
+ transform: translateX(0);
56
+ z-index: 2;
57
+ }
58
+
59
+ .lp-deck:not([data-lp-transition]) .lp-slide-wrapper.prev,
60
+ .lp-deck[data-lp-transition="slide"] .lp-slide-wrapper.prev {
61
+ opacity: 0;
62
+ transform: translateX(-100%);
63
+ z-index: 1;
64
+ }
65
+
66
+ @media (prefers-reduced-motion: reduce) {
67
+ .lp-slide-wrapper,
68
+ .lp-deck[data-lp-transition] .lp-slide-wrapper {
69
+ transition: none !important;
70
+ }
71
+ }
72
+
73
+ .lp-slide {
74
+ position: relative;
75
+ width: 1280px;
76
+ height: 720px;
77
+ overflow: hidden;
78
+ color: var(--lp-ink);
79
+ background:
80
+ radial-gradient(circle at 88% -8%, var(--lp-surface-strong), transparent 42%),
81
+ radial-gradient(circle at 12% 112%, var(--lp-surface), transparent 40%),
82
+ linear-gradient(155deg, var(--lp-bg-gradient-start) 0%, var(--lp-bg-gradient-end) 100%);
83
+ font-family: var(--lp-font);
84
+ }
85
+
86
+ .lp-rise {
87
+ animation: lp-theme05-rise 0.5s ease both;
88
+ }
89
+
90
+ /* ---- 通用版式元素 ---- */
91
+
92
+ .lp-theme05-kicker {
93
+ font-family: var(--lp-font-mono);
94
+ font-size: var(--lp-font-size-caption);
95
+ font-weight: 600;
96
+ letter-spacing: 0.12em;
97
+ text-transform: uppercase;
98
+ color: var(--lp-accent);
99
+ margin-bottom: 12px;
100
+ }
101
+
102
+ .lp-theme05-title {
103
+ font-size: var(--lp-font-size-h1);
104
+ font-weight: 800;
105
+ line-height: 1.12;
106
+ color: var(--lp-ink);
107
+ letter-spacing: -0.02em;
108
+ }
109
+
110
+ .lp-theme05-subtitle {
111
+ font-size: var(--lp-font-size-body);
112
+ font-weight: 400;
113
+ line-height: 1.5;
114
+ color: var(--lp-ink2);
115
+ margin-top: 14px;
116
+ }
117
+
118
+ .lp-theme05-underline {
119
+ width: 80px;
120
+ height: 4px;
121
+ background: var(--lp-accent);
122
+ margin-top: 18px;
123
+ border-radius: var(--lp-radius-small);
124
+ }
125
+
126
+ .lp-theme05-conclusion {
127
+ position: relative;
128
+ padding: 18px 22px;
129
+ background: var(--lp-surface);
130
+ border-left: 4px solid var(--lp-accent);
131
+ border-radius: 0 var(--lp-radius-medium) var(--lp-radius-medium) 0;
132
+ }
133
+
134
+ .lp-theme05-conclusion-value {
135
+ font-size: var(--lp-font-size-h2);
136
+ font-weight: 800;
137
+ color: var(--lp-accent);
138
+ line-height: 1.1;
139
+ }
140
+
141
+ .lp-theme05-conclusion-label {
142
+ font-size: var(--lp-font-size-body-small);
143
+ font-weight: 600;
144
+ color: var(--lp-ink);
145
+ margin-top: 4px;
146
+ }
147
+
148
+ .lp-theme05-conclusion-description {
149
+ font-size: var(--lp-font-size-body-small);
150
+ color: var(--lp-ink2);
151
+ line-height: 1.55;
152
+ margin-top: 8px;
153
+ }
154
+
155
+ .lp-theme05-footer {
156
+ position: absolute;
157
+ bottom: 0;
158
+ left: 0;
159
+ right: 0;
160
+ height: 48px;
161
+ padding: 0 54px;
162
+ display: flex;
163
+ align-items: center;
164
+ justify-content: space-between;
165
+ font-size: var(--lp-font-size-caption);
166
+ color: var(--lp-ink3);
167
+ border-top: 1px solid var(--lp-border);
168
+ }
169
+
170
+ .lp-theme05-footer-left,
171
+ .lp-theme05-footer-right {
172
+ pointer-events: auto;
173
+ }
174
+
175
+ .lp-theme05-spectrum-bar {
176
+ position: absolute;
177
+ bottom: 48px;
178
+ left: 0;
179
+ right: 0;
180
+ height: 6px;
181
+ display: flex;
182
+ pointer-events: none;
183
+ }
184
+
185
+ .lp-theme05-spectrum-bar span {
186
+ flex: 1;
187
+ height: 100%;
188
+ }
189
+
190
+ .lp-theme05-spectrum-bar span:nth-child(1) { background: #E85D4E; }
191
+ .lp-theme05-spectrum-bar span:nth-child(2) { background: #F5A623; }
192
+ .lp-theme05-spectrum-bar span:nth-child(3) { background: #0FA3B1; }
193
+ .lp-theme05-spectrum-bar span:nth-child(4) { background: #4A58D9; }
194
+ .lp-theme05-spectrum-bar span:nth-child(5) { background: #7C3AED; }
195
+
196
+ /* ---- 卡片 ---- */
197
+
198
+ .lp-theme05-card {
199
+ background: var(--lp-surface-solid);
200
+ border: 1px solid var(--lp-border);
201
+ border-radius: var(--lp-radius-medium);
202
+ box-shadow: var(--lp-shadow-sm);
203
+ padding: 10px;
204
+ }
205
+
206
+ .lp-theme05-card--accent {
207
+ background: var(--lp-accent);
208
+ border-color: var(--lp-accent);
209
+ color: var(--lp-text-inverse);
210
+ }
211
+
212
+ .lp-theme05-card--accent .lp-theme05-card-label,
213
+ .lp-theme05-card--accent .lp-theme05-card-value {
214
+ color: var(--lp-text-inverse);
215
+ }
216
+
217
+ .lp-theme05-card--coral { border-top: 4px solid #E85D4E; }
218
+ .lp-theme05-card--amber { border-top: 4px solid #F5A623; }
219
+ .lp-theme05-card--teal { border-top: 4px solid #0FA3B1; }
220
+ .lp-theme05-card--indigo { border-top: 4px solid #4A58D9; }
221
+ .lp-theme05-card--violet { border-top: 4px solid #7C3AED; }
222
+
223
+ .lp-theme05-card-value {
224
+ font-size: 32px;
225
+ font-weight: 800;
226
+ color: var(--lp-ink);
227
+ line-height: 1.1;
228
+ }
229
+
230
+ .lp-theme05-card-label {
231
+ font-size: var(--lp-font-size-caption);
232
+ font-weight: 600;
233
+ color: var(--lp-ink3);
234
+ text-transform: uppercase;
235
+ letter-spacing: 0.08em;
236
+ margin-top: 6px;
237
+ }
238
+
239
+ /* ---- 列表 ---- */
240
+
241
+ .lp-theme05-bullets {
242
+ list-style: none;
243
+ padding: 0;
244
+ margin: 0;
245
+ display: flex;
246
+ flex-direction: column;
247
+ gap: 16px;
248
+ }
249
+
250
+ .lp-theme05-bullet {
251
+ display: flex;
252
+ align-items: flex-start;
253
+ gap: 14px;
254
+ font-size: var(--lp-font-size-body);
255
+ line-height: 1.5;
256
+ color: var(--lp-ink2);
257
+ }
258
+
259
+ .lp-theme05-bullet-marker {
260
+ width: 8px;
261
+ height: 8px;
262
+ border-radius: 50%;
263
+ background: var(--lp-accent);
264
+ margin-top: 10px;
265
+ flex: none;
266
+ }
267
+
268
+ /* ---- 封面 ---- */
269
+
270
+ .lp-theme05-cover {
271
+ display: flex;
272
+ flex-direction: column;
273
+ justify-content: space-between;
274
+ padding: 92px 84px 96px;
275
+ }
276
+
277
+ .lp-theme05-cover-main {
278
+ max-width: 760px;
279
+ }
280
+
281
+ .lp-theme05-cover-title {
282
+ font-size: var(--lp-font-size-display-small);
283
+ font-weight: 900;
284
+ line-height: 1.05;
285
+ color: var(--lp-ink);
286
+ letter-spacing: -0.03em;
287
+ }
288
+
289
+ .lp-theme05-cover-metrics {
290
+ display: flex;
291
+ gap: 20px;
292
+ margin-top: 48px;
293
+ }
294
+
295
+ .lp-theme05-cover-metric {
296
+ background: var(--lp-surface-solid);
297
+ border: 1px solid var(--lp-border);
298
+ border-radius: var(--lp-radius-medium);
299
+ padding: 20px 24px;
300
+ min-width: 160px;
301
+ }
302
+
303
+ .lp-theme05-cover-metric.accent {
304
+ background: var(--lp-accent);
305
+ border-color: var(--lp-accent);
306
+ color: var(--lp-text-inverse);
307
+ }
308
+
309
+ .lp-theme05-cover-metric-value {
310
+ font-size: var(--lp-font-size-h2);
311
+ font-weight: 800;
312
+ line-height: 1.1;
313
+ }
314
+
315
+ .lp-theme05-cover-metric-label {
316
+ font-size: var(--lp-font-size-caption);
317
+ font-weight: 600;
318
+ text-transform: uppercase;
319
+ letter-spacing: 0.08em;
320
+ margin-top: 6px;
321
+ opacity: 0.85;
322
+ }
323
+
324
+ /* ---- 目录 ---- */
325
+
326
+ .lp-theme05-toc {
327
+ padding: 92px 84px 96px;
328
+ display: flex;
329
+ flex-direction: column;
330
+ }
331
+
332
+ .lp-theme05-toc-grid {
333
+ display: grid;
334
+ grid-template-columns: repeat(2, 1fr);
335
+ gap: 24px;
336
+ margin-top: 44px;
337
+ }
338
+
339
+ .lp-theme05-toc-item {
340
+ background: var(--lp-surface-solid);
341
+ border: 1px solid var(--lp-border);
342
+ border-radius: var(--lp-radius-medium);
343
+ padding: 28px;
344
+ display: flex;
345
+ align-items: flex-start;
346
+ gap: 18px;
347
+ }
348
+
349
+ .lp-theme05-toc-number {
350
+ width: 44px;
351
+ height: 44px;
352
+ border-radius: var(--lp-radius-small);
353
+ background: var(--lp-surface);
354
+ display: flex;
355
+ align-items: center;
356
+ justify-content: center;
357
+ font-family: var(--lp-font-mono);
358
+ font-size: var(--lp-font-size-h3);
359
+ font-weight: 700;
360
+ color: var(--lp-accent);
361
+ flex: none;
362
+ }
363
+
364
+ .lp-theme05-toc-title {
365
+ font-size: var(--lp-font-size-h3);
366
+ font-weight: 700;
367
+ color: var(--lp-ink);
368
+ line-height: 1.25;
369
+ }
370
+
371
+ .lp-theme05-toc-page {
372
+ font-family: var(--lp-font-mono);
373
+ font-size: var(--lp-font-size-caption);
374
+ color: var(--lp-ink3);
375
+ margin-top: 6px;
376
+ }
377
+
378
+ /* ---- 章节 ---- */
379
+
380
+ .lp-theme05-chapter {
381
+ display: flex;
382
+ flex-direction: column;
383
+ justify-content: center;
384
+ padding: 92px 84px 96px;
385
+ }
386
+
387
+ .lp-theme05-chapter-number {
388
+ font-family: var(--lp-font-mono);
389
+ font-size: 120px;
390
+ font-weight: 900;
391
+ line-height: 1;
392
+ color: transparent;
393
+ -webkit-text-stroke: 2px var(--lp-accent);
394
+ margin-bottom: 18px;
395
+ }
396
+
397
+ .lp-theme05-chapter-title {
398
+ font-size: var(--lp-font-size-display-small);
399
+ font-weight: 900;
400
+ line-height: 1.08;
401
+ color: var(--lp-ink);
402
+ letter-spacing: -0.03em;
403
+ }
404
+
405
+ /* ---- 内容 ---- */
406
+
407
+ .lp-theme05-content {
408
+ padding: 92px 84px 96px;
409
+ display: grid;
410
+ grid-template-columns: 1fr 1fr;
411
+ gap: 64px;
412
+ align-items: center;
413
+ }
414
+
415
+ .lp-theme05-content-body {
416
+ display: flex;
417
+ flex-direction: column;
418
+ }
419
+
420
+ .lp-theme05-content-aside {
421
+ display: flex;
422
+ flex-direction: column;
423
+ gap: 20px;
424
+ }
425
+
426
+ /* ---- 指标 ---- */
427
+
428
+ .lp-theme05-metric {
429
+ padding: 56px 84px 52px;
430
+ display: flex;
431
+ flex-direction: column;
432
+ justify-content: center;
433
+ }
434
+
435
+ .lp-theme05-metric-hero {
436
+ display: flex;
437
+ align-items: baseline;
438
+ gap: 16px;
439
+ margin-top: 26px;
440
+ }
441
+
442
+ .lp-theme05-metric-hero-value {
443
+ font-size: var(--lp-font-size-display);
444
+ font-weight: 900;
445
+ line-height: 1;
446
+ color: var(--lp-accent);
447
+ letter-spacing: -0.04em;
448
+ }
449
+
450
+ .lp-theme05-metric-hero-unit {
451
+ font-size: var(--lp-font-size-h2);
452
+ font-weight: 700;
453
+ color: var(--lp-ink2);
454
+ }
455
+
456
+ .lp-theme05-metric-grid {
457
+ display: grid;
458
+ grid-template-columns: repeat(4, 1fr);
459
+ gap: 10px;
460
+ margin-top: 2px;
461
+ min-height: 0;
462
+ }
463
+
464
+ /* ---- 图表 ---- */
465
+
466
+ .lp-theme05-chart {
467
+ padding: 92px 84px 96px;
468
+ display: grid;
469
+ grid-template-columns: 1.4fr 0.6fr;
470
+ gap: 48px;
471
+ }
472
+
473
+ .lp-theme05-chart-main {
474
+ display: flex;
475
+ flex-direction: column;
476
+ }
477
+
478
+ .lp-theme05-chart-canvas {
479
+ flex: 1;
480
+ min-height: 0;
481
+ margin-top: 24px;
482
+ }
483
+
484
+ .lp-theme05-chart-aside {
485
+ display: flex;
486
+ flex-direction: column;
487
+ gap: 20px;
488
+ padding-top: 52px;
489
+ }
490
+
491
+ /* ---- 排名 ---- */
492
+
493
+ .lp-theme05-rank {
494
+ padding: 92px 84px 92px;
495
+ display: flex;
496
+ flex-direction: column;
497
+ }
498
+
499
+ .lp-theme05-rank-rows {
500
+ display: flex;
501
+ flex-direction: column;
502
+ gap: 10px;
503
+ margin-top: 20px;
504
+ min-height: 0;
505
+ }
506
+
507
+ .lp-theme05-rank-row {
508
+ display: grid;
509
+ grid-template-columns: 48px 1fr auto auto;
510
+ align-items: center;
511
+ gap: 20px;
512
+ padding: 15px 20px;
513
+ background: var(--lp-surface-solid);
514
+ border: 1px solid var(--lp-border);
515
+ border-radius: var(--lp-radius-medium);
516
+ }
517
+
518
+ .lp-theme05-rank-rank {
519
+ width: 36px;
520
+ height: 36px;
521
+ border-radius: var(--lp-radius-small);
522
+ background: var(--lp-surface);
523
+ display: flex;
524
+ align-items: center;
525
+ justify-content: center;
526
+ font-family: var(--lp-font-mono);
527
+ font-weight: 700;
528
+ color: var(--lp-accent);
529
+ }
530
+
531
+ .lp-theme05-rank-name {
532
+ font-size: var(--lp-font-size-body);
533
+ font-weight: 700;
534
+ color: var(--lp-ink);
535
+ }
536
+
537
+ .lp-theme05-rank-value {
538
+ font-family: var(--lp-font-mono);
539
+ font-size: var(--lp-font-size-h3);
540
+ font-weight: 700;
541
+ color: var(--lp-ink);
542
+ }
543
+
544
+ .lp-theme05-rank-change {
545
+ font-family: var(--lp-font-mono);
546
+ font-size: var(--lp-font-size-caption);
547
+ font-weight: 700;
548
+ padding: 4px 8px;
549
+ border-radius: var(--lp-radius-small);
550
+ background: var(--lp-surface);
551
+ color: var(--lp-ink3);
552
+ }
553
+
554
+ .lp-theme05-rank-change.positive {
555
+ background: rgba(34, 197, 94, 0.16);
556
+ color: var(--lp-green);
557
+ }
558
+
559
+ .lp-theme05-rank-change.negative {
560
+ background: rgba(232, 93, 78, 0.16);
561
+ color: var(--lp-red);
562
+ }
563
+
564
+ /* ---- 热力图 ---- */
565
+
566
+ .lp-theme05-heatmap {
567
+ padding: 92px 84px 96px;
568
+ display: flex;
569
+ flex-direction: column;
570
+ }
571
+
572
+ .lp-theme05-heatmap-grid {
573
+ display: grid;
574
+ grid-template-columns: repeat(12, 1fr);
575
+ gap: 6px;
576
+ margin-top: 36px;
577
+ }
578
+
579
+ .lp-theme05-heatmap-cell {
580
+ aspect-ratio: 1;
581
+ border-radius: var(--lp-radius-small);
582
+ display: flex;
583
+ align-items: center;
584
+ justify-content: center;
585
+ font-family: var(--lp-font-mono);
586
+ font-size: 11px;
587
+ font-weight: 700;
588
+ color: var(--lp-white-alpha-90);
589
+ }
590
+
591
+ .lp-theme05-heatmap-labels {
592
+ display: grid;
593
+ grid-template-columns: repeat(12, 1fr);
594
+ gap: 6px;
595
+ margin-top: 10px;
596
+ }
597
+
598
+ .lp-theme05-heatmap-label {
599
+ text-align: center;
600
+ font-size: 11px;
601
+ color: var(--lp-ink3);
602
+ }
603
+
604
+ /* ---- 瀑布图 ---- */
605
+
606
+ .lp-theme05-waterfall {
607
+ padding: 92px 84px 96px;
608
+ display: grid;
609
+ grid-template-columns: 1.2fr 0.8fr;
610
+ gap: 48px;
611
+ }
612
+
613
+ .lp-theme05-waterfall-main {
614
+ display: flex;
615
+ flex-direction: column;
616
+ }
617
+
618
+ .lp-theme05-waterfall-canvas {
619
+ flex: 1;
620
+ min-height: 0;
621
+ margin-top: 24px;
622
+ }
623
+
624
+ .lp-theme05-waterfall-items {
625
+ display: flex;
626
+ flex-direction: column;
627
+ gap: 14px;
628
+ margin-top: 52px;
629
+ }
630
+
631
+ .lp-theme05-waterfall-item {
632
+ display: flex;
633
+ align-items: center;
634
+ justify-content: space-between;
635
+ padding: 14px 18px;
636
+ background: var(--lp-surface-solid);
637
+ border: 1px solid var(--lp-border);
638
+ border-radius: var(--lp-radius-medium);
639
+ }
640
+
641
+ .lp-theme05-waterfall-item-name {
642
+ font-size: var(--lp-font-size-body-small);
643
+ font-weight: 600;
644
+ color: var(--lp-ink);
645
+ }
646
+
647
+ .lp-theme05-waterfall-item-value {
648
+ font-family: var(--lp-font-mono);
649
+ font-size: var(--lp-font-size-body);
650
+ font-weight: 700;
651
+ color: var(--lp-accent);
652
+ }
653
+
654
+ /* ---- 引用 ---- */
655
+
656
+ .lp-theme05-quote {
657
+ padding: 92px 120px 96px;
658
+ display: flex;
659
+ align-items: center;
660
+ gap: 48px;
661
+ }
662
+
663
+ .lp-theme05-quote-bar {
664
+ width: 8px;
665
+ height: 220px;
666
+ border-radius: var(--lp-radius-large);
667
+ background: linear-gradient(180deg, var(--lp-accent) 0%, var(--lp-accent-2) 50%, var(--lp-accent-cool) 100%);
668
+ flex: none;
669
+ }
670
+
671
+ .lp-theme05-quote-text {
672
+ font-size: var(--lp-font-size-h2);
673
+ font-weight: 700;
674
+ line-height: 1.35;
675
+ color: var(--lp-ink);
676
+ }
677
+
678
+ .lp-theme05-quote-source {
679
+ font-size: var(--lp-font-size-body-small);
680
+ color: var(--lp-ink3);
681
+ margin-top: 24px;
682
+ }
683
+
684
+ /* ---- 图文 ---- */
685
+
686
+ .lp-theme05-image {
687
+ padding: 92px 84px 96px;
688
+ display: grid;
689
+ grid-template-columns: 1fr 1fr;
690
+ gap: 48px;
691
+ align-items: center;
692
+ }
693
+
694
+ .lp-theme05-image-visual {
695
+ position: relative;
696
+ border-radius: var(--lp-radius-medium);
697
+ overflow: hidden;
698
+ height: 480px;
699
+ background: var(--lp-surface);
700
+ }
701
+
702
+ .lp-theme05-image-visual img {
703
+ width: 100%;
704
+ height: 100%;
705
+ object-fit: cover;
706
+ }
707
+
708
+ .lp-theme05-image-annotation {
709
+ position: absolute;
710
+ bottom: 20px;
711
+ left: 20px;
712
+ right: 20px;
713
+ padding: 16px 20px;
714
+ background: rgba(21, 21, 26, 0.72);
715
+ backdrop-filter: blur(8px);
716
+ border-radius: var(--lp-radius-medium);
717
+ color: var(--lp-white-alpha-90);
718
+ }
719
+
720
+ .lp-theme05-image-annotation-value {
721
+ font-size: var(--lp-font-size-h2);
722
+ font-weight: 800;
723
+ color: var(--lp-white-alpha-90);
724
+ }
725
+
726
+ .lp-theme05-image-annotation-label {
727
+ font-size: var(--lp-font-size-caption);
728
+ opacity: 0.85;
729
+ margin-top: 4px;
730
+ }
731
+
732
+ .lp-theme05-image-placeholder {
733
+ width: 100%;
734
+ height: 100%;
735
+ display: flex;
736
+ flex-direction: column;
737
+ align-items: center;
738
+ justify-content: center;
739
+ gap: 12px;
740
+ color: var(--lp-ink3);
741
+ border: 2px dashed var(--lp-border);
742
+ border-radius: var(--lp-radius-medium);
743
+ cursor: pointer;
744
+ transition: border-color 0.15s, color 0.15s, background 0.15s;
745
+ }
746
+
747
+ .lp-theme05-image-placeholder:hover {
748
+ border-color: var(--lp-accent);
749
+ color: var(--lp-accent);
750
+ background: var(--lp-overlay);
751
+ }
752
+
753
+ /* ---- 双数对比 ---- */
754
+
755
+ .lp-theme05-versus {
756
+ padding: 92px 84px 96px;
757
+ display: flex;
758
+ flex-direction: column;
759
+ }
760
+
761
+ .lp-theme05-versus-head {
762
+ margin-bottom: 44px;
763
+ }
764
+
765
+ .lp-theme05-versus-main {
766
+ flex: 1;
767
+ display: flex;
768
+ align-items: center;
769
+ justify-content: center;
770
+ gap: 40px;
771
+ min-height: 0;
772
+ }
773
+
774
+ .lp-theme05-versus-card {
775
+ flex: 1;
776
+ max-width: 420px;
777
+ padding: 44px 40px;
778
+ background: var(--lp-surface-solid);
779
+ border: 1px solid var(--lp-border);
780
+ border-radius: var(--lp-radius-medium);
781
+ box-shadow: var(--lp-shadow-small);
782
+ border-top: 6px solid var(--lp-accent);
783
+ }
784
+
785
+ .lp-theme05-versus-card--coral { border-top-color: #E85D4E; }
786
+ .lp-theme05-versus-card--amber { border-top-color: #F5A623; }
787
+ .lp-theme05-versus-card--teal { border-top-color: #0FA3B1; }
788
+ .lp-theme05-versus-card--indigo { border-top-color: #4A58D9; }
789
+ .lp-theme05-versus-card--violet { border-top-color: #7C3AED; }
790
+
791
+ .lp-theme05-versus-card-label {
792
+ font-size: var(--lp-font-size-body);
793
+ color: var(--lp-ink2);
794
+ margin-bottom: 18px;
795
+ line-height: 1.4;
796
+ }
797
+
798
+ .lp-theme05-versus-card-value-row {
799
+ display: flex;
800
+ align-items: baseline;
801
+ gap: 10px;
802
+ }
803
+
804
+ .lp-theme05-versus-card-value {
805
+ font-size: var(--lp-font-size-display);
806
+ font-weight: 900;
807
+ color: var(--lp-ink);
808
+ letter-spacing: -0.03em;
809
+ line-height: 1;
810
+ }
811
+
812
+ .lp-theme05-versus-card-unit {
813
+ font-size: var(--lp-font-size-h3);
814
+ font-weight: 700;
815
+ color: var(--lp-ink2);
816
+ }
817
+
818
+ .lp-theme05-versus-badge {
819
+ width: 84px;
820
+ height: 84px;
821
+ border-radius: 50%;
822
+ background: var(--lp-surface-strong);
823
+ border: 1px solid var(--lp-border);
824
+ display: flex;
825
+ align-items: center;
826
+ justify-content: center;
827
+ flex: none;
828
+ }
829
+
830
+ .lp-theme05-versus-badge-text {
831
+ font-family: var(--lp-font-mono);
832
+ font-size: 28px;
833
+ font-weight: 800;
834
+ color: var(--lp-ink3);
835
+ letter-spacing: 0.04em;
836
+ }
837
+
838
+ .lp-theme05-versus-footnote {
839
+ margin-top: 32px;
840
+ font-size: var(--lp-font-size-caption);
841
+ color: var(--lp-ink3);
842
+ text-align: center;
843
+ }
844
+
845
+ /* ---- 流程步骤 ---- */
846
+
847
+ .lp-theme05-process {
848
+ padding: 92px 84px 96px;
849
+ display: flex;
850
+ flex-direction: column;
851
+ }
852
+
853
+ .lp-theme05-topbar {
854
+ display: flex;
855
+ align-items: center;
856
+ justify-content: space-between;
857
+ margin-bottom: 36px;
858
+ }
859
+
860
+ .lp-theme05-tag {
861
+ display: inline-flex;
862
+ align-items: center;
863
+ gap: 8px;
864
+ font-family: var(--lp-font-mono);
865
+ font-size: var(--lp-font-size-caption);
866
+ font-weight: 700;
867
+ letter-spacing: 0.08em;
868
+ text-transform: uppercase;
869
+ color: var(--lp-accent);
870
+ padding: 6px 12px;
871
+ background: var(--lp-surface);
872
+ border-radius: var(--lp-radius-small);
873
+ }
874
+
875
+ .lp-theme05-topbar-right {
876
+ font-size: var(--lp-font-size-caption);
877
+ color: var(--lp-ink3);
878
+ font-family: var(--lp-font-mono);
879
+ }
880
+
881
+ .lp-theme05-process-main {
882
+ flex: 1;
883
+ display: flex;
884
+ flex-direction: column;
885
+ min-height: 0;
886
+ }
887
+
888
+ .lp-theme05-process-head {
889
+ margin-bottom: 44px;
890
+ }
891
+
892
+ .lp-theme05-process-track {
893
+ flex: 1;
894
+ display: flex;
895
+ align-items: stretch;
896
+ gap: 16px;
897
+ min-height: 0;
898
+ }
899
+
900
+ .lp-theme05-process-step {
901
+ flex: 1;
902
+ display: flex;
903
+ align-items: stretch;
904
+ min-width: 0;
905
+ }
906
+
907
+ .lp-theme05-process-card {
908
+ flex: 1;
909
+ padding: 28px 24px;
910
+ background: var(--lp-surface-solid);
911
+ border: 1px solid var(--lp-border);
912
+ border-radius: var(--lp-radius-medium);
913
+ display: flex;
914
+ flex-direction: column;
915
+ gap: 16px;
916
+ }
917
+
918
+ .lp-theme05-process-card-header {
919
+ display: flex;
920
+ align-items: center;
921
+ gap: 14px;
922
+ }
923
+
924
+ .lp-theme05-process-node-number {
925
+ width: 48px;
926
+ height: 48px;
927
+ border-radius: 50%;
928
+ background: var(--lp-accent);
929
+ color: var(--lp-text-inverse);
930
+ font-family: var(--lp-font-mono);
931
+ font-size: 18px;
932
+ font-weight: 800;
933
+ display: flex;
934
+ align-items: center;
935
+ justify-content: center;
936
+ flex: none;
937
+ }
938
+
939
+ .lp-theme05-process-step-title {
940
+ font-size: var(--lp-font-size-h3);
941
+ font-weight: 800;
942
+ color: var(--lp-ink);
943
+ line-height: 1.25;
944
+ }
945
+
946
+ .lp-theme05-process-step-description {
947
+ font-size: var(--lp-font-size-body-small);
948
+ color: var(--lp-ink2);
949
+ line-height: 1.55;
950
+ }
951
+
952
+ .lp-theme05-process-arrow {
953
+ width: 24px;
954
+ flex: none;
955
+ align-self: center;
956
+ height: 2px;
957
+ background: var(--lp-border);
958
+ position: relative;
959
+ }
960
+
961
+ .lp-theme05-process-arrow::after {
962
+ content: '';
963
+ position: absolute;
964
+ right: 0;
965
+ top: 50%;
966
+ transform: translateY(-50%);
967
+ width: 0;
968
+ height: 0;
969
+ border-top: 5px solid transparent;
970
+ border-bottom: 5px solid transparent;
971
+ border-left: 7px solid var(--lp-border);
972
+ }
973
+
974
+ /* ---- 时间轴 ---- */
975
+
976
+ .lp-theme05-timeline {
977
+ padding: 92px 84px 96px;
978
+ display: flex;
979
+ flex-direction: column;
980
+ }
981
+
982
+ .lp-theme05-timeline-head {
983
+ margin-bottom: 48px;
984
+ }
985
+
986
+ .lp-theme05-timeline-track {
987
+ position: relative;
988
+ display: flex;
989
+ align-items: flex-start;
990
+ justify-content: space-between;
991
+ gap: 24px;
992
+ margin-bottom: 40px;
993
+ padding: 0 16px;
994
+ }
995
+
996
+ .lp-theme05-timeline-line {
997
+ position: absolute;
998
+ top: 20px;
999
+ left: 40px;
1000
+ right: 40px;
1001
+ height: 2px;
1002
+ background: var(--lp-border);
1003
+ }
1004
+
1005
+ .lp-theme05-timeline-node {
1006
+ position: relative;
1007
+ z-index: 1;
1008
+ display: flex;
1009
+ flex-direction: column;
1010
+ align-items: center;
1011
+ gap: 14px;
1012
+ flex: 1;
1013
+ }
1014
+
1015
+ .lp-theme05-timeline-dot {
1016
+ width: 42px;
1017
+ height: 42px;
1018
+ border-radius: 50%;
1019
+ display: flex;
1020
+ align-items: center;
1021
+ justify-content: center;
1022
+ font-family: var(--lp-font-mono);
1023
+ font-size: 16px;
1024
+ font-weight: 800;
1025
+ color: var(--lp-white-alpha-90);
1026
+ background: var(--lp-coral);
1027
+ }
1028
+
1029
+ .lp-theme05-timeline-dot--coral { background: var(--lp-coral); }
1030
+ .lp-theme05-timeline-dot--amber { background: var(--lp-amber); }
1031
+ .lp-theme05-timeline-dot--teal { background: var(--lp-teal); }
1032
+ .lp-theme05-timeline-dot--indigo { background: var(--lp-indigo); }
1033
+ .lp-theme05-timeline-dot--violet { background: var(--lp-violet); }
1034
+
1035
+ .lp-theme05-timeline-period {
1036
+ font-family: var(--lp-font-mono);
1037
+ font-size: var(--lp-font-size-caption);
1038
+ font-weight: 700;
1039
+ color: var(--lp-ink2);
1040
+ letter-spacing: 0.04em;
1041
+ }
1042
+
1043
+ .lp-theme05-timeline-grid {
1044
+ flex: 1;
1045
+ display: flex;
1046
+ gap: 20px;
1047
+ min-height: 0;
1048
+ }
1049
+
1050
+ .lp-theme05-timeline-card {
1051
+ flex: 1;
1052
+ padding: 28px 24px;
1053
+ display: flex;
1054
+ flex-direction: column;
1055
+ gap: 14px;
1056
+ }
1057
+
1058
+ .lp-theme05-timeline-card-header {
1059
+ display: flex;
1060
+ align-items: center;
1061
+ gap: 12px;
1062
+ }
1063
+
1064
+ .lp-theme05-timeline-card-number {
1065
+ font-family: var(--lp-font-mono);
1066
+ font-size: 22px;
1067
+ font-weight: 800;
1068
+ color: var(--lp-ink3);
1069
+ }
1070
+
1071
+ .lp-theme05-timeline-badge {
1072
+ font-size: var(--lp-font-size-caption);
1073
+ font-weight: 700;
1074
+ color: var(--lp-accent);
1075
+ padding: 4px 10px;
1076
+ background: var(--lp-surface);
1077
+ border-radius: var(--lp-radius-small);
1078
+ text-transform: uppercase;
1079
+ letter-spacing: 0.06em;
1080
+ }
1081
+
1082
+ .lp-theme05-timeline-card-title {
1083
+ font-size: var(--lp-font-size-h3);
1084
+ font-weight: 800;
1085
+ color: var(--lp-ink);
1086
+ line-height: 1.25;
1087
+ }
1088
+
1089
+ .lp-theme05-timeline-card-desc {
1090
+ font-size: var(--lp-font-size-body-small);
1091
+ color: var(--lp-ink2);
1092
+ line-height: 1.55;
1093
+ }
1094
+
1095
+ .lp-theme05-timeline-footnote {
1096
+ margin-top: 24px;
1097
+ font-size: var(--lp-font-size-caption);
1098
+ color: var(--lp-ink3);
1099
+ text-align: center;
1100
+ }
1101
+
1102
+ /* ---- 矩阵 ---- */
1103
+
1104
+ .lp-theme05-matrix {
1105
+ padding: 92px 84px 96px;
1106
+ display: flex;
1107
+ flex-direction: column;
1108
+ }
1109
+
1110
+ .lp-theme05-matrix-head {
1111
+ margin-bottom: 40px;
1112
+ }
1113
+
1114
+ .lp-theme05-matrix-body {
1115
+ flex: 1;
1116
+ display: flex;
1117
+ gap: 20px;
1118
+ min-height: 0;
1119
+ }
1120
+
1121
+ .lp-theme05-matrix-yaxis {
1122
+ width: 24px;
1123
+ display: flex;
1124
+ flex-direction: column;
1125
+ align-items: center;
1126
+ justify-content: space-between;
1127
+ padding: 8px 0;
1128
+ }
1129
+
1130
+ .lp-theme05-matrix-yaxis-high,
1131
+ .lp-theme05-matrix-yaxis-low {
1132
+ font-size: var(--lp-font-size-caption);
1133
+ font-weight: 700;
1134
+ color: var(--lp-ink3);
1135
+ writing-mode: vertical-rl;
1136
+ text-orientation: mixed;
1137
+ letter-spacing: 0.04em;
1138
+ }
1139
+
1140
+ .lp-theme05-matrix-yaxis-line {
1141
+ flex: 1;
1142
+ width: 2px;
1143
+ background: var(--lp-border);
1144
+ margin: 8px 0;
1145
+ }
1146
+
1147
+ .lp-theme05-matrix-grid {
1148
+ flex: 1;
1149
+ display: grid;
1150
+ grid-template-columns: repeat(2, 1fr);
1151
+ grid-template-rows: repeat(2, 1fr);
1152
+ gap: 16px;
1153
+ min-height: 0;
1154
+ }
1155
+
1156
+ .lp-theme05-matrix-card {
1157
+ padding: 28px 24px;
1158
+ display: flex;
1159
+ flex-direction: column;
1160
+ gap: 10px;
1161
+ }
1162
+
1163
+ .lp-theme05-matrix-card-title {
1164
+ font-size: var(--lp-font-size-h3);
1165
+ font-weight: 800;
1166
+ color: var(--lp-ink);
1167
+ line-height: 1.25;
1168
+ }
1169
+
1170
+ .lp-theme05-matrix-card-desc {
1171
+ font-size: var(--lp-font-size-body-small);
1172
+ color: var(--lp-ink2);
1173
+ line-height: 1.55;
1174
+ }
1175
+
1176
+ .lp-theme05-matrix-xaxis {
1177
+ display: flex;
1178
+ align-items: center;
1179
+ justify-content: space-between;
1180
+ gap: 12px;
1181
+ margin-top: 16px;
1182
+ padding-left: 44px;
1183
+ font-size: var(--lp-font-size-caption);
1184
+ font-weight: 700;
1185
+ color: var(--lp-ink3);
1186
+ }
1187
+
1188
+ .lp-theme05-matrix-xaxis-line {
1189
+ flex: 1;
1190
+ height: 2px;
1191
+ background: var(--lp-border);
1192
+ }
1193
+
1194
+ .lp-theme05-matrix-footnote {
1195
+ margin-top: 16px;
1196
+ font-size: var(--lp-font-size-caption);
1197
+ color: var(--lp-ink3);
1198
+ text-align: center;
1199
+ }
1200
+
1201
+ /* ---- 四象限 ---- */
1202
+
1203
+ .lp-theme05-quadrant {
1204
+ padding: 92px 84px 96px;
1205
+ display: flex;
1206
+ flex-direction: column;
1207
+ }
1208
+
1209
+ .lp-theme05-quadrant-head {
1210
+ margin-bottom: 40px;
1211
+ }
1212
+
1213
+ .lp-theme05-quadrant-wrap {
1214
+ flex: 1;
1215
+ display: grid;
1216
+ grid-template-columns: 28px 1fr;
1217
+ grid-template-rows: 1fr 28px;
1218
+ gap: 12px;
1219
+ min-height: 0;
1220
+ }
1221
+
1222
+ .lp-theme05-quadrant-axis {
1223
+ display: flex;
1224
+ flex-direction: column;
1225
+ align-items: center;
1226
+ justify-content: space-between;
1227
+ gap: 8px;
1228
+ }
1229
+
1230
+ .lp-theme05-quadrant-axis--y {
1231
+ grid-row: 1 / 2;
1232
+ grid-column: 1 / 2;
1233
+ }
1234
+
1235
+ .lp-theme05-quadrant-axis--x {
1236
+ grid-row: 2 / 3;
1237
+ grid-column: 2 / 3;
1238
+ flex-direction: row;
1239
+ }
1240
+
1241
+ .lp-theme05-quadrant-axis-label {
1242
+ font-size: var(--lp-font-size-caption);
1243
+ font-weight: 700;
1244
+ color: var(--lp-accent);
1245
+ letter-spacing: 0.06em;
1246
+ text-transform: uppercase;
1247
+ }
1248
+
1249
+ .lp-theme05-quadrant-axis-end {
1250
+ font-size: var(--lp-font-size-caption);
1251
+ color: var(--lp-ink3);
1252
+ }
1253
+
1254
+ .lp-theme05-quadrant-grid {
1255
+ grid-row: 1 / 2;
1256
+ grid-column: 2 / 3;
1257
+ display: grid;
1258
+ grid-template-columns: repeat(2, 1fr);
1259
+ grid-template-rows: repeat(2, 1fr);
1260
+ gap: 16px;
1261
+ min-height: 0;
1262
+ }
1263
+
1264
+ .lp-theme05-quadrant-card {
1265
+ padding: 24px;
1266
+ display: flex;
1267
+ flex-direction: column;
1268
+ gap: 10px;
1269
+ min-height: 0;
1270
+ }
1271
+
1272
+ .lp-theme05-quadrant-card-head {
1273
+ display: flex;
1274
+ align-items: center;
1275
+ gap: 10px;
1276
+ }
1277
+
1278
+ .lp-theme05-quadrant-dot {
1279
+ width: 10px;
1280
+ height: 10px;
1281
+ border-radius: 50%;
1282
+ flex: none;
1283
+ }
1284
+
1285
+ .lp-theme05-quadrant-card-title {
1286
+ flex: 1;
1287
+ font-size: var(--lp-font-size-h3);
1288
+ font-weight: 800;
1289
+ color: var(--lp-ink);
1290
+ line-height: 1.25;
1291
+ }
1292
+
1293
+ .lp-theme05-quadrant-card-number {
1294
+ font-family: var(--lp-font-mono);
1295
+ font-size: 18px;
1296
+ font-weight: 800;
1297
+ color: var(--lp-ink3);
1298
+ }
1299
+
1300
+ .lp-theme05-quadrant-card-desc {
1301
+ font-size: var(--lp-font-size-body-small);
1302
+ color: var(--lp-ink2);
1303
+ line-height: 1.5;
1304
+ }
1305
+
1306
+ .lp-theme05-quadrant-tags {
1307
+ display: flex;
1308
+ flex-wrap: wrap;
1309
+ gap: 6px;
1310
+ margin-top: auto;
1311
+ padding-top: 8px;
1312
+ }
1313
+
1314
+ .lp-theme05-quadrant-tag {
1315
+ font-size: 10px;
1316
+ font-weight: 700;
1317
+ color: var(--lp-ink2);
1318
+ padding: 4px 8px;
1319
+ background: var(--lp-surface);
1320
+ border: 1px solid var(--lp-border);
1321
+ border-radius: var(--lp-radius-small);
1322
+ }
1323
+
1324
+ .lp-theme05-quadrant-footnote {
1325
+ margin-top: 16px;
1326
+ font-size: var(--lp-font-size-caption);
1327
+ color: var(--lp-ink3);
1328
+ text-align: center;
1329
+ }
1330
+
1331
+ /* ---- 风险研判 ---- */
1332
+
1333
+ .lp-theme05-risk {
1334
+ padding: 92px 84px 96px;
1335
+ display: flex;
1336
+ flex-direction: column;
1337
+ }
1338
+
1339
+ .lp-theme05-risk-head {
1340
+ margin-bottom: 40px;
1341
+ }
1342
+
1343
+ .lp-theme05-risk-title {
1344
+ font-size: var(--lp-font-size-display);
1345
+ font-weight: 900;
1346
+ color: var(--lp-ink);
1347
+ letter-spacing: -0.02em;
1348
+ line-height: 1.1;
1349
+ }
1350
+
1351
+ .lp-theme05-risk-subtitle {
1352
+ margin-top: 12px;
1353
+ font-size: var(--lp-font-size-body);
1354
+ color: var(--lp-ink2);
1355
+ line-height: 1.5;
1356
+ }
1357
+
1358
+ .lp-theme05-risk-grid {
1359
+ flex: 1;
1360
+ display: grid;
1361
+ grid-template-columns: repeat(2, 1fr);
1362
+ grid-template-rows: repeat(2, 1fr);
1363
+ gap: 16px;
1364
+ min-height: 0;
1365
+ }
1366
+
1367
+ .lp-theme05-risk-card {
1368
+ padding: 24px;
1369
+ display: flex;
1370
+ flex-direction: column;
1371
+ gap: 16px;
1372
+ min-height: 0;
1373
+ }
1374
+
1375
+ .lp-theme05-risk-card-header {
1376
+ display: flex;
1377
+ align-items: flex-start;
1378
+ justify-content: space-between;
1379
+ gap: 12px;
1380
+ }
1381
+
1382
+ .lp-theme05-risk-card-risk {
1383
+ font-size: var(--lp-font-size-h3);
1384
+ font-weight: 800;
1385
+ color: var(--lp-ink);
1386
+ line-height: 1.25;
1387
+ }
1388
+
1389
+ .lp-theme05-risk-card-index {
1390
+ font-family: var(--lp-font-mono);
1391
+ font-size: 18px;
1392
+ font-weight: 800;
1393
+ color: var(--lp-ink3);
1394
+ }
1395
+
1396
+ .lp-theme05-risk-card-body {
1397
+ display: flex;
1398
+ flex-direction: column;
1399
+ gap: 10px;
1400
+ }
1401
+
1402
+ .lp-theme05-risk-card-row {
1403
+ display: flex;
1404
+ gap: 10px;
1405
+ }
1406
+
1407
+ .lp-theme05-risk-card-label {
1408
+ flex: none;
1409
+ width: 64px;
1410
+ font-size: var(--lp-font-size-caption);
1411
+ font-weight: 700;
1412
+ color: var(--lp-ink3);
1413
+ text-transform: uppercase;
1414
+ letter-spacing: 0.04em;
1415
+ }
1416
+
1417
+ .lp-theme05-risk-card-impact {
1418
+ font-size: var(--lp-font-size-body-small);
1419
+ font-weight: 700;
1420
+ color: var(--lp-accent);
1421
+ }
1422
+
1423
+ .lp-theme05-risk-card-response {
1424
+ font-size: var(--lp-font-size-body-small);
1425
+ color: var(--lp-ink2);
1426
+ line-height: 1.5;
1427
+ flex: 1;
1428
+ }
1429
+
1430
+ .lp-theme05-risk-footnote {
1431
+ margin-top: 16px;
1432
+ font-size: var(--lp-font-size-caption);
1433
+ color: var(--lp-ink3);
1434
+ text-align: center;
1435
+ }
1436
+
1437
+ /* ---- 气泡图 ---- */
1438
+
1439
+ .lp-theme05-bubble {
1440
+ padding: 92px 84px 96px;
1441
+ display: flex;
1442
+ flex-direction: column;
1443
+ }
1444
+
1445
+ .lp-theme05-bubble-head {
1446
+ margin-bottom: 32px;
1447
+ }
1448
+
1449
+ .lp-theme05-bubble-chart {
1450
+ flex: 1;
1451
+ min-height: 0;
1452
+ }
1453
+
1454
+ .lp-theme05-bubble-echart {
1455
+ width: 100%;
1456
+ height: 100%;
1457
+ }
1458
+
1459
+ /* ---- 区域分布 ---- */
1460
+
1461
+ .lp-theme05-map {
1462
+ padding: 92px 84px 96px;
1463
+ display: flex;
1464
+ flex-direction: column;
1465
+ }
1466
+
1467
+ .lp-theme05-map-head {
1468
+ margin-bottom: 32px;
1469
+ }
1470
+
1471
+ .lp-theme05-map-chart {
1472
+ flex: 1;
1473
+ min-height: 0;
1474
+ }
1475
+
1476
+ .lp-theme05-map-echart {
1477
+ width: 100%;
1478
+ height: 100%;
1479
+ }
1480
+
1481
+ /* ---- 封底 ---- */
1482
+
1483
+ .lp-theme05-closing {
1484
+ padding: 92px 84px 96px;
1485
+ display: flex;
1486
+ flex-direction: column;
1487
+ justify-content: center;
1488
+ }
1489
+
1490
+ .lp-theme05-closing-claim {
1491
+ font-size: var(--lp-font-size-display-small);
1492
+ font-weight: 900;
1493
+ line-height: 1.08;
1494
+ color: var(--lp-ink);
1495
+ letter-spacing: -0.03em;
1496
+ }
1497
+
1498
+ .lp-theme05-closing-points {
1499
+ display: flex;
1500
+ gap: 24px;
1501
+ margin-top: 56px;
1502
+ }
1503
+
1504
+ .lp-theme05-closing-point {
1505
+ flex: 1;
1506
+ padding: 28px;
1507
+ background: var(--lp-surface-solid);
1508
+ border: 1px solid var(--lp-border);
1509
+ border-radius: var(--lp-radius-medium);
1510
+ }
1511
+
1512
+ .lp-theme05-closing-point-value {
1513
+ font-size: var(--lp-font-size-h2);
1514
+ font-weight: 800;
1515
+ color: var(--lp-accent);
1516
+ line-height: 1.1;
1517
+ }
1518
+
1519
+ .lp-theme05-closing-point-label {
1520
+ font-size: var(--lp-font-size-body-small);
1521
+ color: var(--lp-ink2);
1522
+ margin-top: 8px;
1523
+ line-height: 1.45;
1524
+ }
1525
+
1526
+ /* ---- 资本计分卡 ---- */
1527
+
1528
+ .lp-theme05-scorecards {
1529
+ padding: 92px 84px 96px;
1530
+ display: flex;
1531
+ flex-direction: column;
1532
+ }
1533
+
1534
+ .lp-theme05-scorecards-head {
1535
+ margin-bottom: 44px;
1536
+ }
1537
+
1538
+ .lp-theme05-scorecards-list {
1539
+ flex: 1;
1540
+ display: flex;
1541
+ flex-direction: column;
1542
+ gap: 16px;
1543
+ min-height: 0;
1544
+ }
1545
+
1546
+ .lp-theme05-scorecards-card {
1547
+ display: grid;
1548
+ grid-template-columns: 6px 1fr auto;
1549
+ align-items: center;
1550
+ gap: 24px;
1551
+ padding: 22px 28px;
1552
+ background: var(--lp-surface-solid);
1553
+ border: 1px solid var(--lp-border);
1554
+ border-radius: var(--lp-radius-medium);
1555
+ }
1556
+
1557
+ .lp-theme05-scorecards-bar {
1558
+ width: 6px;
1559
+ height: 48px;
1560
+ border-radius: var(--lp-radius-small);
1561
+ background: var(--lp-accent);
1562
+ }
1563
+
1564
+ .lp-theme05-scorecards-bar--coral { background: #E85D4E; }
1565
+ .lp-theme05-scorecards-bar--amber { background: #F5A623; }
1566
+ .lp-theme05-scorecards-bar--teal { background: #0FA3B1; }
1567
+ .lp-theme05-scorecards-bar--indigo { background: #4A58D9; }
1568
+ .lp-theme05-scorecards-bar--violet { background: #7C3AED; }
1569
+
1570
+ .lp-theme05-scorecards-label {
1571
+ font-size: var(--lp-font-size-body);
1572
+ font-weight: 700;
1573
+ color: var(--lp-ink);
1574
+ }
1575
+
1576
+ .lp-theme05-scorecards-value-group {
1577
+ display: flex;
1578
+ align-items: center;
1579
+ gap: 18px;
1580
+ }
1581
+
1582
+ .lp-theme05-scorecards-value-row {
1583
+ display: flex;
1584
+ align-items: baseline;
1585
+ gap: 8px;
1586
+ }
1587
+
1588
+ .lp-theme05-scorecards-value {
1589
+ font-family: var(--lp-font-mono);
1590
+ font-size: var(--lp-font-size-h2);
1591
+ font-weight: 800;
1592
+ color: var(--lp-ink);
1593
+ line-height: 1.1;
1594
+ }
1595
+
1596
+ .lp-theme05-scorecards-unit {
1597
+ font-size: var(--lp-font-size-body-small);
1598
+ font-weight: 600;
1599
+ color: var(--lp-ink2);
1600
+ }
1601
+
1602
+ .lp-theme05-scorecards-change {
1603
+ font-family: var(--lp-font-mono);
1604
+ font-size: var(--lp-font-size-caption);
1605
+ font-weight: 700;
1606
+ padding: 5px 10px;
1607
+ border-radius: var(--lp-radius-small);
1608
+ background: var(--lp-surface);
1609
+ color: var(--lp-ink3);
1610
+ }
1611
+
1612
+ .lp-theme05-scorecards-change.positive {
1613
+ background: rgba(34, 197, 94, 0.16);
1614
+ color: var(--lp-green);
1615
+ }
1616
+
1617
+ .lp-theme05-scorecards-change.negative {
1618
+ background: rgba(232, 93, 78, 0.16);
1619
+ color: var(--lp-red);
1620
+ }
1621
+
1622
+ /* ---- 人物档案卡 ---- */
1623
+
1624
+ .lp-theme05-profile {
1625
+ padding: 92px 84px 96px;
1626
+ display: flex;
1627
+ flex-direction: column;
1628
+ }
1629
+
1630
+ .lp-theme05-profile-head {
1631
+ margin-bottom: 40px;
1632
+ }
1633
+
1634
+ .lp-theme05-profile-body {
1635
+ flex: 1;
1636
+ display: flex;
1637
+ gap: 48px;
1638
+ align-items: center;
1639
+ min-height: 0;
1640
+ }
1641
+
1642
+ .lp-theme05-profile-avatar {
1643
+ width: 220px;
1644
+ height: 280px;
1645
+ flex: none;
1646
+ border-radius: var(--lp-radius-medium);
1647
+ overflow: hidden;
1648
+ background: var(--lp-surface);
1649
+ border: 1px solid var(--lp-border);
1650
+ box-shadow: var(--lp-shadow-sm);
1651
+ }
1652
+
1653
+ .lp-theme05-profile-avatar img {
1654
+ width: 100%;
1655
+ height: 100%;
1656
+ object-fit: cover;
1657
+ }
1658
+
1659
+ .lp-theme05-profile-main {
1660
+ flex: 1;
1661
+ display: flex;
1662
+ flex-direction: column;
1663
+ gap: 20px;
1664
+ min-height: 0;
1665
+ overflow: auto;
1666
+ }
1667
+
1668
+ .lp-theme05-profile-name {
1669
+ font-size: var(--lp-font-size-h1);
1670
+ font-weight: 800;
1671
+ color: var(--lp-ink);
1672
+ line-height: 1.15;
1673
+ }
1674
+
1675
+ .lp-theme05-profile-meta {
1676
+ display: flex;
1677
+ align-items: center;
1678
+ gap: 12px;
1679
+ font-size: var(--lp-font-size-body);
1680
+ color: var(--lp-ink2);
1681
+ }
1682
+
1683
+ .lp-theme05-profile-meta-dot {
1684
+ width: 5px;
1685
+ height: 5px;
1686
+ border-radius: 50%;
1687
+ background: var(--lp-accent);
1688
+ }
1689
+
1690
+ .lp-theme05-profile-quote {
1691
+ position: relative;
1692
+ padding: 22px 26px;
1693
+ background: var(--lp-surface);
1694
+ border-left: 4px solid var(--lp-accent);
1695
+ border-radius: 0 var(--lp-radius-medium) var(--lp-radius-medium) 0;
1696
+ font-size: var(--lp-font-size-h3);
1697
+ font-weight: 600;
1698
+ line-height: 1.45;
1699
+ color: var(--lp-ink);
1700
+ }
1701
+
1702
+ .lp-theme05-profile-quote-mark {
1703
+ position: absolute;
1704
+ top: 8px;
1705
+ left: 16px;
1706
+ font-size: 64px;
1707
+ font-weight: 900;
1708
+ color: var(--lp-accent);
1709
+ opacity: 0.18;
1710
+ line-height: 1;
1711
+ pointer-events: none;
1712
+ }
1713
+
1714
+ .lp-theme05-profile-facts {
1715
+ display: grid;
1716
+ grid-template-columns: repeat(2, 1fr);
1717
+ gap: 14px;
1718
+ }
1719
+
1720
+ .lp-theme05-profile-fact {
1721
+ padding: 16px 18px;
1722
+ background: var(--lp-surface-solid);
1723
+ border: 1px solid var(--lp-border);
1724
+ border-radius: var(--lp-radius-medium);
1725
+ }
1726
+
1727
+ .lp-theme05-profile-fact-label {
1728
+ font-size: var(--lp-font-size-caption);
1729
+ font-weight: 700;
1730
+ color: var(--lp-ink3);
1731
+ text-transform: uppercase;
1732
+ letter-spacing: 0.06em;
1733
+ }
1734
+
1735
+ .lp-theme05-profile-fact-value {
1736
+ margin-top: 6px;
1737
+ font-size: var(--lp-font-size-body);
1738
+ font-weight: 600;
1739
+ color: var(--lp-ink);
1740
+ }
1741
+
1742
+ /* ---- 典型案例 ---- */
1743
+
1744
+ .lp-theme05-case {
1745
+ padding: 92px 84px 96px;
1746
+ display: flex;
1747
+ flex-direction: column;
1748
+ }
1749
+
1750
+ .lp-theme05-case-head {
1751
+ margin-bottom: 32px;
1752
+ }
1753
+
1754
+ .lp-theme05-case-hero {
1755
+ display: flex;
1756
+ align-items: baseline;
1757
+ justify-content: space-between;
1758
+ gap: 24px;
1759
+ padding: 24px 28px;
1760
+ background: var(--lp-surface-solid);
1761
+ border: 1px solid var(--lp-border);
1762
+ border-radius: var(--lp-radius-medium);
1763
+ margin-bottom: 24px;
1764
+ }
1765
+
1766
+ .lp-theme05-case-company {
1767
+ font-size: var(--lp-font-size-h2);
1768
+ font-weight: 800;
1769
+ color: var(--lp-ink);
1770
+ }
1771
+
1772
+ .lp-theme05-case-metric {
1773
+ display: flex;
1774
+ align-items: baseline;
1775
+ gap: 10px;
1776
+ }
1777
+
1778
+ .lp-theme05-case-metric-value {
1779
+ font-family: var(--lp-font-mono);
1780
+ font-size: var(--lp-font-size-display-small);
1781
+ font-weight: 900;
1782
+ color: var(--lp-accent);
1783
+ line-height: 1;
1784
+ }
1785
+
1786
+ .lp-theme05-case-metric-label {
1787
+ font-size: var(--lp-font-size-body-small);
1788
+ font-weight: 600;
1789
+ color: var(--lp-ink2);
1790
+ }
1791
+
1792
+ .lp-theme05-case-body {
1793
+ flex: 1;
1794
+ display: grid;
1795
+ grid-template-columns: repeat(3, 1fr);
1796
+ gap: 20px;
1797
+ min-height: 0;
1798
+ }
1799
+
1800
+ .lp-theme05-case-card {
1801
+ display: flex;
1802
+ flex-direction: column;
1803
+ gap: 14px;
1804
+ padding: 26px;
1805
+ background: var(--lp-surface-solid);
1806
+ border: 1px solid var(--lp-border);
1807
+ border-radius: var(--lp-radius-medium);
1808
+ }
1809
+
1810
+ .lp-theme05-case-card-label {
1811
+ font-size: var(--lp-font-size-caption);
1812
+ font-weight: 700;
1813
+ color: var(--lp-accent);
1814
+ text-transform: uppercase;
1815
+ letter-spacing: 0.08em;
1816
+ }
1817
+
1818
+ .lp-theme05-case-card-text {
1819
+ font-size: var(--lp-font-size-body-small);
1820
+ line-height: 1.6;
1821
+ color: var(--lp-ink2);
1822
+ }
1823
+
1824
+ /* ---- 一图速览 ---- */
1825
+
1826
+ .lp-theme05-bento {
1827
+ padding: 92px 84px 96px;
1828
+ display: flex;
1829
+ flex-direction: column;
1830
+ }
1831
+
1832
+ .lp-theme05-bento-head {
1833
+ margin-bottom: 40px;
1834
+ }
1835
+
1836
+ .lp-theme05-bento-grid {
1837
+ flex: 1;
1838
+ display: grid;
1839
+ grid-template-columns: repeat(3, 1fr);
1840
+ grid-auto-rows: 1fr;
1841
+ gap: 20px;
1842
+ min-height: 0;
1843
+ }
1844
+
1845
+ .lp-theme05-bento-card {
1846
+ display: flex;
1847
+ flex-direction: column;
1848
+ justify-content: center;
1849
+ padding: 28px;
1850
+ background: var(--lp-surface-solid);
1851
+ border: 1px solid var(--lp-border);
1852
+ border-radius: var(--lp-radius-medium);
1853
+ border-top: 4px solid var(--lp-accent);
1854
+ }
1855
+
1856
+ .lp-theme05-bento-card--coral { border-top-color: #E85D4E; }
1857
+ .lp-theme05-bento-card--amber { border-top-color: #F5A623; }
1858
+ .lp-theme05-bento-card--teal { border-top-color: #0FA3B1; }
1859
+ .lp-theme05-bento-card--indigo { border-top-color: #4A58D9; }
1860
+ .lp-theme05-bento-card--violet { border-top-color: #7C3AED; }
1861
+
1862
+ .lp-theme05-bento-card--span-2 {
1863
+ grid-column: span 2;
1864
+ }
1865
+
1866
+ .lp-theme05-bento-card-title {
1867
+ font-size: var(--lp-font-size-body-small);
1868
+ font-weight: 700;
1869
+ color: var(--lp-ink3);
1870
+ text-transform: uppercase;
1871
+ letter-spacing: 0.06em;
1872
+ }
1873
+
1874
+ .lp-theme05-bento-card-value {
1875
+ margin-top: 10px;
1876
+ font-family: var(--lp-font-mono);
1877
+ font-size: var(--lp-font-size-h1);
1878
+ font-weight: 900;
1879
+ color: var(--lp-ink);
1880
+ line-height: 1.1;
1881
+ }
1882
+
1883
+ .lp-theme05-bento-card-description {
1884
+ margin-top: 10px;
1885
+ font-size: var(--lp-font-size-body-small);
1886
+ color: var(--lp-ink2);
1887
+ line-height: 1.5;
1888
+ }
1889
+
1890
+ /* ---- 编辑字段占位 ---- */
1891
+
1892
+ .lp-editable-image-placeholder {
1893
+ width: 100%;
1894
+ height: 100%;
1895
+ display: flex;
1896
+ flex-direction: column;
1897
+ align-items: center;
1898
+ justify-content: center;
1899
+ gap: 10px;
1900
+ color: var(--lp-ink3);
1901
+ border: 2px dashed var(--lp-border);
1902
+ border-radius: var(--lp-radius-medium);
1903
+ cursor: pointer;
1904
+ transition: border-color 0.15s, color 0.15s, background 0.15s;
1905
+ }
1906
+
1907
+ .lp-editable-image-placeholder:hover {
1908
+ border-color: var(--lp-accent);
1909
+ color: var(--lp-accent);
1910
+ background: var(--lp-overlay);
1911
+ }
1912
+
1913
+ /* ---- 图片画廊 ---- */
1914
+
1915
+ .lp-theme05-gallery {
1916
+ padding: 92px 84px 96px;
1917
+ display: flex;
1918
+ flex-direction: column;
1919
+ }
1920
+
1921
+ .lp-theme05-gallery-head {
1922
+ margin-bottom: 40px;
1923
+ }
1924
+
1925
+ .lp-theme05-gallery-grid {
1926
+ flex: 1;
1927
+ display: flex;
1928
+ align-items: stretch;
1929
+ gap: 24px;
1930
+ min-height: 0;
1931
+ }
1932
+
1933
+ .lp-theme05-gallery-card {
1934
+ flex: 1;
1935
+ min-width: 0;
1936
+ padding: 18px;
1937
+ display: flex;
1938
+ flex-direction: column;
1939
+ gap: 16px;
1940
+ }
1941
+
1942
+ .lp-theme05-gallery-image-wrap {
1943
+ flex: 1;
1944
+ min-height: 0;
1945
+ border-radius: var(--lp-radius-medium);
1946
+ overflow: hidden;
1947
+ background: var(--lp-surface);
1948
+ border: 1px solid var(--lp-border);
1949
+ box-shadow: var(--lp-shadow-sm);
1950
+ position: relative;
1951
+ }
1952
+
1953
+ .lp-theme05-gallery-image-wrap img,
1954
+ .lp-theme05-gallery-image-placeholder {
1955
+ width: 100%;
1956
+ height: 100%;
1957
+ object-fit: cover;
1958
+ }
1959
+
1960
+ .lp-theme05-gallery-image-placeholder {
1961
+ display: flex;
1962
+ flex-direction: column;
1963
+ align-items: center;
1964
+ justify-content: center;
1965
+ gap: 10px;
1966
+ color: var(--lp-ink3);
1967
+ border: 2px dashed var(--lp-border);
1968
+ border-radius: var(--lp-radius-medium);
1969
+ cursor: pointer;
1970
+ transition: border-color 0.15s, color 0.15s, background 0.15s;
1971
+ }
1972
+
1973
+ .lp-theme05-gallery-image-placeholder:hover {
1974
+ border-color: var(--lp-accent);
1975
+ color: var(--lp-accent);
1976
+ background: var(--lp-overlay);
1977
+ }
1978
+
1979
+ .lp-theme05-gallery-caption {
1980
+ font-size: var(--lp-font-size-body-small);
1981
+ color: var(--lp-ink2);
1982
+ text-align: center;
1983
+ line-height: 1.45;
1984
+ }
1985
+
1986
+ /* ---- 路线图 ---- */
1987
+
1988
+ .lp-theme05-roadmap {
1989
+ padding: 92px 84px 96px;
1990
+ display: flex;
1991
+ flex-direction: column;
1992
+ }
1993
+
1994
+ .lp-theme05-roadmap-head {
1995
+ margin-bottom: 44px;
1996
+ }
1997
+
1998
+ .lp-theme05-roadmap-track {
1999
+ flex: 1;
2000
+ position: relative;
2001
+ display: flex;
2002
+ align-items: flex-start;
2003
+ gap: 24px;
2004
+ min-height: 0;
2005
+ }
2006
+
2007
+ .lp-theme05-roadmap-line {
2008
+ position: absolute;
2009
+ top: 20px;
2010
+ left: 40px;
2011
+ right: 40px;
2012
+ height: 2px;
2013
+ background: var(--lp-border);
2014
+ }
2015
+
2016
+ .lp-theme05-roadmap-line::after {
2017
+ content: '';
2018
+ position: absolute;
2019
+ right: 0;
2020
+ top: 50%;
2021
+ transform: translateY(-50%);
2022
+ width: 0;
2023
+ height: 0;
2024
+ border-top: 5px solid transparent;
2025
+ border-bottom: 5px solid transparent;
2026
+ border-left: 7px solid var(--lp-border);
2027
+ }
2028
+
2029
+ .lp-theme05-roadmap-step {
2030
+ flex: 1;
2031
+ position: relative;
2032
+ z-index: 1;
2033
+ display: flex;
2034
+ flex-direction: column;
2035
+ align-items: center;
2036
+ gap: 28px;
2037
+ min-width: 0;
2038
+ }
2039
+
2040
+ .lp-theme05-roadmap-node {
2041
+ width: 42px;
2042
+ height: 42px;
2043
+ border-radius: 50%;
2044
+ display: flex;
2045
+ align-items: center;
2046
+ justify-content: center;
2047
+ font-family: var(--lp-font-mono);
2048
+ font-size: 16px;
2049
+ font-weight: 800;
2050
+ color: var(--lp-white-alpha-90);
2051
+ background: var(--lp-coral);
2052
+ flex: none;
2053
+ }
2054
+
2055
+ .lp-theme05-roadmap-node--coral { background: var(--lp-coral); }
2056
+ .lp-theme05-roadmap-node--amber { background: var(--lp-amber); }
2057
+ .lp-theme05-roadmap-node--teal { background: var(--lp-teal); }
2058
+ .lp-theme05-roadmap-node--indigo { background: var(--lp-indigo); }
2059
+ .lp-theme05-roadmap-node--violet { background: var(--lp-violet); }
2060
+
2061
+ .lp-theme05-roadmap-card {
2062
+ width: 100%;
2063
+ padding: 26px 22px;
2064
+ display: flex;
2065
+ flex-direction: column;
2066
+ gap: 12px;
2067
+ border-top: 4px solid var(--lp-accent);
2068
+ }
2069
+
2070
+ .lp-theme05-roadmap-card--coral { border-top-color: #E85D4E; }
2071
+ .lp-theme05-roadmap-card--amber { border-top-color: #F5A623; }
2072
+ .lp-theme05-roadmap-card--teal { border-top-color: #0FA3B1; }
2073
+ .lp-theme05-roadmap-card--indigo { border-top-color: #4A58D9; }
2074
+ .lp-theme05-roadmap-card--violet { border-top-color: #7C3AED; }
2075
+
2076
+ .lp-theme05-roadmap-period {
2077
+ font-family: var(--lp-font-mono);
2078
+ font-size: var(--lp-font-size-caption);
2079
+ font-weight: 700;
2080
+ color: var(--lp-ink2);
2081
+ letter-spacing: 0.04em;
2082
+ }
2083
+
2084
+ .lp-theme05-roadmap-step-title {
2085
+ font-size: var(--lp-font-size-h3);
2086
+ font-weight: 800;
2087
+ color: var(--lp-ink);
2088
+ line-height: 1.25;
2089
+ }
2090
+
2091
+ .lp-theme05-roadmap-step-description {
2092
+ font-size: var(--lp-font-size-body-small);
2093
+ color: var(--lp-ink2);
2094
+ line-height: 1.55;
2095
+ }
2096
+
2097
+ /* ---- 杂志跨页 ---- */
2098
+
2099
+ .lp-theme05-editorial {
2100
+ padding: 92px 84px 96px;
2101
+ display: flex;
2102
+ flex-direction: column;
2103
+ }
2104
+
2105
+ .lp-theme05-editorial-main {
2106
+ flex: 1;
2107
+ display: flex;
2108
+ gap: 54px;
2109
+ align-items: stretch;
2110
+ min-height: 0;
2111
+ }
2112
+
2113
+ .lp-theme05-editorial-main--right {
2114
+ flex-direction: row-reverse;
2115
+ }
2116
+
2117
+ .lp-theme05-editorial-visual {
2118
+ flex: 1.15;
2119
+ min-width: 0;
2120
+ border-radius: var(--lp-radius-medium);
2121
+ overflow: hidden;
2122
+ background: var(--lp-surface);
2123
+ border: 1px solid var(--lp-border);
2124
+ box-shadow: var(--lp-shadow-sm);
2125
+ position: relative;
2126
+ }
2127
+
2128
+ .lp-theme05-editorial-visual img,
2129
+ .lp-theme05-editorial-image-placeholder {
2130
+ width: 100%;
2131
+ height: 100%;
2132
+ object-fit: cover;
2133
+ }
2134
+
2135
+ .lp-theme05-editorial-image-placeholder {
2136
+ display: flex;
2137
+ flex-direction: column;
2138
+ align-items: center;
2139
+ justify-content: center;
2140
+ gap: 10px;
2141
+ color: var(--lp-ink3);
2142
+ border: 2px dashed var(--lp-border);
2143
+ border-radius: var(--lp-radius-medium);
2144
+ cursor: pointer;
2145
+ transition: border-color 0.15s, color 0.15s, background 0.15s;
2146
+ }
2147
+
2148
+ .lp-theme05-editorial-image-placeholder:hover {
2149
+ border-color: var(--lp-accent);
2150
+ color: var(--lp-accent);
2151
+ background: var(--lp-overlay);
2152
+ }
2153
+
2154
+ .lp-theme05-editorial-body {
2155
+ flex: 1;
2156
+ min-width: 0;
2157
+ display: flex;
2158
+ flex-direction: column;
2159
+ gap: 28px;
2160
+ overflow: auto;
2161
+ }
2162
+
2163
+ .lp-theme05-editorial-head {
2164
+ display: flex;
2165
+ flex-direction: column;
2166
+ }
2167
+
2168
+ .lp-theme05-editorial-text {
2169
+ font-size: var(--lp-font-size-body);
2170
+ color: var(--lp-ink2);
2171
+ line-height: 1.7;
2172
+ white-space: pre-wrap;
2173
+ }
2174
+
2175
+ .lp-theme05-editorial-quote {
2176
+ padding: 22px 26px;
2177
+ background: var(--lp-surface);
2178
+ border-left: 4px solid var(--lp-accent);
2179
+ border-radius: 0 var(--lp-radius-medium) var(--lp-radius-medium) 0;
2180
+ }
2181
+
2182
+ .lp-theme05-editorial-quote blockquote {
2183
+ margin: 0;
2184
+ font-size: var(--lp-font-size-h3);
2185
+ font-weight: 600;
2186
+ line-height: 1.45;
2187
+ color: var(--lp-ink);
2188
+ }
2189
+
2190
+ /* ---- 光谱环形图 ---- */
2191
+
2192
+ .lp-theme05-donut {
2193
+ padding: 92px 84px 96px;
2194
+ display: flex;
2195
+ flex-direction: column;
2196
+ }
2197
+
2198
+ .lp-theme05-donut-main {
2199
+ flex: 1;
2200
+ display: flex;
2201
+ flex-direction: column;
2202
+ min-height: 0;
2203
+ }
2204
+
2205
+ .lp-theme05-donut-body {
2206
+ flex: 1;
2207
+ display: grid;
2208
+ grid-template-columns: 1.2fr 0.8fr;
2209
+ gap: 48px;
2210
+ min-height: 0;
2211
+ margin-top: 28px;
2212
+ }
2213
+
2214
+ .lp-theme05-donut-chart-wrap {
2215
+ position: relative;
2216
+ display: flex;
2217
+ align-items: center;
2218
+ justify-content: center;
2219
+ min-height: 0;
2220
+ }
2221
+
2222
+ .lp-theme05-donut-echart {
2223
+ width: 100%;
2224
+ height: 100%;
2225
+ }
2226
+
2227
+ .lp-theme05-donut-empty {
2228
+ width: 100%;
2229
+ height: 100%;
2230
+ display: flex;
2231
+ align-items: center;
2232
+ justify-content: center;
2233
+ color: var(--lp-ink3);
2234
+ border: 2px dashed var(--lp-border);
2235
+ border-radius: 50%;
2236
+ }
2237
+
2238
+ .lp-theme05-donut-center {
2239
+ position: absolute;
2240
+ top: 50%;
2241
+ left: 50%;
2242
+ transform: translate(-50%, -50%);
2243
+ text-align: center;
2244
+ pointer-events: none;
2245
+ }
2246
+
2247
+ .lp-theme05-donut-center-value {
2248
+ font-family: var(--lp-font-mono);
2249
+ font-size: var(--lp-font-size-h1);
2250
+ font-weight: 900;
2251
+ color: var(--lp-ink);
2252
+ line-height: 1;
2253
+ }
2254
+
2255
+ .lp-theme05-donut-center-unit {
2256
+ font-size: var(--lp-font-size-caption);
2257
+ font-weight: 600;
2258
+ color: var(--lp-ink2);
2259
+ margin-top: 4px;
2260
+ text-transform: uppercase;
2261
+ letter-spacing: 0.06em;
2262
+ }
2263
+
2264
+ .lp-theme05-donut-aside {
2265
+ display: flex;
2266
+ flex-direction: column;
2267
+ gap: 20px;
2268
+ min-height: 0;
2269
+ overflow: auto;
2270
+ }
2271
+
2272
+ .lp-theme05-donut-unit {
2273
+ display: flex;
2274
+ align-items: center;
2275
+ gap: 10px;
2276
+ font-size: var(--lp-font-size-body-small);
2277
+ color: var(--lp-ink2);
2278
+ }
2279
+
2280
+ .lp-theme05-donut-unit-label {
2281
+ font-weight: 700;
2282
+ color: var(--lp-ink3);
2283
+ text-transform: uppercase;
2284
+ letter-spacing: 0.06em;
2285
+ }
2286
+
2287
+ .lp-theme05-donut-legend {
2288
+ display: flex;
2289
+ flex-direction: column;
2290
+ gap: 12px;
2291
+ }
2292
+
2293
+ .lp-theme05-donut-legend-item {
2294
+ display: grid;
2295
+ grid-template-columns: 12px 1fr auto;
2296
+ align-items: center;
2297
+ gap: 14px;
2298
+ padding: 12px 14px;
2299
+ background: var(--lp-surface-solid);
2300
+ border: 1px solid var(--lp-border);
2301
+ border-radius: var(--lp-radius-medium);
2302
+ }
2303
+
2304
+ .lp-theme05-donut-legend-dot {
2305
+ width: 12px;
2306
+ height: 12px;
2307
+ border-radius: 50%;
2308
+ }
2309
+
2310
+ .lp-theme05-donut-legend-text {
2311
+ display: flex;
2312
+ flex-direction: column;
2313
+ gap: 2px;
2314
+ min-width: 0;
2315
+ }
2316
+
2317
+ .lp-theme05-donut-legend-name {
2318
+ font-size: var(--lp-font-size-body-small);
2319
+ font-weight: 700;
2320
+ color: var(--lp-ink);
2321
+ line-height: 1.35;
2322
+ }
2323
+
2324
+ .lp-theme05-donut-legend-value {
2325
+ font-family: var(--lp-font-mono);
2326
+ font-size: var(--lp-font-size-caption);
2327
+ color: var(--lp-ink3);
2328
+ }
2329
+
2330
+ .lp-theme05-donut-legend-percent {
2331
+ font-family: var(--lp-font-mono);
2332
+ font-size: var(--lp-font-size-body);
2333
+ font-weight: 800;
2334
+ color: var(--lp-ink);
2335
+ }
2336
+
2337
+ /* ---- 光谱树图 ---- */
2338
+
2339
+ .lp-theme05-treemap {
2340
+ padding: 92px 84px 96px;
2341
+ display: flex;
2342
+ flex-direction: column;
2343
+ }
2344
+
2345
+ .lp-theme05-treemap-head {
2346
+ margin-bottom: 32px;
2347
+ }
2348
+
2349
+ .lp-theme05-treemap-body {
2350
+ flex: 1;
2351
+ min-height: 0;
2352
+ }
2353
+
2354
+ .lp-theme05-treemap-echart {
2355
+ width: 100%;
2356
+ height: 100%;
2357
+ }
2358
+
2359
+ .lp-theme05-treemap-empty {
2360
+ width: 100%;
2361
+ height: 100%;
2362
+ display: flex;
2363
+ align-items: center;
2364
+ justify-content: center;
2365
+ color: var(--lp-ink3);
2366
+ border: 2px dashed var(--lp-border);
2367
+ border-radius: var(--lp-radius-medium);
2368
+ }
2369
+
2370
+ /* ---- 光谱雷达图 ---- */
2371
+
2372
+ .lp-theme05-radar {
2373
+ padding: 92px 84px 96px;
2374
+ display: flex;
2375
+ flex-direction: column;
2376
+ }
2377
+
2378
+ .lp-theme05-radar-head {
2379
+ margin-bottom: 32px;
2380
+ }
2381
+
2382
+ .lp-theme05-radar-body {
2383
+ flex: 1;
2384
+ min-height: 0;
2385
+ }
2386
+
2387
+ .lp-theme05-radar-echart {
2388
+ width: 100%;
2389
+ height: 100%;
2390
+ }
2391
+
2392
+ .lp-theme05-radar-empty {
2393
+ width: 100%;
2394
+ height: 100%;
2395
+ display: flex;
2396
+ align-items: center;
2397
+ justify-content: center;
2398
+ color: var(--lp-ink3);
2399
+ border: 2px dashed var(--lp-border);
2400
+ border-radius: var(--lp-radius-medium);
2401
+ }
2402
+
2403
+ /* ---- 封面变体 ---- */
2404
+
2405
+ .lp-theme05-cover-ex {
2406
+ padding: 92px 84px 96px;
2407
+ display: grid;
2408
+ grid-template-columns: 1.1fr 0.9fr;
2409
+ gap: 64px;
2410
+ align-items: center;
2411
+ }
2412
+
2413
+ .lp-theme05-cover-ex-main {
2414
+ display: flex;
2415
+ flex-direction: column;
2416
+ }
2417
+
2418
+ .lp-theme05-cover-ex-title {
2419
+ font-size: var(--lp-font-size-display-small);
2420
+ font-weight: 900;
2421
+ line-height: 1.05;
2422
+ color: var(--lp-ink);
2423
+ letter-spacing: -0.03em;
2424
+ margin-top: 18px;
2425
+ }
2426
+
2427
+ .lp-theme05-cover-ex-bar {
2428
+ position: relative;
2429
+ margin-top: 42px;
2430
+ }
2431
+
2432
+ .lp-theme05-cover-ex-stats {
2433
+ display: grid;
2434
+ grid-template-columns: repeat(2, 1fr);
2435
+ gap: 20px;
2436
+ }
2437
+
2438
+ .lp-theme05-cover-ex-stat {
2439
+ background: var(--lp-surface-solid);
2440
+ border: 1px solid var(--lp-border);
2441
+ border-radius: var(--lp-radius-medium);
2442
+ padding: 28px;
2443
+ box-shadow: var(--lp-shadow-sm);
2444
+ border-top: 5px solid var(--lp-accent);
2445
+ }
2446
+
2447
+ .lp-theme05-cover-ex-stat--amber { border-top-color: var(--lp-amber); }
2448
+ .lp-theme05-cover-ex-stat--teal { border-top-color: var(--lp-teal); }
2449
+ .lp-theme05-cover-ex-stat--indigo { border-top-color: var(--lp-indigo); }
2450
+ .lp-theme05-cover-ex-stat--violet { border-top-color: var(--lp-violet); }
2451
+
2452
+ .lp-theme05-cover-ex-stat-value {
2453
+ font-size: var(--lp-font-size-h2);
2454
+ font-weight: 800;
2455
+ line-height: 1.1;
2456
+ color: var(--lp-ink);
2457
+ }
2458
+
2459
+ .lp-theme05-cover-ex-stat-label {
2460
+ font-size: var(--lp-font-size-caption);
2461
+ font-weight: 600;
2462
+ color: var(--lp-ink3);
2463
+ text-transform: uppercase;
2464
+ letter-spacing: 0.08em;
2465
+ margin-top: 8px;
2466
+ }
2467
+
2468
+ .lp-theme05-cover-ex2 {
2469
+ padding: 92px 84px 96px;
2470
+ display: flex;
2471
+ flex-direction: column;
2472
+ justify-content: space-between;
2473
+ position: relative;
2474
+ overflow: hidden;
2475
+ }
2476
+
2477
+ .lp-theme05-cover-ex2-bg-number {
2478
+ position: absolute;
2479
+ top: 50%;
2480
+ right: -40px;
2481
+ transform: translateY(-50%);
2482
+ font-family: var(--lp-font-mono);
2483
+ font-size: 320px;
2484
+ font-weight: 900;
2485
+ line-height: 1;
2486
+ color: var(--lp-ink);
2487
+ opacity: 0.04;
2488
+ pointer-events: none;
2489
+ letter-spacing: -0.04em;
2490
+ }
2491
+
2492
+ .lp-theme05-cover-ex2-top {
2493
+ display: flex;
2494
+ align-items: flex-start;
2495
+ justify-content: space-between;
2496
+ gap: 32px;
2497
+ }
2498
+
2499
+ .lp-theme05-cover-ex2-highlights {
2500
+ display: flex;
2501
+ flex-wrap: wrap;
2502
+ gap: 10px;
2503
+ max-width: 520px;
2504
+ justify-content: flex-end;
2505
+ }
2506
+
2507
+ .lp-theme05-cover-ex2-highlight {
2508
+ padding: 8px 16px;
2509
+ background: var(--lp-coral);
2510
+ color: var(--lp-white-alpha-90);
2511
+ border-radius: 999px;
2512
+ font-size: var(--lp-font-size-caption);
2513
+ font-weight: 700;
2514
+ text-transform: uppercase;
2515
+ letter-spacing: 0.06em;
2516
+ }
2517
+
2518
+ .lp-theme05-cover-ex2-highlight--amber { background: var(--lp-amber); }
2519
+ .lp-theme05-cover-ex2-highlight--teal { background: var(--lp-teal); }
2520
+ .lp-theme05-cover-ex2-highlight--indigo { background: var(--lp-indigo); }
2521
+ .lp-theme05-cover-ex2-highlight--violet { background: var(--lp-violet); }
2522
+
2523
+ .lp-theme05-cover-ex2-main {
2524
+ max-width: 860px;
2525
+ z-index: 1;
2526
+ }
2527
+
2528
+ .lp-theme05-cover-ex2-title {
2529
+ font-size: var(--lp-font-size-display);
2530
+ font-weight: 900;
2531
+ line-height: 1.02;
2532
+ color: var(--lp-ink);
2533
+ letter-spacing: -0.03em;
2534
+ }
2535
+
2536
+ .lp-theme05-cover-hero {
2537
+ position: relative;
2538
+ display: flex;
2539
+ flex-direction: column;
2540
+ justify-content: flex-end;
2541
+ padding: 92px 84px 96px;
2542
+ overflow: hidden;
2543
+ background: linear-gradient(180deg, rgba(21, 21, 26, 0.82) 0%, rgba(21, 21, 26, 0.92) 100%);
2544
+ }
2545
+
2546
+ .lp-theme05-cover-hero-media {
2547
+ position: absolute;
2548
+ inset: 0;
2549
+ z-index: 0;
2550
+ }
2551
+
2552
+ .lp-theme05-cover-hero-media img {
2553
+ width: 100%;
2554
+ height: 100%;
2555
+ object-fit: cover;
2556
+ }
2557
+
2558
+ .lp-theme05-cover-hero-overlay {
2559
+ position: absolute;
2560
+ inset: 0;
2561
+ z-index: 1;
2562
+ background: linear-gradient(180deg, rgba(21, 21, 26, 0.32) 0%, rgba(21, 21, 26, 0.82) 100%);
2563
+ }
2564
+
2565
+ .lp-theme05-cover-hero-overlay--coral {
2566
+ background: linear-gradient(180deg, rgba(232, 93, 78, 0.25) 0%, rgba(21, 21, 26, 0.85) 100%);
2567
+ }
2568
+ .lp-theme05-cover-hero-overlay--amber {
2569
+ background: linear-gradient(180deg, rgba(245, 166, 35, 0.25) 0%, rgba(21, 21, 26, 0.85) 100%);
2570
+ }
2571
+ .lp-theme05-cover-hero-overlay--teal {
2572
+ background: linear-gradient(180deg, rgba(15, 163, 177, 0.25) 0%, rgba(21, 21, 26, 0.85) 100%);
2573
+ }
2574
+ .lp-theme05-cover-hero-overlay--indigo {
2575
+ background: linear-gradient(180deg, rgba(74, 88, 217, 0.25) 0%, rgba(21, 21, 26, 0.85) 100%);
2576
+ }
2577
+ .lp-theme05-cover-hero-overlay--violet {
2578
+ background: linear-gradient(180deg, rgba(124, 58, 237, 0.25) 0%, rgba(21, 21, 26, 0.85) 100%);
2579
+ }
2580
+
2581
+ .lp-theme05-cover-hero-placeholder {
2582
+ width: 100%;
2583
+ height: 100%;
2584
+ display: flex;
2585
+ align-items: center;
2586
+ justify-content: center;
2587
+ color: var(--lp-white-alpha-80);
2588
+ border: 2px dashed rgba(255, 255, 255, 0.18);
2589
+ background: rgba(21, 21, 26, 0.55);
2590
+ }
2591
+
2592
+ .lp-theme05-cover-hero-content {
2593
+ position: relative;
2594
+ z-index: 2;
2595
+ max-width: 880px;
2596
+ }
2597
+
2598
+ .lp-theme05-cover-hero-title {
2599
+ font-size: var(--lp-font-size-display);
2600
+ font-weight: 900;
2601
+ line-height: 1.05;
2602
+ color: var(--lp-white-alpha-90);
2603
+ letter-spacing: -0.03em;
2604
+ margin-top: 18px;
2605
+ }
2606
+
2607
+ .lp-theme05-cover-hero-subtitle {
2608
+ font-size: var(--lp-font-size-body);
2609
+ font-weight: 400;
2610
+ line-height: 1.5;
2611
+ color: var(--lp-white-alpha-85);
2612
+ margin-top: 18px;
2613
+ }
2614
+
2615
+ .lp-theme05-cover-hero-footer {
2616
+ position: relative;
2617
+ z-index: 2;
2618
+ color: var(--lp-white-alpha-80);
2619
+ border-top-color: rgba(255, 255, 255, 0.16);
2620
+ }
2621
+
2622
+ /* ---- 章节变体 ---- */
2623
+
2624
+ .lp-theme05-chapter-big {
2625
+ padding: 92px 84px 96px;
2626
+ display: flex;
2627
+ flex-direction: column;
2628
+ justify-content: center;
2629
+ }
2630
+
2631
+ .lp-theme05-chapter-big-content {
2632
+ max-width: 980px;
2633
+ }
2634
+
2635
+ .lp-theme05-chapter-big-title {
2636
+ font-size: var(--lp-font-size-display);
2637
+ font-weight: 900;
2638
+ line-height: 1.02;
2639
+ color: var(--lp-ink);
2640
+ letter-spacing: -0.03em;
2641
+ margin-top: 18px;
2642
+ }
2643
+
2644
+ .lp-theme05-chapter-big-subtitle {
2645
+ font-size: var(--lp-font-size-h2);
2646
+ font-weight: 400;
2647
+ line-height: 1.35;
2648
+ color: var(--lp-ink2);
2649
+ margin-top: 24px;
2650
+ }
2651
+
2652
+ .lp-theme05-chapter-split {
2653
+ display: grid;
2654
+ grid-template-columns: 0.45fr 0.55fr;
2655
+ overflow: hidden;
2656
+ }
2657
+
2658
+ .lp-theme05-chapter-split-left {
2659
+ display: flex;
2660
+ align-items: center;
2661
+ justify-content: center;
2662
+ background: var(--lp-accent);
2663
+ }
2664
+
2665
+ .lp-theme05-chapter-split-number {
2666
+ font-family: var(--lp-font-mono);
2667
+ font-size: 200px;
2668
+ font-weight: 900;
2669
+ line-height: 1;
2670
+ color: var(--lp-text-inverse);
2671
+ opacity: 0.92;
2672
+ }
2673
+
2674
+ .lp-theme05-chapter-split-right {
2675
+ display: flex;
2676
+ flex-direction: column;
2677
+ justify-content: center;
2678
+ padding: 92px 84px 96px;
2679
+ }
2680
+
2681
+ .lp-theme05-chapter-split-title {
2682
+ font-size: var(--lp-font-size-display-small);
2683
+ font-weight: 900;
2684
+ line-height: 1.08;
2685
+ color: var(--lp-ink);
2686
+ letter-spacing: -0.03em;
2687
+ margin-top: 18px;
2688
+ }
2689
+
2690
+ .lp-theme05-chapter-numbered {
2691
+ padding: 92px 84px 96px;
2692
+ display: flex;
2693
+ flex-direction: column;
2694
+ justify-content: center;
2695
+ align-items: center;
2696
+ text-align: center;
2697
+ }
2698
+
2699
+ .lp-theme05-chapter-numbered-content {
2700
+ max-width: 840px;
2701
+ }
2702
+
2703
+ .lp-theme05-chapter-numbered-number {
2704
+ font-family: var(--lp-font-mono);
2705
+ font-size: var(--lp-font-size-caption);
2706
+ font-weight: 700;
2707
+ color: var(--lp-accent);
2708
+ letter-spacing: 0.16em;
2709
+ text-transform: uppercase;
2710
+ }
2711
+
2712
+ .lp-theme05-chapter-numbered-title {
2713
+ font-size: var(--lp-font-size-display-small);
2714
+ font-weight: 900;
2715
+ line-height: 1.1;
2716
+ color: var(--lp-ink);
2717
+ letter-spacing: -0.03em;
2718
+ margin-top: 24px;
2719
+ }
2720
+
2721
+ .lp-theme05-chapter-numbered .lp-theme05-underline {
2722
+ margin: 28px auto 0;
2723
+ }
2724
+
2725
+ .lp-theme05-chapter-image {
2726
+ position: relative;
2727
+ display: flex;
2728
+ flex-direction: column;
2729
+ justify-content: center;
2730
+ padding: 92px 84px 96px;
2731
+ overflow: hidden;
2732
+ background: linear-gradient(90deg, rgba(21, 21, 26, 0.82) 0%, rgba(21, 21, 26, 0.42) 100%);
2733
+ }
2734
+
2735
+ .lp-theme05-chapter-image-media {
2736
+ position: absolute;
2737
+ inset: 0;
2738
+ z-index: 0;
2739
+ }
2740
+
2741
+ .lp-theme05-chapter-image-media img {
2742
+ width: 100%;
2743
+ height: 100%;
2744
+ object-fit: cover;
2745
+ }
2746
+
2747
+ .lp-theme05-chapter-image-placeholder {
2748
+ width: 100%;
2749
+ height: 100%;
2750
+ display: flex;
2751
+ align-items: center;
2752
+ justify-content: center;
2753
+ color: var(--lp-white-alpha-80);
2754
+ border: 2px dashed rgba(255, 255, 255, 0.18);
2755
+ background: rgba(21, 21, 26, 0.55);
2756
+ }
2757
+
2758
+ .lp-theme05-chapter-image-overlay {
2759
+ position: absolute;
2760
+ inset: 0;
2761
+ z-index: 1;
2762
+ background: linear-gradient(90deg, rgba(21, 21, 26, 0.82) 0%, rgba(21, 21, 26, 0.42) 100%);
2763
+ }
2764
+
2765
+ .lp-theme05-chapter-image-content {
2766
+ position: relative;
2767
+ z-index: 2;
2768
+ max-width: 720px;
2769
+ }
2770
+
2771
+ .lp-theme05-chapter-image-number {
2772
+ font-family: var(--lp-font-mono);
2773
+ font-size: var(--lp-font-size-caption);
2774
+ font-weight: 700;
2775
+ color: var(--lp-white-alpha-90);
2776
+ letter-spacing: 0.16em;
2777
+ text-transform: uppercase;
2778
+ }
2779
+
2780
+ .lp-theme05-chapter-image-title {
2781
+ font-size: var(--lp-font-size-display-small);
2782
+ font-weight: 900;
2783
+ line-height: 1.08;
2784
+ color: var(--lp-white-alpha-90);
2785
+ letter-spacing: -0.03em;
2786
+ margin-top: 18px;
2787
+ }
2788
+
2789
+ .lp-theme05-chapter-image-subtitle {
2790
+ font-size: var(--lp-font-size-body);
2791
+ font-weight: 400;
2792
+ line-height: 1.5;
2793
+ color: var(--lp-white-alpha-85);
2794
+ margin-top: 18px;
2795
+ }
2796
+
2797
+ .lp-theme05-cover-hero .lp-theme05-kicker,
2798
+ .lp-theme05-chapter-image .lp-theme05-kicker {
2799
+ color: var(--lp-white-alpha-90);
2800
+ }
2801
+
2802
+ /* ---- 数据指标变体 ---- */
2803
+
2804
+ .lp-theme05-metric-hero {
2805
+ padding: 92px 84px 96px;
2806
+ display: flex;
2807
+ flex-direction: column;
2808
+ justify-content: center;
2809
+ align-items: center;
2810
+ text-align: center;
2811
+ }
2812
+
2813
+ .lp-theme05-metric-hero-content {
2814
+ max-width: 900px;
2815
+ }
2816
+
2817
+ .lp-theme05-metric-hero-value-wrap {
2818
+ display: flex;
2819
+ align-items: baseline;
2820
+ justify-content: center;
2821
+ gap: 18px;
2822
+ margin-top: 48px;
2823
+ }
2824
+
2825
+ .lp-theme05-metric-hero-value {
2826
+ font-size: 140px;
2827
+ font-weight: 900;
2828
+ line-height: 1;
2829
+ color: var(--lp-accent);
2830
+ letter-spacing: -0.04em;
2831
+ }
2832
+
2833
+ .lp-theme05-metric-hero-unit {
2834
+ font-size: var(--lp-font-size-h2);
2835
+ font-weight: 700;
2836
+ color: var(--lp-ink2);
2837
+ }
2838
+
2839
+ .lp-theme05-metric-hero-change {
2840
+ display: inline-flex;
2841
+ align-items: center;
2842
+ gap: 12px;
2843
+ margin-top: 28px;
2844
+ padding: 12px 20px;
2845
+ background: var(--lp-surface-solid);
2846
+ border: 1px solid var(--lp-border);
2847
+ border-radius: var(--lp-radius-medium);
2848
+ }
2849
+
2850
+ .lp-theme05-metric-hero-change-value {
2851
+ font-family: var(--lp-font-mono);
2852
+ font-size: var(--lp-font-size-h3);
2853
+ font-weight: 800;
2854
+ color: var(--lp-accent);
2855
+ }
2856
+
2857
+ .lp-theme05-metric-hero-change-label {
2858
+ font-size: var(--lp-font-size-body-small);
2859
+ color: var(--lp-ink2);
2860
+ }
2861
+
2862
+ .lp-theme05-metric-delta {
2863
+ padding: 92px 84px 96px;
2864
+ display: flex;
2865
+ flex-direction: column;
2866
+ }
2867
+
2868
+ .lp-theme05-metric-delta-main {
2869
+ flex: 1;
2870
+ display: flex;
2871
+ align-items: center;
2872
+ justify-content: center;
2873
+ gap: 48px;
2874
+ min-height: 0;
2875
+ margin-top: 36px;
2876
+ }
2877
+
2878
+ .lp-theme05-metric-delta-current,
2879
+ .lp-theme05-metric-delta-previous {
2880
+ flex: 1;
2881
+ max-width: 340px;
2882
+ text-align: center;
2883
+ padding: 40px;
2884
+ background: var(--lp-surface-solid);
2885
+ border: 1px solid var(--lp-border);
2886
+ border-radius: var(--lp-radius-medium);
2887
+ }
2888
+
2889
+ .lp-theme05-metric-delta-current {
2890
+ border-top: 6px solid var(--lp-accent);
2891
+ }
2892
+
2893
+ .lp-theme05-metric-delta-previous {
2894
+ border-top: 6px solid var(--lp-accent-cool);
2895
+ }
2896
+
2897
+ .lp-theme05-metric-delta-label {
2898
+ font-size: var(--lp-font-size-body-small);
2899
+ font-weight: 600;
2900
+ color: var(--lp-ink3);
2901
+ text-transform: uppercase;
2902
+ letter-spacing: 0.08em;
2903
+ }
2904
+
2905
+ .lp-theme05-metric-delta-value {
2906
+ font-size: var(--lp-font-size-display-small);
2907
+ font-weight: 900;
2908
+ line-height: 1.1;
2909
+ color: var(--lp-accent);
2910
+ margin-top: 12px;
2911
+ }
2912
+
2913
+ .lp-theme05-metric-delta-value-previous {
2914
+ font-size: var(--lp-font-size-h1);
2915
+ font-weight: 800;
2916
+ line-height: 1.1;
2917
+ color: var(--lp-ink);
2918
+ margin-top: 12px;
2919
+ }
2920
+
2921
+ .lp-theme05-metric-delta-divider {
2922
+ display: flex;
2923
+ flex-direction: column;
2924
+ align-items: center;
2925
+ gap: 8px;
2926
+ min-width: 160px;
2927
+ }
2928
+
2929
+ .lp-theme05-metric-delta-delta {
2930
+ font-family: var(--lp-font-mono);
2931
+ font-size: var(--lp-font-size-h1);
2932
+ font-weight: 900;
2933
+ color: var(--lp-accent);
2934
+ }
2935
+
2936
+ .lp-theme05-metric-delta-delta-label {
2937
+ font-size: var(--lp-font-size-caption);
2938
+ font-weight: 600;
2939
+ color: var(--lp-ink3);
2940
+ text-transform: uppercase;
2941
+ letter-spacing: 0.08em;
2942
+ }
2943
+
2944
+ .lp-theme05-metric-delta-sparkline {
2945
+ height: 120px;
2946
+ margin-top: 36px;
2947
+ background: var(--lp-surface-solid);
2948
+ border: 1px solid var(--lp-border);
2949
+ border-radius: var(--lp-radius-medium);
2950
+ padding: 16px;
2951
+ }
2952
+
2953
+ .lp-theme05-metric-capacity {
2954
+ padding: 92px 84px 96px;
2955
+ display: flex;
2956
+ flex-direction: column;
2957
+ }
2958
+
2959
+ .lp-theme05-metric-capacity-list {
2960
+ flex: 1;
2961
+ display: flex;
2962
+ flex-direction: column;
2963
+ justify-content: center;
2964
+ gap: 28px;
2965
+ min-height: 0;
2966
+ margin-top: 36px;
2967
+ }
2968
+
2969
+ .lp-theme05-metric-capacity-item {
2970
+ background: var(--lp-surface-solid);
2971
+ border: 1px solid var(--lp-border);
2972
+ border-radius: var(--lp-radius-medium);
2973
+ padding: 22px 28px;
2974
+ }
2975
+
2976
+ .lp-theme05-metric-capacity-head {
2977
+ display: flex;
2978
+ align-items: center;
2979
+ justify-content: space-between;
2980
+ margin-bottom: 14px;
2981
+ }
2982
+
2983
+ .lp-theme05-metric-capacity-name {
2984
+ font-size: var(--lp-font-size-body);
2985
+ font-weight: 700;
2986
+ color: var(--lp-ink);
2987
+ }
2988
+
2989
+ .lp-theme05-metric-capacity-number {
2990
+ font-family: var(--lp-font-mono);
2991
+ font-size: var(--lp-font-size-h3);
2992
+ font-weight: 800;
2993
+ color: var(--lp-accent);
2994
+ }
2995
+
2996
+ .lp-theme05-metric-capacity-track {
2997
+ height: 10px;
2998
+ background: var(--lp-surface);
2999
+ border-radius: 999px;
3000
+ overflow: hidden;
3001
+ }
3002
+
3003
+ .lp-theme05-metric-capacity-fill {
3004
+ height: 100%;
3005
+ border-radius: 999px;
3006
+ transition: width 0.6s ease;
3007
+ }
3008
+
3009
+ /* ---- 图表变体 ---- */
3010
+
3011
+ .lp-theme05-chart-share,
3012
+ .lp-theme05-chart-stacked,
3013
+ .lp-theme05-chart-curve,
3014
+ .lp-theme05-chart-peak,
3015
+ .lp-theme05-chart-peaktrough,
3016
+ .lp-theme05-chart-cumulative {
3017
+ padding: 92px 84px 96px;
3018
+ display: grid;
3019
+ grid-template-columns: 1.4fr 0.6fr;
3020
+ grid-template-rows: 1fr auto;
3021
+ gap: 48px;
3022
+ }
3023
+
3024
+ .lp-theme05-chart-share-main,
3025
+ .lp-theme05-chart-stacked-main,
3026
+ .lp-theme05-chart-curve-main,
3027
+ .lp-theme05-chart-peak-main,
3028
+ .lp-theme05-chart-peaktrough-main,
3029
+ .lp-theme05-chart-cumulative-main {
3030
+ display: flex;
3031
+ flex-direction: column;
3032
+ min-height: 0;
3033
+ }
3034
+
3035
+ .lp-theme05-chart-share-canvas,
3036
+ .lp-theme05-chart-stacked-canvas,
3037
+ .lp-theme05-chart-curve-canvas,
3038
+ .lp-theme05-chart-peak-canvas,
3039
+ .lp-theme05-chart-peaktrough-canvas,
3040
+ .lp-theme05-chart-cumulative-canvas {
3041
+ flex: 1;
3042
+ min-height: 0;
3043
+ margin-top: 24px;
3044
+ }
3045
+
3046
+ .lp-theme05-chart-share-echart,
3047
+ .lp-theme05-chart-stacked-echart,
3048
+ .lp-theme05-chart-curve-echart,
3049
+ .lp-theme05-chart-peak-echart,
3050
+ .lp-theme05-chart-peaktrough-echart,
3051
+ .lp-theme05-chart-cumulative-echart {
3052
+ width: 100%;
3053
+ height: 100%;
3054
+ }
3055
+
3056
+ .lp-theme05-chart-share-aside,
3057
+ .lp-theme05-chart-stacked-aside,
3058
+ .lp-theme05-chart-curve-aside,
3059
+ .lp-theme05-chart-peak-aside,
3060
+ .lp-theme05-chart-peaktrough-aside,
3061
+ .lp-theme05-chart-cumulative-aside {
3062
+ display: flex;
3063
+ flex-direction: column;
3064
+ gap: 20px;
3065
+ padding-top: 52px;
3066
+ }
3067
+
3068
+ .lp-theme05-chart-share-empty,
3069
+ .lp-theme05-chart-stacked-empty,
3070
+ .lp-theme05-chart-curve-empty,
3071
+ .lp-theme05-chart-peak-empty,
3072
+ .lp-theme05-chart-peaktrough-empty,
3073
+ .lp-theme05-chart-cumulative-empty {
3074
+ width: 100%;
3075
+ height: 100%;
3076
+ display: flex;
3077
+ align-items: center;
3078
+ justify-content: center;
3079
+ color: var(--lp-ink3);
3080
+ border: 2px dashed var(--lp-border);
3081
+ border-radius: var(--lp-radius-medium);
3082
+ }
3083
+
3084
+ /* ---- Phase B / C 补齐与视觉统一 ---- */
3085
+
3086
+ .lp-theme05-pill {
3087
+ display: inline-flex;
3088
+ align-items: center;
3089
+ justify-content: center;
3090
+ padding: 4px 12px;
3091
+ background: var(--lp-accent);
3092
+ color: var(--lp-text-inverse);
3093
+ border-radius: 999px;
3094
+ font-style: normal;
3095
+ font-weight: 700;
3096
+ font-size: 0.85em;
3097
+ line-height: 1.2;
3098
+ vertical-align: middle;
3099
+ letter-spacing: -0.01em;
3100
+ }
3101
+
3102
+ .lp-theme05-bubble-title,
3103
+ .lp-theme05-map-title,
3104
+ .lp-theme05-matrix-title,
3105
+ .lp-theme05-quadrant-title,
3106
+ .lp-theme05-timeline-title {
3107
+ font-size: var(--lp-font-size-h1);
3108
+ font-weight: 800;
3109
+ line-height: 1.12;
3110
+ color: var(--lp-ink);
3111
+ letter-spacing: -0.02em;
3112
+ }
3113
+
3114
+ .lp-theme05-bubble-subtitle,
3115
+ .lp-theme05-map-subtitle,
3116
+ .lp-theme05-matrix-subtitle,
3117
+ .lp-theme05-quadrant-subtitle,
3118
+ .lp-theme05-timeline-subtitle {
3119
+ font-size: var(--lp-font-size-body);
3120
+ font-weight: 400;
3121
+ line-height: 1.5;
3122
+ color: var(--lp-ink2);
3123
+ margin-top: 14px;
3124
+ }
3125
+
3126
+ /* 漏斗图 */
3127
+
3128
+ .lp-theme05-chart-funnel {
3129
+ padding: 92px 84px 96px;
3130
+ display: grid;
3131
+ grid-template-columns: 1.4fr 0.6fr;
3132
+ gap: 48px;
3133
+ }
3134
+
3135
+ .lp-theme05-chart-funnel-main {
3136
+ display: flex;
3137
+ flex-direction: column;
3138
+ min-height: 0;
3139
+ }
3140
+
3141
+ .lp-theme05-chart-funnel-canvas {
3142
+ flex: 1;
3143
+ min-height: 260px;
3144
+ margin-top: 24px;
3145
+ }
3146
+
3147
+ .lp-theme05-chart-funnel-echart {
3148
+ width: 100%;
3149
+ height: 100%;
3150
+ }
3151
+
3152
+ .lp-theme05-chart-funnel-empty {
3153
+ width: 100%;
3154
+ height: 100%;
3155
+ min-height: 260px;
3156
+ display: flex;
3157
+ align-items: center;
3158
+ justify-content: center;
3159
+ color: var(--lp-ink3);
3160
+ border: 2px dashed var(--lp-border);
3161
+ border-radius: var(--lp-radius-lg);
3162
+ }
3163
+
3164
+ .lp-theme05-chart-funnel-aside {
3165
+ display: flex;
3166
+ flex-direction: column;
3167
+ gap: 20px;
3168
+ padding-top: 52px;
3169
+ }
3170
+
3171
+ /* 环形仪表盘 */
3172
+
3173
+ .lp-theme05-chart-gauge {
3174
+ padding: 92px 84px 96px;
3175
+ display: flex;
3176
+ flex-direction: column;
3177
+ }
3178
+
3179
+ .lp-theme05-chart-gauge-content {
3180
+ flex: 1;
3181
+ display: flex;
3182
+ flex-direction: column;
3183
+ min-height: 0;
3184
+ }
3185
+
3186
+ .lp-theme05-chart-gauge-canvas {
3187
+ flex: 1;
3188
+ position: relative;
3189
+ min-height: 260px;
3190
+ margin-top: 24px;
3191
+ }
3192
+
3193
+ .lp-theme05-chart-gauge-echart {
3194
+ width: 100%;
3195
+ height: 100%;
3196
+ }
3197
+
3198
+ .lp-theme05-chart-gauge-center {
3199
+ position: absolute;
3200
+ top: 50%;
3201
+ left: 50%;
3202
+ transform: translate(-50%, -50%);
3203
+ text-align: center;
3204
+ pointer-events: none;
3205
+ }
3206
+
3207
+ .lp-theme05-chart-gauge-value {
3208
+ font-family: var(--lp-font-mono);
3209
+ font-size: var(--lp-font-size-h1);
3210
+ font-weight: 900;
3211
+ color: var(--lp-ink);
3212
+ line-height: 1;
3213
+ }
3214
+
3215
+ .lp-theme05-chart-gauge-label {
3216
+ font-size: var(--lp-font-size-caption);
3217
+ font-weight: 600;
3218
+ color: var(--lp-ink2);
3219
+ margin-top: 4px;
3220
+ text-transform: uppercase;
3221
+ letter-spacing: 0.06em;
3222
+ }
3223
+
3224
+ /* 左右对比 */
3225
+
3226
+ .lp-theme05-comparison-v1 {
3227
+ padding: 92px 84px 96px;
3228
+ display: flex;
3229
+ flex-direction: column;
3230
+ }
3231
+
3232
+ .lp-theme05-comparison-v1-head {
3233
+ margin-bottom: 44px;
3234
+ }
3235
+
3236
+ .lp-theme05-comparison-v1-main {
3237
+ flex: 1;
3238
+ display: flex;
3239
+ align-items: stretch;
3240
+ justify-content: center;
3241
+ gap: 40px;
3242
+ min-height: 0;
3243
+ }
3244
+
3245
+ .lp-theme05-comparison-v1-card {
3246
+ flex: 1;
3247
+ max-width: 420px;
3248
+ padding: 44px 40px;
3249
+ background: var(--lp-surface-solid);
3250
+ border: 1px solid var(--lp-border);
3251
+ border-radius: var(--lp-radius-lg);
3252
+ box-shadow: var(--lp-shadow-sm);
3253
+ border-top: 6px solid var(--lp-accent);
3254
+ display: flex;
3255
+ flex-direction: column;
3256
+ gap: 24px;
3257
+ }
3258
+
3259
+ .lp-theme05-comparison-v1-card--coral { border-top-color: var(--lp-coral); }
3260
+ .lp-theme05-comparison-v1-card--amber { border-top-color: var(--lp-amber); }
3261
+ .lp-theme05-comparison-v1-card--teal { border-top-color: var(--lp-teal); }
3262
+ .lp-theme05-comparison-v1-card--indigo { border-top-color: var(--lp-indigo); }
3263
+ .lp-theme05-comparison-v1-card--violet { border-top-color: var(--lp-violet); }
3264
+
3265
+ .lp-theme05-comparison-v1-card-title {
3266
+ font-size: var(--lp-font-size-h3);
3267
+ font-weight: 800;
3268
+ color: var(--lp-ink);
3269
+ line-height: 1.25;
3270
+ }
3271
+
3272
+ .lp-theme05-comparison-v1-list {
3273
+ list-style: none;
3274
+ padding: 0;
3275
+ margin: 0;
3276
+ display: flex;
3277
+ flex-direction: column;
3278
+ gap: 14px;
3279
+ }
3280
+
3281
+ .lp-theme05-comparison-v1-item {
3282
+ font-size: var(--lp-font-size-body);
3283
+ line-height: 1.5;
3284
+ color: var(--lp-ink2);
3285
+ padding-left: 24px;
3286
+ position: relative;
3287
+ }
3288
+
3289
+ .lp-theme05-comparison-v1-item::before {
3290
+ content: '';
3291
+ position: absolute;
3292
+ left: 0;
3293
+ top: 10px;
3294
+ width: 8px;
3295
+ height: 8px;
3296
+ border-radius: 50%;
3297
+ background: var(--lp-accent);
3298
+ }
3299
+
3300
+ .lp-theme05-comparison-v1-vs {
3301
+ width: 84px;
3302
+ height: 84px;
3303
+ border-radius: 50%;
3304
+ background: var(--lp-surface-strong);
3305
+ border: 1px solid var(--lp-border);
3306
+ display: flex;
3307
+ align-items: center;
3308
+ justify-content: center;
3309
+ flex: none;
3310
+ font-family: var(--lp-font-mono);
3311
+ font-size: 28px;
3312
+ font-weight: 800;
3313
+ color: var(--lp-ink3);
3314
+ letter-spacing: 0.04em;
3315
+ }
3316
+
3317
+ /* 垂直流程 V2 */
3318
+
3319
+ .lp-theme05-process-v2 {
3320
+ padding: 92px 84px 96px;
3321
+ display: flex;
3322
+ flex-direction: column;
3323
+ }
3324
+
3325
+ .lp-theme05-process-v2-head {
3326
+ margin-bottom: 44px;
3327
+ }
3328
+
3329
+ .lp-theme05-process-v2-track {
3330
+ flex: 1;
3331
+ display: flex;
3332
+ flex-direction: column;
3333
+ gap: 16px;
3334
+ min-height: 0;
3335
+ overflow: auto;
3336
+ }
3337
+
3338
+ .lp-theme05-process-v2-step {
3339
+ display: flex;
3340
+ align-items: stretch;
3341
+ gap: 16px;
3342
+ }
3343
+
3344
+ .lp-theme05-process-v2-node {
3345
+ width: 56px;
3346
+ display: flex;
3347
+ align-items: center;
3348
+ justify-content: center;
3349
+ flex: none;
3350
+ }
3351
+
3352
+ .lp-theme05-process-v2-node-number {
3353
+ width: 48px;
3354
+ height: 48px;
3355
+ border-radius: 50%;
3356
+ background: var(--lp-coral);
3357
+ color: var(--lp-white-alpha-90);
3358
+ font-family: var(--lp-font-mono);
3359
+ font-size: 18px;
3360
+ font-weight: 800;
3361
+ display: flex;
3362
+ align-items: center;
3363
+ justify-content: center;
3364
+ }
3365
+
3366
+ .lp-theme05-process-v2-step--coral .lp-theme05-process-v2-node-number { background: var(--lp-coral); }
3367
+ .lp-theme05-process-v2-step--amber .lp-theme05-process-v2-node-number { background: var(--lp-amber); }
3368
+ .lp-theme05-process-v2-step--teal .lp-theme05-process-v2-node-number { background: var(--lp-teal); }
3369
+ .lp-theme05-process-v2-step--indigo .lp-theme05-process-v2-node-number { background: var(--lp-indigo); }
3370
+ .lp-theme05-process-v2-step--violet .lp-theme05-process-v2-node-number { background: var(--lp-violet); }
3371
+
3372
+ .lp-theme05-process-v2-card {
3373
+ flex: 1;
3374
+ padding: 28px 24px;
3375
+ background: var(--lp-surface-solid);
3376
+ border: 1px solid var(--lp-border);
3377
+ border-radius: var(--lp-radius-lg);
3378
+ border-left: 5px solid var(--lp-accent);
3379
+ display: flex;
3380
+ flex-direction: column;
3381
+ gap: 10px;
3382
+ }
3383
+
3384
+ .lp-theme05-process-v2-step--coral .lp-theme05-process-v2-card { border-left-color: var(--lp-coral); }
3385
+ .lp-theme05-process-v2-step--amber .lp-theme05-process-v2-card { border-left-color: var(--lp-amber); }
3386
+ .lp-theme05-process-v2-step--teal .lp-theme05-process-v2-card { border-left-color: var(--lp-teal); }
3387
+ .lp-theme05-process-v2-step--indigo .lp-theme05-process-v2-card { border-left-color: var(--lp-indigo); }
3388
+ .lp-theme05-process-v2-step--violet .lp-theme05-process-v2-card { border-left-color: var(--lp-violet); }
3389
+
3390
+ .lp-theme05-process-v2-step-title {
3391
+ font-size: var(--lp-font-size-h3);
3392
+ font-weight: 800;
3393
+ color: var(--lp-ink);
3394
+ line-height: 1.25;
3395
+ }
3396
+
3397
+ .lp-theme05-process-v2-step-description {
3398
+ font-size: var(--lp-font-size-body-small);
3399
+ color: var(--lp-ink2);
3400
+ line-height: 1.55;
3401
+ }
3402
+
3403
+ /* 引用 V2 */
3404
+
3405
+ .lp-theme05-quote-v2 {
3406
+ padding: 92px 120px 96px;
3407
+ display: flex;
3408
+ align-items: center;
3409
+ gap: 48px;
3410
+ }
3411
+
3412
+ .lp-theme05-quote-v2-bar {
3413
+ width: 8px;
3414
+ height: 220px;
3415
+ border-radius: var(--lp-radius-large);
3416
+ background: linear-gradient(180deg, var(--lp-accent) 0%, var(--lp-accent-2) 50%, var(--lp-accent-cool) 100%);
3417
+ flex: none;
3418
+ }
3419
+
3420
+ .lp-theme05-quote-v2-content {
3421
+ flex: 1;
3422
+ display: flex;
3423
+ flex-direction: column;
3424
+ gap: 24px;
3425
+ }
3426
+
3427
+ .lp-theme05-quote-v2-mark {
3428
+ font-size: 120px;
3429
+ font-weight: 900;
3430
+ line-height: 1;
3431
+ color: var(--lp-accent);
3432
+ opacity: 0.18;
3433
+ height: 60px;
3434
+ display: flex;
3435
+ align-items: flex-end;
3436
+ }
3437
+
3438
+ .lp-theme05-quote-v2-text {
3439
+ font-size: var(--lp-font-size-h2);
3440
+ font-weight: 700;
3441
+ line-height: 1.35;
3442
+ color: var(--lp-ink);
3443
+ margin: 0;
3444
+ }
3445
+
3446
+ .lp-theme05-quote-v2-source {
3447
+ font-size: var(--lp-font-size-body-small);
3448
+ color: var(--lp-ink3);
3449
+ font-style: normal;
3450
+ }
3451
+
3452
+ .lp-theme05-quote-v2--coral .lp-theme05-quote-v2-bar { background: var(--lp-coral); }
3453
+ .lp-theme05-quote-v2--amber .lp-theme05-quote-v2-bar { background: var(--lp-amber); }
3454
+ .lp-theme05-quote-v2--teal .lp-theme05-quote-v2-bar { background: var(--lp-teal); }
3455
+ .lp-theme05-quote-v2--indigo .lp-theme05-quote-v2-bar { background: var(--lp-indigo); }
3456
+ .lp-theme05-quote-v2--violet .lp-theme05-quote-v2-bar { background: var(--lp-violet); }
3457
+
3458
+ /* 编号目录 V2 */
3459
+
3460
+ .lp-theme05-toc-v2 {
3461
+ padding: 92px 84px 96px;
3462
+ display: grid;
3463
+ grid-template-columns: 1fr 1fr;
3464
+ gap: 64px;
3465
+ align-items: center;
3466
+ }
3467
+
3468
+ .lp-theme05-toc-v2-head {
3469
+ display: flex;
3470
+ flex-direction: column;
3471
+ }
3472
+
3473
+ .lp-theme05-toc-v2-title {
3474
+ font-size: var(--lp-font-size-display-small);
3475
+ font-weight: 900;
3476
+ line-height: 1.05;
3477
+ color: var(--lp-ink);
3478
+ letter-spacing: -0.03em;
3479
+ }
3480
+
3481
+ .lp-theme05-toc-v2-subtitle {
3482
+ font-size: var(--lp-font-size-h2);
3483
+ font-weight: 400;
3484
+ color: var(--lp-ink2);
3485
+ margin-top: 14px;
3486
+ line-height: 1.35;
3487
+ }
3488
+
3489
+ .lp-theme05-toc-v2-list {
3490
+ display: flex;
3491
+ flex-direction: column;
3492
+ gap: 12px;
3493
+ min-height: 0;
3494
+ }
3495
+
3496
+ .lp-theme05-toc-v2-item {
3497
+ display: flex;
3498
+ align-items: flex-start;
3499
+ gap: 18px;
3500
+ padding: 16px 20px;
3501
+ background: var(--lp-surface-solid);
3502
+ border: 1px solid var(--lp-border);
3503
+ border-radius: var(--lp-radius-lg);
3504
+ }
3505
+
3506
+ .lp-theme05-toc-v2-number {
3507
+ width: 48px;
3508
+ height: 48px;
3509
+ border-radius: var(--lp-radius-small);
3510
+ background: var(--lp-surface);
3511
+ display: flex;
3512
+ align-items: center;
3513
+ justify-content: center;
3514
+ font-family: var(--lp-font-mono);
3515
+ font-size: var(--lp-font-size-h3);
3516
+ font-weight: 700;
3517
+ color: var(--lp-accent);
3518
+ flex: none;
3519
+ }
3520
+
3521
+ .lp-theme05-toc-v2-text {
3522
+ flex: 1;
3523
+ display: flex;
3524
+ flex-direction: column;
3525
+ gap: 4px;
3526
+ }
3527
+
3528
+ .lp-theme05-toc-v2-item-title {
3529
+ font-size: var(--lp-font-size-h3);
3530
+ font-weight: 700;
3531
+ color: var(--lp-ink);
3532
+ line-height: 1.25;
3533
+ }
3534
+
3535
+ .lp-theme05-toc-v2-page {
3536
+ font-family: var(--lp-font-mono);
3537
+ font-size: var(--lp-font-size-caption);
3538
+ color: var(--lp-ink3);
3539
+ }
3540
+
3541
+ /* 默认 scheme 回退 */
3542
+
3543
+ .lp-theme05-cover-ex-stat--coral { border-top-color: var(--lp-coral); }
3544
+ .lp-theme05-cover-ex2-highlight--coral { background: var(--lp-coral); }
3545
+
3546
+ /* 卡片圆角统一 */
3547
+
3548
+ .lp-theme05-card {
3549
+ border-radius: var(--lp-radius-lg);
3550
+ }
3551
+
3552
+ .lp-theme05-matrix-card,
3553
+ .lp-theme05-quadrant-card,
3554
+ .lp-theme05-roadmap-card {
3555
+ background: var(--lp-surface-solid);
3556
+ border: 1px solid var(--lp-border);
3557
+ border-radius: var(--lp-radius-lg);
3558
+ }
3559
+
3560
+ .lp-theme05-roadmap-card {
3561
+ padding: 26px 22px;
3562
+ }
3563
+
3564
+ /* 图片占位增强 */
3565
+
3566
+ .lp-theme05-profile-avatar .lp-editable-image-placeholder {
3567
+ width: 100%;
3568
+ height: 100%;
3569
+ display: flex;
3570
+ flex-direction: column;
3571
+ align-items: center;
3572
+ justify-content: center;
3573
+ gap: 10px;
3574
+ color: var(--lp-ink3);
3575
+ border: 2px dashed var(--lp-border);
3576
+ border-radius: var(--lp-radius-medium);
3577
+ cursor: pointer;
3578
+ transition: border-color 0.15s, color 0.15s, background 0.15s;
3579
+ }
3580
+
3581
+ .lp-theme05-profile-avatar .lp-editable-image-placeholder:hover {
3582
+ border-color: var(--lp-accent);
3583
+ color: var(--lp-accent);
3584
+ background: var(--lp-overlay);
3585
+ }
3586
+
3587
+ .lp-theme05-cover-hero-placeholder,
3588
+ .lp-theme05-chapter-image-placeholder {
3589
+ transition: border-color 0.15s, color 0.15s, background 0.15s;
3590
+ }
3591
+
3592
+ .lp-theme05-cover-hero-placeholder:hover,
3593
+ .lp-theme05-chapter-image-placeholder:hover {
3594
+ border-color: var(--lp-accent);
3595
+ color: var(--lp-accent);
3596
+ background: var(--lp-overlay);
3597
+ }
3598
+
3599
+ /* 对比度修复 #322(修订):versus / metric 实际落在深 substrate(#15151A/#1E1E24)上,
3600
+ 故沿用 :root(dark 外观)自带的浅色 --lp-ink2/--lp-ink3 与 --lp-accent 眉标,
3601
+ 不再强制深灰(此前误判为浅底导致 4.5:1 不达标)。 */