style.css 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  1. /* 数字能量学智能体 — Phase 1 产品介绍 PPT */
  2. /* Brand: #4A148C (深紫) + #7B2DC8 (中紫) + #FFD700 (金色) */
  3. :root {
  4. --brand: #4A148C;
  5. --brand-light: #7B2DC8;
  6. --brand-lighter: #9C5CD8;
  7. --brand-bg: #F8F4FF;
  8. --accent-gold: #FFD700;
  9. --accent-gold-dark: #E6C200;
  10. --bg: #ffffff;
  11. --bg-soft: #f5f7fa;
  12. --surface: #ffffff;
  13. --surface-2: #f0f3f7;
  14. --border: rgba(74,20,140,.12);
  15. --text-1: #1a1a2e;
  16. --text-2: #425466;
  17. --text-3: #8898aa;
  18. --grad: linear-gradient(135deg, #4A148C, #7B2DC8);
  19. --grad-soft: linear-gradient(135deg, #F8F4FF, #EDE4FF);
  20. --radius: 12px;
  21. --radius-lg: 20px;
  22. --shadow: 0 4px 16px rgba(74,20,140,.10), 0 1px 4px rgba(74,20,140,.06);
  23. --shadow-lg: 0 12px 40px rgba(74,20,140,.14), 0 4px 12px rgba(74,20,140,.08);
  24. --font-sans: 'Inter', 'Noto Sans SC', -apple-system, BlinkMacSystemFont, sans-serif;
  25. --font-display: 'Inter', 'Noto Sans SC', sans-serif;
  26. --ease: cubic-bezier(.4,0,.2,1);
  27. }
  28. *,*::before,*::after{box-sizing:border-box}
  29. html,body{margin:0;padding:0;background:var(--bg);color:var(--text-1);
  30. font-family:var(--font-sans);font-weight:400;line-height:1.6;
  31. -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
  32. /* === SLIDE SYSTEM === */
  33. .deck{position:relative;width:100vw;height:100vh;overflow:hidden;background:var(--bg)}
  34. .slide{
  35. position:absolute;inset:0;
  36. display:flex;flex-direction:column;justify-content:center;
  37. padding:72px 96px;
  38. box-sizing:border-box;
  39. opacity:0;pointer-events:none;
  40. transition:opacity .5s var(--ease), transform .5s var(--ease);
  41. transform:translateX(30px);
  42. overflow:hidden;
  43. }
  44. .slide.is-active{opacity:1;pointer-events:auto;transform:translateX(0);z-index:2}
  45. .slide.is-prev{transform:translateX(-30px)}
  46. .slide.center{justify-content:center;align-items:center}
  47. .slide-inner{max-width:1100px;width:100%;margin:0 auto}
  48. /* === TYPOGRAPHY === */
  49. .kicker{font-size:14px;font-weight:600;color:var(--brand-light);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px}
  50. h1,.h1{font-family:var(--font-display);font-size:64px;line-height:1.1;font-weight:800;letter-spacing:-.03em;margin:0 0 16px;color:var(--text-1)}
  51. h2,.h2{font-family:var(--font-display);font-size:48px;line-height:1.15;font-weight:700;letter-spacing:-.02em;margin:0 0 12px}
  52. h4,.h4{font-size:20px;line-height:1.3;font-weight:600;margin:0 0 6px}
  53. .lede{font-size:20px;line-height:1.55;color:var(--text-2);font-weight:300}
  54. .dim{color:var(--text-2);font-size:15px;line-height:1.5}
  55. .dim2{color:var(--text-3)}
  56. .tc{text-align:center}
  57. .centered{margin-left:auto;margin-right:auto}
  58. .mt-l{margin-top:32px}
  59. .mt-m{margin-top:20px}
  60. .mb-m{margin-bottom:12px}
  61. /* === DECORATIVE === */
  62. .deck-footer{position:absolute;bottom:24px;left:96px;right:96px;display:flex;justify-content:space-between;
  63. font-size:13px;color:var(--text-3);pointer-events:none;z-index:3}
  64. .slide-number::before{content:attr(data-current)}
  65. .slide-number:not([data-total])::after{content:""}
  66. .slide-number[data-total]::after{content:" / " attr(data-total)}
  67. /* === COVER SLIDE === */
  68. .cover{justify-content:center;align-items:center;text-align:center;padding:0}
  69. .cover-bg{
  70. position:absolute;inset:0;
  71. background:linear-gradient(135deg,#4A148C 0%,#7B2DC8 40%,#9C5CD8 70%,#B388DD 100%);
  72. z-index:0
  73. }
  74. .cover-content{position:relative;z-index:1;color:#fff;padding:40px}
  75. .cover-content .kicker{color:var(--accent-gold)}
  76. .cover-content .h1{color:#fff;font-size:72px}
  77. .cover-content .lede{color:rgba(255,255,255,.9);font-size:24px;font-weight:500;margin-bottom:16px}
  78. .cover-sub{color:rgba(255,255,255,.7);font-size:16px}
  79. .cover-meta{display:flex;gap:24px;justify-content:center;margin-top:24px;flex-wrap:wrap}
  80. .cover-meta span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);
  81. border-radius:20px;padding:6px 16px;font-size:14px;color:rgba(255,255,255,.85)}
  82. .cover .deck-footer{color:rgba(255,255,255,.5)}
  83. /* === GRID === */
  84. .grid{display:grid;gap:20px}
  85. .g2{grid-template-columns:1fr 1fr}
  86. .g3{grid-template-columns:1fr 1fr 1fr}
  87. /* === FEATURE CARDS === */
  88. .feature-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  89. padding:28px 24px;box-shadow:var(--shadow);text-align:center}
  90. .feature-icon{font-size:36px;color:var(--brand);margin-bottom:12px}
  91. /* === PROBLEM STACK === */
  92. .problem-stack{display:flex;flex-direction:column;gap:16px;max-width:700px}
  93. .problem-item{display:flex;gap:16px;align-items:flex-start;padding:16px 20px;
  94. background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}
  95. .problem-num{font-size:24px;font-weight:700;color:var(--brand);line-height:1.3;min-width:36px}
  96. .problem-item h4{margin:0 0 4px;font-size:16px}
  97. .problem-item p{margin:0;font-size:14px}
  98. /* === ROLE CARDS === */
  99. .role-card{flex:1;padding:32px 24px;border-radius:var(--radius-lg);text-align:center;
  100. box-shadow:var(--shadow)}
  101. .role-card.free{background:var(--surface);border:2px solid var(--border)}
  102. .role-card.pro{background:linear-gradient(135deg,#F8F4FF,#EDE4FF);border:2px solid var(--brand)}
  103. .role-badge{display:inline-block;background:var(--grad);color:#fff;padding:4px 16px;
  104. border-radius:20px;font-size:14px;font-weight:600;margin-bottom:8px}
  105. .role-card.free .role-badge{background:var(--text-3)}
  106. .role-price{font-size:36px;font-weight:800;color:var(--text-1);margin-bottom:16px}
  107. .role-card ul{list-style:none;padding:0;margin:0;text-align:left;font-size:15px;line-height:2;color:var(--text-2)}
  108. .role-card ul li.highlight{color:var(--brand);font-weight:600}
  109. .arrow-col{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;flex:0 0 100px}
  110. .arrow-icon{font-size:36px;color:var(--brand)}
  111. .arrow-label{font-size:13px;color:var(--text-3);text-align:center}
  112. /* === PHONE MOCKUPS === */
  113. .page-layout{display:flex;gap:48px;align-items:flex-start}
  114. .page-desc{flex:1}
  115. .page-desc .lede{font-size:17px;margin-bottom:20px}
  116. .page-features{list-style:none;padding:0;margin:0}
  117. .page-features li{padding:10px 0;border-bottom:1px solid var(--border);font-size:15px;line-height:1.5;color:var(--text-2)}
  118. .page-features li:last-child{border-bottom:none}
  119. .page-features li strong{color:var(--text-1);font-weight:600}
  120. .phone-mock{flex:0 0 320px}
  121. .phone-frame{width:300px;margin:0 auto;background:#1a1a2e;border-radius:32px;padding:10px;
  122. box-shadow:0 8px 40px rgba(0,0,0,.3)}
  123. .mock-status{text-align:center;font-size:12px;color:#fff;padding:4px 0 2px;font-weight:500}
  124. .mock-header{text-align:center;font-size:14px;font-weight:600;color:#fff;padding:6px 0 10px;border-bottom:1px solid rgba(255,255,255,.1)}
  125. .mock-body{background:#f5f5f5;min-height:440px;border-radius:0 0 22px 22px;padding:16px;font-size:13px;color:var(--text-2)}
  126. /* Mock internal elements */
  127. .mock-referrer{text-align:center;font-size:12px;color:#7B2DC8;padding:6px;background:#EDE4FF;border-radius:8px;margin-bottom:10px}
  128. .mock-referrer strong{font-weight:700}
  129. .mock-hero{text-align:center;font-size:32px;color:var(--brand);margin:8px 0 4px}
  130. .mock-title{text-align:center;font-size:18px;font-weight:700;color:var(--text-1);margin-bottom:4px}
  131. .mock-sub{text-align:center;font-size:12px;color:var(--text-3);margin-bottom:16px}
  132. .mock-inputs{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
  133. .mock-field label{display:block;font-size:12px;font-weight:600;color:var(--text-2);margin-bottom:4px}
  134. .mock-input{background:#fff;border:1px solid #ddd;border-radius:8px;padding:8px 12px;font-size:13px;color:#999;min-height:36px}
  135. .mock-field-row{display:flex;gap:8px}
  136. .mock-field.sm{flex:1}
  137. .mock-btn{background:var(--grad);color:#fff;text-align:center;padding:10px;border-radius:10px;font-size:15px;font-weight:600;margin-bottom:8px}
  138. .mock-btn.sm{padding:8px;font-size:13px;border-radius:8px}
  139. .mock-btn.outline{background:#fff;color:var(--brand);border:1px solid var(--brand);font-weight:500}
  140. .mock-btn.primary{background:var(--grad);color:#fff}
  141. .mock-quota{text-align:center;font-size:11px;color:var(--text-3)}
  142. .mock-actions{display:flex;gap:8px;margin-top:10px}
  143. .mock-actions.sec{justify-content:center;gap:16px;margin-top:8px;font-size:12px;color:var(--text-3)}
  144. .mock-actions.sec span{cursor:default}
  145. /* Triangle inside mock */
  146. .mock-triangle{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 0}
  147. .tri-row{display:flex;gap:4px}
  148. .tri-cell{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  149. font-size:12px;font-weight:700;color:#fff}
  150. .t1{background:#4A148C;width:34px;height:34px;font-size:15px}
  151. .t2{background:#7B2DC8}
  152. .t3{background:#9C5CD8}
  153. .t4{background:#B388DD;color:var(--text-1)}
  154. .t5{background:#D1C4E9;color:var(--text-1)}
  155. /* AI Reading mock */
  156. .mock-section{border:1px solid #ddd;border-radius:8px;margin-bottom:6px;overflow:hidden}
  157. .mock-section-header{padding:8px 10px;background:#fff;font-size:12px;font-weight:600;color:var(--text-1);display:flex;justify-content:space-between}
  158. .mock-section-body{padding:8px 10px;background:#FAFAFA}
  159. .mock-digit{display:inline-block;width:24px;height:24px;border-radius:50%;background:var(--brand);color:#fff;text-align:center;line-height:24px;font-size:12px;font-weight:700;margin-bottom:6px}
  160. .mock-text{font-size:11px;line-height:1.5;color:var(--text-2)}
  161. .mock-lock{color:#ccc;font-size:11px}
  162. .mock-section.locked .mock-section-header{color:#bbb}
  163. .mock-upgrade{text-align:center;font-size:12px;font-weight:600;color:var(--brand);padding:10px;background:#EDE4FF;border-radius:8px;margin-top:8px}
  164. /* Price area mock */
  165. .mock-price-area{text-align:center;padding:12px 0;border-bottom:1px solid #eee;margin-bottom:12px}
  166. .mock-price{font-size:36px;font-weight:800;color:var(--brand);line-height:1}
  167. .mock-per{font-size:12px;color:var(--text-3)}
  168. .mock-benefits{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
  169. .mock-benefit{font-size:12px;padding:4px 8px;background:#F8F4FF;border-radius:6px}
  170. .mock-compare{font-size:11px;margin-bottom:12px}
  171. .comp-row{display:flex;justify-content:space-between;padding:4px 6px;border-bottom:1px solid #eee}
  172. .comp-row.head{font-weight:600;background:#f0f0f0;border-radius:4px 4px 0 0}
  173. .comp-row span{flex:1;text-align:center}
  174. .comp-row span:first-child{text-align:left;flex:1.5}
  175. /* Profile mock */
  176. .mock-profile-card{display:flex;gap:10px;align-items:center;padding:10px;background:#fff;border-radius:8px;margin-bottom:8px}
  177. .mock-avatar{width:36px;height:36px;border-radius:50%;background:var(--grad)}
  178. .mock-badge{display:inline-block;font-size:10px;background:#EDE4FF;color:var(--brand);padding:1px 8px;border-radius:10px;font-weight:600;margin-top:2px}
  179. .mock-distro-entry{padding:10px;background:linear-gradient(135deg,#F8F4FF,#EDE4FF);border-radius:8px;margin-bottom:8px;cursor:pointer}
  180. .distro-title{font-size:13px;font-weight:600;color:var(--brand);margin-bottom:4px}
  181. .distro-stats{display:flex;gap:12px;font-size:11px;color:var(--text-2)}
  182. .mock-history{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}
  183. .mock-hist-item{padding:6px 10px;background:#fff;border-radius:6px;font-size:12px}
  184. .mock-actions-list{display:flex;flex-direction:column;gap:2px}
  185. .mock-actions-list div{padding:8px 10px;font-size:13px;border-bottom:1px solid #eee;display:flex;justify-content:space-between}
  186. /* === DISTRIBUTION FLOW === */
  187. .distro-flow{display:flex;gap:24px;justify-content:center;flex-wrap:wrap}
  188. .distro-level{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  189. padding:20px 24px;box-shadow:var(--shadow);min-width:280px;flex:1;max-width:400px}
  190. .distro-user{font-weight:700;color:var(--brand);font-size:16px;margin-bottom:4px}
  191. .distro-arrow{color:var(--text-3);font-size:13px;margin:4px 0}
  192. .distro-action{font-size:14px;color:var(--text-2);margin:4px 0}
  193. .distro-commission{font-size:14px;color:var(--good);margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}
  194. .distro-commission strong{font-size:18px}
  195. .distro-rules{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:20px}
  196. .distro-rules span{background:var(--brand-bg);border:1px solid var(--border);border-radius:20px;
  197. padding:6px 14px;font-size:13px;color:var(--text-2)}
  198. /* === PRICING BREAKDOWN === */
  199. .pricing-breakdown{display:flex;gap:16px;justify-content:center;align-items:center;flex-wrap:wrap}
  200. .pb-item{text-align:center;padding:24px 32px;background:var(--surface);border:1px solid var(--border);
  201. border-radius:var(--radius-lg);box-shadow:var(--shadow);min-width:160px}
  202. .pb-item:first-child{border-color:var(--brand);background:var(--brand-bg)}
  203. .pb-value{font-size:32px;font-weight:800;color:var(--text-1)}
  204. .pb-item:first-child .pb-value{color:var(--brand)}
  205. .pb-label{font-size:13px;color:var(--text-3);margin-top:4px}
  206. .pb-plus{font-size:28px;color:var(--text-3);font-weight:300}
  207. .pricing-meta{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}
  208. .meta-item{padding:8px 16px;background:var(--surface-2);border-radius:8px;font-size:14px;color:var(--text-2)}
  209. /* === ROADMAP === */
  210. .roadmap{display:flex;gap:12px;align-items:flex-start;justify-content:center;flex-wrap:wrap}
  211. .rm-phase{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  212. padding:20px 24px;box-shadow:var(--shadow);flex:1;min-width:180px;max-width:240px;text-align:center}
  213. .rm-week{display:inline-block;background:var(--grad);color:#fff;font-size:12px;font-weight:600;
  214. padding:3px 12px;border-radius:12px;margin-bottom:8px}
  215. .rm-title{font-size:18px;font-weight:700;color:var(--text-1);margin-bottom:6px}
  216. .rm-items{font-size:13px;color:var(--text-2);line-height:1.5}
  217. .rm-connector{font-size:24px;color:var(--brand-lighter);padding-top:40px;font-weight:300}
  218. /* === CTA GRID === */
  219. .cta-grid{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}
  220. .cta-card{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);
  221. border-radius:var(--radius);padding:24px 20px;backdrop-filter:blur(8px);min-width:180px;max-width:220px}
  222. .cta-icon{font-size:32px;margin-bottom:8px}
  223. .cta-card div{font-size:14px;color:rgba(255,255,255,.85);line-height:1.6}
  224. /* === PAGE-SLIDE SHARED === */
  225. .page-slide{padding:48px 64px}
  226. .page-slide .h2{font-size:36px}
  227. /* === RESPONSIVE === */
  228. @media(max-width:900px){
  229. .slide{padding:40px 24px}
  230. .h1{font-size:42px}
  231. .h2{font-size:32px}
  232. .page-layout{flex-direction:column;align-items:center}
  233. .phone-mock{flex:0 0 auto;order:-1;margin-bottom:16px}
  234. .roadmap{flex-direction:column;align-items:center}
  235. .rm-connector{transform:rotate(90deg);padding:4px}
  236. }