/* Morgan Stanley · Asia Pacific Insight · China's AI Path: From Rmb8.5tr Capex to 3x Compute (2026.09.13) — 共用样式 */
* { box-sizing: border-box; }
body { margin: 0; background: #f4f1ea; }
.sheet {
  width: 1080px;
  padding: 18px 22px 16px 22px;
  color: #16243a;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  background-color: #fffdf8;
  background-image: radial-gradient(#e7e0d4 0.8px, transparent 0.8px);
  background-size: 16px 16px;
}
.top { position: relative; min-height: 96px; padding-left: 80px; margin-bottom: 8px; }
.icon-box {
  position:absolute; left:2px; top:4px; width:60px; height:60px;
  border:4px solid #1f4e8c; transform:rotate(-4deg); background:#fffdf8;
}
.icon-box:before { content:""; position:absolute; left:16px; top:16px; width:22px; height:22px; border:4px solid #1f4e8c; }
.pin { position:absolute; width:4px; height:14px; background:#1f4e8c; }
.p1 { left:11px; top:-12px; } .p2{ left:25px; top:-14px; } .p3{ left:40px; top:-13px; } .p4{ left:54px; top:-10px; }
.p5 { left:-12px; top:15px; transform:rotate(90deg);} .p6 { left:-13px; top:32px; transform:rotate(90deg);}
.chaos-card {
  position: absolute; right: 10px; top: 10px;
  transform: rotate(-4deg);
  display:flex; flex-direction:column; align-items:center;
  padding:6px 12px 7px; width:124px;
  border:2px solid #111827; border-radius:12px;
  background:#fffdf7; box-shadow:0 3px 0 #f5c542;
}
.chaos-card .cc-logo {
  font-family:Georgia,serif; font-size:15px; font-weight:700; color:#111827; line-height:1; white-space:nowrap;
}
.chaos-card .cc-logo span { color:#d12b2b; margin-left:1px; }
.chaos-card .cc-sep { width:100%; height:1px; background:#cbd5e1; margin:4px 0 3px; }
.chaos-card .cc-intro {
  font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
  font-size:10.5px; font-weight:600; color:#475569; line-height:1.3;
}
.thesis {
  position:absolute; right:8px; top:42px; width:190px; padding:6px 9px;
  border:2.5px solid #2b3645; border-radius:12px; background:#fffdf8;
  font-family:"Kaiti SC","STKaiti",serif;
}
.thesis .small { font-size:9.5px; color:#243247; font-weight:700; line-height:1.1; }
.thesis .red { margin-top:2px; color:#c0392b; font-size:11.5px; font-weight:900; line-height:1.18; }
.context {
  border:2.5px solid #2b3645; border-radius:10px; padding:8px 12px; display:grid;
  grid-template-columns:80px repeat(3, 1fr); gap:10px; align-items:center; background:rgba(255,255,255,.62); margin-top:8px;
}
.context .label {
  background:#dceaff; border-radius:5px; color:#174a9c; padding:6px 8px; text-align:center;
  font-family:"Kaiti SC","STKaiti",serif; font-size:12px; font-weight:900;
}
.context b, .context .red { color:#c0392b; }
.context .k { font-size:12px; font-weight:900; line-height:1.3; }
.context .v { font-size:10.5px; color:#52606e; font-weight:800; margin-top:2px; line-height:1.3; }
.title {
  font-family: "Kaiti SC", "STKaiti", "KaiTi", serif;
  font-size: 27px; line-height: 1.1; font-weight: 900; letter-spacing: 0;
}
.subtitle {
  margin-top: 5px;
  font-family: "Kaiti SC", "STKaiti", "KaiTi", serif;
  color: #c0392b; font-size: 15px; line-height: 1.3; font-weight: 900;
}
.underline { height: 4px; width: 380px; margin-top: 6px; background: linear-gradient(90deg,#1f4e8c,#e8a13a,rgba(255,255,255,0)); border-radius: 3px; }
.meta { margin-top: 8px; font-size: 11px; font-weight: 800; color:#52606e; line-height: 1.45; }
.meta b { color:#1f4e8c; }
.section {
  margin-top: 8px; border: 2.5px solid #2b3645; border-radius: 10px; padding: 10px 12px; background: rgba(255,255,255,.66);
}
.section-title {
  display:flex; align-items:center; gap:8px; margin-bottom:6px;
  font-family:"Kaiti SC","STKaiti",serif; color:#123b7a; font-size:16px; font-weight:900;
}
.badge {
  width:24px; height:24px; border-radius:4px; background:#1f4e8c; color:#fff; display:inline-flex;
  align-items:center; justify-content:center; font-family:Arial,sans-serif; font-size:14px; border:2px solid #143358;
  box-shadow: 2px 2px 0 #b9c7dc;
}
.section-title .note { color:#c0392b; margin-left:6px; font-size:13px; }
.grid2 { display:grid; grid-template-columns: 1fr 1fr; gap:8px; }
.grid3 { display:grid; grid-template-columns: repeat(3, 1fr); gap:8px; }
.grid4 { display:grid; grid-template-columns: repeat(4, 1fr); gap:8px; }
.box { border:1.5px solid #b8c2d0; border-radius:7px; padding:7px 9px; background:#fff; }
.box.dash { border:1.5px dashed #8aa0bb; }
.box.redbox { background:#fff7f4; border-color:#f2aaa3; }
.box.bluebox { background:#f3f8ff; border-color:#a5c7ef; }
.box.yellowbox { background:#fff8e6; border-color:#f3ca61; }
.box.greenbox { background:#f1fff5; border-color:#9bd4aa; }
.box.purplebox { background:#f6f0ff; border-color:#c5a8e8; }
.boxt { font-size:12px; font-weight:900; color:#123b7a; margin-bottom:4px; }
.boxt.redt { color:#c0392b; } .boxt.brownt{ color:#8a4f13; } .boxt.purplet{ color:#6b3fa0; } .boxt.greent{ color:#1f7a3d; }
.body { font-size:11px; line-height:1.42; font-weight:640; }
p { font-size:11px; line-height:1.42; font-weight:640; }
.muted { color:#52606e; }
table { width:100%; border-collapse:collapse; background:#fff; font-size:10px; font-weight:640; line-height:1.2; }
th { background:#e8f0fb; color:#123b7a; font-size:10px; }
th, td { border:1px solid #cbd5e1; padding:3px 4px; vertical-align:middle; }
td.sub { background:#f1f5f9; font-weight:900; color:#123b7a; text-align:left; padding:4px 6px; }
td.center, th.center { text-align:center; }
.company { font-size:11.5px; font-weight:950; color:#c0392b; }
.winner { color:#c0392b; font-weight:950; }
.up { color:#c0392b; font-weight:900; }
.down { color:#1f7a3d; font-weight:900; }
.chip { display:inline-block; border:1.2px solid currentColor; border-radius:14px; padding:1px 6px; font-size:9.5px; font-weight:900; margin-bottom:3px; }
.chip.ow { color:#1f7a3d; } .chip.n { color:#b8860b; } .chip.uw { color:#c0392b; }
.bars { display:grid; gap:5px; }
.barrow { display:grid; grid-template-columns: 140px 1fr 64px; gap:6px; align-items:center; font-size:10px; font-weight:800; }
.barbg { height:13px; background:#edf2f7; border-radius:4px; overflow:hidden; }
.bar { height:100%; border-radius:4px; }
.barlabel { font-size:10px; font-weight:800; color:#334155; line-height:1.3; }
.barv { font-size:10.5px; font-weight:900; color:#0f172a; text-align:right; white-space:nowrap; }
.foot { font-size:9px; color:#6b7280; margin-top:7px; }
.bullets { margin:0; padding-left:14px; }
.bullets li { margin:2px 0; }
.check { color:#1f7a3d; font-size:12px; font-weight:900; margin-right:4px; }
.cross { color:#c0392b; font-size:12px; font-weight:900; margin-right:4px; }
.footer { margin-top:6px; font-size:9px; color:#6b7280; line-height: 1.3; }
.kpi { display:grid; grid-template-columns: repeat(4, 1fr); gap:8px; margin-top:8px; }
.kpi .box { text-align:center; }
.kpi .v { font-size:20px; font-weight:950; color:#1f4e8c; }
.kpi .l { font-size:10px; color:#52606e; font-weight:800; margin-top:2px; }

/* 主题卡片（2x2，左侧彩色序号块） */
.theme-grid { display:grid; grid-template-columns: 1fr 1fr; gap:10px; margin-top:4px; }
.theme-card {
  position:relative; border:1.5px solid #c4cedd; border-radius:10px; padding:9px 11px 9px 46px;
  background:#fff; overflow:hidden; min-height:118px;
}
.theme-card .tno {
  position:absolute; left:0; top:0; bottom:0; width:38px;
  display:flex; align-items:center; justify-content:center;
  font-family:Georgia,serif; font-size:23px; font-weight:900; color:#fff;
}
.theme-card.c1 .tno { background:#1f4e8c; }
.theme-card.c2 .tno { background:#c8761a; }
.theme-card.c3 .tno { background:#1f7a3d; }
.theme-card.c4 .tno { background:#6b3fa0; }
.theme-card.c5 .tno { background:#0f7b8a; }
.theme-card.c6 .tno { background:#a8324a; }
.theme-card .ten { font-size:9px; font-weight:800; color:#6b7280; letter-spacing:.3px; text-transform:uppercase; line-height:1.1; }
.theme-card .tcn { font-size:14px; font-weight:900; color:#16243a; margin:1px 0 5px; line-height:1.15; }
.theme-card .tpoints { margin:0; padding-left:13px; }
.theme-card .tpoints li { font-size:10.5px; line-height:1.42; font-weight:680; margin:3px 0; color:#35465c; }
.theme-card .tpoints b { color:#123b7a; }
.theme-card .hi { color:#c0392b; font-weight:900; }

/* 表格分组标题行高亮 */
tr.hl td, td.hl { background:#fff3cd; }
td.hl { font-weight:700; color:#8a6d00; }
ul.lil { margin:6px 0 0 4px; padding-left:16px; }
ul.lil li { font-size:11px; line-height:1.75; color:#334155; margin-bottom:2px; }
ul.lil li b { color:#0f172a; }

/* 研报原图嵌入（中文栏截图） */
.fig { margin: 10px 0 12px; text-align: center; }
.fig img {
  display: block; margin: 0 auto; max-width: 100%; height: auto;
  border: 1px solid #e2e8f0; border-radius: 4px; background: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, .06);
}
.figcap { margin-top: 5px; font-size: 10px; line-height: 1.55; color: #64748b; }
.fig2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 10px 0 12px; align-items: start; }
.fig2 .fig { margin: 0; }
.fig2 .fig img { width: 100%; }

/* 自绘图表（据原报告标注数值用 SVG / 堆叠条复现） */
.chart { margin:8px 0 10px; border:1.5px solid #b8c2d0; border-radius:7px; padding:8px 10px 6px; background:#fff; }
.chart .ct { font-size:12px; font-weight:900; color:#123b7a; margin-bottom:5px; }
.chart .ct .sub { color:#52606e; font-weight:700; font-size:10px; margin-left:6px; }
.chart svg { display:block; width:100%; height:auto; }
.chart .cs { font-size:9.5px; color:#64748b; margin-top:5px; line-height:1.5; }

/* 堆叠频率条（Never→Daily 五段） */
.stack { display:grid; gap:6px; margin-top:4px; }
.srow { display:grid; grid-template-columns: 132px 1fr; gap:8px; align-items:center; }
.srow .sl { font-size:10px; font-weight:800; color:#334155; line-height:1.25; }
.sbar { display:flex; height:19px; border-radius:4px; overflow:hidden; border:1px solid #cbd5e1; }
.sbar span { display:flex; align-items:center; justify-content:center; font-size:9px; font-weight:900; color:#fff; white-space:nowrap; }
.sbar .s0 { background:#c7d2de; color:#3a4a5e; }
.sbar .s1 { background:#9fb6d4; color:#1f2d3d; }
.sbar .s2 { background:#e8a13a; }
.sbar .s3 { background:#1f4e8c; }
.sbar .s4 { background:#c0392b; }
.slegend { display:flex; flex-wrap:wrap; gap:10px; font-size:9.5px; font-weight:800; color:#52606e; margin-top:6px; }
.slegend i { display:inline-block; width:11px; height:11px; border-radius:2px; margin-right:4px; vertical-align:-1px; }

/* 迷你对比双条（W37 vs W38） */
.duo { display:grid; grid-template-columns: 150px 1fr 78px; gap:6px; align-items:center; font-size:10px; font-weight:800; }
.duo .db { display:grid; gap:2px; }
.duo .track { height:9px; background:#eef2f7; border-radius:3px; overflow:hidden; }
.duo .fill { height:100%; border-radius:3px; }
.duo .f37 { background:#9fb6d4; } .duo .f38 { background:#1f4e8c; }
.duo .dv { font-size:9.5px; font-weight:900; color:#0f172a; text-align:right; line-height:1.35; white-space:nowrap; }

/* ===== 本页补充：资金流向图 / 桥式分解 / 模式卡 ===== */
.flow { display:grid; gap:8px; margin:6px 0 2px; }
.flow.f3 { grid-template-columns: 1fr 34px 1fr 34px 1fr; align-items:stretch; }
.flow.f2 { grid-template-columns: 1fr 34px 1fr; align-items:stretch; }
.fnode { border:1.5px solid #b8c2d0; border-radius:8px; background:#fff; padding:7px 9px; }
.fnode.fn-blue { background:#f3f8ff; border-color:#a5c7ef; }
.fnode.fn-green { background:#f1fff5; border-color:#9bd4aa; }
.fnode.fn-amber { background:#fff8e6; border-color:#f3ca61; }
.fnode.fn-red { background:#fff7f4; border-color:#f2aaa3; }
.fnode .fh { font-size:11.5px; font-weight:900; color:#123b7a; margin-bottom:3px; line-height:1.25; }
.fnode .fh.redh { color:#c0392b; } .fnode .fh.greenh { color:#1f7a3d; } .fnode .fh.brownh { color:#8a4f13; }
.fnode .fi { font-size:10px; line-height:1.5; font-weight:700; color:#35465c; }
.fnode .fi b { color:#c0392b; }
.farw { display:flex; align-items:center; justify-content:center; font-size:19px; font-weight:900; color:#1f4e8c; }
.fmoney { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-top:5px; }
.fmoney .fm { border:1.5px dashed #8aa0bb; border-radius:6px; padding:5px 6px; text-align:center; background:rgba(255,255,255,.7); }
.fmoney .fm .fmv { font-size:13px; font-weight:950; color:#c0392b; line-height:1.15; }
.fmoney .fm .fml { font-size:9px; font-weight:800; color:#52606e; margin-top:2px; line-height:1.25; }
.eco { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:5px; }
.eco .ec { position:relative; border:1.5px solid #c4cedd; border-radius:8px; background:#fff; padding:16px 8px 8px 8px; text-align:center; }
.eco .ec .ecn { position:absolute; left:0; top:0; width:20px; height:20px; border-radius:6px 0 6px 0; color:#fff; font-size:11px; font-weight:900; line-height:20px; text-align:center; }
.eco .ec.e1 .ecn{ background:#1f4e8c; } .eco .ec.e2 .ecn{ background:#c8761a; }
.eco .ec.e3 .ecn{ background:#1f7a3d; } .eco .ec.e4 .ecn{ background:#6b3fa0; }
.eco .ec .ecb { font-size:11px; font-weight:900; color:#16243a; line-height:1.2; }
.eco .ec .ecs { font-size:12.5px; font-weight:950; color:#c0392b; margin:3px 0 2px; line-height:1.15; }
.eco .ec .ecd { font-size:9.5px; font-weight:700; color:#52606e; line-height:1.4; }
.nb { display:inline-block; border:1.2px solid #8aa0bb; border-radius:4px; padding:0 4px; font-size:9px; font-weight:800; color:#52606e; background:#f8fafc; }
.minibars { display:grid; gap:4px; margin-top:3px; }
