{"id":1439,"date":"2026-06-22T11:28:47","date_gmt":"2026-06-22T03:28:47","guid":{"rendered":"https:\/\/qubitledge.com\/?p=1439"},"modified":"2026-06-22T15:02:03","modified_gmt":"2026-06-22T07:02:03","slug":"cpo","status":"publish","type":"post","link":"https:\/\/qubitledge.com\/index.php\/2026\/06\/22\/cpo\/","title":{"rendered":"\u884c\u4e1a\u7814\u7a76-\u5149\u6a21\u5757"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n\n<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>\u5149\u6a21\u5757\u884c\u4e1a\u6df1\u5ea6\u7814\u7a76 \u00b7 2026<\/title>\n<script type=\"text\/javascript\">\/\/<![CDATA[\ndocument.documentElement.className += ' js-enabled';\n\/\/]]><\/script>\n<style>\n\/* ============================================================\n   \u8bbe\u8ba1\u7cfb\u7edf - \u6d45\u8272\u5546\u52a1\u54a8\u8be2\u98ce\n   \u4e3b\u8272\uff1a\u6df1\u9752 #0F766E \/ #14B8A6 (\u627f\u63a5 DOCX DM-1 \u914d\u8272)\n   ============================================================ *\/\n:root {\n  --primary: #0F766E;\n  --primary-dark: #134E4A;\n  --primary-light: #14B8A6;\n  --accent: #F59E0B;\n  --accent-dark: #D97706;\n  --ink: #0F172A;\n  --text: #1F2937;\n  --text-light: #475569;\n  --muted: #64748B;\n  --line: #E2E8F0;\n  --line-soft: #F1F5F9;\n  --bg: #FFFFFF;\n  --bg-soft: #F8FAFC;\n  --bg-card: #FFFFFF;\n  --cn-tint: #ECFDF5;\n  --shadow-sm: 0 1px 2px rgba(15,23,42,.04), 0 1px 3px rgba(15,23,42,.06);\n  --shadow-md: 0 4px 6px -1px rgba(15,23,42,.06), 0 2px 4px -2px rgba(15,23,42,.05);\n  --shadow-lg: 0 12px 24px -8px rgba(15,118,110,.15), 0 4px 8px -4px rgba(15,23,42,.06);\n}\n\n* { margin: 0; padding: 0; box-sizing: border-box; }\nhtml { scroll-behavior: smooth; scroll-padding-top: 72px; }\nbody {\n  font-family: -apple-system, BlinkMacSystemFont, \"PingFang SC\", \"Microsoft YaHei\", \"Segoe UI\", Roboto, sans-serif;\n  color: var(--text);\n  background: var(--bg);\n  line-height: 1.75;\n  font-size: 15px;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n\n\/* \u9605\u8bfb\u8fdb\u5ea6\u6761 *\/\n#progress-bar {\n  position: fixed; top: 0; left: 0; height: 3px;\n  background: linear-gradient(90deg, var(--primary), var(--primary-light));\n  width: 0%; z-index: 1000; transition: width .15s ease-out;\n}\n\n\/* Sticky \u5bfc\u822a *\/\n.nav {\n  position: sticky; top: 0; z-index: 100;\n  background: rgba(255,255,255,.92);\n  backdrop-filter: blur(12px);\n  -webkit-backdrop-filter: blur(12px);\n  border-bottom: 1px solid var(--line);\n  padding: 14px 0;\n}\n.nav-inner {\n  max-width: 1200px; margin: 0 auto; padding: 0 32px;\n  display: flex; align-items: center; justify-content: space-between; gap: 24px;\n}\n.nav-brand {\n  font-weight: 700; font-size: 15px; color: var(--primary-dark);\n  letter-spacing: -.01em; display: flex; align-items: center; gap: 8px;\n  white-space: nowrap;\n}\n.nav-brand::before {\n  content: \"\"; width: 8px; height: 8px; border-radius: 50%;\n  background: linear-gradient(135deg, var(--primary), var(--primary-light));\n  box-shadow: 0 0 12px var(--primary-light);\n}\n.nav-links {\n  display: flex; gap: 4px; list-style: none; overflow-x: auto;\n  scrollbar-width: none;\n}\n.nav-links::-webkit-scrollbar { display: none; }\n.nav-links a {\n  padding: 6px 12px; font-size: 13px; color: var(--text-light);\n  text-decoration: none; border-radius: 6px; white-space: nowrap;\n  transition: all .2s; font-weight: 500;\n}\n.nav-links a:hover { background: var(--cn-tint); color: var(--primary-dark); }\n.nav-links a.active { background: var(--primary); color: #fff; }\n\n\/* ============================================================\n   Hero \u9996\u5c4f\n   ============================================================ *\/\n.hero {\n  position: relative; overflow: hidden;\n  background: linear-gradient(135deg, #F0FDFA 0%, #FFFFFF 50%, #FFF7ED 100%);\n  padding: 100px 32px 80px;\n  border-bottom: 1px solid var(--line);\n}\n.hero::before {\n  content: \"\"; position: absolute; top: -100px; right: -100px;\n  width: 500px; height: 500px;\n  background: radial-gradient(circle, rgba(20,184,166,.12) 0%, transparent 70%);\n  border-radius: 50%;\n}\n.hero::after {\n  content: \"\"; position: absolute; bottom: -150px; left: -100px;\n  width: 400px; height: 400px;\n  background: radial-gradient(circle, rgba(245,158,11,.08) 0%, transparent 70%);\n  border-radius: 50%;\n}\n.hero-inner {\n  max-width: 1200px; margin: 0 auto; position: relative; z-index: 1;\n}\n.hero-eyebrow {\n  display: inline-flex; align-items: center; gap: 8px;\n  padding: 6px 14px; background: rgba(15,118,110,.08);\n  color: var(--primary-dark); border-radius: 999px;\n  font-size: 12px; font-weight: 600; letter-spacing: .08em;\n  text-transform: uppercase; margin-bottom: 24px;\n}\n.hero-eyebrow::before {\n  content: \"\"; width: 6px; height: 6px; border-radius: 50%;\n  background: var(--primary); animation: pulse 2s infinite;\n}\n@keyframes pulse {\n  0%, 100% { opacity: 1; transform: scale(1); }\n  50% { opacity: .5; transform: scale(1.3); }\n}\n.hero h1 {\n  font-size: clamp(36px, 5vw, 56px);\n  font-weight: 800; line-height: 1.15;\n  color: var(--ink); letter-spacing: -.02em;\n  margin-bottom: 20px;\n}\n.hero h1 .accent {\n  background: linear-gradient(120deg, var(--primary) 0%, var(--primary-light) 100%);\n  -webkit-background-clip: text; background-clip: text;\n  -webkit-text-fill-color: transparent;\n}\n.hero-sub {\n  font-size: clamp(16px, 2vw, 19px);\n  color: var(--text-light); max-width: 720px;\n  line-height: 1.7; margin-bottom: 48px;\n}\n.hero-meta {\n  display: flex; gap: 24px; flex-wrap: wrap;\n  font-size: 13px; color: var(--muted); margin-bottom: 56px;\n}\n.hero-meta span { display: flex; align-items: center; gap: 6px; }\n.hero-meta strong { color: var(--text); font-weight: 600; }\n\n\/* KPI \u5361\u7247 *\/\n.kpi-grid {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 20px;\n}\n.kpi-card {\n  background: var(--bg-card);\n  border: 1px solid var(--line);\n  border-radius: 12px;\n  padding: 28px 24px;\n  position: relative; overflow: hidden;\n  transition: all .3s cubic-bezier(.4,0,.2,1);\n}\n.kpi-card::before {\n  content: \"\"; position: absolute; top: 0; left: 0; right: 0; height: 3px;\n  background: linear-gradient(90deg, var(--primary), var(--primary-light));\n  transform: scaleX(0); transform-origin: left; transition: transform .4s;\n}\n.kpi-card:hover {\n  transform: translateY(-4px);\n  box-shadow: var(--shadow-lg);\n  border-color: var(--primary-light);\n}\n.kpi-card:hover::before { transform: scaleX(1); }\n.kpi-label {\n  font-size: 12px; color: var(--muted);\n  font-weight: 500; margin-bottom: 12px;\n  letter-spacing: .02em;\n}\n.kpi-value {\n  font-size: 36px; font-weight: 800; color: var(--ink);\n  letter-spacing: -.02em; line-height: 1; margin-bottom: 8px;\n}\n.kpi-value .unit {\n  font-size: 16px; font-weight: 600; color: var(--text-light);\n  margin-left: 4px;\n}\n.kpi-trend {\n  display: inline-flex; align-items: center; gap: 4px;\n  font-size: 13px; font-weight: 600; color: var(--primary);\n  background: var(--cn-tint); padding: 3px 8px; border-radius: 6px;\n}\n.kpi-trend.warn { color: var(--accent-dark); background: #FEF3C7; }\n.kpi-desc {\n  font-size: 12px; color: var(--muted); margin-top: 10px;\n  line-height: 1.5;\n}\n\n\/* ============================================================\n   \u901a\u7528 Section\n   ============================================================ *\/\n.section {\n  max-width: 1200px; margin: 0 auto;\n  padding: 96px 32px;\n}\n.section-header { margin-bottom: 56px; }\n.section-num {\n  font-size: 13px; font-weight: 700; color: var(--primary);\n  letter-spacing: .12em; text-transform: uppercase;\n  margin-bottom: 12px;\n}\n.section-title {\n  font-size: clamp(28px, 3.5vw, 38px);\n  font-weight: 800; color: var(--ink);\n  letter-spacing: -.02em; line-height: 1.2;\n  margin-bottom: 16px;\n}\n.section-lead {\n  font-size: 17px; color: var(--text-light);\n  max-width: 760px; line-height: 1.7;\n}\n\n\/* \u6e10\u5165\u52a8\u753b \u2014\u2014 \u6e10\u8fdb\u589e\u5f3a\uff1a\u65e0 JS \u65f6\u5185\u5bb9\u9ed8\u8ba4\u53ef\u89c1\uff0c\u6709 JS \u65f6\u624d\u9690\u85cf\u540e\u52a8\u753b *\/\n.fade-in {\n  opacity: 1; transform: none;\n  transition: opacity .8s ease, transform .8s ease;\n}\n\/* \u4ec5\u5f53 JS \u542f\u7528\u65f6\uff0c\u624d\u8ba9\u672a\u8fdb\u5165\u89c6\u53e3\u7684\u5143\u7d20\u9690\u85cf *\/\nhtml.js-enabled .fade-in {\n  opacity: 0; transform: translateY(30px);\n}\nhtml.js-enabled .fade-in.visible { opacity: 1; transform: translateY(0); }\n\n\/* ============================================================\n   \u56fe\u8868\u7ec4\u4ef6\n   ============================================================ *\/\n.chart-card {\n  background: var(--bg-card);\n  border: 1px solid var(--line);\n  border-radius: 12px;\n  padding: 32px;\n  box-shadow: var(--shadow-sm);\n  transition: box-shadow .3s;\n}\n.chart-card:hover { box-shadow: var(--shadow-md); }\n.chart-title {\n  font-size: 16px; font-weight: 700; color: var(--ink);\n  margin-bottom: 6px;\n}\n.chart-sub {\n  font-size: 13px; color: var(--muted); margin-bottom: 24px;\n}\n\n\/* \u67f1\u72b6\u56fe *\/\n.bar-chart {\n  display: flex; align-items: flex-end; gap: 14px;\n  height: 280px; padding: 20px 0 0;\n  border-bottom: 1px solid var(--line);\n  position: relative;\n}\n.bar-chart::before {\n  content: \"\"; position: absolute; left: 0; right: 0; top: 33%;\n  border-top: 1px dashed var(--line);\n}\n.bar-chart::after {\n  content: \"\"; position: absolute; left: 0; right: 0; top: 66%;\n  border-top: 1px dashed var(--line);\n}\n.bar-item {\n  flex: 1; display: flex; flex-direction: column;\n  align-items: center; gap: 10px; position: relative;\n  height: 100%; justify-content: flex-end;\n}\n.bar {\n  width: 100%; max-width: 60px;\n  background: linear-gradient(180deg, var(--primary-light) 0%, var(--primary) 100%);\n  border-radius: 6px 6px 0 0;\n  position: relative;\n  transition: height .8s cubic-bezier(.4,0,.2,1);\n  min-height: 4px;\n}\n\/* \u4ec5 JS \u542f\u7528\u65f6\u521d\u59cb\u4e3a 0\uff0c\u4fbf\u4e8e\u52a8\u753b *\/\nhtml.js-enabled .bar { height: 0; }\n.bar.future {\n  background: linear-gradient(180deg, #FCD34D 0%, var(--accent) 100%);\n}\n.bar:hover { filter: brightness(1.1); transform: translateY(-2px); }\n.bar-value {\n  position: absolute; top: -24px; left: 50%; transform: translateX(-50%);\n  font-size: 12px; font-weight: 700; color: var(--ink);\n  white-space: nowrap;\n}\n.bar-label {\n  font-size: 12px; color: var(--text-light); font-weight: 500;\n}\n.bar-year { font-size: 11px; color: var(--muted); }\n\n\/* \u73af\u5f62\u56fe *\/\n.donut-wrap {\n  display: flex; align-items: center; gap: 32px; flex-wrap: wrap;\n}\n.donut {\n  width: 180px; height: 180px; position: relative; flex-shrink: 0;\n}\n.donut svg { transform: rotate(-90deg); }\n.donut-center {\n  position: absolute; top: 50%; left: 50%;\n  transform: translate(-50%, -50%);\n  text-align: center;\n}\n.donut-center .num {\n  font-size: 28px; font-weight: 800; color: var(--ink); line-height: 1;\n}\n.donut-center .lbl {\n  font-size: 11px; color: var(--muted); margin-top: 4px;\n}\n.donut-legend { flex: 1; min-width: 200px; }\n.legend-item {\n  display: flex; align-items: center; gap: 12px;\n  padding: 12px 0; border-bottom: 1px solid var(--line-soft);\n}\n.legend-item:last-child { border-bottom: none; }\n.legend-dot {\n  width: 12px; height: 12px; border-radius: 3px; flex-shrink: 0;\n}\n.legend-text { flex: 1; }\n.legend-text .name { font-size: 14px; font-weight: 600; color: var(--ink); }\n.legend-text .desc { font-size: 12px; color: var(--muted); margin-top: 2px; }\n.legend-val {\n  font-size: 18px; font-weight: 800; color: var(--primary);\n}\n\n\/* \u6a2a\u5411\u6761\u5f62\u56fe *\/\n.hbar-list { display: flex; flex-direction: column; gap: 18px; }\n.hbar-row { }\n.hbar-info {\n  display: flex; justify-content: space-between; align-items: baseline;\n  margin-bottom: 8px;\n}\n.hbar-name { font-size: 14px; font-weight: 600; color: var(--ink); }\n.hbar-num { font-size: 13px; color: var(--text-light); }\n.hbar-num strong { color: var(--primary); font-size: 16px; }\n.hbar-track {\n  height: 14px; background: var(--line-soft);\n  border-radius: 7px; overflow: hidden; position: relative;\n}\n.hbar-fill {\n  height: 100%; border-radius: 7px;\n  background: linear-gradient(90deg, var(--primary), var(--primary-light));\n  width: 100%; transition: width 1.4s cubic-bezier(.4,0,.2,1);\n  position: relative;\n}\nhtml.js-enabled .hbar-fill { width: 0; }\n.hbar-fill.warn { background: linear-gradient(90deg, var(--accent-dark), var(--accent)); }\n.hbar-fill.future { background: linear-gradient(90deg, #6366F1, #8B5CF6); }\n\n\/* \u7f51\u683c\u5e03\u5c40 *\/\n.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }\n.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }\n.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }\n\n\/* ============================================================\n   GPU:\u5149\u6a21\u5757 \u5bf9\u6bd4\n   ============================================================ *\/\n.compare-box {\n  background: var(--bg-card); border: 1px solid var(--line);\n  border-radius: 12px; padding: 32px;\n  display: flex; align-items: center; gap: 24px;\n  box-shadow: var(--shadow-sm);\n}\n.compare-side { flex: 1; text-align: center; }\n.compare-side .label {\n  font-size: 13px; color: var(--muted); margin-bottom: 8px; font-weight: 500;\n}\n.compare-side .ratio {\n  font-size: 48px; font-weight: 800; color: var(--ink); line-height: 1;\n  letter-spacing: -.02em;\n}\n.compare-side .ratio .small { font-size: 18px; color: var(--text-light); }\n.compare-side .name {\n  font-size: 14px; color: var(--primary); font-weight: 600; margin-top: 8px;\n}\n.compare-arrow {\n  flex-shrink: 0; width: 56px; height: 56px;\n  background: linear-gradient(135deg, var(--primary), var(--primary-light));\n  color: #fff; border-radius: 50%;\n  display: flex; align-items: center; justify-content: center;\n  font-size: 24px; box-shadow: var(--shadow-lg);\n}\n.compare-mult {\n  display: inline-block; margin-top: 16px;\n  padding: 4px 12px; background: #FEF3C7; color: var(--accent-dark);\n  border-radius: 6px; font-size: 12px; font-weight: 700;\n}\n\n\/* ============================================================\n   \u65f6\u95f4\u8f74\n   ============================================================ *\/\n.timeline {\n  position: relative; padding: 40px 0 20px;\n}\n.timeline::before {\n  content: \"\"; position: absolute; left: 0; right: 0; top: 109px;\n  height: 3px; background: var(--line); border-radius: 2px;\n}\n.timeline-progress {\n  position: absolute; left: 0; top: 109px; height: 3px;\n  background: linear-gradient(90deg, var(--primary), var(--primary-light), var(--accent));\n  border-radius: 2px; width: 100%;\n  transition: width 1.8s ease-out .3s;\n}\nhtml.js-enabled .timeline-progress { width: 0; }\n.timeline-grid {\n  display: grid; grid-template-columns: repeat(6, 1fr);\n  gap: 8px; position: relative;\n}\n.tl-node {\n  text-align: center; cursor: pointer;\n  padding-top: 70px; \/* \u7ed9\u5e74\u4efd + \u5706\u70b9\u7559\u4f4d\u7f6e *\/\n  position: relative;\n  display: flex; flex-direction: column; align-items: center;\n}\n.tl-node::before {\n  content: \"\"; position: absolute; top: 56px; left: 50%;\n  transform: translateX(-50%);\n  width: 18px; height: 18px; border-radius: 50%;\n  background: #fff; border: 4px solid var(--primary);\n  z-index: 2; transition: all .3s;\n  box-sizing: content-box;\n}\n.tl-node.future::before { border-color: var(--accent); }\n.tl-node.current::before {\n  border-color: var(--primary); background: var(--primary);\n  box-shadow: 0 0 0 6px rgba(15,118,110,.15);\n}\n.tl-node:hover::before { transform: translateX(-50%) scale(1.3); }\n.tl-year {\n  position: absolute; top: 0; left: 50%; transform: translateX(-50%);\n  font-size: 12px; color: var(--muted); font-weight: 600;\n  white-space: nowrap;\n}\n.tl-speed {\n  font-size: 22px; font-weight: 800; color: var(--ink);\n  margin-top: 0; \/* padding-top \u5df2\u7559\u8db3\u7a7a\u95f4 *\/\n  letter-spacing: -.02em;\n}\n.tl-node.current .tl-speed { color: var(--primary); }\n.tl-node.future .tl-speed { color: var(--accent-dark); }\n.tl-desc {\n  font-size: 11px; color: var(--text-light); margin-top: 6px;\n  line-height: 1.5;\n}\n\n\/* ============================================================\n   \u6280\u672f\u8def\u7ebf\u5361\u7247\n   ============================================================ *\/\n.tech-tabs {\n  display: flex; gap: 8px; margin-bottom: 32px;\n  border-bottom: 1px solid var(--line);\n}\n.tech-tab {\n  padding: 12px 20px; font-size: 14px; font-weight: 600;\n  color: var(--text-light); cursor: pointer;\n  border: none; background: none;\n  border-bottom: 2px solid transparent;\n  transition: all .2s; font-family: inherit;\n}\n.tech-tab:hover { color: var(--primary); }\n.tech-tab.active {\n  color: var(--primary); border-bottom-color: var(--primary);\n}\n.tech-cards {\n  display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;\n  margin-bottom: 40px;\n}\n.tech-card {\n  background: var(--bg-card); border: 1px solid var(--line);\n  border-radius: 12px; padding: 24px; cursor: pointer;\n  transition: all .3s; position: relative; overflow: hidden;\n}\n.tech-card:hover {\n  transform: translateY(-4px); box-shadow: var(--shadow-lg);\n  border-color: var(--primary-light);\n}\n.tech-card.active {\n  border-color: var(--primary);\n  box-shadow: 0 0 0 2px var(--primary), var(--shadow-lg);\n}\n.tech-card .icon {\n  width: 44px; height: 44px; border-radius: 10px;\n  background: var(--cn-tint); color: var(--primary);\n  display: flex; align-items: center; justify-content: center;\n  font-size: 22px; font-weight: 800; margin-bottom: 16px;\n}\n.tech-card.lpo .icon { background: #FEF3C7; color: var(--accent-dark); }\n.tech-card.npo .icon { background: #EDE9FE; color: #7C3AED; }\n.tech-card.cpo .icon { background: #FCE7F3; color: #BE185D; }\n.tech-card h4 {\n  font-size: 17px; font-weight: 700; color: var(--ink); margin-bottom: 4px;\n}\n.tech-card .tagline { font-size: 12px; color: var(--muted); margin-bottom: 16px; }\n.tech-card .position {\n  font-size: 13px; color: var(--text); line-height: 1.6;\n  padding: 12px; background: var(--bg-soft); border-radius: 8px;\n  margin-bottom: 16px;\n}\n.tech-stats { display: grid; gap: 10px; }\n.tech-stat {\n  display: flex; justify-content: space-between; font-size: 12px;\n}\n.tech-stat .key { color: var(--muted); }\n.tech-stat .val { font-weight: 600; color: var(--ink); }\n\n\/* \u8be6\u7ec6\u5bf9\u6bd4\u8868 *\/\n.compare-table {\n  width: 100%; border-collapse: collapse;\n  font-size: 13px;\n}\n.compare-table th, .compare-table td {\n  padding: 14px 16px; text-align: left;\n  border-bottom: 1px solid var(--line);\n}\n.compare-table th {\n  background: var(--bg-soft); font-weight: 700; color: var(--ink);\n  font-size: 12px; letter-spacing: .02em;\n}\n.compare-table td:not(:first-child) { color: var(--text); }\n.compare-table td:first-child { font-weight: 600; color: var(--text-light); }\n.compare-table tr:hover { background: var(--bg-soft); }\n\n\/* ============================================================\n   \u6e17\u900f\u7387\u8fdb\u5ea6\u6761\n   ============================================================ *\/\n\u6e17\u900f\u7387\u5bb9\u5668 { padding: 24px 0; }\n.permeation-row {\n  display: grid; grid-template-columns: 80px 1fr 60px;\n  align-items: center; gap: 16px; padding: 16px 0;\n}\n.permeation-row .year {\n  font-size: 14px; font-weight: 700; color: var(--ink);\n}\n.permeation-track {\n  height: 32px; background: var(--line-soft);\n  border-radius: 16px; overflow: hidden; position: relative;\n}\n.permeation-fill {\n  height: 100%; border-radius: 16px;\n  background: linear-gradient(90deg, var(--primary), var(--primary-light));\n  display: flex; align-items: center; padding-left: 12px;\n  color: #fff; font-size: 12px; font-weight: 700;\n  width: 100%; transition: width 1.6s cubic-bezier(.4,0,.2,1);\n}\nhtml.js-enabled .permeation-fill { width: 0; }\n.permeation-fill.over50 {\n  background: linear-gradient(90deg, var(--primary), var(--accent));\n}\n.permeation-row .pct {\n  font-size: 18px; font-weight: 800; color: var(--primary);\n  text-align: right;\n}\n\n\/* ============================================================\n   \u5382\u5546\u699c\u5355\n   ============================================================ *\/\n.rank-list { display: flex; flex-direction: column; gap: 8px; }\n.rank-row {\n  display: grid; grid-template-columns: 40px 1fr auto auto;\n  align-items: center; gap: 16px;\n  padding: 14px 20px; background: var(--bg-card);\n  border: 1px solid var(--line); border-radius: 10px;\n  transition: all .25s;\n}\n.rank-row:hover {\n  border-color: var(--primary-light);\n  transform: translateX(4px);\n  box-shadow: var(--shadow-md);\n}\n.rank-row.cn {\n  background: linear-gradient(90deg, var(--cn-tint) 0%, #fff 60%);\n  border-left: 3px solid var(--primary);\n}\n.rank-num {\n  font-size: 18px; font-weight: 800; color: var(--muted);\n  width: 32px; text-align: center;\n}\n.rank-row.cn .rank-num { color: var(--primary); }\n.rank-row.top1 .rank-num, .rank-row.top2 .rank-num {\n  font-size: 22px;\n}\n.rank-row.top1 .rank-num { color: var(--accent-dark); }\n.rank-info { }\n.rank-info .name { font-size: 15px; font-weight: 700; color: var(--ink); }\n.rank-info .meta { font-size: 12px; color: var(--muted); margin-top: 2px; }\n.rank-flag {\n  font-size: 11px; padding: 3px 8px; border-radius: 4px;\n  font-weight: 600;\n}\n.rank-flag.cn { background: var(--cn-tint); color: var(--primary-dark); }\n.rank-flag.us { background: #DBEAFE; color: #1E40AF; }\n.rank-rev {\n  font-size: 14px; font-weight: 700; color: var(--ink);\n  text-align: right; min-width: 100px;\n}\n.rank-rev .delta {\n  display: block; font-size: 11px; color: var(--primary);\n  font-weight: 600;\n}\n\n\/* ============================================================\n   \u4e09\u5de8\u5934\u5361\u7247\n   ============================================================ *\/\n.giant-card {\n  background: var(--bg-card); border: 1px solid var(--line);\n  border-radius: 14px; padding: 32px;\n  transition: all .3s; position: relative; overflow: hidden;\n}\n.giant-card:hover {\n  transform: translateY(-6px);\n  box-shadow: var(--shadow-lg);\n  border-color: var(--primary-light);\n}\n.giant-card::before {\n  content: \"\"; position: absolute; top: 0; left: 0; right: 0; height: 4px;\n  background: linear-gradient(90deg, var(--primary), var(--primary-light));\n}\n.giant-card.eoptolink::before {\n  background: linear-gradient(90deg, var(--accent-dark), var(--accent));\n}\n.giant-card.tianfu::before {\n  background: linear-gradient(90deg, #7C3AED, #A78BFA);\n}\n.giant-rank {\n  display: inline-flex; align-items: center; gap: 6px;\n  padding: 4px 10px; background: var(--cn-tint);\n  color: var(--primary-dark); border-radius: 6px;\n  font-size: 11px; font-weight: 700; margin-bottom: 16px;\n}\n.giant-name {\n  font-size: 22px; font-weight: 800; color: var(--ink);\n  margin-bottom: 4px; letter-spacing: -.01em;\n}\n.giant-code {\n  font-size: 12px; color: var(--muted); margin-bottom: 24px;\n}\n.giant-metrics {\n  display: grid; grid-template-columns: 1fr 1fr; gap: 16px;\n  margin-bottom: 24px; padding: 20px 0;\n  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);\n}\n.giant-metric .lbl { font-size: 11px; color: var(--muted); }\n.giant-metric .val {\n  font-size: 20px; font-weight: 800; color: var(--ink);\n  letter-spacing: -.01em;\n}\n.giant-metric .val .pct {\n  font-size: 12px; color: var(--primary); margin-left: 4px;\n}\n.giant-tag {\n  display: inline-block; padding: 4px 10px;\n  background: var(--bg-soft); color: var(--text-light);\n  border-radius: 6px; font-size: 12px; margin: 0 6px 6px 0;\n}\n.giant-section-title {\n  font-size: 11px; color: var(--muted); font-weight: 600;\n  letter-spacing: .05em; margin: 16px 0 8px;\n  text-transform: uppercase;\n}\n.giant-desc {\n  font-size: 13px; color: var(--text); line-height: 1.7;\n}\n\n\/* ============================================================\n   \u4ea7\u4e1a\u94fe\u6d41\u7a0b\u56fe\n   ============================================================ *\/\n.chain-flow {\n  display: grid; grid-template-columns: 1fr auto 1fr auto 1fr;\n  gap: 16px; align-items: stretch;\n}\n.chain-stage {\n  background: var(--bg-card); border: 1px solid var(--line);\n  border-radius: 12px; padding: 24px;\n}\n.chain-stage h4 {\n  font-size: 12px; font-weight: 700; color: var(--primary);\n  letter-spacing: .08em; text-transform: uppercase;\n  margin-bottom: 6px;\n}\n.chain-stage .title {\n  font-size: 18px; font-weight: 700; color: var(--ink);\n  margin-bottom: 16px;\n}\n.chain-stage .share {\n  font-size: 28px; font-weight: 800; color: var(--primary);\n  margin-bottom: 16px; letter-spacing: -.02em;\n}\n.chain-stage .share .lbl {\n  display: block; font-size: 11px; color: var(--muted);\n  font-weight: 500; letter-spacing: .02em;\n}\n.chain-vendors {\n  display: flex; flex-wrap: wrap; gap: 6px;\n}\n.chain-vendor {\n  padding: 4px 10px; background: var(--bg-soft);\n  border: 1px solid var(--line); border-radius: 6px;\n  font-size: 12px; color: var(--text);\n}\n.chain-vendor.cn {\n  background: var(--cn-tint); border-color: var(--primary-light);\n  color: var(--primary-dark); font-weight: 600;\n}\n.chain-arrow {\n  display: flex; align-items: center; justify-content: center;\n  color: var(--primary-light); font-size: 24px;\n}\n\n\/* ============================================================\n   CPO \u8d8b\u52bf + \u4e3b\u7ebf\u63a8\u6f14\n   ============================================================ *\/\n.cpo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }\n.outlook-card {\n  background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%);\n  color: #fff; border-radius: 14px; padding: 32px;\n  position: relative; overflow: hidden;\n}\n.outlook-card::before {\n  content: \"\"; position: absolute; top: -50px; right: -50px;\n  width: 200px; height: 200px;\n  background: radial-gradient(circle, rgba(255,255,255,.1) 0%, transparent 70%);\n  border-radius: 50%;\n}\n.outlook-card h4 {\n  font-size: 12px; letter-spacing: .08em; opacity: .8;\n  margin-bottom: 8px; text-transform: uppercase;\n}\n.outlook-card .title {\n  font-size: 22px; font-weight: 800; margin-bottom: 16px;\n}\n.outlook-card .num {\n  font-size: 48px; font-weight: 800; line-height: 1;\n  margin-bottom: 8px; letter-spacing: -.02em;\n}\n.outlook-card .num .unit { font-size: 18px; opacity: .8; }\n.outlook-card .desc { font-size: 14px; opacity: .9; line-height: 1.7; }\n\n.theme-list { display: flex; flex-direction: column; gap: 16px; }\n.theme-item {\n  background: var(--bg-card); border: 1px solid var(--line);\n  border-radius: 12px; padding: 24px;\n  border-left: 4px solid var(--primary);\n}\n.theme-item:nth-child(2) { border-left-color: var(--accent); }\n.theme-item:nth-child(3) { border-left-color: #8B5CF6; }\n.theme-item .num {\n  font-size: 11px; color: var(--muted); font-weight: 700;\n  letter-spacing: .1em; margin-bottom: 6px;\n}\n.theme-item h5 {\n  font-size: 16px; font-weight: 700; color: var(--ink); margin-bottom: 8px;\n}\n.theme-item p { font-size: 13px; color: var(--text-light); line-height: 1.7; }\n\n\/* ============================================================\n   Footer\n   ============================================================ *\/\n.footer {\n  background: var(--ink); color: #94A3B8;\n  padding: 64px 32px 32px; margin-top: 64px;\n}\n.footer-inner { max-width: 1200px; margin: 0 auto; }\n.footer h4 {\n  color: #fff; font-size: 14px; margin-bottom: 16px;\n  font-weight: 600;\n}\n.footer-source {\n  font-size: 12px; line-height: 1.8; margin-bottom: 32px;\n}\n.footer-source strong { color: #E2E8F0; }\n.footer-bottom {\n  border-top: 1px solid rgba(255,255,255,.1);\n  padding-top: 24px; display: flex; justify-content: space-between;\n  flex-wrap: wrap; gap: 16px; font-size: 12px;\n}\n.footer-disclaimer {\n  background: rgba(255,255,255,.05); padding: 16px;\n  border-radius: 8px; font-size: 12px; line-height: 1.7;\n  margin-bottom: 24px;\n}\n\n\/* ============================================================\n   \u54cd\u5e94\u5f0f\n   ============================================================ *\/\n@media (max-width: 1024px) {\n  .kpi-grid { grid-template-columns: repeat(2, 1fr); }\n  .grid-4 { grid-template-columns: repeat(2, 1fr); }\n  .tech-cards { grid-template-columns: repeat(2, 1fr); }\n  .cpo-grid { grid-template-columns: 1fr; }\n  .timeline-grid { grid-template-columns: repeat(3, 1fr); gap: 24px; }\n  .timeline::before, .timeline-progress { display: none; }\n  .tl-node { padding-top: 0; }\n  .tl-node::before { display: none; }\n  .tl-speed { margin-top: 8px; }\n  .chain-flow { grid-template-columns: 1fr; }\n  .chain-arrow { transform: rotate(90deg); }\n}\n@media (max-width: 768px) {\n  .hero { padding: 60px 20px 48px; }\n  .section { padding: 64px 20px; }\n  .kpi-grid { grid-template-columns: 1fr; }\n  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }\n  .tech-cards { grid-template-columns: 1fr; }\n  .nav-links { display: none; }\n  .compare-box { flex-direction: column; }\n  .compare-arrow { transform: rotate(90deg); }\n  .donut-wrap { flex-direction: column; align-items: center; }\n  .timeline-grid { grid-template-columns: repeat(2, 1fr); }\n  .rank-row { grid-template-columns: 30px 1fr; }\n  .rank-row .rank-flag, .rank-row .rank-rev { grid-column: 2; text-align: left; }\n}\n<\/style>\n<\/head>\n<body>\n\n<!-- \u9605\u8bfb\u8fdb\u5ea6\u6761 -->\n<div id=\"progress-bar\"><\/div>\n\n<!-- \u5bfc\u822a -->\n<nav class=\"nav\">\n  <div class=\"nav-inner\">\n    <div class=\"nav-brand\">\u5149\u6a21\u5757\u884c\u4e1a\u7814\u7a76 \u00b7 2026<\/div>\n    <ul class=\"nav-links\">\n      <li><a href=\"#market\" class=\"active\">\u5e02\u573a\u89c4\u6a21<\/a><\/li>\n      <li><a href=\"#ai-driver\">AI \u9a71\u52a8<\/a><\/li>\n      <li><a href=\"#timeline\">\u901f\u7387\u6f14\u8fdb<\/a><\/li>\n      <li><a href=\"#tech\">\u6280\u672f\u8def\u7ebf<\/a><\/li>\n      <li><a href=\"#sip\">\u7845\u5149\u6e17\u900f<\/a><\/li>\n      <li><a href=\"#rank\">\u7ade\u4e89\u683c\u5c40<\/a><\/li>\n      <li><a href=\"#giants\">\u4e09\u5de8\u5934<\/a><\/li>\n      <li><a href=\"#chain\">\u4ea7\u4e1a\u94fe<\/a><\/li>\n      <li><a href=\"#outlook\">\u5c55\u671b<\/a><\/li>\n    <\/ul>\n  <\/div>\n<\/nav>\n\n<!-- Hero -->\n<header class=\"hero\">\n  <div class=\"hero-inner\">\n    <div class=\"hero-eyebrow\">INDUSTRY DEEP RESEARCH \u00b7 2026<\/div>\n    <h1>\u5149\u6a21\u5757\u884c\u4e1a<br><span class=\"accent\">\u8fdb\u5165 AI \u9ec4\u91d1\u5468\u671f<\/span><\/h1>\n    <p class=\"hero-sub\">\u4ece&#8221;\u4f20\u7edf\u4e91\u901a\u4fe1\u914d\u89d2&#8221;\u5230&#8221;AI \u7b97\u529b\u7f51\u7edc\u5173\u952e\u74f6\u9888&#8221;\u2014\u2014\u672c\u62a5\u544a\u7cfb\u7edf\u68b3\u7406 2026 \u5e74\u5149\u6a21\u5757\u884c\u4e1a\u7684\u5e02\u573a\u89c4\u6a21\u3001\u6280\u672f\u8def\u7ebf\u3001\u7ade\u4e89\u683c\u5c40\u4e0e\u4ea7\u4e1a\u94fe\u5168\u666f\uff0c\u5e76\u5c55\u671b 2027-2028 \u5e74 CPO \u89c4\u6a21\u5316\u7b49\u5173\u952e\u53d8\u91cf\u3002<\/p>\n    <div class=\"hero-meta\">\n      <span>\ud83d\udcc5 <strong>2026 \u5e74 6 \u6708<\/strong><\/span>\n      <span>\ud83d\udd2c \u8986\u76d6 <strong>4 \u5927\u677f\u5757 \u00b7 9 \u7ae0\u8282<\/strong><\/span>\n      <span>\ud83d\udcca \u57fa\u4e8e <strong>LightCounting \/ TrendForce \/ Yole<\/strong> \u7b49\u673a\u6784\u6570\u636e<\/span>\n    <\/div>\n\n    <div class=\"kpi-grid\">\n      <div class=\"kpi-card\">\n        <div class=\"kpi-label\">2025 \u5168\u7403\u5e02\u573a\u89c4\u6a21<\/div>\n        <div class=\"kpi-value\">$230<span class=\"unit\">\u4ebf<\/span><\/div>\n        <div class=\"kpi-trend\">\u2191 +82% YoY<\/div>\n        <div class=\"kpi-desc\">\u8f83 2024 \u5e74 124 \u4ebf\u7f8e\u5143\u8fd1\u7ffb\u500d\uff0cAI \u62c9\u52a8\u6548\u5e94\u663e\u8457<\/div>\n      <\/div>\n      <div class=\"kpi-card\">\n        <div class=\"kpi-label\">2026 AI \u5149\u6a21\u5757\u5e02\u573a<\/div>\n        <div class=\"kpi-value\">$260<span class=\"unit\">\u4ebf<\/span><\/div>\n        <div class=\"kpi-trend\">\u2191 +57.6% YoY<\/div>\n        <div class=\"kpi-desc\">TrendForce \u53e3\u5f84\uff0cAI \u96c6\u7fa4\u72ec\u5360\u7ec6\u5206\u8d5b\u9053<\/div>\n      <\/div>\n      <div class=\"kpi-card\">\n        <div class=\"kpi-label\">\u4e2d\u56fd\u5382\u5546\u5168\u7403\u5730\u4f4d<\/div>\n        <div class=\"kpi-value\">7<span class=\"unit\">\/ 10 \u5e2d<\/span><\/div>\n        <div class=\"kpi-trend\">\u524d 2 \u540d\u5305\u63fd<\/div>\n        <div class=\"kpi-desc\">\u4e2d\u9645\u65ed\u521b\u3001\u65b0\u6613\u76db\u9996\u6b21\u5305\u63fd LightCounting \u524d\u4e24\u540d<\/div>\n      <\/div>\n      <div class=\"kpi-card\">\n        <div class=\"kpi-label\">2026 1.6T \u51fa\u8d27\uff08\u5143\u5e74\uff09<\/div>\n        <div class=\"kpi-value\">860<span class=\"unit\">\u4e07\u53ea+<\/span><\/div>\n        <div class=\"kpi-trend warn\">\u5546\u4e1a\u5316\u5143\u5e74<\/div>\n        <div class=\"kpi-desc\">\u4e2d\u9645\u65ed\u521b\u72ec\u5360\u7ea6 805 \u4e07\u53ea\uff0c\u5360\u8fd1 50% \u4efd\u989d<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/header>\n\n<!-- ============================================================\n     Section 1 \u00b7 \u5e02\u573a\u89c4\u6a21\u6570\u636e\u53ef\u89c6\u5316\n     ============================================================ -->\n<section id=\"market\" class=\"section\">\n  <div class=\"section-header fade-in\">\n    <div class=\"section-num\">SECTION 01 \u00b7 MARKET<\/div>\n    <h2 class=\"section-title\">\u5e02\u573a\u89c4\u6a21\uff1aAI \u5f15\u53d1\u7684\u6307\u6570\u7ea7\u7206\u53d1<\/h2>\n    <p class=\"section-lead\">\u5168\u7403\u5149\u6a21\u5757\u9500\u552e\u989d\u4ece 2024 \u5e74 124 \u4ebf\u7f8e\u5143\u8dc3\u5347\u81f3 2025 \u5e74 230 \u4ebf\u7f8e\u5143\uff08+82%\uff09\uff0cLightCounting \u9884\u6d4b 2031 \u5e74\u8fbe\u5230 638 \u4ebf\u7f8e\u5143\u3002AI \u96c6\u7fa4\u5149\u6a21\u5757\u5728\u6574\u4f53\u5e02\u573a\u4e2d\u7684\u5360\u6bd4\u4ece 2024 \u5e74\u4e0d\u8db3 30% \u8dc3\u5347\u81f3 2026 \u5e74\u8d85\u8fc7 50%\u3002<\/p>\n  <\/div>\n\n  <div class=\"grid-2 fade-in\" style=\"margin-bottom: 24px;\">\n    <div class=\"chart-card\">\n      <div class=\"chart-title\">\u5168\u7403\u5149\u6a21\u5757\u5e02\u573a\u89c4\u6a21\u6f14\u8fdb\uff08\u4ebf\u7f8e\u5143\uff09<\/div>\n      <div class=\"chart-sub\">\u6570\u636e\u6765\u6e90\uff1aLightCounting 2026 \u5e74 3 \u6708\u9884\u6d4b<\/div>\n      <div class=\"bar-chart\" id=\"market-bar\">\n        <div class=\"bar-item\"><div class=\"bar\" data-h=\"20\"><span class=\"bar-value\">124<\/span><\/div><div class=\"bar-label\">\u5b9e\u9645<\/div><div class=\"bar-year\">2024<\/div><\/div>\n        <div class=\"bar-item\"><div class=\"bar\" data-h=\"36\"><span class=\"bar-value\">230<\/span><\/div><div class=\"bar-label\">\u5b9e\u9645<\/div><div class=\"bar-year\">2025<\/div><\/div>\n        <div class=\"bar-item\"><div class=\"bar future\" data-h=\"46\"><span class=\"bar-value\">290<\/span><\/div><div class=\"bar-label\">\u9884\u6d4b<\/div><div class=\"bar-year\">2026<\/div><\/div>\n        <div class=\"bar-item\"><div class=\"bar future\" data-h=\"58\"><span class=\"bar-value\">365<\/span><\/div><div class=\"bar-label\">\u9884\u6d4b<\/div><div class=\"bar-year\">2027<\/div><\/div>\n        <div class=\"bar-item\"><div class=\"bar future\" data-h=\"80\"><span class=\"bar-value\">500<\/span><\/div><div class=\"bar-label\">\u9884\u6d4b<\/div><div class=\"bar-year\">2030<\/div><\/div>\n        <div class=\"bar-item\"><div class=\"bar future\" data-h=\"100\"><span class=\"bar-value\">638<\/span><\/div><div class=\"bar-label\">\u9884\u6d4b<\/div><div class=\"bar-year\">2031<\/div><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"chart-card\">\n      <div class=\"chart-title\">2026 \u5e74\u5e02\u573a\u7ed3\u6784\uff1a\u6570\u901a vs \u7535\u4fe1<\/div>\n      <div class=\"chart-sub\">\u6570\u636e\u6765\u6e90\uff1aLightCounting\u3001C-LIGHT<\/div>\n      <div class=\"donut-wrap\">\n        <div class=\"donut\">\n          <svg width=\"180\" height=\"180\" viewBox=\"0 0 180 180\">\n            <circle cx=\"90\" cy=\"90\" r=\"70\" fill=\"none\" stroke=\"#F1F5F9\" stroke-width=\"22\"\/>\n            <circle cx=\"90\" cy=\"90\" r=\"70\" fill=\"none\" stroke=\"#0F766E\" stroke-width=\"22\"\n              stroke-dasharray=\"333 440\" stroke-linecap=\"round\" id=\"donut-datacom\"\/>\n            <circle cx=\"90\" cy=\"90\" r=\"70\" fill=\"none\" stroke=\"#F59E0B\" stroke-width=\"22\"\n              stroke-dasharray=\"105 440\" stroke-dashoffset=\"-333\" stroke-linecap=\"round\" id=\"donut-telco\"\/>\n          <\/svg>\n          <div class=\"donut-center\">\n            <div class=\"num\">$300<span style=\"font-size:14px;\">\u4ebf<\/span><\/div>\n            <div class=\"lbl\">2026 \u5408\u8ba1<\/div>\n          <\/div>\n        <\/div>\n        <div class=\"donut-legend\">\n          <div class=\"legend-item\">\n            <div class=\"legend-dot\" style=\"background:#0F766E;\"><\/div>\n            <div class=\"legend-text\">\n              <div class=\"name\">\u6570\u901a Datacom<\/div>\n              <div class=\"desc\">AI \u8bad\u7ec3\/\u63a8\u7406\u3001\u4e91\u6269\u5f20<\/div>\n            <\/div>\n            <div class=\"legend-val\">76%<\/div>\n          <\/div>\n          <div class=\"legend-item\">\n            <div class=\"legend-dot\" style=\"background:#F59E0B;\"><\/div>\n            <div class=\"legend-text\">\n              <div class=\"name\">\u7535\u4fe1 Telecom<\/div>\n              <div class=\"desc\">5G\u3001\u9aa8\u5e72\u7f51\u5347\u7ea7<\/div>\n            <\/div>\n            <div class=\"legend-val\" style=\"color:#F59E0B;\">24%<\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"chart-card fade-in\">\n    <div class=\"chart-title\">2026 \u5e74\u5404\u901f\u7387\u51fa\u8d27\u91cf\u7ed3\u6784\uff08\u4e07\u53ea\uff09<\/div>\n    <div class=\"chart-sub\">800G \u4ecd\u662f\u4e3b\u529b\uff0c1.6T \u8fdb\u5165\u5546\u4e1a\u5316\u5143\u5e74 \u00b7 \u6570\u636e\u6765\u6e90\uff1aLightCounting\u3001\u4e1c\u65b9\u8d22\u5bcc\u8bc1\u5238<\/div>\n    <div class=\"hbar-list\" style=\"margin-top: 24px;\">\n      <div class=\"hbar-row\">\n        <div class=\"hbar-info\">\n          <span class=\"hbar-name\">800G <span style=\"color:var(--muted);font-weight:500;font-size:12px;\">AI \u540e\u7aef\u7f51\u7edc\u4e3b\u529b<\/span><\/span>\n          <span class=\"hbar-num\"><strong>5,000<\/strong> \u4e07\u53ea \u00b7 ASP ~$400<\/span>\n        <\/div>\n        <div class=\"hbar-track\"><div class=\"hbar-fill\" data-w=\"100%\"><\/div><\/div>\n      <\/div>\n      <div class=\"hbar-row\">\n        <div class=\"hbar-info\">\n          <span class=\"hbar-name\">1.6T <span style=\"color:var(--accent-dark);font-weight:600;font-size:12px;\">\u5143\u5e74<\/span><\/span>\n          <span class=\"hbar-num\"><strong>860<\/strong> \u4e07\u53ea \u00b7 ASP ~$850<\/span>\n        <\/div>\n        <div class=\"hbar-track\"><div class=\"hbar-fill warn\" data-w=\"17%\"><\/div><\/div>\n      <\/div>\n      <div class=\"hbar-row\">\n        <div class=\"hbar-info\">\n          <span class=\"hbar-name\">400G <span style=\"color:var(--muted);font-weight:500;font-size:12px;\">\u901a\u7528\u4e91\u3001\u4f01\u4e1a\u7f51<\/span><\/span>\n          <span class=\"hbar-num\"><strong>1,500<\/strong> \u4e07\u53ea \u00b7 ASP ~$200<\/span>\n        <\/div>\n        <div class=\"hbar-track\"><div class=\"hbar-fill\" data-w=\"30%\" style=\"background:linear-gradient(90deg,#94A3B8,#64748B);\"><\/div><\/div>\n      <\/div>\n      <div class=\"hbar-row\">\n        <div class=\"hbar-info\">\n          <span class=\"hbar-name\">3.2T <span style=\"color:#8B5CF6;font-weight:600;font-size:12px;\">\u9884\u7814<\/span><\/span>\n          <span class=\"hbar-num\"><strong>\u2014<\/strong> 2027+ \u6837\u54c1\u9636\u6bb5<\/span>\n        <\/div>\n        <div class=\"hbar-track\"><div class=\"hbar-fill future\" data-w=\"3%\"><\/div><\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============================================================\n     Section 2 \u00b7 AI \u9a71\u52a8\u903b\u8f91\n     ============================================================ -->\n<section id=\"ai-driver\" class=\"section\" style=\"background: var(--bg-soft); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);\">\n  <div class=\"section-header fade-in\">\n    <div class=\"section-num\">SECTION 02 \u00b7 AI DRIVER<\/div>\n    <h2 class=\"section-title\">AI \u9a71\u52a8\u903b\u8f91\uff1a\u5355 GPU \u5149\u6a21\u5757\u9700\u6c42\u7ffb 3-4 \u500d<\/h2>\n    <p class=\"section-lead\">\u4ece H100 \u65f6\u4ee3\u7684 1:2.5 \u5230 GB200 NVL72 \u5168\u7f51\u7edc\u7684 1:9\uff0c\u67b6\u6784\u6f14\u8fdb\u4f7f\u5355\u4f4d\u7b97\u529b\u7684\u5149\u6a21\u5757\u9700\u6c42\u500d\u589e\u2014\u2014\u8fd9\u662f 2026 \u5e74 1.6T \u9700\u6c42\u7206\u53d1\u7684\u7ed3\u6784\u6027\u539f\u56e0\u3002<\/p>\n  <\/div>\n\n  <div class=\"compare-box fade-in\" style=\"margin-bottom: 32px;\">\n    <div class=\"compare-side\">\n      <div class=\"label\">\u4e0a\u4e00\u4ee3\u67b6\u6784<\/div>\n      <div class=\"ratio\">1<span class=\"small\">:<\/span>2.5<\/div>\n      <div class=\"name\">DGX H100 SuperPOD<\/div>\n      <div style=\"font-size:12px;color:var(--muted);margin-top:8px;\">1024 GPU \u00b7 800G \u5149\u6a21\u5757<\/div>\n    <\/div>\n    <div class=\"compare-arrow\">\u2192<\/div>\n    <div class=\"compare-side\">\n      <div class=\"label\">\u5f53\u524d\u4ee3\u67b6\u6784<\/div>\n      <div class=\"ratio\" style=\"color:var(--primary);\">1<span class=\"small\">:<\/span>9<\/div>\n      <div class=\"name\" style=\"color:var(--accent-dark);\">GB200 NVL72 \u5168\u7f51\u7edc<\/div>\n      <div style=\"font-size:12px;color:var(--muted);margin-top:8px;\">648 \u4e2a\u5149\u6a21\u5757 \/ 72 GPU<\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"grid-3 fade-in\">\n    <div class=\"chart-card\">\n      <div class=\"chart-title\" style=\"color:var(--primary);\">\u7b97\u529b\u89c4\u6a21\u6269\u5f20<\/div>\n      <p style=\"font-size:13px;color:var(--text-light);line-height:1.7;margin-top:8px;\">AI \u8bad\u7ec3\u96c6\u7fa4\u4ece\u5343\u5361\u7ea7\uff08H100\uff09\u5411\u5341\u4e07\u5361\u7ea7\uff08GB200\/Rubin\uff09\u6f14\u8fdb\uff0c\u96c6\u7fa4\u5185\u90e8\u4e92\u8054\u7684\u5149\u6a21\u5757\u9700\u6c42\u7ebf\u6027\u589e\u957f\u3002<\/p>\n    <\/div>\n    <div class=\"chart-card\">\n      <div class=\"chart-title\" style=\"color:var(--accent-dark);\">\u5355\u5361\u5e26\u5bbd\u7ffb\u500d<\/div>\n      <p style=\"font-size:13px;color:var(--text-light);line-height:1.7;margin-top:8px;\">GPU \u5355\u5361 NVLink \u5e26\u5bbd\u6bcf\u4ee3\u7ffb\u500d\uff08H100 900GB\/s \u2192 B200 1.8TB\/s \u2192 Rubin 3.6TB\/s\uff09\uff0c\u5012\u903c\u5149\u6a21\u5757\u901f\u7387\u5347\u7ea7\u3002<\/p>\n    <\/div>\n    <div class=\"chart-card\">\n      <div class=\"chart-title\" style=\"color:#7C3AED;\">\u67b6\u6784\u590d\u6742\u5316<\/div>\n      <p style=\"font-size:13px;color:var(--text-light);line-height:1.7;margin-top:8px;\">Scale-up\uff08\u673a\u67b6\u5185\uff09\u4e0e Scale-out\uff08\u673a\u67b6\u95f4\uff09\u4e24\u5c42\u7f51\u7edc\u7684\u5168\u9762\u5149\u4e92\u8054\u5316\uff0c\u5355 GPU \u5149\u6a21\u5757\u914d\u6bd4\u4ece 1:2.5 \u8dc3\u5347\u81f3 1:9\u3002<\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"chart-card fade-in\" style=\"margin-top:24px;background:linear-gradient(135deg,#FEF3C7 0%,#FFFFFF 100%);border-color:#FCD34D;\">\n    <div style=\"display:flex;align-items:center;gap:16px;flex-wrap:wrap;\">\n      <div style=\"font-size:32px;\">\ud83d\udca1<\/div>\n      <div style=\"flex:1;min-width:300px;\">\n        <div style=\"font-size:15px;font-weight:700;color:var(--ink);margin-bottom:4px;\">\u5173\u952e\u6d4b\u7b97<\/div>\n        <div style=\"font-size:13px;color:var(--text);line-height:1.7;\">\u5355\u53f0 <strong>GB200 \u670d\u52a1\u5668\u9700 162 \u4e2a 1.6T \u5149\u6a21\u5757<\/strong>\uff08\u4f20\u7edf\u670d\u52a1\u5668\u7684 20 \u500d\uff09\u3002\u82f1\u4f1f\u8fbe 2026 \u5e74 1.6T \u91c7\u8d2d\u91cf\u4ece 700 \u4e07\u53ea<strong style=\"color:var(--accent-dark);\">\u4e0a\u4fee\u81f3\u7ea6 2,000 \u4e07\u53ea<\/strong>\uff08\u5355\u4ef7 +70%\uff09\uff0c\u4e2d\u9645\u65ed\u521b + \u65b0\u6613\u76db\u5408\u8ba1\u4f9b\u5e94\u7ea6 60%\u3002<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============================================================\n     Section 3 \u00b7 \u901f\u7387\u6f14\u8fdb\u65f6\u95f4\u8f74\n     ============================================================ -->\n<section id=\"timeline\" class=\"section\">\n  <div class=\"section-header fade-in\">\n    <div class=\"section-num\">SECTION 03 \u00b7 ROADMAP<\/div>\n    <h2 class=\"section-title\">\u901f\u7387\u4ee3\u9645\u6f14\u8fdb\uff1a\u5468\u671f\u538b\u7f29\u81f3 2 \u5e74\u4ee5\u5185<\/h2>\n    <p class=\"section-lead\">100G \u5230 400G \u7528\u4e86 3-5 \u5e74\uff0c800G \u5230 1.6T \u7684\u8fed\u4ee3\u5468\u671f\u5df2\u7f29\u77ed\u81f3 2 \u5e74\u4ee5\u5185\u3002AI \u7b97\u529b\u662f\u6838\u5fc3\u52a0\u901f\u5668\uff0c\u4e2d\u9645\u65ed\u521b&#8221;\u901f\u7387\u9886\u5148\u534a\u6b65&#8221;\u7684\u80fd\u529b\u662f\u5176\u7ef4\u6301\u5168\u7403\u9f99\u5934\u7684\u5173\u952e\u3002<\/p>\n  <\/div>\n\n  <div class=\"chart-card fade-in\">\n    <div class=\"timeline\">\n      <div class=\"timeline-progress\" data-w=\"68%\"><\/div>\n      <div class=\"timeline-grid\">\n        <div class=\"tl-node\">\n          <div class=\"tl-year\">2016-2018<\/div>\n          <div class=\"tl-speed\">100G<\/div>\n          <div class=\"tl-desc\">QSFP28<br>\u4f20\u7edf\u4e91\u6570\u636e\u4e2d\u5fc3<\/div>\n        <\/div>\n        <div class=\"tl-node\">\n          <div class=\"tl-year\">2018-2020<\/div>\n          <div class=\"tl-speed\">200G<\/div>\n          <div class=\"tl-desc\">QSFP56<br>\u8fc7\u6e21\u4ee3<\/div>\n        <\/div>\n        <div class=\"tl-node\">\n          <div class=\"tl-year\">2020-2022<\/div>\n          <div class=\"tl-speed\">400G<\/div>\n          <div class=\"tl-desc\">QSFP-DD\/OSFP<br>\u4e91\u8ba1\u7b97\u4e3b\u6d41<\/div>\n        <\/div>\n        <div class=\"tl-node\">\n          <div class=\"tl-year\">2022-2024<\/div>\n          <div class=\"tl-speed\">800G<\/div>\n          <div class=\"tl-desc\">QSFP-DD800<br>AI \u540e\u7aef\u4e3b\u529b<\/div>\n        <\/div>\n        <div class=\"tl-node current\">\n          <div class=\"tl-year\">2025-2026<\/div>\n          <div class=\"tl-speed\">1.6T<\/div>\n          <div class=\"tl-desc\">OSFP-XD<br>\u5546\u4e1a\u5316\u5143\u5e74<\/div>\n        <\/div>\n        <div class=\"tl-node future\">\n          <div class=\"tl-year\">2027+<\/div>\n          <div class=\"tl-speed\">3.2T<\/div>\n          <div class=\"tl-desc\">CPO \u4e3a\u4e3b<br>\u9884\u7814\u9636\u6bb5<\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n    <div style=\"margin-top:32px;padding:16px;background:var(--bg-soft);border-radius:8px;font-size:13px;color:var(--text-light);line-height:1.7;\">\n      <strong style=\"color:var(--ink);\">\u5c01\u88c5\u6f14\u8fdb\uff1a<\/strong>QSFP-DD \/ OSFP \u4e3b\u5bfc 400G\/800G\uff1bOSFP-XD\uff088 \u901a\u9053\u00d7200G PAM4\uff09\u662f 1.6T \u4e3b\u6d41\u65b9\u6848\uff1bCFP8 \u56e0\u5c3a\u5bf8\u5927\u3001\u7aef\u53e3\u5bc6\u5ea6\u4f4e\u9010\u6b65\u9000\u51fa\u30023.2T \u65f6\u4ee3 CPO\uff08\u5171\u5c01\u88c5\u5149\u5b66\uff09\u5c06\u6210\u4e3a\u4e3b\u6d41\u5f62\u6001\u3002\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============================================================\n     Section 4 \u00b7 \u56db\u5927\u6280\u672f\u8def\u7ebf\u5bf9\u6bd4\n     ============================================================ -->\n<section id=\"tech\" class=\"section\" style=\"background: var(--bg-soft); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);\">\n  <div class=\"section-header fade-in\">\n    <div class=\"section-num\">SECTION 04 \u00b7 TECH ROUTES<\/div>\n    <h2 class=\"section-title\">\u56db\u5927\u6280\u672f\u8def\u7ebf\uff1a\u53ef\u63d2\u62d4 \u00b7 LPO \u00b7 NPO \u00b7 CPO<\/h2>\n    <p class=\"section-lead\">\u5149\u4e92\u8054\u5f62\u6001\u672c\u8eab\u6b63\u5728\u5206\u5316\u3002\u53ef\u63d2\u62d4\u662f\u5f53\u524d\u4e3b\u6d41\uff0cLPO\uff08\u7ebf\u6027\u76f4\u9a71\uff09\u662f\u77ed\u671f\u8fc7\u6e21\uff0cNPO\uff08\u8fd1\u5c01\u88c5\uff09\u662f\u6865\u6881\uff0cCPO\uff08\u5171\u5c01\u88c5\uff09\u662f\u7ec8\u6781\u65b9\u5411\u3002\u8fd9\u56db\u6761\u8def\u7ebf\u5e76\u975e\u96f6\u548c\u535a\u5f08\uff0c\u800c\u662f\u6839\u636e\u573a\u666f\u5404\u5b89\u5176\u4f4d\u3002<\/p>\n  <\/div>\n\n  <div class=\"tech-cards fade-in\">\n    <div class=\"tech-card active\" data-tech=\"pluggable\">\n      <div class=\"icon\">P<\/div>\n      <h4>\u53ef\u63d2\u62d4 Pluggable<\/h4>\n      <div class=\"tagline\">\u5f53\u524d\u4e3b\u6d41 \u00b7 2026 1.6T \u5143\u5e74<\/div>\n      <div class=\"position\">\u72ec\u7acb\u6a21\u5757\u7ecf\u524d\u9762\u677f\u8fde\u63a5\uff0c\u7535\u4fe1\u53f7\u8def\u5f84\u957f\u4f46\u751f\u6001\u6700\u6210\u719f<\/div>\n      <div class=\"tech-stats\">\n        <div class=\"tech-stat\"><span class=\"key\">\u96c6\u6210\u5ea6<\/span><span class=\"val\">\u6700\u4f4e<\/span><\/div>\n        <div class=\"tech-stat\"><span class=\"key\">\u529f\u8017<\/span><span class=\"val\">\u57fa\u51c6\uff08\u9ad8\uff09<\/span><\/div>\n        <div class=\"tech-stat\"><span class=\"key\">\u4e3b\u5bfc\u65b9<\/span><span class=\"val\">\u6a21\u5757\u5382<\/span><\/div>\n        <div class=\"tech-stat\"><span class=\"key\">\u5b9a\u4f4d<\/span><span class=\"val\">\u5f53\u524d\u4e3b\u6d41<\/span><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"tech-card lpo\" data-tech=\"lpo\">\n      <div class=\"icon\">L<\/div>\n      <h4>LPO \u7ebf\u6027\u76f4\u9a71<\/h4>\n      <div class=\"tagline\">\u77ed\u671f\u8fc7\u6e21 \u00b7 2026 \u4ea7\u4e1a\u5316\u5143\u5e74<\/div>\n      <div class=\"position\">\u53bb\u9664 DSP\uff0c\u7531\u4ea4\u6362\u673a SerDes \u76f4\u63a5\u9a71\u52a8\u5149\u5f15\u64ce<\/div>\n      <div class=\"tech-stats\">\n        <div class=\"tech-stat\"><span class=\"key\">\u96c6\u6210\u5ea6<\/span><span class=\"val\">\u4f4e<\/span><\/div>\n        <div class=\"tech-stat\"><span class=\"key\">\u529f\u8017<\/span><span class=\"val\">\u2193 50%<\/span><\/div>\n        <div class=\"tech-stat\"><span class=\"key\">\u4e3b\u5bfc\u65b9<\/span><span class=\"val\">\u6a21\u5757\u5382 + Macom<\/span><\/div>\n        <div class=\"tech-stat\"><span class=\"key\">\u5b9a\u4f4d<\/span><span class=\"val\">\u77ed\u671f\u8fc7\u6e21<\/span><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"tech-card npo\" data-tech=\"npo\">\n      <div class=\"icon\">N<\/div>\n      <h4>NPO \u8fd1\u5c01\u88c5<\/h4>\n      <div class=\"tagline\">\u6865\u6881\u65b9\u6848 \u00b7 \u6a21\u5757\u5382\u9632\u5fa1<\/div>\n      <div class=\"position\">\u5149\u5f15\u64ce\u4e0e ASIC \u540c\u7cfb\u7edf\u677f\u8fd1\u5c01\u88c5\uff0c\u7f29\u77ed\u7535\u4fe1\u53f7\u8def\u5f84<\/div>\n      <div class=\"tech-stats\">\n        <div class=\"tech-stat\"><span class=\"key\">\u96c6\u6210\u5ea6<\/span><span class=\"val\">\u4e2d<\/span><\/div>\n        <div class=\"tech-stat\"><span class=\"key\">\u529f\u8017<\/span><span class=\"val\">\u2193 20-30%<\/span><\/div>\n        <div class=\"tech-stat\"><span class=\"key\">\u4e3b\u5bfc\u65b9<\/span><span class=\"val\">\u6a21\u5757\u5382\/\u7cfb\u7edf\u5382<\/span><\/div>\n        <div class=\"tech-stat\"><span class=\"key\">\u5b9a\u4f4d<\/span><span class=\"val\">\u8fc7\u6e21\u6865\u6881<\/span><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"tech-card cpo\" data-tech=\"cpo\">\n      <div class=\"icon\">C<\/div>\n      <h4>CPO \u5171\u5c01\u88c5<\/h4>\n      <div class=\"tagline\">\u7ec8\u6781\u65b9\u5411 \u00b7 2027-2028 \u89c4\u6a21\u90e8\u7f72<\/div>\n      <div class=\"position\">\u5149\u5f15\u64ce\u4e0e\u4ea4\u6362 ASIC \u540c\u5c01\u88c5\uff0c\u7535\u4fe1\u53f7\u8def\u5f84\u7f29\u81f3\u6beb\u7c73\u7ea7<\/div>\n      <div class=\"tech-stats\">\n        <div class=\"tech-stat\"><span class=\"key\">\u96c6\u6210\u5ea6<\/span><span class=\"val\">\u6700\u9ad8<\/span><\/div>\n        <div class=\"tech-stat\"><span class=\"key\">\u529f\u8017<\/span><span class=\"val\">\u2193 50%+<\/span><\/div>\n        <div class=\"tech-stat\"><span class=\"key\">\u4e3b\u5bfc\u65b9<\/span><span class=\"val\">\u535a\u901a\/\u82f1\u4f1f\u8fbe<\/span><\/div>\n        <div class=\"tech-stat\"><span class=\"key\">\u5b9a\u4f4d<\/span><span class=\"val\">\u7ec8\u6781\u6f14\u8fdb<\/span><\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"chart-card fade-in\" style=\"overflow-x:auto;\">\n    <div class=\"chart-title\">\u8be6\u7ec6\u5bf9\u6bd4\u77e9\u9635<\/div>\n    <div class=\"chart-sub\">\u70b9\u51fb\u4e0a\u65b9\u5361\u7247\u5207\u6362\u9ad8\u4eae \u00b7 \u6570\u636e\u6765\u6e90\uff1aLightCounting\u3001ICCSZ\u3001\u8d22\u5bcc\u53f7\u4e1c\u65b9\u8d22\u5bcc<\/div>\n    <table class=\"compare-table\" style=\"margin-top:16px;min-width:720px;\">\n      <thead>\n        <tr>\n          <th>\u7ef4\u5ea6<\/th>\n          <th>\u53ef\u63d2\u62d4<\/th>\n          <th>LPO<\/th>\n          <th>NPO<\/th>\n          <th>CPO<\/th>\n        <\/tr>\n      <\/thead>\n      <tbody>\n        <tr><td>\u96c6\u6210\u5ea6<\/td><td>\u6700\u4f4e<\/td><td>\u4f4e<\/td><td>\u4e2d<\/td><td>\u6700\u9ad8<\/td><\/tr>\n        <tr><td>\u529f\u8017<\/td><td>\u57fa\u51c6<\/td><td>\u964d 50%<\/td><td>\u964d 20-30%<\/td><td>\u964d 50%+<\/td><\/tr>\n        <tr><td>\u5ef6\u8fdf<\/td><td>\u57fa\u51c6<\/td><td>\u4f4e<\/td><td>\u4e2d<\/td><td>\u6700\u4f4e<\/td><\/tr>\n        <tr><td>\u6210\u672c<\/td><td>\u57fa\u51c6<\/td><td>\u964d 8%<\/td><td>\u4e2d<\/td><td>\u957f\u671f\u964d<\/td><\/tr>\n        <tr><td>\u4f20\u8f93\u8ddd\u79bb<\/td><td>\u5168\u8ddd\u79bb<\/td><td>\u77ed\u8ddd<\/td><td>\u77ed-\u4e2d\u8ddd<\/td><td>\u77ed-\u4e2d\u8ddd<\/td><\/tr>\n        <tr><td>\u6807\u51c6\u5316<\/td><td>\u6210\u719f<\/td><td>\u63a8\u8fdb\u4e2d<\/td><td>\u63a8\u8fdb\u4e2d<\/td><td>\u672a\u6210\u719f<\/td><\/tr>\n        <tr><td>\u91cf\u4ea7\u8282\u70b9<\/td><td>2026 \u5143\u5e74<\/td><td>2026 \u5143\u5e74<\/td><td>2026 \u5143\u5e74<\/td><td>2027-2028<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n<\/section>\n\n<!-- ============================================================\n     Section 5 \u00b7 \u7845\u5149\u6e17\u900f + CPO \u8def\u7ebf\n     ============================================================ -->\n<section id=\"sip\" class=\"section\">\n  <div class=\"section-header fade-in\">\n    <div class=\"section-num\">SECTION 05 \u00b7 SIP &#038; CPO<\/div>\n    <h2 class=\"section-title\">\u7845\u5149\u6e17\u900f\u8fc7\u534a \u00b7 CPO \u5927\u89c4\u6a21\u5546\u7528\u4e34\u8fd1<\/h2>\n    <p class=\"section-lead\">LightCounting \u5c06 2026 \u5e74\u5b9a\u4e49\u4e3a&#8221;\u7845\u5149\u4e4b\u5e74&#8221;\u2014\u2014800G\/1.6T \u6a21\u5757\u7845\u5149\u6e17\u900f\u7387\u7a81\u7834 50%-70%\u3002CPO \u65b9\u9762\uff0c\u53f0\u79ef\u7535 COUPE+CoWoS \u6574\u5408\u65b9\u6848 2026 \u5e74\u843d\u5730\uff0cLightCounting \u5c06 2030 \u5e74 CPO \u51fa\u8d27\u9884\u6d4b\u4e0a\u8c03 200%\u3002<\/p>\n  <\/div>\n\n  <div class=\"grid-2 fade-in\">\n    <div class=\"chart-card\">\n      <div class=\"chart-title\">\u7845\u5149\u6e17\u900f\u7387\u6f14\u8fdb\uff08800G\/1.6T \u6a21\u5757\uff09<\/div>\n      <div class=\"chart-sub\">2026 \u5e74\u9996\u6b21\u7a81\u7834 50% \u00b7 \u6570\u636e\u6765\u6e90\uff1aLightCounting\u3001C-LIGHT<\/div>\n      <div style=\"padding:24px 0;\">\n        <div class=\"permeation-row\">\n          <div class=\"year\">2024<\/div>\n          <div class=\"permeation-track\"><div class=\"permeation-fill\" data-w=\"35%\">35%<\/div><\/div>\n          <div class=\"pct\">35%<\/div>\n        <\/div>\n        <div class=\"permeation-row\">\n          <div class=\"year\">2025<\/div>\n          <div class=\"permeation-track\"><div class=\"permeation-fill\" data-w=\"45%\">45%<\/div><\/div>\n          <div class=\"pct\">45%<\/div>\n        <\/div>\n        <div class=\"permeation-row\">\n          <div class=\"year\">2026<\/div>\n          <div class=\"permeation-track\"><div class=\"permeation-fill over50\" data-w=\"60%\">60%\uff08\u9996\u8d85 50%\uff09<\/div><\/div>\n          <div class=\"pct\" style=\"color:var(--accent-dark);\">60%<\/div>\n        <\/div>\n        <div class=\"permeation-row\">\n          <div class=\"year\">2027<\/div>\n          <div class=\"permeation-track\"><div class=\"permeation-fill over50\" data-w=\"70%\">70%<\/div><\/div>\n          <div class=\"pct\" style=\"color:var(--accent-dark);\">70%<\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"chart-card\">\n      <div class=\"chart-title\">CPO \u5e02\u573a\u89c4\u6a21\u9884\u6d4b\uff08\u4ebf\u7f8e\u5143\uff09<\/div>\n      <div class=\"chart-sub\">Yole \u9884\u6d4b CAGR 137% \u00b7 \u6570\u636e\u6765\u6e90\uff1aYole\u3001LightCounting<\/div>\n      <div class=\"bar-chart\" style=\"height:240px;margin-top:24px;\">\n        <div class=\"bar-item\"><div class=\"bar\" data-h=\"3\" style=\"background:linear-gradient(180deg,#94A3B8,#64748B);\"><span class=\"bar-value\">0.46<\/span><\/div><div class=\"bar-year\">2024<\/div><\/div>\n        <div class=\"bar-item\"><div class=\"bar\" data-h=\"6\" style=\"background:linear-gradient(180deg,#94A3B8,#64748B);\"><span class=\"bar-value\">0.91<\/span><\/div><div class=\"bar-year\">2025<\/div><\/div>\n        <div class=\"bar-item\"><div class=\"bar future\" data-h=\"20\"><span class=\"bar-value\">3<\/span><\/div><div class=\"bar-year\">2027<\/div><\/div>\n        <div class=\"bar-item\"><div class=\"bar future\" data-h=\"50\"><span class=\"bar-value\">5<\/span><\/div><div class=\"bar-year\">2028<\/div><\/div>\n        <div class=\"bar-item\"><div class=\"bar future\" data-h=\"80\"><span class=\"bar-value\">8.1<\/span><\/div><div class=\"bar-year\">2030<\/div><\/div>\n      <\/div>\n      <div style=\"margin-top:24px;padding:14px;background:var(--bg-soft);border-radius:8px;font-size:12px;color:var(--text-light);line-height:1.7;\">\n        <strong style=\"color:var(--ink);\">\u5173\u952e\u8282\u70b9\uff1a<\/strong>\u535a\u901a\u5df2\u51fa\u8d27\u6570\u4e07\u53f0 51.2T CPO \u4ea4\u6362\u673a\uff1b\u82f1\u4f1f\u8fbe Spectrum-X \/ Quantum-X \u8ba1\u5212 2026 H1 \u91cf\u4ea7\uff1b\u53f0\u79ef\u7535 COUPE 2026 \u4e0e CoWoS \u6574\u5408\u3002LightCounting \u5c06 2030 \u5e74 CPO \u51fa\u8d27\u4ece 2,500 \u4e07\u53ea<strong style=\"color:var(--accent-dark);\">\u4e0a\u8c03\u81f3 7,500 \u4e07\u53ea\uff08+200%\uff09<\/strong>\u3002\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============================================================\n     Section 6 \u00b7 \u5168\u7403\u7ade\u4e89\u683c\u5c40\n     ============================================================ -->\n<section id=\"rank\" class=\"section\" style=\"background: var(--bg-soft); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);\">\n  <div class=\"section-header fade-in\">\n    <div class=\"section-num\">SECTION 06 \u00b7 COMPETITION<\/div>\n    <h2 class=\"section-title\">\u5168\u7403\u7ade\u4e89\u683c\u5c40\uff1a\u4e2d\u56fd\u5382\u5546\u5168\u9762\u4e3b\u5bfc<\/h2>\n    <p class=\"section-lead\">LightCounting 2025 \u5e74\u699c\u5355\u4e2d\uff0c\u4e2d\u56fd\u5382\u5546\u5360\u636e\u5168\u7403 TOP10 \u4e2d 7 \u5e2d\uff0c\u524d\u4e24\u540d\u9996\u6b21\u7531\u4e2d\u56fd\u5382\u5546\u5305\u63fd\u3002\u4e2d\u9645\u65ed\u521b\u4ee5 33.12 \u4ebf\u7f8e\u5143\uff08+114%\uff09\u7a33\u5c45\u7b2c\u4e00\uff0c\u65b0\u6613\u76db\u4ee5\u7ea6 35 \u4ebf\u7f8e\u5143\uff08+189%\uff09\u53cd\u8d85 Coherent \u5347\u81f3\u7b2c\u4e8c\u3002<\/p>\n  <\/div>\n\n  <div class=\"chart-card fade-in\">\n    <div class=\"chart-title\">2025 \u5e74\u5168\u7403\u5149\u6a21\u5757\u5382\u5546 TOP10<\/div>\n    <div class=\"chart-sub\">\u7eff\u8272\u9ad8\u4eae\u4e3a\u4e2d\u56fd\u5382\u5546 \u00b7 \u6570\u636e\u6765\u6e90\uff1aLightCounting Optical Vendor Landscape 2025<\/div>\n    <div class=\"rank-list\" style=\"margin-top:24px;\">\n      <div class=\"rank-row cn top1\">\n        <div class=\"rank-num\">1<\/div>\n        <div class=\"rank-info\"><div class=\"name\">\u4e2d\u9645\u65ed\u521b InnoLight<\/div><div class=\"meta\">800G \u4efd\u989d ~40% \u00b7 1.6T \u7845\u5149\u7387\u5148\u91cf\u4ea7<\/div><\/div>\n        <div class=\"rank-flag cn\">\ud83c\udde8\ud83c\uddf3 \u4e2d\u56fd<\/div>\n        <div class=\"rank-rev\">$53\u4ebf<span class=\"delta\">\u2191 +60%<\/span><\/div>\n      <\/div>\n      <div class=\"rank-row cn top2\">\n        <div class=\"rank-num\">2<\/div>\n        <div class=\"rank-info\"><div class=\"name\">\u65b0\u6613\u76db Eoptolink<\/div><div class=\"meta\">800G \u4efd\u989d ~22% \u00b7 LPO \u8def\u7ebf\u62a2\u8dd1<\/div><\/div>\n        <div class=\"rank-flag cn\">\ud83c\udde8\ud83c\uddf3 \u4e2d\u56fd<\/div>\n        <div class=\"rank-rev\">$35\u4ebf<span class=\"delta\">\u2191 +189%<\/span><\/div>\n      <\/div>\n      <div class=\"rank-row\">\n        <div class=\"rank-num\">3<\/div>\n        <div class=\"rank-info\"><div class=\"name\">Coherent\uff08\u76f8\u5e72\uff09<\/div><div class=\"meta\">\u539f Finisar \u00b7 \u82f1\u4f1f\u8fbe\u6ce8\u8d44 $20 \u4ebf<\/div><\/div>\n        <div class=\"rank-flag us\">\ud83c\uddfa\ud83c\uddf8 \u7f8e\u56fd<\/div>\n        <div class=\"rank-rev\">$30\u4ebf<span class=\"delta\" style=\"color:var(--muted);\">\u2192 \u6301\u5e73<\/span><\/div>\n      <\/div>\n      <div class=\"rank-row cn\">\n        <div class=\"rank-num\">4<\/div>\n        <div class=\"rank-info\"><div class=\"name\">\u5149\u8fc5\u79d1\u6280 Accelink<\/div><div class=\"meta\">\u56fd\u5185\u5149\u5668\u4ef6\/\u6a21\u5757\u9f99\u5934 \u00b7 \u5168\u4ea7\u4e1a\u94fe<\/div><\/div>\n        <div class=\"rank-flag cn\">\ud83c\udde8\ud83c\uddf3 \u4e2d\u56fd<\/div>\n        <div class=\"rank-rev\">$8\u4ebf<\/div>\n      <\/div>\n      <div class=\"rank-row\">\n        <div class=\"rank-num\">5<\/div>\n        <div class=\"rank-info\"><div class=\"name\">Cisco \/ Acacia<\/div><div class=\"meta\">\u7845\u5149\u4e0e\u76f8\u5e72\u5149\u901a\u4fe1<\/div><\/div>\n        <div class=\"rank-flag us\">\ud83c\uddfa\ud83c\uddf8 \u7f8e\u56fd<\/div>\n        <div class=\"rank-rev\">$7\u4ebf<\/div>\n      <\/div>\n      <div class=\"rank-row cn\">\n        <div class=\"rank-num\">6<\/div>\n        <div class=\"rank-info\"><div class=\"name\">\u7eb3\u771f\u79d1\u6280\uff08\u539f\u6d77\u4fe1\u5bbd\u5e26\uff09<\/div><div class=\"meta\">Hisense Broadband<\/div><\/div>\n        <div class=\"rank-flag cn\">\ud83c\udde8\ud83c\uddf3 \u4e2d\u56fd<\/div>\n        <div class=\"rank-rev\">$6\u4ebf<\/div>\n      <\/div>\n      <div class=\"rank-row cn\">\n        <div class=\"rank-num\">7<\/div>\n        <div class=\"rank-info\"><div class=\"name\">\u534e\u5de5\u6b63\u6e90\uff08\u534e\u5de5\u79d1\u6280\uff09<\/div><div class=\"meta\">3.2T \u5355\u6ce2 400G \u5149\u5f15\u64ce\u7814\u53d1<\/div><\/div>\n        <div class=\"rank-flag cn\">\ud83c\udde8\ud83c\uddf3 \u4e2d\u56fd<\/div>\n        <div class=\"rank-rev\">$5\u4ebf<\/div>\n      <\/div>\n      <div class=\"rank-row cn\">\n        <div class=\"rank-num\">8<\/div>\n        <div class=\"rank-info\"><div class=\"name\">\u7d22\u5c14\u601d\u5149\u7535 Source Photonics<\/div><div class=\"meta\">\u5149\u6a21\u5757\u8bbe\u8ba1\u4e0e\u5236\u9020<\/div><\/div>\n        <div class=\"rank-flag cn\">\ud83c\udde8\ud83c\uddf3 \u4e2d\u56fd<\/div>\n        <div class=\"rank-rev\">$4\u4ebf<\/div>\n      <\/div>\n      <div class=\"rank-row\">\n        <div class=\"rank-num\">9<\/div>\n        <div class=\"rank-info\"><div class=\"name\">Lumentum<\/div><div class=\"meta\">\u5149\u82af\u7247\u5de8\u5934 \u00b7 \u82f1\u4f1f\u8fbe\u6ce8\u8d44 $20 \u4ebf<\/div><\/div>\n        <div class=\"rank-flag us\">\ud83c\uddfa\ud83c\uddf8 \u7f8e\u56fd<\/div>\n        <div class=\"rank-rev\">$4\u4ebf<\/div>\n      <\/div>\n      <div class=\"rank-row cn\">\n        <div class=\"rank-num\">10<\/div>\n        <div class=\"rank-info\"><div class=\"name\">\u5251\u6865\u79d1\u6280 Cambridge Tech<\/div><div class=\"meta\">800G LPO \u65b9\u6848\u5e03\u5c40<\/div><\/div>\n        <div class=\"rank-flag cn\">\ud83c\udde8\ud83c\uddf3 \u4e2d\u56fd<\/div>\n        <div class=\"rank-rev\">$3\u4ebf<\/div>\n      <\/div>\n    <\/div>\n    <div style=\"margin-top:24px;padding:16px;background:var(--cn-tint);border-radius:8px;font-size:13px;color:var(--primary-dark);line-height:1.7;\">\n      <strong>\ud83d\udccd \u5173\u952e\u6d1e\u5bdf\uff1a<\/strong>800G \u5168\u7403\u524d\u4e09\uff08\u4e2d\u9645\u65ed\u521b ~40%\u3001\u65b0\u6613\u76db ~22%\uff09\u4e2d\u4e2d\u56fd\u5382\u5546\u5360\u4e24\u5e2d\u3002\u4e2d\u56fd\u5382\u5546\u5408\u8ba1\u5360\u5168\u7403\u5e02\u573a\u7ea6 <strong>40%-50%<\/strong> \u4efd\u989d\uff0c\u5df2\u6df1\u5ea6\u5d4c\u5165\u8c37\u6b4c\u3001\u82f1\u4f1f\u8fbe\u3001AWS\u3001Meta \u4f9b\u5e94\u94fe\u3002\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============================================================\n     Section 7 \u00b7 \"\u6613\u4e2d\u5929\"\u4e09\u5de8\u5934\n     ============================================================ -->\n<section id=\"giants\" class=\"section\">\n  <div class=\"section-header fade-in\">\n    <div class=\"section-num\">SECTION 07 \u00b7 TOP 3 GIANTS<\/div>\n    <h2 class=\"section-title\">&#8220;\u6613\u4e2d\u5929&#8221;\u4e09\u5de8\u5934\uff1a\u5dee\u5f02\u5316\u4e92\u8865\u683c\u5c40<\/h2>\n    <p class=\"section-lead\">\u4e2d\u9645\u65ed\u521b\uff08\u901f\u7387\u9886\u5148\u3001\u5ba2\u6237\u5168\u9762\uff09\u3001\u65b0\u6613\u76db\uff08\u9ad8\u589e\u957f\u3001LPO \u62a2\u8dd1\uff09\u3001\u5929\u5b5a\u901a\u4fe1\uff08\u4e0a\u6e38\u5356\u6c34\u4eba\u3001CPO \u53d7\u76ca\uff09\u2014\u2014\u4e09\u5bb6\u5728\u4ea7\u54c1\u5b9a\u4f4d\u3001\u5ba2\u6237\u7ed3\u6784\u3001\u76c8\u5229\u6a21\u5f0f\u4e0a\u9ad8\u5ea6\u4e92\u8865\uff0c\u6784\u6210\u4e2d\u56fd\u5149\u6a21\u5757\u884c\u4e1a\u7684\u6838\u5fc3\u8d44\u4ea7\u3002<\/p>\n  <\/div>\n\n  <div class=\"grid-3 fade-in\">\n    <div class=\"giant-card\">\n      <div class=\"giant-rank\">\ud83e\udd47 \u5168\u7403 #1<\/div>\n      <div class=\"giant-name\">\u4e2d\u9645\u65ed\u521b<\/div>\n      <div class=\"giant-code\">300308 \u00b7 InnoLight<\/div>\n      <div class=\"giant-metrics\">\n        <div class=\"giant-metric\"><div class=\"lbl\">2025 \u8425\u6536<\/div><div class=\"val\">382\u4ebf<span class=\"pct\">+60%<\/span><\/div><\/div>\n        <div class=\"giant-metric\"><div class=\"lbl\">\u5f52\u6bcd\u51c0\u5229<\/div><div class=\"val\">108\u4ebf<span class=\"pct\">+109%<\/span><\/div><\/div>\n        <div class=\"giant-metric\"><div class=\"lbl\">\u7efc\u5408\u6bdb\u5229\u7387<\/div><div class=\"val\">42.6%<\/div><\/div>\n        <div class=\"giant-metric\"><div class=\"lbl\">\u5883\u5916\u8425\u6536\u5360\u6bd4<\/div><div class=\"val\">90.6%<\/div><\/div>\n      <\/div>\n      <div class=\"giant-section-title\">\u6838\u5fc3\u6807\u7b7e<\/div>\n      <div><span class=\"giant-tag\">800G \u4efd\u989d 40%<\/span><span class=\"giant-tag\">1.6T \u7387\u5148\u91cf\u4ea7<\/span><span class=\"giant-tag\">\u5ba2\u6237\u6700\u5168\u9762<\/span><span class=\"giant-tag\">\u7845\u5149\u9886\u5148<\/span><\/div>\n      <div class=\"giant-section-title\">\u5dee\u5f02\u5316\u4f18\u52bf<\/div>\n      <div class=\"giant-desc\">\u901f\u7387\u9886\u5148\u534a\u6b65\u2014\u20142022 \u5e74 Q3 \u7387\u5148\u63a8\u51fa 800G \u7845\u5149\uff0c2025 \u5e74\u7387\u5148\u91cf\u4ea7 1.6T \u7845\u5149\u3002\u5ba2\u6237\u8986\u76d6\u8c37\u6b4c\u3001\u82f1\u4f1f\u8fbe\u3001AWS\u3001\u5fae\u8f6f\u3001Meta \u4e94\u5927\u5317\u7f8e\u4e91\u5382 + \u56fd\u5185\u963f\u91cc\/\u534e\u4e3a\/\u817e\u8baf\u3002\u751f\u4ea7\u4eba\u5458\u4eba\u5747\u521b\u6536 473 \u4e07\u5143\uff0c\u89c4\u6a21\u6548\u5e94\u663e\u8457\u3002<\/div>\n    <\/div>\n\n    <div class=\"giant-card eoptolink\">\n      <div class=\"giant-rank\" style=\"background:#FEF3C7;color:var(--accent-dark);\">\ud83e\udd48 \u5168\u7403 #2<\/div>\n      <div class=\"giant-name\">\u65b0\u6613\u76db<\/div>\n      <div class=\"giant-code\">300502 \u00b7 Eoptolink<\/div>\n      <div class=\"giant-metrics\">\n        <div class=\"giant-metric\"><div class=\"lbl\">2025 \u8425\u6536<\/div><div class=\"val\">248\u4ebf<span class=\"pct\">+187%<\/span><\/div><\/div>\n        <div class=\"giant-metric\"><div class=\"lbl\">\u5f52\u6bcd\u51c0\u5229<\/div><div class=\"val\">95\u4ebf<span class=\"pct\">+236%<\/span><\/div><\/div>\n        <div class=\"giant-metric\"><div class=\"lbl\">\u7efc\u5408\u6bdb\u5229\u7387<\/div><div class=\"val\">47.8%<\/div><\/div>\n        <div class=\"giant-metric\"><div class=\"lbl\">\u6d77\u5916\u8425\u6536\u5360\u6bd4<\/div><div class=\"val\">~95%<\/div><\/div>\n      <\/div>\n      <div class=\"giant-section-title\">\u6838\u5fc3\u6807\u7b7e<\/div>\n      <div><span class=\"giant-tag\">\u589e\u901f\u6700\u5feb<\/span><span class=\"giant-tag\">LPO \u62a2\u8dd1<\/span><span class=\"giant-tag\">\u6bdb\u5229\u7387\u6700\u9ad8<\/span><span class=\"giant-tag\">\u805a\u7126\u5317\u7f8e\u4e91\u5382<\/span><\/div>\n      <div class=\"giant-section-title\">\u5dee\u5f02\u5316\u4f18\u52bf<\/div>\n      <div class=\"giant-desc\">2025 \u5e74\u589e\u957f\u6700\u8fc5\u731b\u3002800G LPO \u5df2\u83b7 Meta\u3001\u4e9a\u9a6c\u900a\u8ba2\u5355\uff0c2026 \u5e74 LPO \u6536\u5165\u5360\u6bd4\u9884\u8ba1\u8fbe 15%\u3002\u6838\u5fc3\u5ba2\u6237\u4e3a\u4e9a\u9a6c\u900a\u4e0e Meta\uff0c\u8bae\u4ef7\u80fd\u529b\u5f3a\u3002\u98ce\u9669\u70b9\uff1a\u5ba2\u6237\u96c6\u4e2d\u5ea6\u8f83\u9ad8\uff0c\u4e1a\u7ee9\u5f39\u6027\u5927\u3002<\/div>\n    <\/div>\n\n    <div class=\"giant-card tianfu\">\n      <div class=\"giant-rank\" style=\"background:#EDE9FE;color:#7C3AED;\">\ud83d\udc8e \u4e0a\u6e38\u9f99\u5934<\/div>\n      <div class=\"giant-name\">\u5929\u5b5a\u901a\u4fe1<\/div>\n      <div class=\"giant-code\">300394 \u00b7 TF Communication<\/div>\n      <div class=\"giant-metrics\">\n        <div class=\"giant-metric\"><div class=\"lbl\">2025 \u8425\u6536<\/div><div class=\"val\">51.6\u4ebf<span class=\"pct\">+59%<\/span><\/div><\/div>\n        <div class=\"giant-metric\"><div class=\"lbl\">\u5f52\u6bcd\u51c0\u5229<\/div><div class=\"val\">20.2\u4ebf<span class=\"pct\">+50%<\/span><\/div><\/div>\n        <div class=\"giant-metric\"><div class=\"lbl\">\u7efc\u5408\u6bdb\u5229\u7387<\/div><div class=\"val\">53.6%<\/div><\/div>\n        <div class=\"giant-metric\"><div class=\"lbl\">\u5149\u5f15\u64ce\u4efd\u989d<\/div><div class=\"val\">60%+<\/div><\/div>\n      <\/div>\n      <div class=\"giant-section-title\">\u6838\u5fc3\u6807\u7b7e<\/div>\n      <div><span class=\"giant-tag\">\u5149\u5f15\u64ce\u5168\u7403\u9f99\u5934<\/span><span class=\"giant-tag\">\u7ed1\u5b9a\u82f1\u4f1f\u8fbe<\/span><span class=\"giant-tag\">CPO \u6700\u53d7\u76ca<\/span><span class=\"giant-tag\">\u51c0\u5229\u7387\u9886\u5148<\/span><\/div>\n      <div class=\"giant-section-title\">\u5dee\u5f02\u5316\u4f18\u52bf<\/div>\n      <div class=\"giant-desc\">\u4e0a\u6e38&#8221;\u5356\u6c34\u4eba&#8221;\u5b9a\u4f4d\uff0c\u5149\u5f15\u64ce\u5e02\u5360\u7387 60%+\uff0c\u662f\u82f1\u4f1f\u8fbe\/Mellanox \u7845\u5149\u552f\u4e00\u4f9b\u5e94\u5546\u30021.6T \u5149\u5f15\u64ce\u5df2\u91cf\u4ea7\u3002CPO \u65f6\u4ee3\u5149\u5f15\u64ce\u4ef7\u503c\u91cf\u63d0\u5347 30%-40%\uff0c\u7cbe\u5bc6\u8026\u5408\u5de5\u827a\u5728 1.6T \u9886\u57df\u5c1a\u65e0\u66ff\u4ee3\u8005\uff0c\u662f CPO \u6d6a\u6f6e\u4e2d\u6700\u786e\u5b9a\u53d7\u76ca\u7684\u6807\u7684\u3002<\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============================================================\n     Section 8 \u00b7 \u4ea7\u4e1a\u94fe\u5168\u666f\n     ============================================================ -->\n<section id=\"chain\" class=\"section\" style=\"background: var(--bg-soft); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);\">\n  <div class=\"section-header fade-in\">\n    <div class=\"section-num\">SECTION 08 \u00b7 SUPPLY CHAIN<\/div>\n    <h2 class=\"section-title\">\u4ea7\u4e1a\u94fe\u5168\u666f\uff1a\u4ece\u5149\u82af\u7247\u5230 AI \u96c6\u7fa4<\/h2>\n    <p class=\"section-lead\">AI \u6d6a\u6f6e\u4e0b\uff0c\u4ea7\u4e1a\u94fe\u4ef7\u503c\u6b63\u5728\u5411\u4e0a\u6e38\u5149\u82af\u7247\/\u7535\u82af\u7247\u4e0e\u4e0b\u6e38\u4e91\u5382\u5546\u4e24\u7aef\u96c6\u4e2d\u3002\u4e2d\u6e38\u6a21\u5757\u5382\u5546\u867d\u6536\u5165\u89c4\u6a21\u6700\u5927\uff0c\u4f46\u9762\u4e34\u6301\u7eed ASP \u4e0b\u884c\u538b\u529b\uff0c\u5fc5\u987b\u901a\u8fc7\u4ea7\u54c1\u8fed\u4ee3\u7ef4\u6301\u76c8\u5229\u3002<\/p>\n  <\/div>\n\n  <div class=\"chain-flow fade-in\">\n    <div class=\"chain-stage\">\n      <h4>UPSTREAM \u00b7 \u4e0a\u6e38<\/h4>\n      <div class=\"title\">\u82af\u7247\u4e0e\u5668\u4ef6<\/div>\n      <div class=\"share\">~50%<span class=\"lbl\">\u4ef7\u503c\u5360\u6bd4<\/span><\/div>\n      <div style=\"font-size:12px;color:var(--muted);margin-bottom:12px;\">\u9ad8\u58c1\u5792 \u00b7 \u6d77\u5916\u4e3b\u5bfc<\/div>\n      <div class=\"chain-vendors\">\n        <div class=\"chain-vendor\">\u5149\u82af\u7247\uff1a\u4e09\u83f1\u3001Lumentum\u3001Coherent<\/div>\n        <div class=\"chain-vendor cn\">\u6e90\u6770\u79d1\u6280 \u00b7 \u957f\u5149\u534e\u82af<\/div>\n        <div class=\"chain-vendor\">DSP\uff1a\u535a\u901a\u3001Marvell<\/div>\n        <div class=\"chain-vendor cn\">\u4ed5\u4f73\u5149\u5b50\uff08\u65e0\u6e90\uff09<\/div>\n        <div class=\"chain-vendor cn\">\u5929\u5b5a\u901a\u4fe1\uff08\u65e0\u6e90\uff09<\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"chain-arrow\">\u25b6<\/div>\n\n    <div class=\"chain-stage\">\n      <h4>MIDSTREAM \u00b7 \u4e2d\u6e38<\/h4>\n      <div class=\"title\">\u6a21\u5757\u8bbe\u8ba1\u4e0e\u5236\u9020<\/div>\n      <div class=\"share\">\u9f99\u5934\u96c6\u4e2d<span class=\"lbl\">\u4e2d\u56fd\u4e3b\u5bfc 7\/10<\/span><\/div>\n      <div style=\"font-size:12px;color:var(--muted);margin-bottom:12px;\">\u89c4\u6a21\u6548\u5e94 \u00b7 ASP \u627f\u538b<\/div>\n      <div class=\"chain-vendors\">\n        <div class=\"chain-vendor cn\">\u4e2d\u9645\u65ed\u521b\uff08#1\uff09<\/div>\n        <div class=\"chain-vendor cn\">\u65b0\u6613\u76db\uff08#2\uff09<\/div>\n        <div class=\"chain-vendor\">Coherent\uff08#3\uff09<\/div>\n        <div class=\"chain-vendor cn\">\u5149\u8fc5\u79d1\u6280 \u00b7 \u534e\u5de5\u6b63\u6e90<\/div>\n        <div class=\"chain-vendor\">Fabrinet\uff08\u4ee3\u5de5\uff09<\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"chain-arrow\">\u25b6<\/div>\n\n    <div class=\"chain-stage\">\n      <h4>DOWNSTREAM \u00b7 \u4e0b\u6e38<\/h4>\n      <div class=\"title\">\u6570\u636e\u4e2d\u5fc3\u4e0e\u7535\u4fe1<\/div>\n      <div class=\"share\">$7600\u4ebf<span class=\"lbl\">2026 \u4e91\u5382 Capex<\/span><\/div>\n      <div style=\"font-size:12px;color:var(--muted);margin-bottom:12px;\">AI \u9a71\u52a8 \u00b7 75% \u4e0e AI \u76f8\u5173<\/div>\n      <div class=\"chain-vendors\">\n        <div class=\"chain-vendor\">AWS \u00b7 Google \u00b7 Meta \u00b7 Microsoft<\/div>\n        <div class=\"chain-vendor\">NVIDIA\uff08GB200\/GB300\uff09<\/div>\n        <div class=\"chain-vendor cn\">\u963f\u91cc \u00b7 \u817e\u8baf \u00b7 \u5b57\u8282<\/div>\n        <div class=\"chain-vendor cn\">\u4e2d\u56fd\u79fb\u52a8\/\u7535\u4fe1\/\u8054\u901a<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"grid-3 fade-in\" style=\"margin-top:32px;\">\n    <div class=\"chart-card\">\n      <div class=\"chart-title\">\ud83c\uddfa\ud83c\uddf8 \u5317\u7f8e\u56db\u5927\u4e91\u5382 2026 Capex<\/div>\n      <div style=\"font-size:32px;font-weight:800;color:var(--primary);margin:12px 0;\">$7600<span style=\"font-size:14px;color:var(--muted);\">\u4ebf<\/span><\/div>\n      <div style=\"font-size:12px;color:var(--text-light);line-height:1.7;\">AWS $2000\u4ebf\u3001Microsoft $1900\u4ebf\u3001Google $1900\u4ebf\u3001Meta $1450\u4ebf\u3002\u540c\u6bd4 +36%\uff0c75% \u4e0e AI \u76f8\u5173\u3002<\/div>\n    <\/div>\n    <div class=\"chart-card\">\n      <div class=\"chart-title\">\ud83c\udde8\ud83c\uddf3 \u56fd\u5185 BAT + \u5b57\u8282<\/div>\n      <div style=\"font-size:32px;font-weight:800;color:var(--accent-dark);margin:12px 0;\">\u00a51600<span style=\"font-size:14px;color:var(--muted);\">\u4ebf<\/span><\/div>\n      <div style=\"font-size:12px;color:var(--text-light);line-height:1.7;\">\u5b57\u8282\u8df3\u52a8 2026 \u89c4\u5212\u7ea6 1600 \u4ebf\u5143\uff0c\u963f\u91cc\u4e09\u5e74\u89c4\u5212\u7ea6 4800 \u4ebf\u5143\u3002\u963f\u91cc\u5149\u6a21\u5757\u62db\u6807\u534a\u5e74 500 \u4e07\u53ea\u3002<\/div>\n    <\/div>\n    <div class=\"chart-card\">\n      <div class=\"chart-title\">\u26a1 \u5355 GPU \u5149\u6a21\u5757\u9700\u6c42<\/div>\n      <div style=\"font-size:32px;font-weight:800;color:#7C3AED;margin:12px 0;\">\u00d74<span style=\"font-size:14px;color:var(--muted);\">\u500d\u589e<\/span><\/div>\n      <div style=\"font-size:12px;color:var(--text-light);line-height:1.7;\">H100 (1:2.5) \u2192 GB200 NVL72 (1:9)\u3002GB200 \u5355\u53f0\u670d\u52a1\u5668\u9700 162 \u4e2a 1.6T \u5149\u6a21\u5757\u3002<\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============================================================\n     Section 9 \u00b7 \u8d8b\u52bf\u5c55\u671b + \u4e3b\u7ebf\u63a8\u6f14\n     ============================================================ -->\n<section id=\"outlook\" class=\"section\">\n  <div class=\"section-header fade-in\">\n    <div class=\"section-num\">SECTION 09 \u00b7 OUTLOOK<\/div>\n    <h2 class=\"section-title\">2026-2028 \u8d8b\u52bf\u5c55\u671b\uff1a\u4e09\u5927\u4e3b\u7ebf<\/h2>\n    <p class=\"section-lead\">1.6T \u5151\u73b0\u8282\u594f\u3001CPO \u89c4\u6a21\u5316\u8282\u70b9\u3001\u56fd\u4ea7\u66ff\u4ee3\u6df1\u5316\u2014\u2014\u672a\u6765\u4e09\u5e74\u5149\u6a21\u5757\u884c\u4e1a\u7684\u683c\u5c40\u6f14\u53d8\u53ef\u5f52\u7eb3\u4e3a\u4e09\u6761\u4e3b\u7ebf\u3002<\/p>\n  <\/div>\n\n  <div class=\"cpo-grid fade-in\" style=\"margin-bottom:32px;\">\n    <div class=\"outlook-card\">\n      <h4>2026 \u5173\u952e\u53d8\u91cf<\/h4>\n      <div class=\"title\">1.6T \u5546\u4e1a\u5316\u5143\u5e74<\/div>\n      <div class=\"num\">860<span class=\"unit\">\u4e07\u53ea+<\/span><\/div>\n      <div class=\"desc\">\u4e2d\u9645\u65ed\u521b\u9884\u4f30 805 \u4e07\u53ea\u3001\u65b0\u6613\u76db 302 \u4e07\u53ea\u3001Mellanox 287 \u4e07\u53ea\u3001Coherent 230 \u4e07\u53ea\u30022027 \u5e74 1.6T \u5c06\u5360\u9ad8\u901f\u5149\u6a21\u5757 45%\u3002ASP \u9884\u8ba1\u964d\u81f3 $800-900\u3002<\/div>\n    <\/div>\n    <div class=\"outlook-card\" style=\"background:linear-gradient(135deg,#D97706 0%,#F59E0B 100%);\">\n      <h4>2027-2028 \u5173\u952e\u53d8\u91cf<\/h4>\n      <div class=\"title\">CPO \u89c4\u6a21\u5316\u90e8\u7f72<\/div>\n      <div class=\"num\">$81<span class=\"unit\">\u4ebf\uff082030\uff09<\/span><\/div>\n      <div class=\"desc\">\u53f0\u79ef\u7535 COUPE 2026 \u843d\u5730\uff0c\u535a\u901a\/\u82f1\u4f1f\u8fbe CPO \u4ea4\u6362\u673a\u91cf\u4ea7\u3002LightCounting \u4e0a\u8c03 2030 \u51fa\u8d27\u81f3 7500 \u4e07\u53ea\uff08+200%\uff09\u3002CPO \u5927\u89c4\u6a21\u5546\u7528\u9884\u8ba1 2027-2028\u3002<\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"theme-list fade-in\">\n    <div class=\"theme-item\">\n      <div class=\"num\">\u4e3b\u7ebf 01<\/div>\n      <h5>&#8220;\u6613\u4e2d\u5929&#8221;\u5185\u90e8\u683c\u5c40\u5206\u5316<\/h5>\n      <p>\u4e2d\u9645\u65ed\u521b\u51ed\u501f 1.6T \u901f\u7387\u9886\u5148\u4e0e\u5ba2\u6237\u5168\u9762\u6027\uff0c\u9884\u8ba1\u7ef4\u6301\u5168\u7403\u7b2c\u4e00\uff1b\u65b0\u6613\u76db\u4f9d\u9760 LPO \u62a2\u8dd1\u4e0e\u5317\u7f8e\u4e91\u5382\u9ad8\u589e\u957f\uff0c\u7ee7\u7eed\u8ffd\u8d76\uff1b\u5929\u5b5a\u901a\u4fe1\u4f5c\u4e3a\u5149\u5f15\u64ce\u4e0a\u6e38\uff0c\u5728 CPO \u6d6a\u6f6e\u4e2d\u53d7\u76ca\u6700\u786e\u5b9a\u3002\u4e09\u5bb6\u7684\u76f8\u5bf9\u4f30\u503c\u5dee\u8ddd\u53ef\u80fd\u968f CPO \u8fdb\u5ea6\u800c\u53d8\u5316\u3002<\/p>\n    <\/div>\n    <div class=\"theme-item\">\n      <div class=\"num\">\u4e3b\u7ebf 02<\/div>\n      <h5>\u6d77\u5916\u5382\u5546\u89d2\u8272\u91cd\u6784<\/h5>\n      <p>Coherent\u3001Lumentum \u5728\u82f1\u4f1f\u8fbe\u6ce8\u8d44\u540e\u8f6c\u578b\u4e3a\u5149\u82af\u7247\/CPO \u5173\u952e\u4f9b\u5e94\u5546\uff0cFabrinet \u4f5c\u4e3a\u4ee3\u5de5\u5382\u6301\u7eed\u53d7\u76ca\uff0cMarvell \u51ed\u501f DSP \u4e0e\u7845\u5149\u5f15\u64ce\u7ef4\u6301&#8221;\u5b88\u95e8\u4eba&#8221;\u5730\u4f4d\u3002\u6210\u54c1\u6a21\u5757\u5e02\u573a\u7684&#8221;\u4e1c\u5347\u897f\u964d&#8221;\u8d8b\u52bf\u5ef6\u7eed\uff0c\u4f46\u4e0a\u6e38\u82af\u7247\u73af\u8282\u7684&#8221;\u897f\u5f3a\u4e1c\u5f31&#8221;\u683c\u5c40\u77ed\u671f\u96be\u6539\u3002<\/p>\n    <\/div>\n    <div class=\"theme-item\">\n      <div class=\"num\">\u4e3b\u7ebf 03<\/div>\n      <h5>\u56fd\u4ea7\u66ff\u4ee3\u4ece\u5149\u82af\u7247\u5411 DSP \u5ef6\u4f38<\/h5>\n      <p>\u5149\u82af\u7247\u56fd\u4ea7\u5316\uff08\u6e90\u6770\u3001\u957f\u5149\u534e\u82af\uff09\u5df2\u89c1\u6210\u6548\uff0c\u672a\u6765 2-3 \u5e74\u662f\u4efd\u989d\u5feb\u901f\u63d0\u5347\u671f\uff1bDSP \u56fd\u4ea7\u5316\u662f\u6700\u5927\u77ed\u677f\u4e5f\u662f\u6700\u786e\u5b9a\u7684\u957f\u671f\u673a\u4f1a\uff0c\u76f8\u5173\u56fd\u4ea7 DSP \u5382\u5546\u7684\u7a81\u7834\u5c06\u662f\u4e0b\u4e00\u4e2a\u91cd\u8981\u50ac\u5316\u5242\u3002\u6e90\u6770 2026 Q1 \u6bdb\u5229\u7387\u8dc3\u5347\u81f3 77.81% \u662f\u56fd\u4ea7\u5316\u6210\u6548\u7684\u6807\u5fd7\u6027\u4e8b\u4ef6\u3002<\/p>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============================================================\n     Footer\n     ============================================================ -->\n<footer class=\"footer\">\n  <div class=\"footer-inner\">\n    <h4>\ud83d\udcca \u6570\u636e\u6765\u6e90<\/h4>\n    <div class=\"footer-source\">\n      <strong>\u5e02\u573a\u7814\u7a76\u673a\u6784\uff1a<\/strong>LightCounting\uff08Optical Vendor Landscape\u3001Optics for AI Clusters\u3001The Year of Silicon Photonics 2026\uff09\u3001TrendForce \u96c6\u90a6\u54a8\u8be2\u3001Yole Group\u3001Cignal AI\u3001Coherent Market Insights\u3001Goldman Sachs Research\u3001SNS Insider\u3001GM Insights\u3001IDTechEx\u3001Mitsui \u7269\u4ea7\u62a5\u544a<br>\n      <strong>\u516c\u53f8\u4e00\u624b\u6570\u636e\uff1a<\/strong>\u4e2d\u9645\u65ed\u521b\uff08300308\uff09\u3001\u65b0\u6613\u76db\uff08300502\uff09\u3001\u5929\u5b5a\u901a\u4fe1\uff08300394\uff092025 \u5e74\u62a5\u53ca 2026 Q1 \u62a5\uff1bCoherent\u3001Lumentum\u3001Marvell\u3001Broadcom\u3001Fabrinet\u3001NVIDIA \u6700\u65b0\u8d22\u62a5<br>\n      <strong>\u884c\u4e1a\u4f1a\u8bae\uff1a<\/strong>OFC 2024\/2025\u3001ECOC 2025\u3001OCP APAC Summit 2025\u3001GTC 2025<br>\n      <strong>\u884c\u4e1a\u5a92\u4f53\uff1a<\/strong>C114 \u901a\u4fe1\u7f51\u3001OFweek\u3001EET-China\u3001\u5149\u7ea4\u5728\u7ebf\u3001ICCSZ\u300121 \u8d22\u7ecf\u3001\u8bc1\u5238\u65f6\u62a5\u3001\u8d22\u8054\u793e\u3001\u534e\u5c14\u8857\u89c1\u95fb\u3001Semiconductor Today\u3001SemiAnalysis\u3001Tom&#8217;s Hardware\n    <\/div>\n\n    <div class=\"footer-disclaimer\">\n      <strong>\u26a0\ufe0f \u514d\u8d23\u58f0\u660e\uff1a<\/strong>\u672c\u9875\u9762\u4e3a\u57fa\u4e8e\u516c\u5f00\u4fe1\u606f\u7684\u7814\u7a76\u5185\u5bb9\u53ef\u89c6\u5316\u5448\u73b0\uff0c\u4ec5\u4f9b\u7814\u7a76\u53c2\u8003\uff0c\u4e0d\u6784\u6210\u4efb\u4f55\u6295\u8d44\u5efa\u8bae\u3002\u5149\u6a21\u5757\u884c\u4e1a\u53d8\u5316\u5feb\u901f\uff0c\u6240\u6709\u9884\u6d4b\u57fa\u4e8e 2026 \u5e74 6 \u6708\u4e2d\u65ec\u516c\u5f00\u4fe1\u606f\uff0c\u5b9e\u9645\u5151\u73b0\u5b58\u5728\u4e0d\u786e\u5b9a\u6027\u3002\u6295\u8d44\u51b3\u7b56\u9700\u7ed3\u5408\u4f30\u503c\u3001\u65f6\u70b9\u3001\u98ce\u9669\u504f\u597d\u7efc\u5408\u5224\u65ad\uff0c\u5e76\u5efa\u8bae\u6301\u7eed\u8ddf\u8e2a\u6700\u65b0\u52a8\u6001\u3002\n    <\/div>\n\n    <div class=\"footer-bottom\">\n      <div>\u5149\u6a21\u5757\u884c\u4e1a\u6df1\u5ea6\u7814\u7a76 \u00b7 \u62a5\u544a\u65e5\u671f 2026 \u5e74 6 \u6708 \u00b7 \u914d\u5957 DOCX \u7814\u7a76\u62a5\u544a\u540c\u6b65\u53d1\u5e03<\/div>\n      <div>ZCode Industry Research<\/div>\n    <\/div>\n  <\/div>\n<\/footer>\n\n<script type=\"text\/javascript\">\/\/<![CDATA[\n\/\/ ============================================================\n\/\/ \u4ea4\u4e92\u903b\u8f91\uff08CDATA \u5305\u88f9\uff0c\u9632\u6b62 WordPress wpautop\/wptexturize \u7834\u574f JS \u5b57\u7b26\uff09\n\/\/ ============================================================\n(function() {\n  'use strict';\n\n  \/\/ ---------- \u9605\u8bfb\u8fdb\u5ea6\u6761 ----------\n  const progressBar = document.getElementById('progress-bar');\n  function updateProgress() {\n    const scrollTop = window.scrollY;\n    const docHeight = document.documentElement.scrollHeight - window.innerHeight;\n    const pct = docHeight > 0 ? (scrollTop \/ docHeight) * 100 : 0;\n    progressBar.style.width = pct + '%';\n  }\n  window.addEventListener('scroll', updateProgress, { passive: true });\n  updateProgress();\n\n  \/\/ ---------- \u6eda\u52a8\u6e10\u5165\u52a8\u753b ----------\n  const observer = new IntersectionObserver((entries) => {\n    entries.forEach(entry => {\n      if (entry.isIntersecting) {\n        entry.target.classList.add('visible');\n        \/\/ \u89e6\u53d1\u8be5\u533a\u57df\u5185\u7684\u6570\u636e\u6761\/\u67f1\u72b6\u56fe\u52a8\u753b\n        animateInContainer(entry.target);\n      }\n    });\n  }, { threshold: 0.15, rootMargin: '0px 0px -50px 0px' });\n\n  document.querySelectorAll('.fade-in').forEach(el => observer.observe(el));\n\n  \/\/ ---------- \u67f1\u72b6\u56fe \/ \u8fdb\u5ea6\u6761\u52a8\u753b ----------\n  function animateInContainer(container) {\n    \/\/ \u67f1\u72b6\u56fe\uff1abar\uff08\u7528\u50cf\u7d20\u9ad8\u5ea6\uff0c\u907f\u514d\u767e\u5206\u6bd4\u584c\u7f29\uff09\n    container.querySelectorAll('.bar[data-h]').forEach(bar => {\n      if (bar.dataset.animated) return;\n      bar.dataset.animated = '1';\n      const pct = parseFloat(bar.dataset.h); \/\/ 0-100\n      \/\/ \u627e\u5230\u56fe\u8868\u5bb9\u5668\uff0c\u53d6\u5176\u5185\u5bb9\u533a\u9ad8\u5ea6\n      const chart = bar.closest('.bar-chart');\n      const chartH = chart ? chart.getBoundingClientRect().height : 240;\n      \/\/ \u51cf\u53bb\u9876\u90e8 padding(20) \u548c\u5e95\u90e8 label \u7a7a\u95f4(~50)\n      const usableH = Math.max(chartH - 60, 100);\n      const targetH = Math.round(usableH * pct \/ 100);\n      bar.style.height = '0px';\n      requestAnimationFrame(() => {\n        setTimeout(() => { bar.style.height = targetH + 'px'; }, 80);\n      });\n    });\n    \/\/ \u6a2a\u5411\u6761\u5f62\u56fe\n    container.querySelectorAll('.hbar-fill[data-w]').forEach(fill => {\n      if (fill.dataset.animated) return;\n      fill.dataset.animated = '1';\n      const w = fill.dataset.w;\n      setTimeout(() => { fill.style.width = w; }, 100);\n    });\n    \/\/ \u7845\u5149\u6e17\u900f\u7387\n    container.querySelectorAll('.permeation-fill[data-w]').forEach(fill => {\n      if (fill.dataset.animated) return;\n      fill.dataset.animated = '1';\n      const w = fill.dataset.w;\n      setTimeout(() => { fill.style.width = w; }, 150);\n    });\n    \/\/ \u65f6\u95f4\u8f74\u8fdb\u5ea6\n    container.querySelectorAll('.timeline-progress[data-w]').forEach(prog => {\n      if (prog.dataset.animated) return;\n      prog.dataset.animated = '1';\n      setTimeout(() => { prog.style.width = prog.dataset.w; }, 200);\n    });\n  }\n\n  \/\/ \u9996\u5c4f KPI \u5361\u7247\u7acb\u5373\u89e6\u53d1\u5176\u540e\u7eed\u52a8\u753b\uff08bar \u56fe\u7b49\u5728\u89c6\u53e3\u5185\uff09\n  \/\/ \u6ce8\uff1a\u907f\u514d\u4f7f\u7528 && \/ || \uff0c\u9632\u6b62 WordPress \u5185\u5bb9\u8fc7\u6ee4\u8f6c\u4e49\u4e3a HTML \u5b9e\u4f53\u5bfc\u81f4\u811a\u672c\u4e2d\u65ad\n  setTimeout(() => {\n    document.querySelectorAll('.bar[data-h], .hbar-fill[data-w], .permeation-fill[data-w], .timeline-progress[data-w]').forEach(el => {\n      const rect = el.getBoundingClientRect();\n      const inView = rect.top < window.innerHeight;\n      const notPassed = rect.bottom > 0;\n      if (inView) {\n        if (notPassed) {\n          const parent = el.parentElement.closest('.chart-card, .section');\n          const target = parent ? parent : el.parentElement;\n          animateInContainer(target);\n        }\n      }\n    });\n  }, 300);\n\n  \/\/ ---------- \u6280\u672f\u8def\u7ebf\u5361\u7247\u5207\u6362 ----------\n  const techCards = document.querySelectorAll('.tech-card');\n  const compareTable = document.querySelector('.compare-table');\n  if (compareTable) {\n    const cols = compareTable.querySelectorAll('thead th');\n    const rows = compareTable.querySelectorAll('tbody tr');\n    techCards.forEach(card => {\n      card.addEventListener('click', () => {\n        techCards.forEach(c => c.classList.remove('active'));\n        card.classList.add('active');\n        const tech = card.dataset.tech;\n        const idx = { pluggable: 1, lpo: 2, npo: 3, cpo: 4 }[tech];\n        if (idx) {\n          \/\/ \u9ad8\u4eae\u5bf9\u5e94\u5217\n          rows.forEach(row => {\n            row.querySelectorAll('td').forEach((cell, i) => {\n              cell.style.background = i === idx ? 'rgba(15,118,110,.08)' : '';\n              cell.style.fontWeight = i === idx ? '700' : '';\n            });\n          });\n        }\n      });\n    });\n  }\n\n  \/\/ ---------- \u65f6\u95f4\u8f74\u8282\u70b9\u70b9\u51fb ----------\n  document.querySelectorAll('.tl-node').forEach(node => {\n    node.addEventListener('click', () => {\n      const speed = node.querySelector('.tl-speed').textContent;\n      const year = node.querySelector('.tl-year').textContent;\n      \/\/ \u7b80\u5355\u7684\u9ad8\u4eae\u53cd\u9988\n      document.querySelectorAll('.tl-node').forEach(n => n.style.transform = '');\n      node.style.transform = 'translateY(-4px)';\n      setTimeout(() => { node.style.transform = ''; }, 600);\n    });\n  });\n\n  \/\/ ---------- \u5bfc\u822a\u9ad8\u4eae\uff08\u57fa\u4e8e\u6eda\u52a8\u4f4d\u7f6e\uff09 ----------\n  const sections = document.querySelectorAll('section[id]');\n  const navLinks = document.querySelectorAll('.nav-links a');\n  function updateActiveNav() {\n    const scrollPos = window.scrollY + 100;\n    let current = '';\n    sections.forEach(section => {\n      if (section.offsetTop <= scrollPos) {\n        current = section.id;\n      }\n    });\n    navLinks.forEach(link => {\n      link.classList.toggle('active',\n        link.getAttribute('href') === '#' + current);\n    });\n  }\n  window.addEventListener('scroll', updateActiveNav, { passive: true });\n  updateActiveNav();\n\n  \/\/ ---------- KPI \u6570\u5b57\u6eda\u52a8\u52a8\u753b ----------\n  function animateNumber(el, target, duration) {\n    const start = 0;\n    const startTime = performance.now();\n    function step(now) {\n      const elapsed = now - startTime;\n      const progress = Math.min(elapsed \/ duration, 1);\n      \/\/ ease-out\n      const eased = 1 - Math.pow(1 - progress, 3);\n      const value = Math.floor(start + (target - start) * eased);\n      el.textContent = value;\n      if (progress < 1) requestAnimationFrame(step);\n      else el.textContent = target;\n    }\n    requestAnimationFrame(step);\n  }\n\n  \/\/ \u9875\u9762\u52a0\u8f7d\u5b8c\u6210\u540e\u5ef6\u8fdf\u89e6\u53d1 KPI \u6570\u5b57\u52a8\u753b\n  window.addEventListener('load', () => {\n    setTimeout(() => {\n      const kpiValues = document.querySelectorAll('.kpi-value');\n      kpiValues.forEach(el => {\n        \/\/ \u4fdd\u7559 unit span\uff0c\u4ec5\u52a8\u753b\u4e3b\u6570\u5b57\n        const unitSpan = el.querySelector('.unit');\n        const fullText = el.firstChild.textContent.trim();\n        const num = parseInt(fullText.replace(\/,\/g, ''));\n        if (!isNaN(num)) {\n          el.firstChild.textContent = '0';\n          animateNumber({ set textContent(v) { el.firstChild.textContent = v; },\n                         get textContent() { return el.firstChild.textContent; } },\n                       num, 1500);\n        }\n      });\n    }, 400);\n  });\n\n})();\n\/\/]]><\/script>\n\n<\/body>\n<\/html>\n\n","protected":false},"excerpt":{"rendered":"<p>\u4ece&#8221;\u4f20\u7edf\u4e91\u901a\u4fe1\u914d\u89d2&#8221;\u5230&#8221;AI \u7b97\u529b\u7f51\u7edc\u5173\u952e\u74f6\u9888&#8221;\u2014\u2014\u672c\u62a5\u544a\u7cfb\u7edf\u68b3\u7406 2026 \u5e74\u5149\u6a21\u5757\u884c\u4e1a\u7684\u5e02\u573a\u89c4\u6a21\u3001\u6280\u672f\u8def\u7ebf\u3001\u7ade\u4e89\u683c\u5c40\u4e0e\u4ea7\u4e1a\u94fe\u5168\u666f\uff0c\u5e76\u5c55\u671b 2027-2028 \u5e74 CPO \u89c4\u6a21\u5316\u7b49\u5173\u952e\u53d8\u91cf\u3002<\/p>\n","protected":false},"author":1,"featured_media":1441,"comment_status":"closed","ping_status":"open","sticky":false,"template":"html-full-article","format":"standard","meta":{"_eb_attr":"","footnotes":""},"categories":[38,36],"tags":[],"class_list":["post-1439","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cpo","category-36"],"_links":{"self":[{"href":"https:\/\/qubitledge.com\/index.php\/wp-json\/wp\/v2\/posts\/1439","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/qubitledge.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/qubitledge.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/qubitledge.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/qubitledge.com\/index.php\/wp-json\/wp\/v2\/comments?post=1439"}],"version-history":[{"count":4,"href":"https:\/\/qubitledge.com\/index.php\/wp-json\/wp\/v2\/posts\/1439\/revisions"}],"predecessor-version":[{"id":1444,"href":"https:\/\/qubitledge.com\/index.php\/wp-json\/wp\/v2\/posts\/1439\/revisions\/1444"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/qubitledge.com\/index.php\/wp-json\/wp\/v2\/media\/1441"}],"wp:attachment":[{"href":"https:\/\/qubitledge.com\/index.php\/wp-json\/wp\/v2\/media?parent=1439"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/qubitledge.com\/index.php\/wp-json\/wp\/v2\/categories?post=1439"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/qubitledge.com\/index.php\/wp-json\/wp\/v2\/tags?post=1439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}