/*
 * 新闻中心新版（模板 public/themes/template/news_center/*，设计包「沃虎官网新闻中心设计方案」）。
 * 所有规则限定在 main.nc 之内；颜色 / 字号 / 间距照设计稿 news/NOTES.md 的网格与数学规范：
 * 容器 1200 + 两侧 24；间距 8/16/24/32/48/64/96；字号 12/16 · 13/20 · 14/24 · 15/24 · 16/24 · 18/28 · 26/36 · 32/40 · 48/56；
 * 圆角 10（首屏栏目条 5）；卡片悬停只变红边框（边框画在 ::after 叠层上，不占尺寸）。
 * 中文站 cn-typography.css 给所有元素强制 Noto Sans SC（!important），封面标签的宋体在本文件末尾用更高优先级覆盖。
 */
/* 站点外层 .dbox{overflow:hidden} 会让 position:sticky 失效（文章页吸顶目录），与产品详情页 pdp-v2、应用领域页同一处理 */
#page.dbox:has(main.nc) { overflow: clip; }

.nc {
    --nc-red: #C30D23;
    --nc-red-d: #8A0A18;
    --nc-red-l: #E0213A;
    --nc-ink: #1A1A1A;
    --nc-gray: #565B63;
    --nc-mute: #8C8C8C;
    --nc-line: #E4E4E4;
    --nc-line2: #C9C9C9;
    --nc-bg: #F4F4F4;
    --nc-sticky: 135px;
    --nc-anchor: 151px;
    display: block;
    background: #FFFFFF;
    color: var(--nc-ink);
    font-family: "Poppins", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 16px;
    line-height: 24px;
    -webkit-font-smoothing: antialiased;
    text-align: left;
}
.nc.is-en { font-family: "VHAP Poppins", "Poppins", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif; }
.nc *, .nc *::before, .nc *::after { box-sizing: border-box; }
/* 重置用 :where() 压到 (0,1,0)，后面的单类名规则按书写顺序覆盖 */
.nc :where(h1, h2, h3, h4, p, ol, ul, li, figure, dl, dd) { margin: 0; padding: 0; }
.nc a { color: var(--nc-red); text-decoration: none; }
.nc a:hover { color: var(--nc-red-d); }
.nc img { border: 0; }
.nc button, .nc input, .nc textarea { font-family: inherit; letter-spacing: normal; }
.nc input::placeholder, .nc textarea::placeholder { color: var(--nc-mute); opacity: 1; }
.nc [hidden] { display: none !important; }
.nc-nw { white-space: nowrap; }
.nc time { font-variant-numeric: tabular-nums; }

/* ------------------------------------------------------------ 板块 / 标题 */
.nc-sec { padding: 96px 24px; background: #FFFFFF; }
/* 中文站 ≥1024 右侧悬浮客服栏贴边：按 vh-sidebar.css 的 --vh-float-right 约定让位（英文站 / 窄屏变量不存在，仍是 24px） */
.nc-sec { padding-right: max(24px, var(--vh-float-right, 0px)); }
.nc-sec.is-gray { background: var(--nc-bg); }
.nc-sec-first { padding-top: 64px; }
.nc-sec-ruled { padding-top: 0; }
.nc-sec-ruled > .nc-wrap { padding-top: 96px; border-top: 1px solid var(--nc-line); }
.nc-wrap { max-width: 1200px; margin: 0 auto; }
.nc-stack { display: flex; flex-direction: column; gap: 24px; }

.nc-eyebrow { height: 16px; display: flex; align-items: center; gap: 8px; font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 3px; color: var(--nc-red); }
.nc-eyebrow i { flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--nc-red); }
.nc-sechead { display: flex; flex-direction: column; gap: 16px; margin-bottom: 48px; }
.nc-sechead h2 { font-size: 32px; line-height: 40px; font-weight: 700; color: var(--nc-ink); }
.nc-sechead h2 span { color: var(--nc-red); }
.nc-sechead p { font-size: 15px; line-height: 24px; color: var(--nc-gray); }

.nc-colhead { height: 48px; padding-bottom: 14px; margin-bottom: 24px; border-bottom: 2px solid var(--nc-ink); display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.nc-colhead.is-flush { margin-bottom: 0; }
.nc-colhead h2 { min-width: 0; font-size: 18px; line-height: 32px; font-weight: 700; color: var(--nc-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nc-colhead h2 small { margin-left: 8px; font-size: 13px; line-height: 20px; font-weight: 400; color: var(--nc-mute); }
.nc-colhead > a:last-child:not(.nc-colhead-t) { flex: none; font-size: 13px; line-height: 20px; font-weight: 600; white-space: nowrap; }
.nc-colhead-n { flex: none; font-size: 13px; line-height: 20px; color: var(--nc-mute); font-variant-numeric: tabular-nums; }
.nc .nc-colhead-t { min-width: 0; display: flex; align-items: center; gap: 8px; font-size: 18px; line-height: 32px; font-weight: 700; color: var(--nc-ink); white-space: nowrap; }
.nc .nc-colhead-t:hover { color: var(--nc-red); }
.nc-colhead-t img { flex: none; width: 32px; height: 32px; display: block; filter: drop-shadow(0 2px 2px rgba(26, 26, 26, .14)); }

/* ------------------------------------------------------------ 元信息 / 标签 / 按钮 */
.nc-meta { height: 20px; display: flex; align-items: center; gap: 8px; font-size: 13px; line-height: 20px; color: var(--nc-mute); white-space: nowrap; overflow: hidden; }
.nc-meta .is-cat { color: var(--nc-red); font-weight: 600; }
.nc-tags { position: relative; z-index: 1; height: 24px; overflow: hidden; display: flex; flex-wrap: wrap; gap: 8px; }
.nc .nc-tags a, .nc .nc-tag { flex: none; height: 24px; padding: 0 8px; display: flex; align-items: center; border: 1px solid var(--nc-line); border-radius: 10px; background: #FFFFFF; font-size: 12px; line-height: 16px; color: var(--nc-gray); white-space: nowrap; transition: border-color .15s ease; }
.nc .nc-tags a:hover, .nc .nc-tag:hover { border-color: var(--nc-red); color: var(--nc-red); }

.nc .nc-btn-red, .nc .nc-btn-ghost, .nc .nc-btn-white, .nc .nc-btn-line { flex: none; height: 40px; padding: 0 16px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; font-size: 14px; line-height: 24px; font-weight: 600; white-space: nowrap; cursor: pointer; transition: background-color .15s ease, border-color .15s ease, color .15s ease; }
.nc .nc-btn-red { border: none; background: var(--nc-red); color: #FFFFFF; }
.nc .nc-btn-red:hover { background: var(--nc-red-d); color: #FFFFFF; }
.nc .nc-btn-red:disabled { background: var(--nc-line2); cursor: default; }
.nc .nc-btn-ghost, .nc .nc-btn-white { border: 1px solid #FFFFFF; background: transparent; color: #FFFFFF; }
.nc .nc-btn-ghost:hover, .nc .nc-btn-white:hover { background: #FFFFFF; color: var(--nc-ink); }
.nc .nc-btn-line { border: 1px solid var(--nc-line2); background: #FFFFFF; color: var(--nc-ink); }
.nc .nc-btn-line:hover { border-color: var(--nc-red); color: var(--nc-red); }
.nc .is-lg { height: 48px; padding: 0 32px; font-size: 15px; }
.nc .nc-link { font-size: 14px; line-height: 24px; font-weight: 600; color: var(--nc-red); }

/* ------------------------------------------------------------ 封面（NewsCover：底图 + 上部 70% 黑蒙版 + 香槟色宋体栏目标签 + 1–3 行短标题） */
.nc .nc-img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; display: block; }
.nc-cv { position: absolute; inset: 0; display: block; overflow: hidden; container-type: size; background: var(--nc-ink); user-select: none; }
.nc .nc-cv-bg { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; display: block; }
.nc-cv-top { position: absolute; left: 0; right: 0; top: 0; min-height: 46%; padding: 6.4cqmin 7cqmin 3.8cqmin; display: flex; flex-direction: column; background: rgba(0, 0, 0, .7); }
.nc-cv-lb { flex: none; height: 11cqmin; display: flex; align-items: center; justify-content: center; border-radius: 1.3cqmin; background: linear-gradient(100deg, #F0DFCB 0%, #F0DFCB 34%, #FFF8F0 50%, #FBEFE3 64%, #FBEFE3 100%); color: #55504B; font-family: "NC Serif", "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", serif; font-size: max(9px, 7.2cqmin); font-weight: 700; line-height: 1; letter-spacing: .02em; white-space: nowrap; overflow: hidden; }
.nc-cv-t { flex: 1; min-width: 0; padding-top: 1.9cqmin; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; color: #FFF8EE; font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif; font-size: max(11px, 9.5cqmin); font-weight: 900; line-height: 1.22; }
.nc-cv-t > span { display: block; white-space: nowrap; }
.nc.is-en .nc-cv-t { font-family: "NC Poppins", "VHAP Poppins", "Poppins", sans-serif; font-weight: 800; font-size: max(11px, 8.4cqmin); }

/* ------------------------------------------------------------ 首屏（NewsHero）+ 栏目条（5b 定稿） */
@keyframes l1spin { to { transform: rotate(360deg); } }
@keyframes l1twinkle { 0%, 100% { opacity: .2; } 50% { opacity: .9; } }
/* 站点页头 #header 是 position: fixed; z-index: 10：首屏要在它下面（设计稿页头 60、首屏 40），又要压住后面的正文（话题下拉） */
.nc-hero { position: relative; z-index: 5; background: radial-gradient(ellipse 60% 110% at 78% 50%, #2A1016 0%, #170A0E 45%, #0C0B0F 100%); color: #FFFFFF; }
.nc-hero-banner { position: absolute; inset: 0; overflow: hidden; pointer-events: none; opacity: 1; transition: opacity .3s ease; }
.nc-hero.is-compact .nc-hero-banner { opacity: .18; }
.nc-hero-in { position: relative; z-index: 1; max-width: 1248px; margin: 0 auto; padding: 40px 24px 48px; }
.nc-hero.is-compact .nc-hero-in { padding: 24px; }
.nc-crumb { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 13px; line-height: 16px; }
.nc .nc-crumb a { color: rgba(255, 255, 255, .6); }
.nc .nc-crumb a:hover { color: #FFFFFF; }
.nc-crumb-sep { color: rgba(255, 255, 255, .3); }
.nc-crumb-cur { color: #FFFFFF; }
.nc-hero-main { max-width: 588px; margin-top: 32px; display: flex; flex-direction: column; align-items: flex-start; }
.nc-hero-eyebrow { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; }
.nc-hero-eyebrow i { width: 6px; height: 6px; border-radius: 50%; background: var(--nc-red-l); }
.nc-hero-eyebrow span { font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 3px; color: #FFF6EA; }
.nc .nc-hero-h1 { margin: 0 0 16px; font-size: 48px; line-height: 56px; font-weight: 700; color: #FFFFFF; }
.nc-hero-h1 span { color: var(--nc-red-l); }
.nc-hero-desc { font-size: 16px; line-height: 28px; color: rgba(255, 255, 255, .82); text-wrap: pretty; }
.nc-hero-search { width: 100%; height: 56px; margin: 32px 0 0; display: flex; align-items: center; border: 1px solid transparent; border-radius: 10px; background: #FFFFFF; transition: border-color .15s ease; }
.nc-hero-search:focus-within { border-color: var(--nc-red-l); }
.nc .nc-hero-search input { flex: 1; min-width: 0; height: 100%; margin: 0; padding: 0 12px; border: none; outline: none; background: transparent; box-shadow: none; font-size: 15px; color: var(--nc-ink); }
.nc .nc-hero-search button { flex: none; height: 48px; margin-right: 4px; padding: 0 24px; border: none; border-radius: 10px; background: var(--nc-red); color: #FFFFFF; font-size: 15px; font-weight: 600; cursor: pointer; }
.nc .nc-hero-search button:hover { background: var(--nc-red-d); }
.nc-ico-search { flex: none; position: relative; display: block; width: 18px; height: 18px; margin-left: 18px; color: var(--nc-mute); }
.nc-ico-search i { position: absolute; left: 0; top: 0; width: 13px; height: 13px; border: 2px solid currentColor; border-radius: 50%; }
.nc-ico-search b { position: absolute; left: 11px; top: 12px; width: 7px; height: 2px; background: currentColor; border-radius: 1px; transform: rotate(45deg); transform-origin: 0 50%; }
.nc-ico-search.is-sm { width: 15px; height: 15px; margin: 0; color: #FFFFFF; }
.nc-ico-search.is-sm i { width: 11px; height: 11px; }
.nc-ico-search.is-sm b { left: 9px; top: 10px; width: 6px; }
.nc-hero-hot { margin-top: 16px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.nc-hero-hot > span { font-size: 13px; color: rgba(255, 255, 255, .55); }
.nc .nc-hero-hot a { height: 32px; padding: 0 12px; display: flex; align-items: center; border: 1px solid rgba(255, 255, 255, .22); border-radius: 10px; font-size: 13px; color: rgba(255, 255, 255, .88); white-space: nowrap; transition: border-color .15s ease; }
.nc .nc-hero-hot a:hover { border-color: var(--nc-red-l); color: #FFFFFF; }

.nc-bar { position: relative; z-index: 2; border-top: 1px solid rgba(255, 255, 255, .12); background: rgba(0, 0, 0, .24); }
.nc-bar-in { position: relative; max-width: 1248px; height: 72px; margin: 0 auto; padding: 0 24px; display: flex; align-items: stretch; gap: 24px; }
.nc-bar-nav { flex: 1; min-width: 0; display: flex; align-items: center; gap: 16px; overflow-x: auto; scrollbar-width: none; }
.nc-bar-nav::-webkit-scrollbar { display: none; }
.nc-bar.is-over .nc-bar-nav { -webkit-mask-image: linear-gradient(90deg, #000 88%, transparent); mask-image: linear-gradient(90deg, #000 88%, transparent); }
.nc .nc-tab { flex: none; height: 40px; padding: 0 16px; display: flex; align-items: center; border: 1px solid rgba(255, 255, 255, .2); border-radius: 5px; background-color: transparent; font-size: 14px; line-height: 24px; font-weight: 400; color: rgba(255, 255, 255, .88); white-space: nowrap; transition: border-color .15s ease; }
.nc .nc-tabgroup .nc-tab { background-color: rgba(255, 255, 255, .04); }
.nc .nc-tab:hover { border-color: var(--nc-red-l); color: rgba(255, 255, 255, .88); }
.nc .nc-tab.is-on, .nc .nc-tab.is-on:hover { border-color: #FFFFFF; background-color: #FFFFFF; color: var(--nc-red); font-weight: 600; }
.nc-tabgroup { flex: none; height: 40px; padding-left: 16px; display: flex; align-items: center; gap: 4px; border-radius: 5px; background: rgba(255, 255, 255, .08); }
.nc-tabgroup-t { margin-right: 12px; font-size: 15px; font-weight: 700; color: #FFFFFF; white-space: nowrap; }
.nc-bar.is-compact .nc-tabgroup { padding-left: 0; }
.nc-bar.is-compact .nc-tabgroup-t { display: none; }
.nc-bar-tools { flex: none; display: flex; align-items: center; gap: 8px; }
.nc .nc-topic-btn { height: 40px; margin: 0; padding: 0 16px; display: flex; align-items: center; gap: 8px; border: 1px solid rgba(255, 255, 255, .2); border-radius: 5px; background-color: transparent; font-size: 14px; color: #FFFFFF; white-space: nowrap; cursor: pointer; }
.nc .nc-topic-btn:hover, .nc .nc-topic-btn[aria-expanded="true"] { border-color: var(--nc-red-l); }
.nc .nc-topic-btn.is-on { border-color: #FFFFFF; background-color: #FFFFFF; color: var(--nc-red); }
.nc-topic-btn i { display: inline-block; width: 6px; height: 6px; margin-top: -3px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transition: transform .2s ease; }
.nc-topic-btn[aria-expanded="true"] i { margin-top: 4px; transform: rotate(-135deg); }
.nc .nc-search-btn { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(255, 255, 255, .2); border-radius: 5px; color: #FFFFFF; }
.nc .nc-search-btn:hover { border-color: var(--nc-red-l); color: #FFFFFF; }
.nc-topic-menu { position: absolute; right: 24px; top: calc(100% + 8px); z-index: 3; width: 640px; max-width: calc(100vw - 48px); padding: 8px 24px 12px; display: flex; flex-direction: column; background: #FFFFFF; border: 1px solid var(--nc-line); border-radius: 10px; box-shadow: 0 16px 32px rgba(26, 26, 26, .14); color: var(--nc-ink); }
.nc-topic-row { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 16px; padding: 12px 0; border-bottom: 1px solid #F0F0F0; }
.nc-topic-row:last-child { border-bottom-color: transparent; }
.nc-topic-g { padding-top: 6px; font-size: 13px; line-height: 20px; font-weight: 700; color: var(--nc-ink); }
.nc-topic-items { display: flex; flex-wrap: wrap; gap: 8px; }
.nc .nc-topic-items a { height: 32px; padding: 0 12px; display: flex; align-items: center; border: 1px solid var(--nc-line); border-radius: 10px; font-size: 13px; color: var(--nc-ink); white-space: nowrap; }
.nc .nc-topic-items a:hover { border-color: var(--nc-red); color: var(--nc-red); }

/* ------------------------------------------------------------ 卡片（首页 / 栏目 / 相关文章同一套） */
.nc-card, .nc-feat { position: relative; border-radius: 10px; overflow: hidden; background: #FFFFFF; }
.nc-card::after, .nc-feat::after { content: ""; position: absolute; inset: 0; z-index: 2; border: 1px solid var(--nc-line); border-radius: 10px; pointer-events: none; transition: border-color .15s ease; }
.nc-card:hover::after, .nc-feat:hover::after { border-color: var(--nc-red); }
.nc-card { display: flex; flex-direction: column; }
.nc-card-img { position: relative; aspect-ratio: 1 / 1; overflow: hidden; background: var(--nc-bg); }
.nc-card-body { padding: 24px; display: flex; flex-direction: column; }
.nc .nc-card-t { margin: 8px 0 0; height: 56px; font-size: 18px; line-height: 28px; font-weight: 700; color: var(--nc-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nc .nc-card-t a, .nc .nc-feat-t a { color: var(--nc-ink); }
.nc-card-t a::after, .nc-feat-t a::after { content: ""; position: absolute; inset: 0; }
.nc-card-sum { margin: 8px 0 0; height: 48px; font-size: 14px; line-height: 24px; color: var(--nc-gray); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nc-card .nc-tags { margin-top: 16px; }
.nc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: 24px; }
.nc-grid.is-related { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.nc-empty { padding: 48px 0; font-size: 15px; line-height: 24px; color: var(--nc-gray); }

/* 精选 + 最新技术文章 */
.nc-feat-wrap { display: flex; flex-wrap: wrap; gap: 48px 24px; }
.nc-feat-main { flex: 2 1 24px; min-width: min(100%, 696px); display: flex; flex-direction: column; }
.nc-feat-side { flex: 1 1 0px; min-width: min(100%, 336px); display: flex; flex-direction: column; }
.nc-feat { flex: 1; display: grid; grid-template-columns: calc(50% - 12px) minmax(0, 1fr); }
.nc-feat-img { position: relative; min-height: 240px; background: var(--nc-bg); }
.nc-feat-body { min-width: 0; padding: 32px; display: flex; flex-direction: column; }
.nc .nc-feat-t { margin: 16px 0 0; height: 108px; font-size: 26px; line-height: 36px; font-weight: 700; color: var(--nc-ink); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.nc-feat-sum { margin: 16px 0 0; height: 72px; font-size: 15px; line-height: 24px; color: var(--nc-gray); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.nc-feat-foot { margin-top: auto; padding-top: 16px; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.nc-feat-foot .nc-tags { min-width: 0; }
.nc-feat-go { flex: none; font-size: 14px; line-height: 24px; font-weight: 600; color: var(--nc-red); }
.nc-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(144px, 1fr)); gap: 24px; }
.nc-tile { position: relative; display: block; aspect-ratio: 1 / 1; border-radius: 10px; overflow: hidden; background: var(--nc-ink); }
.nc-tile::after { content: ""; position: absolute; inset: 0; z-index: 2; border: 2px solid transparent; border-radius: 10px; pointer-events: none; transition: border-color .15s ease; }
.nc-tile:hover::after { border-color: var(--nc-red); }

/* 技术文章三栏 + 小行 */
.nc-cols3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 48px 24px; }
.nc-cols2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 48px 24px; }
.nc-col { min-width: 0; display: flex; flex-direction: column; }
.nc-rows { display: flex; flex-direction: column; margin-top: 8px; }
.nc .nc-row { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 16px; align-items: start; padding: 16px 0; border-bottom: 1px solid var(--nc-line); color: var(--nc-ink); }
.nc .nc-row:hover { color: var(--nc-red); }
.nc-row-img { position: relative; display: block; width: 72px; height: 72px; border-radius: 10px; overflow: hidden; background: var(--nc-bg); }
.nc-row-body { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.nc-row-t { height: 48px; font-size: 14px; line-height: 24px; font-weight: 600; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* 新闻动态两栏（日期块 + 文字 + 104 缩略图） */
.nc .nc-nrow { display: grid; grid-template-columns: 72px minmax(0, 1fr) 104px; gap: 24px; align-items: start; padding: 24px 0; border-bottom: 1px solid var(--nc-line); color: var(--nc-ink); }
.nc .nc-nrow:hover { color: var(--nc-red); }
.nc-nrow-date { display: flex; flex-direction: column; gap: 4px; padding-left: 14px; border-left: 2px solid var(--nc-red); }
.nc-nrow-date b { font-size: 32px; line-height: 40px; font-weight: 700; color: var(--nc-ink); font-variant-numeric: tabular-nums; }
.nc-nrow-date time { font-size: 13px; line-height: 20px; color: var(--nc-mute); white-space: nowrap; }
.nc-nrow-body { min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.nc-nrow-t { height: 48px; font-size: 16px; line-height: 24px; font-weight: 700; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nc-nrow-sum { height: 48px; font-size: 14px; line-height: 24px; color: var(--nc-gray); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nc-nrow-img { position: relative; display: block; width: 104px; height: 104px; border-radius: 10px; overflow: hidden; background: var(--nc-bg); }

/* 按话题浏览 */
.nc-topicgroups { border-top: 2px solid var(--nc-ink); }
.nc-topicgroup { display: flex; flex-wrap: wrap; gap: 8px 24px; padding: 24px 0; border-bottom: 1px solid var(--nc-line); }
.nc-topicgroup-h { flex: 0 0 calc(25% - 18px); min-width: 200px; display: flex; align-items: baseline; gap: 8px; line-height: 40px; }
.nc-topicgroup-h b { font-size: 16px; font-weight: 700; color: var(--nc-ink); }
.nc-topicgroup-h span { font-size: 13px; color: var(--nc-mute); }
.nc-topicgroup-items { flex: 1 1 0px; min-width: min(100%, 320px); display: flex; flex-wrap: wrap; gap: 8px; }
.nc .nc-topicgroup-items a { height: 40px; padding: 0 16px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--nc-line); border-radius: 10px; background: #FFFFFF; font-size: 14px; color: var(--nc-ink); white-space: nowrap; transition: border-color .15s ease; }
.nc .nc-topicgroup-items a:hover { border-color: var(--nc-red); color: var(--nc-red); }
.nc-topicgroup-items a span { font-size: 13px; color: var(--nc-mute); font-variant-numeric: tabular-nums; }

/* 分页 */
.nc-pager { margin-top: 48px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; font-variant-numeric: tabular-nums; }
.nc .nc-pg { min-width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--nc-line); border-radius: 10px; background: #FFFFFF; font-size: 14px; color: var(--nc-ink); }
.nc .nc-pg:hover { border-color: var(--nc-red); color: var(--nc-red); }
.nc .nc-pg.is-wide { padding: 0 16px; }
.nc .nc-pg.is-on { border-color: var(--nc-red); background: var(--nc-red); color: #FFFFFF; font-weight: 600; }
.nc .nc-pg.is-off, .nc .nc-pg.is-off:hover { border-color: var(--nc-line); color: var(--nc-line2); }
.nc-pg-gap { min-width: 24px; text-align: center; font-size: 14px; color: var(--nc-mute); }

/* 订阅块（NewsSubscribe wide） */
.nc-sub { padding: 48px; display: flex; flex-wrap: wrap; align-items: center; gap: 24px; background: var(--nc-bg); border-radius: 10px; }
.nc-sec.is-gray .nc-sub { background: #FFFFFF; }
.nc-sub-text, .nc-sub-form { flex: 1 1 0px; min-width: min(100%, 280px); display: flex; flex-direction: column; gap: 8px; }
.nc .nc-sub-t { font-size: 26px; line-height: 36px; font-weight: 700; color: var(--nc-ink); }
.nc-sub-d { font-size: 15px; line-height: 24px; color: var(--nc-gray); }
.nc-sub-edit { display: flex; flex-direction: column; gap: 8px; }
.nc-sub-tabs { align-self: flex-start; display: flex; gap: 4px; padding: 4px; background: var(--nc-line); border-radius: 10px; }
.nc .nc-sub-tabs button { height: 32px; margin: 0; padding: 0 16px; border: none; border-radius: 10px; background: transparent; box-shadow: none; font-size: 13px; font-weight: 400; color: var(--nc-gray); cursor: pointer; }
.nc .nc-sub-tabs button.is-on { background: #FFFFFF; box-shadow: 0 1px 2px rgba(26, 26, 26, .12); font-weight: 600; color: var(--nc-red); }
.nc-sub-row { display: flex; flex-wrap: wrap; gap: 8px; }
.nc .nc-sub-row input { flex: 1 1 220px; min-width: 0; height: 48px; margin: 0; padding: 0 16px; border: 1px solid var(--nc-line2); border-radius: 10px; background: #FFFFFF; box-shadow: none; outline: none; font-size: 15px; color: var(--nc-ink); }
.nc .nc-sub-row input:focus, .nc .nc-sub-row input[aria-invalid="true"] { border-color: var(--nc-red); }
.nc-sub-err { font-size: 13px; line-height: 20px; color: var(--nc-red); }
.nc-legal { font-size: 13px; line-height: 20px; color: var(--nc-mute); }
.nc .nc-legal a { color: var(--nc-gray); text-decoration: underline; }
.nc-ok { display: flex; align-items: flex-start; gap: 14px; }
.nc-ok-ico { flex: none; position: relative; width: 36px; height: 36px; border-radius: 50%; background: var(--nc-ink); }
.nc-ok-ico::after { content: ""; position: absolute; left: 13px; top: 8px; width: 9px; height: 16px; border-right: 2.5px solid #FFFFFF; border-bottom: 2.5px solid #FFFFFF; transform: rotate(45deg); }
.nc-ok.is-lg { gap: 16px; }
.nc-ok.is-lg .nc-ok-ico { width: 40px; height: 40px; }
.nc-ok.is-lg .nc-ok-ico::after { left: 15px; top: 10px; width: 10px; height: 17px; }
.nc-ok-body { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.nc-ok-t { font-size: 18px; line-height: 28px; font-weight: 700; color: var(--nc-ink); }
.nc-ok-d { font-size: 14px; line-height: 24px; color: var(--nc-gray); overflow-wrap: anywhere; }
.nc .nc-ok-reset { margin: 0; padding: 0; border: none; background: none; font-size: 14px; line-height: 24px; font-weight: 600; color: var(--nc-red); cursor: pointer; }
.nc .nc-ok-reset:hover { color: var(--nc-red-d); }
.nc-ok.is-lg .nc-ok-reset { margin-top: 8px; }

/* 选型支持横幅 */
.nc-support { padding: 48px; display: flex; flex-wrap: wrap; align-items: center; gap: 24px; background: var(--nc-ink); border-radius: 10px; }
.nc-support-text { flex: 1 1 0px; min-width: min(100%, 280px); display: flex; flex-direction: column; gap: 8px; }
.nc .nc-support-t { font-size: 32px; line-height: 40px; font-weight: 700; color: #FFFFFF; }
.nc-support-t span { color: var(--nc-red-l); }
.nc-support-d { font-size: 15px; line-height: 24px; color: var(--nc-line2); }
.nc-support-btns { flex: 1 1 0px; min-width: min(100%, 280px); display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 16px; }

/* ------------------------------------------------------------ 文章页：标题区 8 跨 + 右栏 4 跨（容器 < 960 单栏） */
.nc-art-sec { padding: 64px 24px 96px; }
.nc-art { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "t" "b" "r"; column-gap: 24px; row-gap: 48px; }
.nc-art-head { grid-area: t; min-width: 0; padding-bottom: 32px; border-bottom: 1px solid var(--nc-line); }
.nc-art-body { grid-area: b; min-width: 0; }
.nc-art-rail { grid-area: r; min-width: 0; }
.nc-art-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.nc .nc-art-cat { flex: none; font-size: 12px; line-height: 24px; font-weight: 700; letter-spacing: 2px; color: var(--nc-red); white-space: nowrap; }
.nc-art-sep { width: 1px; height: 12px; margin: 0 8px; background: var(--nc-line2); }
.nc .nc-art-h1 { margin: 16px 0 0; font-size: 34px; line-height: 44px; font-weight: 700; color: var(--nc-ink); text-wrap: pretty; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.nc-art-sub { margin: 16px 0 0; font-size: 16px; line-height: 28px; color: var(--nc-gray); text-wrap: pretty; }
.nc-art-meta { margin-top: 24px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; }
.nc-art-by { min-width: 0; display: flex; flex-wrap: wrap; align-items: center; column-gap: 8px; font-size: 14px; line-height: 32px; color: var(--nc-gray); }
.nc .nc-art-author { display: flex; align-items: center; gap: 8px; font-weight: 600; color: var(--nc-ink); white-space: nowrap; }
.nc .nc-art-author:hover { color: var(--nc-red); }
.nc-avatar { flex: none; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--nc-red); color: #FFFFFF; font-family: "Poppins", sans-serif; font-size: 14px; line-height: 1; font-weight: 700; }
.nc-avatar.is-lg { width: 56px; height: 56px; font-size: 22px; }
.nc-share { position: relative; flex: none; display: flex; gap: 8px; }
.nc .nc-share-btn { width: 32px; height: 32px; margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; border: 1px solid var(--nc-line); border-radius: 10px; background: #FFFFFF; cursor: pointer; transition: border-color .15s ease; }
.nc .nc-share-btn:hover, .nc .nc-share-btn[aria-expanded="true"] { border-color: var(--nc-red); }
.nc-share-btn img { display: block; width: 16px; height: 16px; }
/* 二维码浮层右缘对齐「微信」按钮（第 2 个按钮）：中文站 4 个按钮 right 80，英文站没有微博按钮 right 40 */
.nc-qr { position: absolute; top: 40px; right: 80px; z-index: 9; width: 176px; padding: 16px; display: flex; flex-direction: column; align-items: center; gap: 8px; background: #FFFFFF; border: 1px solid var(--nc-line); border-radius: 10px; box-shadow: 0 16px 32px rgba(26, 26, 26, .12); }
.nc.is-en .nc-qr { right: 40px; }
.nc-qr-img { width: 144px; height: 144px; display: flex; align-items: center; justify-content: center; }
.nc-qr-img svg, .nc-qr-img canvas, .nc-qr-img img { display: block; width: 144px; height: 144px; }
.nc-qr-t { font-size: 12px; line-height: 16px; color: var(--nc-gray); text-align: center; }

/* 正文（NewsArticleBody） */
.nc-keys { position: relative; overflow: hidden; margin: 0 0 48px; padding: 24px 32px; background: var(--nc-bg); border-radius: 10px; }
.nc-keys::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--nc-red); }
.nc .nc-keys ol { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.nc .nc-keys li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 8px; font-size: 16px; line-height: 28px; color: var(--nc-ink); }
.nc-keys-n { font-weight: 700; color: var(--nc-red); font-variant-numeric: tabular-nums; }
.nc-keys-t { min-width: 0; text-wrap: pretty; }
.nc-content strong, .nc-keys strong { font-weight: 700; }
.nc .nc-p, .nc .nc-a { margin: 0 0 16px; font-size: 17px; line-height: 32px; color: var(--nc-ink); text-wrap: pretty; overflow-wrap: break-word; }
.nc .nc-a { padding-left: 32px; }
.nc .nc-pn { text-decoration: underline dashed; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.nc .nc-h2 { position: relative; margin: 56px 0 16px; font-size: 24px; line-height: 32px; font-weight: 700; color: var(--nc-ink); text-wrap: pretty; scroll-margin-top: var(--nc-anchor); }
.nc-content > .nc-h2:first-child, .nc-keys + .nc-h2 { margin-top: 0; }
.nc .nc-h2-a { position: absolute; left: -24px; top: 0; width: 16px; text-align: center; font-weight: 600; color: var(--nc-red); opacity: 0; transition: opacity .15s ease; }
.nc .nc-h2:hover .nc-h2-a, .nc .nc-h2-a:focus-visible { opacity: 1; }
.nc .nc-h3 { margin: 32px 0 8px; font-size: 19px; line-height: 28px; font-weight: 700; color: var(--nc-ink); text-wrap: pretty; }
.nc .nc-q { margin: 32px 0 8px; display: grid; grid-template-columns: 32px minmax(0, 1fr); font-size: 19px; line-height: 28px; font-weight: 700; color: var(--nc-ink); }
.nc-q-mark { color: var(--nc-red); font-family: "Poppins", sans-serif; }
.nc-q-t { min-width: 0; text-wrap: pretty; }
.nc .nc-ul, .nc .nc-ol { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.nc .nc-ul > li, .nc .nc-ol > li { display: grid; grid-template-columns: 32px minmax(0, 1fr); font-size: 17px; line-height: 32px; color: var(--nc-ink); list-style: none; }
.nc-li-dot { width: 6px; height: 6px; margin: 13px 0 0 4px; border-radius: 50%; background: var(--nc-red); }
.nc-li-n { font-weight: 700; color: var(--nc-red); font-variant-numeric: tabular-nums; }
.nc-li-t { min-width: 0; text-wrap: pretty; overflow-wrap: break-word; }
.nc .nc-fig { margin: 24px 0 32px; }
.nc .nc-fig img { display: block; width: auto; max-width: 100%; height: auto; margin: 0 auto; border: 1px solid var(--nc-line); border-radius: 10px; background: #FFFFFF; cursor: zoom-in; }
.nc .nc-fig figcaption { margin-top: 8px; font-size: 13px; line-height: 20px; color: var(--nc-mute); text-align: center; text-wrap: pretty; }
.nc .nc-gal-in { display: grid; grid-template-columns: repeat(var(--nc-gal, 2), minmax(0, 1fr)); gap: 16px; align-items: center; }
.nc .nc-gal-in img { margin: 0 auto; }
.nc-table { margin: 24px 0 32px; overflow-x: auto; overflow-y: hidden; border-top: 2px solid var(--nc-ink); }
.nc-table-in { min-width: 560px; }
.nc-tr { display: grid; border-bottom: 1px solid var(--nc-line); }
.nc-thead { background: var(--nc-bg); }
.nc-th { padding: 12px 16px; font-size: 13px; line-height: 20px; font-weight: 600; color: var(--nc-gray); text-align: left; white-space: nowrap; }
.nc-td { min-width: 0; padding: 12px 16px; font-size: 15px; line-height: 24px; color: var(--nc-ink); text-align: left; font-variant-numeric: tabular-nums; text-wrap: pretty; overflow-wrap: break-word; }
.nc-th.is-r, .nc-td.is-r { text-align: right; }
.nc-td.c-pn { color: var(--nc-red); }
.nc-td.c-gray { color: var(--nc-gray); }
.nc-td.w-700 { font-weight: 700; }
.nc-td.w-600 { font-weight: 600; }
.nc-note { position: relative; overflow: hidden; margin: 24px 0 32px; padding: 16px 24px; background: #FFF6EA; border-radius: 10px; }
.nc-note::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--nc-red-d); }
.nc-note-lb { display: block; font-size: 13px; line-height: 20px; font-weight: 700; color: var(--nc-red-d); }
.nc .nc-note p { margin: 4px 0 0; font-size: 16px; line-height: 28px; color: var(--nc-ink); text-wrap: pretty; }
.nc-pcard { margin: 24px 0 32px; padding: 24px; display: flex; flex-wrap: wrap; gap: 24px; border: 1px solid var(--nc-line); border-radius: 10px; background: #FFFFFF; }
.nc .nc-pcard-img { flex: none; width: 120px; height: 120px; padding: 8px; display: flex; align-items: center; justify-content: center; overflow: hidden; border: 1px solid var(--nc-line); border-radius: 10px; background: #FFFFFF; font-size: 12px; line-height: 16px; color: var(--nc-mute); }
.nc-pcard-img img, .nc-rail-prod-img img, .nc-pnhit-img img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; }
.nc-pcard-body { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; }
.nc-pcard-cat { font-size: 12px; line-height: 16px; color: var(--nc-mute); }
.nc .nc-pcard-pn { margin-top: 8px; font-size: 18px; line-height: 28px; font-weight: 700; color: var(--nc-ink); overflow-wrap: anywhere; }
.nc .nc-pcard-pn:hover { color: var(--nc-red); }
.nc-pcard-d { font-size: 14px; line-height: 24px; color: var(--nc-gray); }
.nc-chips { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 8px; }
.nc-chip { height: 24px; padding: 0 8px; display: flex; align-items: center; border: 1px solid var(--nc-line); border-radius: 10px; background: var(--nc-bg); font-size: 12px; line-height: 16px; color: var(--nc-gray); white-space: nowrap; }
.nc-pcard-act { margin-top: 24px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; }
.nc-pcard-btns { display: flex; gap: 8px; }
.nc .nc-scard { margin: 24px 0 32px; display: flex; flex-wrap: wrap; overflow: hidden; border: 1px solid var(--nc-line); border-radius: 10px; background: #FFFFFF; color: var(--nc-ink); transition: border-color .15s ease; }
.nc .nc-scard:hover { border-color: var(--nc-red); color: var(--nc-ink); }
.nc-scard-img { flex: 0 0 320px; max-width: 100%; aspect-ratio: 16 / 9; background-color: var(--nc-bg); background-repeat: no-repeat; background-position: center; background-size: 96px 96px; }
.nc-scard-body { flex: 1 1 280px; min-width: 0; padding: 16px 24px; display: flex; flex-direction: column; justify-content: center; gap: 8px; }
.nc-scard-t { font-size: 18px; line-height: 28px; font-weight: 700; }
.nc-scard-d { font-size: 14px; line-height: 24px; color: var(--nc-gray); text-wrap: pretty; }
.nc-scard-go { font-size: 14px; line-height: 24px; font-weight: 600; color: var(--nc-red); }

/* 文末联系区：嵌网站样品申请页同一张表单（样式 problem-guide.css + sample-request-v2.css 由 _head 在文章页加载）。
   这里只调外边距、把表单自带的「需求类型 / 选择需求类型，填写对应字段」大标题换成本区标题（标题仍是表单区的 aria 名称） */
.nc-artform { margin-top: 48px; padding-top: 48px; border-top: 1px solid var(--nc-line); scroll-margin-top: var(--nc-anchor); }
.nc .nc-artform-t { margin-top: 16px; font-size: 26px; line-height: 36px; font-weight: 700; color: var(--nc-ink); }
.nc-artform-t span { color: var(--nc-red); }
.nc .nc-artform-d { margin-top: 8px; font-size: 15px; line-height: 24px; color: var(--nc-gray); }
.nc .sr-embed .sr-body { padding: 24px 0 0; scroll-margin-top: var(--nc-anchor); }
.nc .sr-embed .pg-container { width: auto; margin: 0; }
.nc .sr-embed .sr-body .pg-eyebrow, .nc .sr-embed #sr-type-title { display: none; }
/* 弹层（手机底部联系条的微信二维码） */

/* 直接联系：电话 / 微信（WhatsApp）扫码 / 邮箱。浅色用在表单下，is-dark 用在深色卡和横幅里 */
.nc-ct { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.nc .nc-ct-i { min-width: 0; margin: 0; padding: 0; border: none; background: none; box-shadow: none; display: inline-flex; align-items: center; gap: 10px; font: inherit; text-align: left; color: var(--nc-ink); cursor: pointer; }
.nc .nc-ct-i:hover { color: var(--nc-red); }
.nc-ct-ico { flex: none; width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--nc-line2); border-radius: 10px; background: #FFFFFF; color: var(--nc-red); transition: border-color .15s ease; }
.nc-ct-i:hover .nc-ct-ico, .nc-ct-qrw.is-open .nc-ct-ico { border-color: var(--nc-red); }
.nc-ct-tx { min-width: 0; display: flex; flex-direction: column; }
.nc-ct-tx b { font-size: 12px; line-height: 16px; font-weight: 400; color: var(--nc-mute); }
.nc-ct-tx span { font-size: 14px; line-height: 20px; font-weight: 600; white-space: nowrap; }
.nc-ct-qrw { position: relative; display: inline-flex; }
.nc-ct-pop { position: absolute; left: 0; bottom: calc(100% + 8px); z-index: 30; width: 164px; padding: 16px; display: none; flex-direction: column; align-items: center; gap: 8px; border: 1px solid var(--nc-line); border-radius: 10px; background: #FFFFFF; box-shadow: 0 12px 32px rgba(26, 26, 26, .16); }
.nc-ct-pop img { display: block; width: 132px; height: 132px; }
.nc-ct-pop-t { font-size: 12px; line-height: 18px; color: var(--nc-ink); text-align: center; }
.nc-ct-pop-h { font-size: 12px; line-height: 16px; color: var(--nc-mute); text-align: center; }
.nc-ct-qrw:hover .nc-ct-pop, .nc-ct-qrw:focus-within .nc-ct-pop, .nc-ct-qrw.is-open .nc-ct-pop { display: flex; }
.nc-ct.is-stack { margin-top: 16px; padding-top: 16px; flex-direction: column; align-items: flex-start; border-top: 1px solid rgba(255, 255, 255, .16); }
.nc-ct.is-wide { flex: 1 1 100%; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .16); }
.nc .nc-ct.is-dark .nc-ct-i, .nc .nc-ct.is-dark .nc-ct-i:hover { color: #FFFFFF; }
.nc-ct.is-dark .nc-ct-ico { border-color: rgba(255, 255, 255, .28); background: transparent; color: #FFFFFF; }
.nc-ct.is-dark .nc-ct-i:hover .nc-ct-ico, .nc-ct.is-dark .nc-ct-qrw.is-open .nc-ct-ico { border-color: #FFFFFF; }
.nc-ct.is-dark .nc-ct-tx b { color: var(--nc-line2); }
.nc-modal { position: fixed; inset: 0; z-index: 2000; padding: 24px; display: flex; align-items: center; justify-content: center; background: rgba(26, 26, 26, .48); }
.nc-modal-box { width: 100%; max-width: 480px; max-height: calc(100vh - 48px); overflow: auto; padding: 32px; display: flex; flex-direction: column; gap: 24px; background: #FFFFFF; border-radius: 10px; box-shadow: 0 24px 48px rgba(26, 26, 26, .18); }
.nc-modal-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.nc-modal-ht { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.nc-modal-t { font-size: 20px; line-height: 28px; font-weight: 700; color: var(--nc-ink); }
.nc-modal-sub { font-size: 14px; line-height: 24px; color: var(--nc-gray); overflow-wrap: anywhere; }
.nc .nc-modal-x { flex: none; width: 32px; height: 32px; margin: 0; padding: 0; border: 1px solid var(--nc-line); border-radius: 10px; background: #FFFFFF; font-size: 16px; line-height: 1; color: var(--nc-gray); cursor: pointer; }
.nc .nc-modal-x:hover { border-color: var(--nc-red); color: var(--nc-red); }
.nc-toast { position: fixed; left: 50%; bottom: 32px; z-index: 2001; height: 40px; padding: 0 16px; display: flex; align-items: center; transform: translateX(-50%); border-radius: 10px; background: var(--nc-ink); color: #FFFFFF; font-size: 14px; white-space: nowrap; box-shadow: 0 8px 24px rgba(26, 26, 26, .2); }
.nc-zoom { position: fixed; inset: 0; z-index: 2000; padding: 24px; display: flex; align-items: center; justify-content: center; background: rgba(26, 26, 26, .88); cursor: zoom-out; }
.nc-zoom img { display: block; max-width: 100%; max-height: 100%; border-radius: 10px; background: #FFFFFF; }

/* 作者卡 / 上一篇下一篇 */
.nc-authorcard { margin-top: 48px; padding: 24px; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; border: 1px solid var(--nc-line); border-radius: 10px; }
.nc-authorcard-body { flex: 1 1 240px; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.nc-authorcard-body b { font-size: 16px; line-height: 24px; font-weight: 700; color: var(--nc-ink); }
.nc-authorcard-body span { font-size: 14px; line-height: 24px; color: var(--nc-gray); }
.nc .nc-authorcard > a { flex: none; font-size: 14px; line-height: 24px; font-weight: 600; }
.nc-adj { margin-top: 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 24px; }
.nc .nc-adj-a { min-width: 0; padding: 24px; display: flex; flex-direction: column; gap: 8px; border: 1px solid var(--nc-line); border-radius: 10px; color: var(--nc-ink); transition: border-color .15s ease; }
.nc .nc-adj-a:hover { border-color: var(--nc-red); color: var(--nc-red); }
.nc .nc-adj-a.is-next { align-items: flex-end; text-align: right; }
.nc-adj-k, .nc-adj-d { font-size: 13px; line-height: 20px; color: var(--nc-mute); }
.nc-adj-t { height: 48px; font-size: 16px; line-height: 24px; font-weight: 700; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* 右栏：本文提到的产品 / 选型支持小卡 / 吸顶目录 */
.nc-rail-stack { display: flex; flex-direction: column; gap: 32px; }
.nc-rail-prods { display: flex; flex-direction: column; }
.nc-rail-head { height: 48px; padding-bottom: 14px; display: flex; justify-content: space-between; align-items: center; gap: 16px; border-bottom: 2px solid var(--nc-ink); }
.nc .nc-rail-head h2 { font-size: 16px; line-height: 32px; font-weight: 700; color: var(--nc-ink); white-space: nowrap; }
.nc-rail-head span { font-size: 13px; line-height: 20px; color: var(--nc-mute); font-variant-numeric: tabular-nums; }
.nc .nc-rail-prod { display: grid; grid-template-columns: 56px minmax(0, 1fr) 16px; gap: 16px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--nc-line); color: var(--nc-ink); }
.nc .nc-rail-prod:hover { color: var(--nc-red); }
.nc-rail-prod-img { width: 56px; height: 56px; padding: 4px; display: flex; align-items: center; justify-content: center; overflow: hidden; border: 1px solid var(--nc-line); border-radius: 10px; background: #FFFFFF; font-size: 11px; line-height: 16px; color: var(--nc-mute); text-align: center; }
.nc-rail-prod-body { min-width: 0; display: flex; flex-direction: column; }
.nc-rail-prod-body b { font-size: 14px; line-height: 20px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nc-rail-prod-body span { font-size: 13px; line-height: 20px; color: var(--nc-mute); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nc-rail-prod-go { font-size: 14px; line-height: 20px; color: var(--nc-red); }
.nc .nc-rail-more { align-self: flex-start; margin: 16px 0 0; padding: 0; border: none; background: none; font-size: 13px; line-height: 20px; font-weight: 600; color: var(--nc-red); cursor: pointer; }
.nc-rail-support { padding: 24px; display: flex; flex-direction: column; gap: 8px; background: var(--nc-ink); border-radius: 10px; }
.nc .nc-rail-support h2 { font-size: 18px; line-height: 28px; font-weight: 700; color: #FFFFFF; }
.nc-rail-support h2 span { color: var(--nc-red-l); }
.nc-rail-support p { font-size: 14px; line-height: 24px; color: var(--nc-line2); }
.nc-rail-support-btns { margin-top: 16px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.nc-rail-support-btns a { padding: 0 8px; }
.nc-toc { display: none; }
.nc-toc-prog { margin-top: 16px; height: 2px; display: block; overflow: hidden; border-radius: 1px; background: var(--nc-line); }
.nc-toc-prog span { display: block; width: 0; height: 100%; background: var(--nc-red); }
.nc .nc-toc ol { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-direction: column; }
.nc .nc-toc li { list-style: none; }
.nc .nc-toc a { display: block; padding: 6px 0 6px 14px; border-left: 2px solid var(--nc-line); font-size: 14px; line-height: 20px; font-weight: 400; color: var(--nc-gray); }
.nc .nc-toc a:hover { color: var(--nc-red); }
.nc .nc-toc a[aria-current="true"] { border-left-color: var(--nc-red); font-weight: 600; color: var(--nc-red); }
.nc-toc a span { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
/* 跟随区：目录 + 「对本文有疑问？」小卡一起吸顶（窄屏右栏落到正文后面，目录不显示，改由底部联系条接替） */
.nc-rail-follow { display: none; }
.nc-rail-ask { padding: 20px 24px; display: flex; flex-direction: column; gap: 4px; border: 1px solid var(--nc-line); border-radius: 10px; background: #FFFFFF; }
.nc-rail-ask-t { font-size: 16px; line-height: 24px; font-weight: 700; color: var(--nc-ink); }
.nc-rail-ask-d { font-size: 13px; line-height: 20px; color: var(--nc-gray); }
.nc-rail-ask-row { margin-top: 12px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
.nc .nc-btn-red.is-sm { height: 36px; padding: 0 16px; }
.nc .nc-rail-ask-tel { font-size: 14px; line-height: 20px; font-weight: 600; color: var(--nc-ink); white-space: nowrap; }
.nc .nc-rail-ask-tel:hover { color: var(--nc-red); }

@media (min-width: 1008px) {
    .nc-art { grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-areas: "t t t t t t t t r r r r" "b b b b b b b b r r r r"; }
    .nc-rail-follow { position: sticky; top: var(--nc-sticky); margin-top: 32px; display: flex; flex-direction: column; gap: 24px; }
    .nc-toc { display: flex; flex-direction: column; }
    /* 矮屏：目录太长时目录内部滚动，下面的咨询小卡始终在屏内 */
    .nc .nc-toc ol { max-height: calc(100vh - var(--nc-sticky) - 230px); overflow-y: auto; overscroll-behavior: contain; }
}

/* 手机底部联系条（中文站、窄屏；滚过文章开头后出现，滚到表单或页脚时收起） */
.nc-mbar { display: none; }
@media (max-width: 1007px) {
    .nc-mbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; padding: 8px 16px calc(8px + env(safe-area-inset-bottom, 0px)); display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 8px; border-top: 1px solid var(--nc-line); background: #FFFFFF; box-shadow: 0 -4px 16px rgba(26, 26, 26, .06); transform: translateY(110%); transition: transform .2s ease; }
    .nc-mbar.is-on { transform: none; }
}
.nc .nc-mbar-i { height: 44px; margin: 0; padding: 0 8px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid var(--nc-line2); border-radius: 10px; background: #FFFFFF; box-shadow: none; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--nc-ink); white-space: nowrap; cursor: pointer; }
.nc .nc-mbar-i svg { flex: none; color: var(--nc-red); }
.nc .nc-mbar-i.is-main, .nc .nc-mbar-i.is-main:hover { border-color: var(--nc-red); background: var(--nc-red); color: #FFFFFF; }
.nc-mbar-sheet .nc-modal-box { max-width: 320px; align-items: stretch; }
.nc-mbar-qr { display: block; width: 200px; height: 200px; margin: 0 auto; }
.nc .nc-mbar-qr-t { font-size: 14px; line-height: 22px; color: var(--nc-gray); text-align: center; }

/* ------------------------------------------------------------ 话题页 / 搜索页 / 技术团队页（由首页组件拼成） */
.nc-reltopics { margin-top: 48px; display: flex; flex-direction: column; gap: 16px; }
.nc-reltopics-t { font-size: 16px; line-height: 24px; font-weight: 700; color: var(--nc-ink); }
.nc-results { display: flex; flex-direction: column; }
.nc .nc-result { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 24px; align-items: start; padding: 24px 0; border-bottom: 1px solid var(--nc-line); color: var(--nc-ink); }
.nc-result .nc-row-img { width: 104px; height: 104px; }
.nc-result-body { min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.nc-result-t { font-size: 18px; line-height: 28px; font-weight: 700; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nc .nc-result:hover .nc-result-t { color: var(--nc-red); }
.nc-result-sum { font-size: 14px; line-height: 24px; color: var(--nc-gray); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nc mark { padding: 0 2px; border-radius: 2px; background: #FFF6EA; color: var(--nc-red); }
.nc .nc-pnhit { margin-bottom: 24px; padding: 16px 24px; display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 16px; align-items: center; border: 1px solid var(--nc-line); border-radius: 10px; background: #FFFFFF; color: var(--nc-ink); transition: border-color .15s ease; }
.nc .nc-pnhit:hover { border-color: var(--nc-red); color: var(--nc-ink); }
.nc-pnhit-img { width: 72px; height: 72px; padding: 4px; display: flex; align-items: center; justify-content: center; overflow: hidden; border: 1px solid var(--nc-line); border-radius: 10px; }
.nc-pnhit-body { min-width: 0; display: flex; flex-direction: column; }
.nc-pnhit-k { font-size: 16px; line-height: 24px; font-weight: 700; }
.nc-pnhit-d { font-size: 14px; line-height: 24px; color: var(--nc-gray); }
.nc-noresult { padding: 48px 0; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.nc .nc-noresult h2 { font-size: 26px; line-height: 36px; font-weight: 700; color: var(--nc-ink); }
.nc-noresult p { font-size: 15px; line-height: 24px; color: var(--nc-gray); }
.nc-noresult .nc-topicgroup-items { flex: none; }
.nc-rules { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 282px), 1fr)); gap: 24px; }
.nc-rule { padding: 32px; display: flex; flex-direction: column; gap: 8px; background: #FFFFFF; border-radius: 10px; }
.nc-rule-n { font-size: 13px; line-height: 20px; font-weight: 700; color: var(--nc-red); font-variant-numeric: tabular-nums; }
.nc-rule b { font-size: 18px; line-height: 28px; font-weight: 700; color: var(--nc-ink); }
.nc-rule p { font-size: 14px; line-height: 24px; color: var(--nc-gray); }

/* ------------------------------------------------------------ 窄屏（设计稿手机端待定稿，先保证不挤不溢出） */
@media (max-width: 1227px) {
    .nc-hero:not(.is-compact) .nc-hero-banner { opacity: .3; }
}
@media (max-width: 767px) {
    .nc-sec { padding-top: 64px; padding-bottom: 64px; }
    .nc-sec-ruled > .nc-wrap { padding-top: 64px; }
    .nc-sechead h2, .nc .nc-support-t { font-size: 26px; line-height: 36px; }
    .nc-hero-in { padding: 32px 24px 40px; }
    .nc .nc-hero-h1 { font-size: 36px; line-height: 44px; }
    /* 手机上长标题超过 3 行：标题不截断 */
    .nc .nc-art-h1 { font-size: 26px; line-height: 36px; display: block; -webkit-line-clamp: none; overflow: visible; }
    .nc-feat { grid-template-columns: minmax(0, 1fr); }
    .nc-feat-img { aspect-ratio: 1 / 1; min-height: 0; }
    .nc-feat-body { padding: 24px; }
    .nc .nc-feat-t { height: auto; max-height: 108px; font-size: 22px; line-height: 32px; }
    .nc .nc-nrow { grid-template-columns: 64px minmax(0, 1fr); gap: 16px; }
    .nc-nrow-img { display: none; }
    .nc-sub, .nc-support { padding: 32px 24px; }
    .nc-topic-row { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .nc-topic-menu { right: 24px; left: 24px; width: auto; max-width: none; max-height: 70vh; overflow: auto; }
    .nc-keys { padding: 24px; }
    .nc .nc-result { grid-template-columns: 72px minmax(0, 1fr); gap: 16px; }
    .nc-result .nc-row-img { width: 72px; height: 72px; }
    .nc .nc-pnhit { grid-template-columns: 56px minmax(0, 1fr); }
    .nc .nc-pnhit .nc-link { grid-column: 1 / -1; }
    .nc .nc-gal-in { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .nc-scard-img { flex-basis: 100%; }
}

/* 中文站：cn-typography.css 用 !important 把所有元素改成 Noto Sans SC；封面栏目标签保留设计稿的宋体 */
html body main.nc .nc-cv .nc-cv-lb { font-family: "NC Serif", "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", serif !important; }

/* ------------------------------------------------------------ 物料替代：栏目条入口 / 文章对照卡 / 物料替代查询页 /news/cross-reference/ / 搜索直达
 * 兼容程度标签：pin 绿、check 琥珀、func 灰；none（报告没下结论）只显示「见对比报告」文字。数据见 app/service/NewsCrossRef.php */
.nc .nc-xref-btn { flex: none; height: 40px; padding: 0 16px; display: flex; align-items: center; border: 1px solid rgba(255, 255, 255, .2); border-radius: 5px; font-size: 14px; line-height: 24px; color: #FFFFFF; white-space: nowrap; transition: border-color .15s ease; }
.nc .nc-xref-btn:hover { border-color: var(--nc-red-l); color: #FFFFFF; }
.nc .nc-xref-btn.is-on, .nc .nc-xref-btn.is-on:hover { border-color: #FFFFFF; background-color: #FFFFFF; color: var(--nc-red); font-weight: 600; }
.nc .nc-hero-xref { margin-top: 16px; display: inline-flex; font-size: 14px; line-height: 24px; font-weight: 600; color: #FFFFFF; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .4); text-underline-offset: 4px; }
.nc .nc-hero-xref:hover { color: #FFFFFF; text-decoration-color: var(--nc-red-l); }

.nc-xlv { flex: none; height: 24px; padding: 0 8px; display: inline-flex; align-items: center; border-radius: 5px; font-size: 12px; line-height: 16px; font-weight: 600; white-space: nowrap; }
.nc-xlv.is-pin { background: #E8F4EC; color: #1D6B42; }
.nc-xlv.is-check { background: #FFF4E0; color: #8A5300; }
.nc-xlv.is-func { background: var(--nc-bg); color: var(--nc-gray); }
.nc-xlv.is-none { padding: 0; background: none; font-weight: 400; color: var(--nc-mute); }

/* 文章页对照卡（标题下、要点速览之前） */
.nc-xcard { margin: 0 0 48px; padding: 24px 32px; display: flex; flex-direction: column; gap: 16px; border: 1px solid var(--nc-line); border-radius: 10px; background: #FFFFFF; }
.nc-xcard-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.nc-xcard-map { display: grid; grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr); align-items: stretch; }
.nc-xcard-side { min-width: 0; padding: 16px; display: flex; flex-direction: column; gap: 4px; border-radius: 10px; background: var(--nc-bg); }
.nc-xcard-side.is-voohu { background: #FFFFFF; box-shadow: inset 0 0 0 1px var(--nc-red); }
.nc-xcard-k { font-size: 12px; line-height: 16px; color: var(--nc-mute); }
.nc .nc-xcard-pn { font-size: 18px; line-height: 28px; font-weight: 700; color: var(--nc-ink); overflow-wrap: anywhere; }
.nc a.nc-xcard-pn { color: var(--nc-red); }
.nc a.nc-xcard-pn:hover { color: var(--nc-red-d); }
.nc-xcard-pn small, .nc-xtd-comp small, .nc-xtd-voohu small { margin-left: 6px; font-size: 12px; font-weight: 400; color: var(--nc-mute); }
.nc-xcard-d { font-size: 13px; line-height: 20px; color: var(--nc-gray); display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.nc-xcard-arrow { position: relative; align-self: center; justify-self: center; width: 20px; height: 2px; background: var(--nc-line2); }
.nc-xcard-arrow::after { content: ""; position: absolute; right: 0; top: -4px; width: 8px; height: 8px; border-top: 2px solid var(--nc-line2); border-right: 2px solid var(--nc-line2); transform: rotate(45deg); }
.nc-xcard-tb { border-top: 2px solid var(--nc-ink); }
.nc-xcard-tr { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1fr); gap: 16px; padding: 8px 0; border-bottom: 1px solid var(--nc-line); font-size: 14px; line-height: 24px; color: var(--nc-ink); }
.nc-xcard-tr.is-head { font-size: 13px; line-height: 20px; font-weight: 600; color: var(--nc-gray); }
.nc-xcard-tr > span { min-width: 0; overflow-wrap: anywhere; }
.nc-xcard-tr > span:first-child { color: var(--nc-gray); }
.nc-xsame { margin-left: 8px; padding: 0 6px; border-radius: 4px; background: #E8F4EC; font-style: normal; font-size: 12px; line-height: 20px; color: #1D6B42; white-space: nowrap; }
.nc .nc-xcard-note { font-size: 15px; line-height: 26px; color: var(--nc-ink); text-wrap: pretty; }
.nc-xcard-note b { margin-right: 8px; font-weight: 700; }
.nc-xcard-act { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.nc .nc-link.is-mute { font-weight: 400; color: var(--nc-gray); }
.nc .nc-link.is-mute:hover { color: var(--nc-red); }
.nc .nc-xcard-fine, .nc .nc-xfine { font-size: 12px; line-height: 20px; color: var(--nc-mute); }
.nc-xcard + .nc-h2 { margin-top: 0; }

/* 物料替代查询页：查询框 + 命中结果（不列整张对照表） */
.nc-xlook { max-width: 880px; }
.nc-xq { margin-bottom: 32px; height: 64px; padding-right: 8px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--nc-line2); border-radius: 10px; background: #FFFFFF; transition: border-color .15s ease; }
.nc-xq:focus-within { border-color: var(--nc-red); }
.nc .nc-xq input { flex: 1; min-width: 0; height: 100%; margin: 0; padding: 0 12px; border: none; outline: none; background: transparent; box-shadow: none; font-size: 18px; line-height: 28px; color: var(--nc-ink); }
.nc .nc-xq input::-webkit-search-cancel-button { display: none; }
.nc .nc-xq .nc-btn-red { height: 48px; padding: 0 24px; }
.nc-xres { margin-bottom: 32px; display: flex; flex-direction: column; gap: 16px; }
.nc-xr { padding: 24px; display: flex; flex-direction: column; gap: 16px; border: 1px solid var(--nc-line); border-radius: 10px; background: #FFFFFF; }
.nc-xr-top { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: start; }
.nc-xr-top > .nc-xlv { justify-self: end; }
.nc-xnone { margin-bottom: 32px; padding: 24px; display: flex; flex-direction: column; gap: 16px; border-radius: 10px; background: var(--nc-bg); }
.nc .nc-xnone p { font-size: 15px; line-height: 24px; color: var(--nc-gray); }
.nc-xnone-btns { display: flex; flex-wrap: wrap; gap: 8px; }
.nc-xhow { padding-top: 24px; display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 32px; align-items: start; border-top: 1px solid var(--nc-line); }
.nc .nc-xtips { margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; list-style: none; font-size: 14px; line-height: 24px; color: var(--nc-gray); }
.nc .nc-xtips li { position: relative; padding-left: 16px; }
.nc .nc-xtips li::before { content: ""; position: absolute; left: 2px; top: 10px; width: 5px; height: 5px; border-radius: 50%; background: var(--nc-red); }
.nc-xbom { padding: 16px; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; border-radius: 10px; background: var(--nc-bg); }
.nc .nc-xbom p { font-size: 14px; line-height: 22px; font-weight: 600; color: var(--nc-ink); }
.nc .nc-xfine { margin-top: 24px; }

/* 产品替代方案栏目横幅 / 搜索直达 */
.nc-xbanner { margin-bottom: 32px; padding: 16px 24px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; border-radius: 10px; background: var(--nc-bg); }
.nc .nc-xbanner p { flex: 1 1 420px; min-width: 0; font-size: 15px; line-height: 24px; color: var(--nc-gray); }
.nc-xbanner p b { margin-right: 8px; color: var(--nc-ink); }
.nc-xhits { margin-bottom: 24px; padding: 16px 24px; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; border: 1px solid var(--nc-line); border-radius: 10px; }
.nc .nc-xhit { align-self: stretch; padding: 8px 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; border-bottom: 1px solid var(--nc-line); color: var(--nc-ink); }
.nc .nc-xhit:hover .nc-xhit-map b { color: var(--nc-red); }
.nc-xhit-map { min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 16px; line-height: 24px; }
.nc-xhit-map i { font-style: normal; color: var(--nc-mute); }
.nc-xhit-map .is-voohu { color: var(--nc-red); }
.nc .nc-xhit .nc-link { margin-left: auto; }

@media (max-width: 767px) {
    .nc-xcard { padding: 24px; }
    .nc-xcard-map { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .nc-xcard-arrow { width: 2px; height: 16px; }
    .nc-xcard-arrow::after { right: -3px; top: auto; bottom: 0; transform: rotate(135deg); }
    .nc-xcard-tr { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4px 16px; }
    .nc-xcard-tr > span:first-child { grid-column: 1 / -1; font-size: 13px; line-height: 20px; }
    .nc-xcard-tr.is-head > span:first-child { display: none; }
    .nc-xq { height: 56px; }
    .nc .nc-xq input { font-size: 16px; }
    .nc .nc-xq .nc-btn-red { height: 40px; padding: 0 16px; }
    .nc-xr { padding: 16px; }
    .nc-xr-top, .nc-xhow { grid-template-columns: minmax(0, 1fr); }
    .nc-xr-top > .nc-xlv { justify-self: start; }
    .nc .nc-bar-tools .nc-xref-btn { padding: 0 12px; }
}

/* ------------------------------------------------------------ 数据来源与测试条件（正文说明框）/ 更新记录（文末）
 * 说明框：段首「数据来源：」「测试条件：」的连续段落合成一个框（NewsArticleParser RE_SRC）；更新记录：后台字段 updated 每行一条 */
.nc-src { margin: 24px 0 32px; padding: 16px 24px; border: 1px solid var(--nc-line); border-left: 3px solid var(--nc-gray); border-radius: 0 10px 10px 0; background: #FAFAFA; }
.nc-src-h { display: block; margin-bottom: 8px; font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 2px; color: var(--nc-gray); }
.nc .nc-src dl { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.nc-src-row { display: grid; grid-template-columns: minmax(72px, max-content) minmax(0, 1fr); gap: 16px; font-size: 14px; line-height: 24px; }
.nc .nc-src dt { margin: 0; font-weight: 600; color: var(--nc-ink); white-space: nowrap; }
.nc .nc-src dd { margin: 0; min-width: 0; color: var(--nc-gray); overflow-wrap: anywhere; }
.nc-log { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--nc-line); }
.nc .nc-log-t { margin: 0 0 12px; font-size: 16px; line-height: 24px; font-weight: 700; color: var(--nc-ink); }
.nc .nc-log ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.nc .nc-log li { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 16px; font-size: 14px; line-height: 24px; color: var(--nc-gray); }
.nc-log time { color: var(--nc-ink); font-variant-numeric: tabular-nums; }
.nc-log + .nc-authorcard { margin-top: 32px; }
@media (max-width: 767px) {
    .nc-src { padding: 16px; }
    .nc-src-row, .nc .nc-log li { grid-template-columns: minmax(0, 1fr); gap: 0; }
}

/* ------------------------------------------------------------ 首页信任条（首屏栏目条下） */
.nc-trust { padding: 16px 24px; padding-right: max(24px, var(--vh-float-right, 0px)); border-bottom: 1px solid var(--nc-line); background: #FFFFFF; }
.nc .nc-trust ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 32px; }
.nc .nc-trust li { position: relative; padding-left: 14px; font-size: 13px; line-height: 20px; color: var(--nc-gray); }
.nc-trust li::before { content: ""; position: absolute; left: 0; top: 7px; width: 6px; height: 6px; border-radius: 50%; background: var(--nc-red); }
.nc-trust + .nc-sec-first { padding-top: 48px; }
@media (max-width: 767px) {
    .nc .nc-trust ul { gap: 6px 20px; }
}

/* ------------------------------------------------------------ 品类专题区块（话题页第 1 页：RJ45 / 网络变压器 / SFP） */
.nc-th-lead { max-width: 880px; display: flex; flex-direction: column; gap: 12px; }
.nc .nc-th-lead p { font-size: 17px; line-height: 30px; color: var(--nc-ink); text-wrap: pretty; }
.nc-th-act { margin-top: 12px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.nc .nc-th-h { margin: 56px 0 16px; font-size: 22px; line-height: 32px; font-weight: 700; color: var(--nc-ink); }
.nc .nc-th-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.nc .nc-th-steps li { padding: 24px; display: flex; flex-direction: column; gap: 8px; border-radius: 10px; background: var(--nc-bg); }
.nc-th-n { font-size: 13px; line-height: 20px; font-weight: 700; color: var(--nc-red); font-variant-numeric: tabular-nums; }
.nc .nc-th-steps b { font-size: 17px; line-height: 26px; font-weight: 700; color: var(--nc-ink); }
.nc .nc-th-steps p { font-size: 14px; line-height: 24px; color: var(--nc-gray); }
.nc-th-tb { border-top: 2px solid var(--nc-ink); }
.nc-th-tr { display: grid; grid-template-columns: minmax(0, 200px) minmax(0, 1fr); gap: 24px; padding: 12px 0; border-bottom: 1px solid var(--nc-line); font-size: 15px; line-height: 24px; color: var(--nc-gray); }
.nc-th-tr.is-3 { grid-template-columns: minmax(0, 180px) minmax(0, 1fr) minmax(0, 1fr); }
.nc-th-tr.is-head { font-size: 13px; line-height: 20px; font-weight: 600; color: var(--nc-gray); }
.nc-th-tr > span { min-width: 0; overflow-wrap: anywhere; }
.nc-th-tr:not(.is-head) > span:first-child { font-weight: 600; color: var(--nc-ink); }
.nc .nc-th-note { margin-top: 12px; font-size: 13px; line-height: 20px; color: var(--nc-mute); }
.nc-th-cols { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.nc-th-qa { padding: 16px 0; border-bottom: 1px solid var(--nc-line); }
.nc-th-qa:first-of-type { padding-top: 0; }
.nc .nc-th-qa h3 { margin: 0 0 8px; display: flex; gap: 8px; font-size: 16px; line-height: 26px; font-weight: 700; color: var(--nc-ink); }
.nc-th-qa h3 span { flex: none; color: var(--nc-red); font-variant-numeric: tabular-nums; }
.nc .nc-th-qa p { font-size: 15px; line-height: 26px; color: var(--nc-gray); }
.nc-th-read { display: flex; flex-direction: column; }
.nc .nc-th-ra { padding: 16px 0; display: flex; flex-direction: column; gap: 4px; border-bottom: 1px solid var(--nc-line); color: var(--nc-ink); }
.nc .nc-th-ra:first-of-type { padding-top: 0; }
.nc .nc-th-ra b { font-size: 16px; line-height: 26px; font-weight: 700; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nc .nc-th-ra:hover b { color: var(--nc-red); }
@media (max-width: 1007px) {
    .nc .nc-th-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nc-th-cols { grid-template-columns: minmax(0, 1fr); gap: 0; }
}
@media (max-width: 767px) {
    .nc .nc-th-lead p { font-size: 16px; line-height: 28px; }
    .nc .nc-th-steps { grid-template-columns: minmax(0, 1fr); }
    .nc-th-tr, .nc-th-tr.is-3 { grid-template-columns: minmax(0, 1fr); gap: 2px; }
    .nc-th-tr.is-head { display: none; }
}

/* ------------------------------------------------------------ 采购与交付指南 /news/buying-guide/（问答不折叠；右侧联系卡吸顶） */
.nc .nc-gd-draft { margin-bottom: 24px; padding: 12px 16px; border-radius: 10px; background: #FFF4E0; font-size: 14px; line-height: 22px; color: #8A5300; }
.nc-gd-toc { margin-bottom: 32px; display: flex; flex-wrap: wrap; gap: 8px; }
.nc .nc-gd-toc a { height: 36px; padding: 0 14px; display: inline-flex; align-items: center; border: 1px solid var(--nc-line); border-radius: 10px; font-size: 14px; color: var(--nc-ink); white-space: nowrap; }
.nc .nc-gd-toc a:hover { border-color: var(--nc-red); color: var(--nc-red); }
.nc-gd { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 48px; align-items: start; }
.nc-gd-sec { scroll-margin-top: var(--nc-anchor); }
.nc-gd-sec + .nc-gd-sec { margin-top: 48px; }
.nc .nc-gd-sec h2 { margin: 0 0 8px; padding-bottom: 12px; border-bottom: 2px solid var(--nc-ink); font-size: 22px; line-height: 32px; font-weight: 700; color: var(--nc-ink); }
.nc-gd-qa { padding: 16px 0; border-bottom: 1px solid var(--nc-line); }
.nc .nc-gd-qa h3 { margin: 0 0 6px; font-size: 16px; line-height: 26px; font-weight: 700; color: var(--nc-ink); }
.nc .nc-gd-qa p { font-size: 15px; line-height: 26px; color: var(--nc-gray); }
.nc-gd-qa.is-todo h3 { color: var(--nc-mute); }
.nc .nc-gd-todo { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 13px; line-height: 22px; color: var(--nc-mute); }
.nc-gd-todo b { padding: 0 8px; border-radius: 5px; background: #FFF4E0; font-weight: 600; color: #8A5300; }
.nc-gd-side { position: sticky; top: var(--nc-sticky); }
@media (max-width: 1007px) {
    .nc-gd { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .nc-gd-side { position: static; }
}
.nc .nc-support-guide { grid-column: 1 / -1; font-size: 14px; line-height: 22px; color: var(--nc-line2); text-decoration: underline; text-underline-offset: 3px; }
.nc .nc-support-guide:hover { color: #FFFFFF; }
.nc .nc-artform-guide { margin-top: -8px; margin-bottom: 16px; font-size: 14px; line-height: 22px; }
.nc .nc-gd-qa .nc-link { white-space: nowrap; }
