@lemonppt/themes 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -692,14 +692,14 @@
692
692
 
693
693
  .lp-theme02-delta-item {
694
694
  position: relative;
695
- padding: 28px;
695
+ padding: 20px;
696
696
  background: var(--lp-surface);
697
697
  border: 1px solid var(--lp-border);
698
698
  border-radius: var(--lp-radius-large);
699
699
  box-shadow: var(--lp-shadow);
700
700
  display: flex;
701
701
  flex-direction: column;
702
- gap: 20px;
702
+ gap: 14px;
703
703
  overflow: hidden;
704
704
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
705
705
  }
@@ -966,9 +966,9 @@
966
966
  .lp-theme02-delta-v1--insight {
967
967
  display: flex;
968
968
  flex-direction: row;
969
- gap: 32px;
969
+ gap: 24px;
970
970
  align-items: stretch;
971
- padding: 72px 84px;
971
+ padding: 56px 64px;
972
972
  }
973
973
 
974
974
  .lp-theme02-metric-big--insight .lp-theme02-metric-card,
@@ -978,6 +978,7 @@
978
978
  .lp-theme02-delta-v1--insight .lp-theme02-delta-main {
979
979
  flex: 1;
980
980
  min-width: 0;
981
+ min-height: 0;
981
982
  display: flex;
982
983
  flex-direction: column;
983
984
  }
@@ -2330,14 +2331,14 @@
2330
2331
  .lp-theme02-bento-grid {
2331
2332
  display: grid;
2332
2333
  grid-template-columns: repeat(4, 1fr);
2333
- grid-auto-rows: minmax(140px, auto);
2334
- gap: 20px;
2334
+ grid-auto-rows: minmax(112px, auto);
2335
+ gap: 14px;
2335
2336
  flex: 1;
2336
2337
  }
2337
2338
 
2338
2339
  .lp-theme02-bento-card {
2339
2340
  position: relative;
2340
- padding: 28px;
2341
+ padding: 20px;
2341
2342
  background: var(--lp-surface);
2342
2343
  border: 1px solid var(--lp-border);
2343
2344
  border-radius: var(--lp-radius-large);
@@ -2346,6 +2347,7 @@
2346
2347
  flex-direction: column;
2347
2348
  justify-content: flex-end;
2348
2349
  gap: 6px;
2350
+ min-height: 0;
2349
2351
  overflow: hidden;
2350
2352
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
2351
2353
  }
@@ -2495,8 +2497,8 @@
2495
2497
  font-size: 42px;
2496
2498
  font-weight: 900;
2497
2499
  line-height: 1;
2498
- color: var(--lp-ink3);
2499
- opacity: 0.5;
2500
+ color: var(--lp-ink2);
2501
+ opacity: 0.55;
2500
2502
  }
2501
2503
 
2502
2504
  .lp-theme02-feature-card-title {
@@ -3338,6 +3340,7 @@
3338
3340
  grid-template-columns: repeat(4, 1fr);
3339
3341
  gap: 20px;
3340
3342
  flex: 1;
3343
+ min-width: 0;
3341
3344
  align-content: center;
3342
3345
  }
3343
3346
 
@@ -3352,6 +3355,7 @@
3352
3355
  align-items: center;
3353
3356
  justify-content: center;
3354
3357
  gap: 14px;
3358
+ min-width: 0;
3355
3359
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
3356
3360
  }
3357
3361
 
@@ -4622,3 +4626,392 @@
4622
4626
  animation: none;
4623
4627
  }
4624
4628
  }
4629
+
4630
+ /* ===== Theme02 扩展版式 (Batch A) ===== */
4631
+
4632
+ /* ---- feature-v2 图标特性网格 ---- */
4633
+ .lp-theme02-feature-v2 { position: relative; }
4634
+ .lp-theme02-feature-card { position: relative; z-index: 1; width: 100%; height: 100%; padding: 60px 80px; display: flex; flex-direction: column; }
4635
+ .lp-theme02-feature-header { display: flex; flex-direction: column; gap: 14px; margin-bottom: 36px; }
4636
+ .lp-theme02-feature-title { font-size: 48px; font-weight: 900; line-height: 1.1; color: var(--lp-ink); margin: 0; }
4637
+ .lp-theme02-feature-subtitle { font-size: 22px; font-weight: 600; color: var(--lp-ink2); margin: 0; max-width: 900px; }
4638
+ .lp-theme02-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 28px; }
4639
+ .lp-theme02-feature-item { background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: var(--lp-radius-medium); padding: 24px; display: flex; flex-direction: column; gap: 10px; box-shadow: var(--lp-shadow-sm); }
4640
+ .lp-theme02-feature-icon { font-size: 32px; line-height: 1; }
4641
+ .lp-theme02-feature-item-title { font-size: 22px; font-weight: 800; color: var(--lp-ink); margin: 0; }
4642
+ .lp-theme02-feature-item-desc { font-size: 15px; color: var(--lp-ink2); line-height: 1.5; margin: 0; }
4643
+
4644
+ /* ---- checklist-v1 行动清单 ---- */
4645
+ .lp-theme02-checklist-v1 { position: relative; }
4646
+ .lp-theme02-checklist-card { position: relative; z-index: 1; width: 100%; height: 100%; padding: 60px 80px; display: flex; flex-direction: column; }
4647
+ .lp-theme02-checklist-header { display: flex; flex-direction: column; gap: 14px; margin-bottom: 32px; }
4648
+ .lp-theme02-checklist-title { font-size: 48px; font-weight: 900; line-height: 1.1; color: var(--lp-ink); margin: 0; }
4649
+ .lp-theme02-checklist-subtitle { font-size: 22px; font-weight: 600; color: var(--lp-ink2); margin: 0; max-width: 900px; }
4650
+ .lp-theme02-checklist-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 16px; }
4651
+ .lp-theme02-checklist-item { display: flex; align-items: flex-start; gap: 16px; }
4652
+ .lp-theme02-checklist-mark { flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--lp-glow-accent-subtle); border: 1px solid var(--lp-accent); color: var(--lp-accent); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 15px; }
4653
+ .lp-theme02-checklist-body { display: flex; flex-direction: column; gap: 4px; }
4654
+ .lp-theme02-checklist-text { font-size: 22px; font-weight: 700; color: var(--lp-ink); }
4655
+ .lp-theme02-checklist-note { font-size: 15px; color: var(--lp-ink2); }
4656
+
4657
+ /* ---- steps-v1 编号步骤 ---- */
4658
+ .lp-theme02-steps-v1 { position: relative; }
4659
+ .lp-theme02-steps-card { position: relative; z-index: 1; width: 100%; height: 100%; padding: 60px 80px; display: flex; flex-direction: column; }
4660
+ .lp-theme02-steps-header { display: flex; flex-direction: column; gap: 14px; margin-bottom: 36px; }
4661
+ .lp-theme02-steps-title { font-size: 48px; font-weight: 900; line-height: 1.1; color: var(--lp-ink); margin: 0; }
4662
+ .lp-theme02-steps-subtitle { font-size: 22px; font-weight: 600; color: var(--lp-ink2); margin: 0; max-width: 900px; }
4663
+ .lp-theme02-steps-track { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 28px; }
4664
+ .lp-theme02-step { display: flex; flex-direction: column; gap: 10px; }
4665
+ .lp-theme02-step-index { width: 48px; height: 48px; border-radius: 50%; background: var(--lp-surface); border: 1px solid var(--lp-accent); color: var(--lp-accent); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 20px; box-shadow: 0 0 18px var(--lp-glow-accent-subtle); }
4666
+ .lp-theme02-step-title { font-size: 22px; font-weight: 800; color: var(--lp-ink); margin: 0; }
4667
+ .lp-theme02-step-desc { font-size: 15px; color: var(--lp-ink2); line-height: 1.5; margin: 0; }
4668
+
4669
+ /* ---- card-grid-v1 通用卡片网格 ---- */
4670
+ .lp-theme02-card-grid-v1 { position: relative; }
4671
+ .lp-theme02-card-grid-card { position: relative; z-index: 1; width: 100%; height: 100%; padding: 60px 80px; display: flex; flex-direction: column; }
4672
+ .lp-theme02-card-grid-header { display: flex; flex-direction: column; gap: 14px; margin-bottom: 32px; }
4673
+ .lp-theme02-card-grid-title { font-size: 48px; font-weight: 900; line-height: 1.1; color: var(--lp-ink); margin: 0; }
4674
+ .lp-theme02-card-grid-subtitle { font-size: 22px; font-weight: 600; color: var(--lp-ink2); margin: 0; max-width: 900px; }
4675
+ .lp-theme02-card-grid-items { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 24px; }
4676
+ .lp-theme02-card-grid-item { background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: var(--lp-radius-medium); padding: 22px; display: flex; flex-direction: column; gap: 8px; box-shadow: var(--lp-shadow-sm); }
4677
+ .lp-theme02-card-grid-tag { align-self: flex-start; font-family: var(--lp-font-mono); font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--lp-accent); padding: 4px 10px; border: 1px solid var(--lp-border); border-radius: 999px; }
4678
+ .lp-theme02-card-grid-item-title { font-size: 21px; font-weight: 800; color: var(--lp-ink); margin: 0; }
4679
+ .lp-theme02-card-grid-item-desc { font-size: 15px; color: var(--lp-ink2); line-height: 1.5; margin: 0; }
4680
+
4681
+ /* ---- highlight-v1 关键结论 ---- */
4682
+ .lp-theme02-highlight-v1 { position: relative; }
4683
+ .lp-theme02-highlight-card { position: relative; z-index: 1; width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 22px; text-align: center; padding: 60px 100px; }
4684
+ .lp-theme02-highlight-pill { margin-bottom: 2px; }
4685
+ .lp-theme02-highlight-title { font-size: 24px; font-weight: 700; color: var(--lp-ink2); margin: 0; }
4686
+ .lp-theme02-highlight-statement { font-size: 46px; font-weight: 900; line-height: 1.25; letter-spacing: -0.01em; color: var(--lp-ink); margin: 0; max-width: 1000px; }
4687
+ .lp-theme02-highlight-footnote { font-size: 18px; color: var(--lp-ink2); margin: 0; }
4688
+
4689
+ /* ---- comparison-v2 双栏对比 ---- */
4690
+ .lp-theme02-comparison-v2 { position: relative; }
4691
+ .lp-theme02-comparison-card { position: relative; z-index: 1; width: 100%; height: 100%; padding: 60px 80px; display: flex; flex-direction: column; }
4692
+ .lp-theme02-comparison-header { display: flex; flex-direction: column; gap: 14px; margin-bottom: 32px; }
4693
+ .lp-theme02-comparison-title { font-size: 48px; font-weight: 900; line-height: 1.1; color: var(--lp-ink); margin: 0; }
4694
+ .lp-theme02-comparison-subtitle { font-size: 22px; font-weight: 600; color: var(--lp-ink2); margin: 0; max-width: 900px; }
4695
+ .lp-theme02-comparison-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 24px; }
4696
+ .lp-theme02-comparison-col { background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: var(--lp-radius-medium); padding: 28px; display: flex; flex-direction: column; gap: 16px; box-shadow: var(--lp-shadow-sm); }
4697
+ .lp-theme02-comparison-col--right { border-color: var(--lp-accent); }
4698
+ .lp-theme02-comparison-col-title { font-size: 26px; font-weight: 800; color: var(--lp-ink); margin: 0; }
4699
+ .lp-theme02-comparison-points { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
4700
+ .lp-theme02-comparison-points li { position: relative; padding-left: 24px; font-size: 18px; color: var(--lp-ink); line-height: 1.5; }
4701
+ .lp-theme02-comparison-points li::before { content: ''; position: absolute; left: 0; top: 10px; width: 8px; height: 8px; border-radius: 50%; background: var(--lp-accent); }
4702
+ .lp-theme02-comparison-col--left .lp-theme02-comparison-points li::before { background: var(--lp-ink3); }
4703
+
4704
+ /* ---- matrix-v1 四象限 ---- */
4705
+ .lp-theme02-matrix-v1 { position: relative; }
4706
+ .lp-theme02-matrix-card { position: relative; z-index: 1; width: 100%; height: 100%; padding: 60px 80px; display: flex; flex-direction: column; }
4707
+ .lp-theme02-matrix-header { display: flex; flex-direction: column; gap: 14px; margin-bottom: 24px; }
4708
+ .lp-theme02-matrix-title { font-size: 48px; font-weight: 900; line-height: 1.1; color: var(--lp-ink); margin: 0; }
4709
+ .lp-theme02-matrix-subtitle { font-size: 22px; font-weight: 600; color: var(--lp-ink2); margin: 0; max-width: 900px; }
4710
+ .lp-theme02-matrix-body { display: flex; gap: 12px; margin-top: 16px; flex: 1; min-height: 0; }
4711
+ .lp-theme02-matrix-yaxis { writing-mode: vertical-rl; text-orientation: mixed; align-self: center; font-size: 13px; color: var(--lp-ink3); font-family: var(--lp-font-mono); letter-spacing: 0.1em; text-transform: uppercase; }
4712
+ .lp-theme02-matrix-grid { flex: 1; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 14px; min-height: 0; }
4713
+ .lp-theme02-matrix-cell { background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: var(--lp-radius-medium); padding: 20px; display: flex; flex-direction: column; gap: 8px; box-shadow: var(--lp-shadow-sm); min-height: 0; }
4714
+ .lp-theme02-matrix-cell--0 { border-top: 3px solid var(--lp-accent); }
4715
+ .lp-theme02-matrix-cell--1 { border-top: 3px solid var(--lp-accent-cool); }
4716
+ .lp-theme02-matrix-cell--2 { border-top: 3px solid var(--lp-violet); }
4717
+ .lp-theme02-matrix-cell--3 { border-top: 3px solid var(--lp-pink); }
4718
+ .lp-theme02-matrix-cell-title { font-size: 20px; font-weight: 800; color: var(--lp-ink); margin: 0; }
4719
+ .lp-theme02-matrix-cell-desc { font-size: 14px; color: var(--lp-ink2); line-height: 1.45; margin: 0; overflow: hidden; }
4720
+ .lp-theme02-matrix-xaxis { text-align: center; font-size: 13px; color: var(--lp-ink3); font-family: var(--lp-font-mono); letter-spacing: 0.1em; text-transform: uppercase; margin-top: 6px; }
4721
+
4722
+ /* ---- stat-grid-v1 指标网格 ---- */
4723
+ .lp-theme02-stat-grid-v1 { position: relative; }
4724
+ .lp-theme02-stat-grid-card { position: relative; z-index: 1; width: 100%; height: 100%; padding: 60px 80px; display: flex; flex-direction: column; }
4725
+ .lp-theme02-stat-grid-header { display: flex; flex-direction: column; gap: 14px; margin-bottom: 32px; }
4726
+ .lp-theme02-stat-grid-title { font-size: 48px; font-weight: 900; line-height: 1.1; color: var(--lp-ink); margin: 0; }
4727
+ .lp-theme02-stat-grid-subtitle { font-size: 22px; font-weight: 600; color: var(--lp-ink2); margin: 0; max-width: 900px; }
4728
+ .lp-theme02-stat-grid-items { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 24px; }
4729
+ .lp-theme02-stat-grid-item { background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: var(--lp-radius-medium); padding: 22px; display: flex; flex-direction: column; gap: 8px; box-shadow: var(--lp-shadow-sm); }
4730
+ .lp-theme02-stat-grid-value { font-size: 38px; font-weight: 900; color: var(--lp-accent); line-height: 1; display: flex; align-items: baseline; gap: 4px; }
4731
+ .lp-theme02-stat-grid-unit { font-size: 18px; font-weight: 700; color: var(--lp-ink2); }
4732
+ .lp-theme02-stat-grid-label { font-size: 15px; color: var(--lp-ink2); }
4733
+ .lp-theme02-stat-grid-delta { font-size: 14px; font-weight: 700; color: var(--lp-green); font-family: var(--lp-font-mono); }
4734
+
4735
+ /* ---- cover-v3 备选封面 ---- */
4736
+ .lp-theme02-cover-v3 { display: flex; align-items: center; justify-content: center; }
4737
+ .lp-theme02-cover-v3-content { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 22px; text-align: center; padding: 0 80px; }
4738
+ .lp-theme02-cover-v3-title { font-size: 72px; font-weight: 900; line-height: 1.05; letter-spacing: -0.02em; color: var(--lp-ink); margin: 0; background: linear-gradient(135deg, var(--lp-ink) 0%, var(--lp-accent) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
4739
+ .lp-theme02-cover-v3-subtitle { font-size: 24px; font-weight: 600; color: var(--lp-ink2); margin: 0; max-width: 880px; }
4740
+ .lp-theme02-cover-v3-date { font-size: 15px; color: var(--lp-ink3); font-family: var(--lp-font-mono); letter-spacing: 0.08em; }
4741
+
4742
+ /* ---- closing-v2 备选收尾 ---- */
4743
+ .lp-theme02-closing-v2 { display: flex; align-items: center; justify-content: center; }
4744
+ .lp-theme02-closing-v2-content { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 22px; text-align: center; padding: 0 80px; }
4745
+ .lp-theme02-closing-v2-title { font-size: 64px; font-weight: 900; line-height: 1.08; color: var(--lp-ink); margin: 0; }
4746
+ .lp-theme02-closing-v2-subtitle { font-size: 24px; font-weight: 600; color: var(--lp-ink2); margin: 0; max-width: 900px; }
4747
+ .lp-theme02-closing-v2-cta { margin-top: 8px; font-size: 18px; font-weight: 800; color: var(--lp-text-inverse); background: var(--lp-accent); padding: 14px 32px; border-radius: 999px; box-shadow: 0 0 24px var(--lp-glow-accent); }
4748
+
4749
+ /* ===== Theme02 扩展版式 (Batch B) ===== */
4750
+
4751
+ /* 公共版式容器 */
4752
+ .lp-theme02-chart-bar-inner,
4753
+ .lp-theme02-chart-line-inner,
4754
+ .lp-theme02-chart-area-inner,
4755
+ .lp-theme02-chart-stack-inner,
4756
+ .lp-theme02-kpi-strip-inner,
4757
+ .lp-theme02-big-stat-inner,
4758
+ .lp-theme02-cycle-inner,
4759
+ .lp-theme02-swimlane-inner,
4760
+ .lp-theme02-pyramid-inner,
4761
+ .lp-theme02-org-chart-inner,
4762
+ .lp-theme02-flow-inner,
4763
+ .lp-theme02-table-v2-inner,
4764
+ .lp-theme02-image-split-inner,
4765
+ .lp-theme02-image-grid-v2-inner,
4766
+ .lp-theme02-logo-wall-inner {
4767
+ position: relative;
4768
+ z-index: 1;
4769
+ width: 100%;
4770
+ height: 100%;
4771
+ padding: 56px 64px;
4772
+ display: flex;
4773
+ flex-direction: column;
4774
+ }
4775
+ .lp-theme02-chart-bar-header,
4776
+ .lp-theme02-chart-line-header,
4777
+ .lp-theme02-chart-area-header,
4778
+ .lp-theme02-chart-stack-header,
4779
+ .lp-theme02-kpi-strip-header,
4780
+ .lp-theme02-cycle-header,
4781
+ .lp-theme02-swimlane-header,
4782
+ .lp-theme02-pyramid-header,
4783
+ .lp-theme02-org-chart-header,
4784
+ .lp-theme02-flow-header,
4785
+ .lp-theme02-table-v2-header,
4786
+ .lp-theme02-image-grid-v2-header,
4787
+ .lp-theme02-logo-wall-header {
4788
+ display: flex;
4789
+ flex-direction: column;
4790
+ gap: 14px;
4791
+ margin-bottom: 28px;
4792
+ }
4793
+ .lp-theme02-chart-bar-title,
4794
+ .lp-theme02-chart-line-title,
4795
+ .lp-theme02-chart-area-title,
4796
+ .lp-theme02-chart-stack-title,
4797
+ .lp-theme02-kpi-strip-title,
4798
+ .lp-theme02-cycle-title,
4799
+ .lp-theme02-swimlane-title,
4800
+ .lp-theme02-pyramid-title,
4801
+ .lp-theme02-org-chart-title,
4802
+ .lp-theme02-flow-title,
4803
+ .lp-theme02-table-v2-title,
4804
+ .lp-theme02-image-grid-v2-title,
4805
+ .lp-theme02-logo-wall-title {
4806
+ font-size: 38px;
4807
+ font-weight: 900;
4808
+ line-height: 1.1;
4809
+ color: var(--lp-ink);
4810
+ margin: 0;
4811
+ }
4812
+ .lp-theme02-chart-bar-subtitle,
4813
+ .lp-theme02-chart-line-subtitle,
4814
+ .lp-theme02-chart-area-subtitle,
4815
+ .lp-theme02-chart-stack-subtitle,
4816
+ .lp-theme02-kpi-strip-subtitle,
4817
+ .lp-theme02-cycle-subtitle,
4818
+ .lp-theme02-swimlane-subtitle,
4819
+ .lp-theme02-pyramid-subtitle,
4820
+ .lp-theme02-org-chart-subtitle,
4821
+ .lp-theme02-flow-subtitle,
4822
+ .lp-theme02-table-v2-subtitle,
4823
+ .lp-theme02-image-grid-v2-subtitle,
4824
+ .lp-theme02-logo-wall-subtitle {
4825
+ font-size: 17px;
4826
+ font-weight: 600;
4827
+ color: var(--lp-ink2);
4828
+ margin: 0;
4829
+ max-width: 920px;
4830
+ }
4831
+ .lp-theme02-chart-bar-unit,
4832
+ .lp-theme02-chart-line-unit,
4833
+ .lp-theme02-chart-area-unit,
4834
+ .lp-theme02-chart-stack-unit {
4835
+ font-family: var(--lp-font-mono);
4836
+ font-size: 13px;
4837
+ color: var(--lp-ink3);
4838
+ margin: -10px 0 12px;
4839
+ }
4840
+
4841
+ /* ---- chart-bar-v1 ---- */
4842
+ .lp-theme02-chart-bar-svg { width: 100%; height: auto; flex: 1; min-height: 0; }
4843
+ .lp-theme02-chart-bar-rect { transition: opacity 0.2s ease; }
4844
+ .lp-theme02-chart-bar-rect:hover { opacity: 0.82; }
4845
+ .lp-theme02-chart-bar-empty,
4846
+ .lp-theme02-chart-line-empty,
4847
+ .lp-theme02-chart-area-empty,
4848
+ .lp-theme02-chart-stack-empty { flex: 1; display: flex; align-items: center; justify-content: center; color: var(--lp-ink3); font-family: var(--lp-font-mono); font-size: 14px; }
4849
+ .lp-theme02-chart-bar-legend,
4850
+ .lp-theme02-chart-line-legend,
4851
+ .lp-theme02-chart-area-legend,
4852
+ .lp-theme02-chart-stack-legend { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 18px; }
4853
+ .lp-theme02-chart-bar-legend-item,
4854
+ .lp-theme02-chart-line-legend-item,
4855
+ .lp-theme02-chart-area-legend-item,
4856
+ .lp-theme02-chart-stack-legend-item { display: flex; align-items: center; gap: 8px; }
4857
+ .lp-theme02-chart-bar-legend-dot,
4858
+ .lp-theme02-chart-line-legend-dot,
4859
+ .lp-theme02-chart-area-legend-dot,
4860
+ .lp-theme02-chart-stack-legend-dot { width: 12px; height: 12px; border-radius: 4px; flex: none; box-shadow: 0 0 10px currentColor; }
4861
+ .lp-theme02-chart-bar-legend-name,
4862
+ .lp-theme02-chart-line-legend-name,
4863
+ .lp-theme02-chart-area-legend-name,
4864
+ .lp-theme02-chart-stack-legend-name { font-size: 14px; color: var(--lp-ink); font-weight: 600; }
4865
+
4866
+ /* ---- chart-line-v1 ---- */
4867
+ .lp-theme02-chart-line-svg { width: 100%; height: auto; flex: 1; min-height: 0; }
4868
+ .lp-theme02-chart-line-path { filter: drop-shadow(0 0 8px var(--lp-glow-accent)); }
4869
+
4870
+ /* ---- chart-area-v1 ---- */
4871
+ .lp-theme02-chart-area-svg { width: 100%; height: auto; flex: 1; min-height: 0; }
4872
+ .lp-theme02-chart-area-path { filter: drop-shadow(0 0 6px var(--lp-glow-cool-subtle)); }
4873
+
4874
+ /* ---- chart-stack-v1 ---- */
4875
+ .lp-theme02-chart-stack-rows { display: flex; flex-direction: column; gap: 16px; flex: 1; justify-content: center; }
4876
+ .lp-theme02-chart-stack-row { display: flex; align-items: center; gap: 16px; }
4877
+ .lp-theme02-chart-stack-label { width: 150px; flex: none; font-size: 15px; color: var(--lp-ink); font-weight: 700; text-align: right; }
4878
+ .lp-theme02-chart-stack-track { flex: 1; display: flex; height: 34px; border-radius: var(--lp-radius-small); overflow: hidden; background: var(--lp-surface); border: 1px solid var(--lp-border); }
4879
+ .lp-theme02-chart-stack-seg { display: flex; align-items: center; justify-content: center; transition: filter 0.2s ease; }
4880
+ .lp-theme02-chart-stack-seg:hover { filter: brightness(1.12); }
4881
+ .lp-theme02-chart-stack-seg-pct { font-family: var(--lp-font-mono); font-size: 12px; font-weight: 800; color: var(--lp-text-inverse); }
4882
+
4883
+ /* ---- kpi-strip-v1 ---- */
4884
+ .lp-theme02-kpi-strip-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; flex: 1; align-items: stretch; margin-top: 8px; }
4885
+ .lp-theme02-kpi-strip-card { background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: var(--lp-radius-medium); padding: 22px 20px; display: flex; flex-direction: column; gap: 8px; box-shadow: var(--lp-shadow-sm); justify-content: center; }
4886
+ .lp-theme02-kpi-strip-value { display: flex; align-items: baseline; gap: 6px; }
4887
+ .lp-theme02-kpi-strip-value-num { font-size: 44px; font-weight: 900; color: var(--lp-accent); line-height: 1; text-shadow: 0 0 18px var(--lp-glow-accent-subtle); }
4888
+ .lp-theme02-kpi-strip-value-unit { font-size: 18px; font-weight: 700; color: var(--lp-ink2); }
4889
+ .lp-theme02-kpi-strip-delta { font-family: var(--lp-font-mono); font-size: 14px; font-weight: 700; color: var(--lp-ink2); }
4890
+ .lp-theme02-kpi-strip-label { font-size: 15px; color: var(--lp-ink); font-weight: 600; }
4891
+
4892
+ /* ---- big-stat-v1 ---- */
4893
+ .lp-theme02-big-stat-v1 { display: flex; align-items: center; justify-content: center; }
4894
+ .lp-theme02-big-stat-inner { align-items: center; text-align: center; gap: 18px; }
4895
+ .lp-theme02-big-stat-pill { align-self: center; }
4896
+ .lp-theme02-big-stat-title { font-size: 26px; font-weight: 700; color: var(--lp-ink2); margin: 0; }
4897
+ .lp-theme02-big-stat-hero { display: flex; align-items: baseline; justify-content: center; gap: 10px; }
4898
+ .lp-theme02-big-stat-value { font-size: 150px; font-weight: 900; line-height: 0.95; color: var(--lp-accent); text-shadow: 0 0 50px var(--lp-glow-accent); letter-spacing: -0.02em; }
4899
+ .lp-theme02-big-stat-unit { font-size: 40px; font-weight: 800; color: var(--lp-accent); }
4900
+ .lp-theme02-big-stat-meta { display: flex; align-items: center; gap: 18px; justify-content: center; }
4901
+ .lp-theme02-big-stat-label { font-size: 22px; font-weight: 700; color: var(--lp-ink); }
4902
+ .lp-theme02-big-stat-delta { font-family: var(--lp-font-mono); font-size: 18px; font-weight: 700; color: var(--lp-ink2); padding: 4px 12px; border: 1px solid var(--lp-border); border-radius: 999px; }
4903
+ .lp-theme02-big-stat-footnote { font-size: 15px; color: var(--lp-ink3); font-family: var(--lp-font-mono); }
4904
+
4905
+ /* ---- cycle-v1 ---- */
4906
+ .lp-theme02-cycle-body { display: flex; align-items: center; gap: 40px; flex: 1; min-height: 0; }
4907
+ .lp-theme02-cycle-ring { width: 320px; height: 320px; flex: none; }
4908
+ .lp-theme02-cycle-steps { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; flex: 1; align-content: center; }
4909
+ .lp-theme02-cycle-step { background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: var(--lp-radius-medium); padding: 16px 18px; display: flex; flex-direction: column; gap: 6px; box-shadow: var(--lp-shadow-sm); }
4910
+ .lp-theme02-cycle-step-no { width: 30px; height: 30px; border-radius: 50%; background: var(--lp-glow-accent-subtle); border: 1px solid var(--lp-accent); color: var(--lp-accent); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 14px; }
4911
+ .lp-theme02-cycle-step-title { font-size: 18px; font-weight: 800; color: var(--lp-ink); margin: 0; }
4912
+ .lp-theme02-cycle-step-desc { font-size: 14px; color: var(--lp-ink2); line-height: 1.5; margin: 0; }
4913
+
4914
+ /* ---- swimlane-v1 ---- */
4915
+ .lp-theme02-swimlane-grid { display: grid; gap: 1px; background: var(--lp-border); border: 1px solid var(--lp-border); border-radius: var(--lp-radius-medium); overflow: hidden; flex: 1; min-height: 0; }
4916
+ .lp-theme02-swimlane-corner { background: var(--lp-surface-strong); }
4917
+ .lp-theme02-swimlane-phase { background: var(--lp-surface-strong); color: var(--lp-accent); font-weight: 800; font-size: 16px; padding: 14px 16px; display: flex; align-items: center; }
4918
+ .lp-theme02-swimlane-name { background: var(--lp-surface-strong); color: var(--lp-ink); font-weight: 800; font-size: 16px; padding: 16px; display: flex; align-items: center; }
4919
+ .lp-theme02-swimlane-cell { background: var(--lp-surface); padding: 14px 16px; display: flex; flex-direction: column; gap: 8px; justify-content: center; }
4920
+ .lp-theme02-swimlane-chip { background: rgba(255,255,255,0.04); border: 1px solid var(--lp-border); border-radius: 8px; padding: 6px 10px; font-size: 14px; color: var(--lp-ink); line-height: 1.4; }
4921
+
4922
+ /* ---- pyramid-v1 ---- */
4923
+ .lp-theme02-pyramid-body { display: flex; align-items: center; gap: 36px; flex: 1; min-height: 0; }
4924
+ .lp-theme02-pyramid-svg { width: 440px; height: auto; flex: none; }
4925
+ .lp-theme02-pyramid-band { transition: fill-opacity 0.2s ease; }
4926
+ .lp-theme02-pyramid-legend { display: flex; flex-direction: column; gap: 14px; flex: 1; justify-content: center; }
4927
+ .lp-theme02-pyramid-legend-item { display: flex; flex-direction: column; gap: 4px; padding-left: 16px; border-left: 3px solid var(--lp-border); }
4928
+ .lp-theme02-pyramid-legend-item:nth-child(1) { border-left-color: var(--lp-accent); }
4929
+ .lp-theme02-pyramid-legend-item:nth-child(2) { border-left-color: var(--lp-accent-cool); }
4930
+ .lp-theme02-pyramid-legend-item:nth-child(3) { border-left-color: var(--lp-accent-2); }
4931
+ .lp-theme02-pyramid-legend-item:nth-child(4) { border-left-color: var(--lp-violet); }
4932
+ .lp-theme02-pyramid-legend-item:nth-child(5) { border-left-color: var(--lp-cyan); }
4933
+ .lp-theme02-pyramid-legend-title { font-size: 18px; font-weight: 800; color: var(--lp-ink); }
4934
+ .lp-theme02-pyramid-legend-desc { font-size: 14px; color: var(--lp-ink2); line-height: 1.5; }
4935
+
4936
+ /* ---- org-chart-v1 ---- */
4937
+ .lp-theme02-org-chart-tree { display: flex; flex-direction: column; align-items: center; gap: 0; flex: 1; justify-content: center; }
4938
+ .lp-theme02-org-chart-root { background: var(--lp-surface-strong); border: 1px solid var(--lp-accent); border-radius: var(--lp-radius-medium); padding: 20px 40px; display: flex; flex-direction: column; align-items: center; gap: 6px; box-shadow: 0 0 24px var(--lp-glow-accent-subtle); min-width: 220px; }
4939
+ .lp-theme02-org-chart-connector { width: 2px; height: 36px; background: var(--lp-accent); opacity: 0.6; }
4940
+ .lp-theme02-org-chart-children { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
4941
+ .lp-theme02-org-chart-node { background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: var(--lp-radius-medium); padding: 16px 22px; display: flex; flex-direction: column; align-items: center; gap: 6px; box-shadow: var(--lp-shadow-sm); min-width: 150px; }
4942
+ .lp-theme02-org-chart-node-title { font-size: 18px; font-weight: 800; color: var(--lp-ink); }
4943
+ .lp-theme02-org-chart-node-sub { font-size: 13px; color: var(--lp-ink2); }
4944
+
4945
+ /* ---- flow-v1 ---- */
4946
+ .lp-theme02-flow-track { display: flex; align-items: stretch; gap: 0; flex: 1; align-content: center; flex-wrap: nowrap; }
4947
+ .lp-theme02-flow-step-wrap { display: flex; align-items: center; flex: 1; }
4948
+ .lp-theme02-flow-step { background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: var(--lp-radius-medium); padding: 24px 22px; display: flex; flex-direction: column; gap: 10px; box-shadow: var(--lp-shadow-sm); flex: 1; }
4949
+ .lp-theme02-flow-badge { width: 42px; height: 42px; border-radius: 50%; background: var(--lp-surface-strong); border: 1px solid var(--lp-accent); color: var(--lp-accent); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 18px; box-shadow: 0 0 16px var(--lp-glow-accent-subtle); }
4950
+ .lp-theme02-flow-step-title { font-size: 20px; font-weight: 800; color: var(--lp-ink); margin: 0; }
4951
+ .lp-theme02-flow-step-desc { font-size: 14px; color: var(--lp-ink2); line-height: 1.5; margin: 0; }
4952
+ .lp-theme02-flow-arrow { font-size: 30px; color: var(--lp-accent); padding: 0 14px; flex: none; text-shadow: 0 0 12px var(--lp-glow-accent); }
4953
+
4954
+ /* ---- table-v2 ---- */
4955
+ .lp-theme02-table-v2-scroll { flex: 1; min-height: 0; overflow: hidden; display: flex; }
4956
+ .lp-theme02-table-v2-table { width: 100%; border-collapse: collapse; table-layout: fixed; align-self: center; }
4957
+ .lp-theme02-table-v2-table th { background: var(--lp-surface-strong); color: var(--lp-accent); font-size: 16px; font-weight: 800; text-align: left; padding: 14px 18px; border-bottom: 1px solid var(--lp-border); }
4958
+ .lp-theme02-table-v2-table td { color: var(--lp-ink); font-size: 15px; padding: 12px 18px; border-bottom: 1px solid var(--lp-border); }
4959
+ .lp-theme02-table-v2-odd { background: rgba(255,255,255,0.03); }
4960
+ .lp-theme02-table-v2-th, .lp-theme02-table-v2-td { display: block; }
4961
+
4962
+ /* ---- image-split-v1 ---- */
4963
+ .lp-theme02-image-split-v1 { position: relative; }
4964
+ .lp-theme02-image-split-inner { position: relative; z-index: 1; width: 100%; height: 100%; padding: 56px 64px; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
4965
+ .lp-theme02-image-split-left { display: flex; flex-direction: column; gap: 18px; }
4966
+ .lp-theme02-image-split-title { font-size: 40px; font-weight: 900; line-height: 1.1; color: var(--lp-ink); margin: 0; }
4967
+ .lp-theme02-image-split-subtitle { font-size: 18px; font-weight: 600; color: var(--lp-ink2); margin: 0; }
4968
+ .lp-theme02-image-split-bullets { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
4969
+ .lp-theme02-image-split-bullet { display: flex; align-items: flex-start; gap: 12px; }
4970
+ .lp-theme02-image-split-check { color: var(--lp-accent); font-weight: 900; font-size: 16px; line-height: 1.5; }
4971
+ .lp-theme02-image-split-bullet-text { font-size: 16px; color: var(--lp-ink); line-height: 1.5; }
4972
+ .lp-theme02-image-split-right { height: 100%; border-radius: var(--lp-radius-medium); overflow: hidden; border: 1px solid var(--lp-border); }
4973
+ .lp-theme02-image-split-media { width: 100%; height: 100%; object-fit: cover; display: block; }
4974
+ .lp-theme02-image-split-placeholder { width: 100%; height: 100%; }
4975
+
4976
+ /* ---- image-grid-v2 ---- */
4977
+ .lp-theme02-image-grid-v2-grid { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 16px; flex: 1; min-height: 0; }
4978
+ .lp-theme02-image-grid-v2-cell { position: relative; border-radius: var(--lp-radius-medium); overflow: hidden; border: 1px solid var(--lp-border); background: var(--lp-surface); }
4979
+ .lp-theme02-image-grid-v2-media { width: 100%; height: 100%; object-fit: cover; display: block; }
4980
+ .lp-theme02-image-grid-v2-placeholder { width: 100%; height: 100%; }
4981
+ .lp-theme02-image-grid-v2-caption { position: absolute; left: 0; right: 0; bottom: 0; padding: 10px 14px; background: var(--lp-image-overlay); color: var(--lp-ink); font-size: 14px; font-weight: 600; }
4982
+
4983
+ /* ---- spotlight-v1 ---- */
4984
+ .lp-theme02-spotlight-v1 { position: relative; display: flex; align-items: center; }
4985
+ .lp-theme02-spotlight-media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; z-index: 0; }
4986
+ .lp-theme02-spotlight-overlay { position: absolute; inset: 0; background: var(--lp-image-overlay); z-index: 1; }
4987
+ .lp-theme02-spotlight-content { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; padding: 0 96px; max-width: 880px; }
4988
+ .lp-theme02-spotlight-title { font-size: 60px; font-weight: 900; line-height: 1.05; color: var(--lp-ink); margin: 0; text-shadow: 0 0 30px var(--lp-glow-accent-subtle); }
4989
+ .lp-theme02-spotlight-subtitle { font-size: 22px; font-weight: 600; color: var(--lp-ink2); margin: 0; }
4990
+ .lp-theme02-spotlight-caption { font-size: 15px; color: var(--lp-ink3); font-family: var(--lp-font-mono); }
4991
+ .lp-theme02-spotlight-placeholder { width: 100%; height: 100%; }
4992
+
4993
+ /* ---- chapter-v3 ---- */
4994
+ .lp-theme02-chapter-v3 { display: flex; align-items: center; justify-content: center; }
4995
+ .lp-theme02-chapter-v3-inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 20px; text-align: center; padding: 0 100px; }
4996
+ .lp-theme02-chapter-v3-pill { align-self: center; }
4997
+ .lp-theme02-chapter-v3-rule { width: 200px; height: 1px; background: var(--lp-border); }
4998
+ .lp-theme02-chapter-v3-rule--top { box-shadow: 0 0 12px var(--lp-glow-accent-subtle); }
4999
+ .lp-theme02-chapter-v3-rule--bottom { box-shadow: 0 0 12px var(--lp-glow-accent-subtle); }
5000
+ .lp-theme02-chapter-v3-number { font-size: 160px; font-weight: 900; line-height: 0.9; color: transparent; -webkit-text-stroke: 2px var(--lp-accent); text-stroke: 2px var(--lp-accent); text-shadow: 0 0 40px var(--lp-glow-accent); letter-spacing: 0.02em; }
5001
+ .lp-theme02-chapter-v3-title { font-size: 52px; font-weight: 900; line-height: 1.1; color: var(--lp-ink); margin: 0; }
5002
+ .lp-theme02-chapter-v3-subtitle { font-size: 20px; font-weight: 600; color: var(--lp-ink2); margin: 0; max-width: 760px; }
5003
+
5004
+ /* ---- section-divider-v1 ---- */
5005
+ .lp-theme02-section-divider-v1 { display: flex; align-items: center; }
5006
+ .lp-theme02-section-divider-inner { position: relative; z-index: 1; width: 100%; padding: 0 96px; display: flex; flex-direction: column; gap: 18px; }
5007
+ .lp-theme02-section-divider-top { display: flex; align-items: center; gap: 16px; }
5008
+ .lp-theme02-section-divider-index { font-family: var(--lp-font-mono); font-size: 18px; font-weight: 800; color: var(--lp-accent); letter-spacing: 0.1em; }
5009
+ .lp-theme02-section-divider-title { font-size: 56px; font-weight: 900; line-height: 1.08; color: var(--lp-ink); margin: 0; }
5010
+ .lp-theme02-section-divider-rule { width: 280px; height: 3px; border-radius: 999px; background: linear-gradient(90deg, var(--lp-accent), transparent); box-shadow: 0 0 18px var(--lp-glow-accent); }
5011
+ .lp-theme02-section-divider-subtitle { font-size: 20px; font-weight: 600; color: var(--lp-ink2); margin: 0; max-width: 820px; }
5012
+
5013
+ /* ---- logo-wall-v1 ---- */
5014
+ .lp-theme02-logo-wall-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; flex: 1; align-content: center; }
5015
+ .lp-theme02-logo-wall-card { background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: var(--lp-radius-medium); padding: 26px 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; box-shadow: var(--lp-shadow-sm); min-height: 110px; }
5016
+ .lp-theme02-logo-wall-name { font-size: 22px; font-weight: 800; color: var(--lp-ink); text-align: center; }
5017
+ .lp-theme02-logo-wall-sub { font-size: 13px; color: var(--lp-ink3); text-align: center; }