SectionHotWorkflows.vue 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551
  1. <template>
  2. <section class="section-hot">
  3. <div class="hot-header">
  4. <div class="section-badge">
  5. <span class="badge-dot"></span>
  6. <span>{{ $t('hotWorkflows.badge') }}</span>
  7. </div>
  8. <h2 class="section-title">{{ $t('hotWorkflows.title') }}<span class="gradient-text">{{ $t('hotWorkflows.subtitle') }}</span></h2>
  9. <p class="section-desc">{{ $t('hotWorkflows.description') }}</p>
  10. </div>
  11. <!-- 无限滚动带 - 第一行 -->
  12. <div class="scroll-track-wrapper">
  13. <div class="scroll-track track-forward" ref="track1" @mouseenter="pauseTrack1 = true" @mouseleave="pauseTrack1 = false">
  14. <div
  15. v-for="(wf, i) in [...workflows, ...workflows]"
  16. :key="'a' + i"
  17. class="workflow-card"
  18. @mouseenter="hoveredCard = 'a' + i"
  19. @mouseleave="hoveredCard = null"
  20. >
  21. <!-- 封面图 -->
  22. <div class="card-cover">
  23. <img :src="wf.coverImage" :alt="wf.title" class="cover-img" />
  24. <div class="cover-overlay"></div>
  25. <!-- 平台标签 -->
  26. <div class="platform-chip" :style="{ background: wf.platformColor }">{{ wf.platform }}</div>
  27. <!-- 播放量 -->
  28. <div class="view-count">▶ {{ wf.views }}</div>
  29. </div>
  30. <!-- 卡片内容 -->
  31. <div class="card-info">
  32. <div class="card-title-row">
  33. <h4 class="card-title">{{ wf.title }}</h4>
  34. <div class="card-rating">⭐{{ wf.rating }}</div>
  35. </div>
  36. <p class="card-desc">{{ wf.desc }}</p>
  37. <div class="card-footer">
  38. <div class="author-info">
  39. <img :src="wf.authorAvatar" :alt="wf.author" class="author-avatar" />
  40. <span class="author-name">{{ wf.author }}</span>
  41. </div>
  42. <span class="card-category">{{ wf.category }}</span>
  43. </div>
  44. </div>
  45. <!-- 悬停操作 -->
  46. <div class="card-hover-actions" :class="{ visible: hoveredCard === 'a' + i }">
  47. <button class="action-btn primary">立即使用</button>
  48. <button class="action-btn secondary">预览</button>
  49. </div>
  50. </div>
  51. </div>
  52. </div>
  53. <!-- 无限滚动带 - 第二行(反向) -->
  54. <div class="scroll-track-wrapper">
  55. <div class="scroll-track track-reverse" ref="track2" @mouseenter="pauseTrack2 = true" @mouseleave="pauseTrack2 = false">
  56. <div
  57. v-for="(wf, i) in [...workflowsB, ...workflowsB]"
  58. :key="'b' + i"
  59. class="workflow-card"
  60. @mouseenter="hoveredCard = 'b' + i"
  61. @mouseleave="hoveredCard = null"
  62. >
  63. <div class="card-cover">
  64. <img :src="wf.coverImage" :alt="wf.title" class="cover-img" />
  65. <div class="cover-overlay"></div>
  66. <div class="platform-chip" :style="{ background: wf.platformColor }">{{ wf.platform }}</div>
  67. <div class="view-count">▶ {{ wf.views }}</div>
  68. </div>
  69. <div class="card-info">
  70. <div class="card-title-row">
  71. <h4 class="card-title">{{ wf.title }}</h4>
  72. <div class="card-rating">⭐{{ wf.rating }}</div>
  73. </div>
  74. <p class="card-desc">{{ wf.desc }}</p>
  75. <div class="card-footer">
  76. <div class="author-info">
  77. <img :src="wf.authorAvatar" :alt="wf.author" class="author-avatar" />
  78. <span class="author-name">{{ wf.author }}</span>
  79. </div>
  80. <span class="card-category">{{ wf.category }}</span>
  81. </div>
  82. </div>
  83. <div class="card-hover-actions" :class="{ visible: hoveredCard === 'b' + i }">
  84. <button class="action-btn primary">{{ $t('hotWorkflows.cta.use') }}</button>
  85. <button class="action-btn secondary">{{ $t('hotWorkflows.cta.preview') }}</button>
  86. </div>
  87. </div>
  88. </div>
  89. </div>
  90. </section>
  91. </template>
  92. <script setup>
  93. import { ref } from 'vue'
  94. import { useI18n } from 'vue-i18n'
  95. const { t } = useI18n()
  96. const hoveredCard = ref(null)
  97. const pauseTrack1 = ref(false)
  98. const pauseTrack2 = ref(false)
  99. const workflows = [
  100. {
  101. title: 'AI 文章批量生产流水线', platform: 'n8n', platformColor: '#EA4B71',
  102. rating: '4.9', views: '12.3K', category: '内容创作',
  103. desc: '一键生成高质量文章,自动配图排版,多平台发布',
  104. author: 'Alex Chen',
  105. authorAvatar: 'https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=40&q=80',
  106. coverImage: 'https://images.unsplash.com/photo-1499750310107-5fef28a66643?w=300&q=80'
  107. },
  108. {
  109. title: 'GPT-4 智能客服机器人', platform: 'Coze', platformColor: '#1B6EF3',
  110. rating: '4.8', views: '8.7K', category: '客服自动化',
  111. desc: '基于知识库的智能问答,支持多轮对话和情感识别',
  112. author: 'Sarah Liu',
  113. authorAvatar: 'https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=40&q=80',
  114. coverImage: 'https://images.unsplash.com/photo-1516321318423-f06f85e504b3?w=300&q=80'
  115. },
  116. {
  117. title: '企业知识库问答系统', platform: 'FastGPT', platformColor: '#059669',
  118. rating: '5.0', views: '15.2K', category: '知识管理',
  119. desc: '多格式文档导入,精准语义检索,企业知识管理',
  120. author: 'Mike Wang',
  121. authorAvatar: 'https://images.unsplash.com/photo-1500648767791-00dcc994a43e?w=40&q=80',
  122. coverImage: 'https://images.unsplash.com/photo-1460925895917-afdab827c52f?w=300&q=80'
  123. },
  124. {
  125. title: '数据报告自动生成', platform: 'Dify', platformColor: '#7C3AED',
  126. rating: '4.7', views: '6.4K', category: '数据分析',
  127. desc: '连接多数据源,自动分析可视化,定时推送报告',
  128. author: 'Lisa Zhang',
  129. authorAvatar: 'https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=40&q=80',
  130. coverImage: 'https://images.unsplash.com/photo-1551288049-bebda4e38f71?w=300&q=80'
  131. },
  132. {
  133. title: '社交媒体内容矩阵', platform: 'n8n', platformColor: '#EA4B71',
  134. rating: '4.8', views: '9.1K', category: '内容创作',
  135. desc: '一个主题,自动生成适配各平台的差异化内容',
  136. author: 'Tom Li',
  137. authorAvatar: 'https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?w=40&q=80',
  138. coverImage: 'https://images.unsplash.com/photo-1553877522-43269d4ea984?w=300&q=80'
  139. },
  140. {
  141. title: 'AI 邮件营销自动化', platform: 'Coze', platformColor: '#1B6EF3',
  142. rating: '4.6', views: '7.3K', category: '营销运营',
  143. desc: '个性化邮件生成,智能发送时机,效果追踪分析',
  144. author: 'Emma Zhou',
  145. authorAvatar: 'https://images.unsplash.com/photo-1517841905240-472988babdf9?w=40&q=80',
  146. coverImage: 'https://images.unsplash.com/photo-1522071820081-009f0129c71c?w=300&q=80'
  147. },
  148. {
  149. title: '会议纪要自动整理', platform: 'n8n', platformColor: '#EA4B71',
  150. rating: '5.0', views: '13.7K', category: '效率工具',
  151. desc: '语音转文字,AI 提炼要点,自动分配任务到项目管理',
  152. author: 'Zhang Wei',
  153. authorAvatar: 'https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=40&q=80',
  154. coverImage: 'https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=300&q=80'
  155. },
  156. {
  157. title: '电商选品智能分析', platform: 'Dify', platformColor: '#7C3AED',
  158. rating: '4.7', views: '5.8K', category: '数据分析',
  159. desc: '多平台数据爬取,AI 分析趋势,自动生成选品报告',
  160. author: 'Jack Wu',
  161. authorAvatar: 'https://images.unsplash.com/photo-1500648767791-00dcc994a43e?w=40&q=80',
  162. coverImage: 'https://images.unsplash.com/photo-1677442135703-1787eea5ce01?w=300&q=80'
  163. }
  164. ]
  165. const workflowsB = [
  166. {
  167. title: '多语言翻译工作流', platform: 'Coze', platformColor: '#1B6EF3',
  168. rating: '4.9', views: '11.5K', category: '内容创作',
  169. desc: '支持 50+ 语言,保留格式,批量处理文档翻译',
  170. author: 'Wang Fang',
  171. authorAvatar: 'https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=40&q=80',
  172. coverImage: 'https://images.unsplash.com/photo-1455390582262-044cdead277a?w=300&q=80'
  173. },
  174. {
  175. title: 'SEO 内容优化助手', platform: 'Dify', platformColor: '#7C3AED',
  176. rating: '4.7', views: '6.2K', category: '内容创作',
  177. desc: '关键词分析,竞品对比,AI 生成 SEO 优化建议',
  178. author: 'Li Ming',
  179. authorAvatar: 'https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?w=40&q=80',
  180. coverImage: 'https://images.unsplash.com/photo-1499750310107-5fef28a66643?w=300&q=80'
  181. },
  182. {
  183. title: '用户反馈情感分析', platform: 'FastGPT', platformColor: '#059669',
  184. rating: '4.8', views: '8.1K', category: '客服自动化',
  185. desc: '多渠道收集反馈,AI 情感分类,自动生成改进建议',
  186. author: 'Liu Yang',
  187. authorAvatar: 'https://images.unsplash.com/photo-1517841905240-472988babdf9?w=40&q=80',
  188. coverImage: 'https://images.unsplash.com/photo-1573496359142-b8d87734a5a2?w=300&q=80'
  189. },
  190. {
  191. title: 'AI 直播脚本生成', platform: 'Coze', platformColor: '#1B6EF3',
  192. rating: '4.7', views: '7.8K', category: '内容创作',
  193. desc: '根据产品信息自动生成直播话术,实时提词',
  194. author: 'Xu Ming',
  195. authorAvatar: 'https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=40&q=80',
  196. coverImage: 'https://images.unsplash.com/photo-1516321318423-f06f85e504b3?w=300&q=80'
  197. },
  198. {
  199. title: '供应链风险预警', platform: 'n8n', platformColor: '#EA4B71',
  200. rating: '4.8', views: '5.3K', category: '数据分析',
  201. desc: '实时监控供应链数据,AI 预测风险,自动发出预警',
  202. author: 'Zhang San',
  203. authorAvatar: 'https://images.unsplash.com/photo-1500648767791-00dcc994a43e?w=40&q=80',
  204. coverImage: 'https://images.unsplash.com/photo-1460925895917-afdab827c52f?w=300&q=80'
  205. },
  206. {
  207. title: '财务数据智能汇总', platform: 'FastGPT', platformColor: '#059669',
  208. rating: '4.6', views: '4.5K', category: '数据分析',
  209. desc: '多账户数据整合,自动对账,生成财务分析报告',
  210. author: 'Zhao Yan',
  211. authorAvatar: 'https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=40&q=80',
  212. coverImage: 'https://images.unsplash.com/photo-1551288049-bebda4e38f71?w=300&q=80'
  213. },
  214. {
  215. title: '简历筛选自动化', platform: 'n8n', platformColor: '#EA4B71',
  216. rating: '4.5', views: '4.2K', category: 'HR自动化',
  217. desc: 'AI 智能匹配岗位要求,自动评分排序,发送面试邀请',
  218. author: 'Nina Zhao',
  219. authorAvatar: 'https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?w=40&q=80',
  220. coverImage: 'https://images.unsplash.com/photo-1522071820081-009f0129c71c?w=300&q=80'
  221. },
  222. {
  223. title: '竞品监控与分析', platform: 'Dify', platformColor: '#7C3AED',
  224. rating: '4.6', views: '3.9K', category: '数据分析',
  225. desc: '自动追踪竞品动态,AI 分析策略变化,生成洞察报告',
  226. author: 'Chen Jing',
  227. authorAvatar: 'https://images.unsplash.com/photo-1517841905240-472988babdf9?w=40&q=80',
  228. coverImage: 'https://images.unsplash.com/photo-1677442135703-1787eea5ce01?w=300&q=80'
  229. }
  230. ]
  231. </script>
  232. <style scoped>
  233. .section-hot {
  234. padding: 100px 0;
  235. background: linear-gradient(180deg, #fafbff 0%, #f3f0ff 50%, #eef2ff 100%);
  236. overflow: hidden;
  237. position: relative;
  238. }
  239. .hot-header {
  240. text-align: center;
  241. margin-bottom: 48px;
  242. padding: 0 80px;
  243. }
  244. .section-badge {
  245. display: inline-flex;
  246. align-items: center;
  247. gap: 8px;
  248. background: white;
  249. border: 1px solid rgba(99,102,241,0.2);
  250. border-radius: 100px;
  251. padding: 6px 16px;
  252. font-size: 13px;
  253. color: #6366F1;
  254. font-weight: 500;
  255. margin-bottom: 20px;
  256. }
  257. .badge-dot {
  258. width: 6px; height: 6px;
  259. background: #6366F1; border-radius: 50%;
  260. animation: pulse 2s infinite;
  261. }
  262. @keyframes pulse {
  263. 0%, 100% { opacity: 1; transform: scale(1); }
  264. 50% { opacity: 0.5; transform: scale(1.3); }
  265. }
  266. .section-title {
  267. font-size: 48px;
  268. font-weight: 900;
  269. color: #111827;
  270. margin-bottom: 16px;
  271. letter-spacing: -0.02em;
  272. }
  273. .gradient-text {
  274. background: linear-gradient(135deg, #6366F1 0%, #8b5cf6 50%, #EC4899 100%);
  275. -webkit-background-clip: text;
  276. background-clip: text;
  277. -webkit-text-fill-color: transparent;
  278. }
  279. .section-desc {
  280. font-size: 17px;
  281. color: #6B7280;
  282. max-width: 500px;
  283. margin: 0 auto;
  284. line-height: 1.7;
  285. }
  286. /* 滚动轨道 */
  287. .scroll-track-wrapper {
  288. overflow: hidden;
  289. margin-bottom: 20px;
  290. mask-image: linear-gradient(to right, transparent, black 100px, black calc(100% - 100px), transparent);
  291. -webkit-mask-image: linear-gradient(to right, transparent, black 100px, black calc(100% - 100px), transparent);
  292. }
  293. .scroll-track {
  294. display: flex;
  295. gap: 20px;
  296. width: max-content;
  297. padding: 12px 0;
  298. }
  299. .track-forward {
  300. animation: scrollForward 40s linear infinite;
  301. }
  302. .track-forward:hover {
  303. animation-play-state: paused;
  304. }
  305. .track-reverse {
  306. animation: scrollReverse 40s linear infinite;
  307. }
  308. .track-reverse:hover {
  309. animation-play-state: paused;
  310. }
  311. @keyframes scrollForward {
  312. from { transform: translateX(0); }
  313. to { transform: translateX(-50%); }
  314. }
  315. @keyframes scrollReverse {
  316. from { transform: translateX(-50%); }
  317. to { transform: translateX(0); }
  318. }
  319. /* 工作流卡片 */
  320. .workflow-card {
  321. width: 290px;
  322. background: white;
  323. border-radius: 20px;
  324. border: 1px solid rgba(99,102,241,0.08);
  325. overflow: hidden;
  326. box-shadow: 0 4px 20px rgba(0,0,0,0.06);
  327. transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  328. position: relative;
  329. flex-shrink: 0;
  330. }
  331. .workflow-card:hover {
  332. transform: translateY(-10px) scale(1.02);
  333. box-shadow: 0 20px 50px rgba(99,102,241,0.18);
  334. border-color: rgba(99,102,241,0.2);
  335. }
  336. /* 封面图 */
  337. .card-cover {
  338. position: relative;
  339. height: 160px;
  340. overflow: hidden;
  341. }
  342. .cover-img {
  343. width: 100%;
  344. height: 100%;
  345. object-fit: cover;
  346. transition: transform 0.4s ease;
  347. }
  348. .workflow-card:hover .cover-img { transform: scale(1.05); }
  349. .cover-overlay {
  350. position: absolute;
  351. inset: 0;
  352. background: linear-gradient(to bottom, transparent 40%, rgba(0,0,0,0.5));
  353. }
  354. .platform-chip {
  355. position: absolute;
  356. top: 10px;
  357. left: 10px;
  358. padding: 3px 10px;
  359. border-radius: 100px;
  360. font-size: 11px;
  361. font-weight: 700;
  362. color: white;
  363. }
  364. .view-count {
  365. position: absolute;
  366. bottom: 10px;
  367. right: 10px;
  368. color: white;
  369. font-size: 12px;
  370. font-weight: 600;
  371. }
  372. /* 卡片信息 */
  373. .card-info { padding: 16px; }
  374. .card-title-row {
  375. display: flex;
  376. justify-content: space-between;
  377. align-items: flex-start;
  378. margin-bottom: 6px;
  379. }
  380. .card-title {
  381. font-size: 14px;
  382. font-weight: 700;
  383. color: #111827;
  384. line-height: 1.3;
  385. flex: 1;
  386. margin-right: 8px;
  387. }
  388. .card-rating {
  389. font-size: 12px;
  390. font-weight: 600;
  391. color: #F59E0B;
  392. white-space: nowrap;
  393. }
  394. .card-desc {
  395. font-size: 12px;
  396. color: #6B7280;
  397. line-height: 1.5;
  398. margin-bottom: 12px;
  399. }
  400. .card-footer {
  401. display: flex;
  402. justify-content: space-between;
  403. align-items: center;
  404. }
  405. .author-info {
  406. display: flex;
  407. align-items: center;
  408. gap: 6px;
  409. }
  410. .author-avatar {
  411. width: 24px; height: 24px;
  412. border-radius: 50%;
  413. object-fit: cover;
  414. }
  415. .author-name { font-size: 12px; color: #6B7280; }
  416. .card-category {
  417. font-size: 11px;
  418. padding: 2px 8px;
  419. background: #F3F4F6;
  420. border-radius: 100px;
  421. color: #6B7280;
  422. }
  423. /* 悬停操作 */
  424. .card-hover-actions {
  425. position: absolute;
  426. bottom: 0;
  427. left: 0;
  428. right: 0;
  429. background: linear-gradient(to top, white 60%, transparent);
  430. padding: 20px 16px 16px;
  431. display: flex;
  432. gap: 8px;
  433. opacity: 0;
  434. transform: translateY(10px);
  435. transition: all 0.3s ease;
  436. pointer-events: none;
  437. }
  438. .card-hover-actions.visible {
  439. opacity: 1;
  440. transform: translateY(0);
  441. pointer-events: all;
  442. }
  443. .action-btn {
  444. flex: 1;
  445. padding: 8px;
  446. border-radius: 8px;
  447. font-size: 12px;
  448. font-weight: 600;
  449. cursor: pointer;
  450. border: none;
  451. transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  452. }
  453. .action-btn.primary {
  454. background: linear-gradient(135deg, #6366F1, #8B5CF6);
  455. color: white;
  456. box-shadow: 0 4px 12px rgba(99,102,241,0.3);
  457. }
  458. .action-btn.primary:hover {
  459. box-shadow: 0 8px 24px rgba(99,102,241,0.55);
  460. transform: translateY(-2px) scale(1.04);
  461. }
  462. .action-btn.primary:active {
  463. transform: scale(0.96);
  464. }
  465. .action-btn.secondary {
  466. background: rgba(255,255,255,0.9);
  467. color: #374151;
  468. border: 1px solid rgba(0,0,0,0.08);
  469. }
  470. .action-btn.secondary:hover {
  471. background: #fff;
  472. transform: translateY(-1px);
  473. box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  474. }
  475. /* ===== 响应式 ===== */
  476. /* 标题自适应 */
  477. .section-title {
  478. font-size: clamp(1.75rem, 5vw, 3rem);
  479. }
  480. .section-desc {
  481. font-size: clamp(0.875rem, 2vw, 1.0625rem);
  482. }
  483. /* 平板(≤1024px)*/
  484. @media (max-width: 1024px) {
  485. .section-hot { padding: 4rem 0; }
  486. .hot-header { padding: 0 2rem; }
  487. .workflow-card { width: 260px; }
  488. }
  489. /* 手机横屏 / 小平板(≤768px)*/
  490. @media (max-width: 768px) {
  491. .section-hot { padding: 3rem 0; }
  492. .hot-header { padding: 0 1rem; margin-bottom: 2rem; }
  493. .workflow-card { width: 230px; }
  494. .card-cover { height: 130px; }
  495. .card-info { padding: 12px; }
  496. .card-title { font-size: 13px; }
  497. .card-desc { font-size: 11px; }
  498. /* 遇屏边渐变缩短 */
  499. .scroll-track-wrapper {
  500. -webkit-mask-image: linear-gradient(to right, transparent, black 40px, black calc(100% - 40px), transparent);
  501. mask-image: linear-gradient(to right, transparent, black 40px, black calc(100% - 40px), transparent);
  502. }
  503. }
  504. /* 手机竖屏(≤480px)*/
  505. @media (max-width: 480px) {
  506. .section-hot { padding: 2.5rem 0; }
  507. .hot-header { padding: 0 0.75rem; margin-bottom: 1.5rem; }
  508. .workflow-card { width: 200px; }
  509. .card-cover { height: 110px; }
  510. .card-info { padding: 10px; }
  511. .card-title { font-size: 12px; }
  512. .card-desc { font-size: 10px; margin-bottom: 8px; }
  513. .card-footer { flex-wrap: wrap; gap: 4px; }
  514. .author-avatar { width: 20px; height: 20px; }
  515. .author-name { font-size: 10px; }
  516. .card-category { font-size: 10px; }
  517. .platform-chip { font-size: 9px; padding: 2px 7px; }
  518. .view-count { font-size: 10px; }
  519. .scroll-track { gap: 12px; }
  520. .scroll-track-wrapper {
  521. -webkit-mask-image: linear-gradient(to right, transparent, black 20px, black calc(100% - 20px), transparent);
  522. mask-image: linear-gradient(to right, transparent, black 20px, black calc(100% - 20px), transparent);
  523. }
  524. }
  525. /* 极小屏(≤360px)*/
  526. @media (max-width: 360px) {
  527. .workflow-card { width: 175px; }
  528. .card-cover { height: 95px; }
  529. .card-info { padding: 8px; }
  530. .card-title { font-size: 11px; }
  531. }
  532. </style>