<!--公用头部 begin -->
<!DOCTYPE html>
<html lang="zh-hans" dir="ltr" prefix="og: https://ogp.me/ns#">

<head>
    <meta charset="utf-8">
    <!--首页seo标题-->
    <title>电感式编码器芯片_电感编码器芯片_英达森斯半导体</title>
    <!--首页seo关键词-->
    <meta name="keywords" content="电感式编码器芯片,电感编码器芯片,位置传感器,PCB线圈设计工具,iCoil Studio,边缘AI算法,高精度位置传感器,绝对位置编码器,功能安全,ISO 26262" />
    <!--首页seo描述-->
    <meta name="description" content="英达森斯半导体源自上海，专注于电感编码器芯片及工程化赋能，提供全场景高精度电感传感器芯片、全球领先的PCB线圈设计工具iCoil Studio及边缘AI算法，服务于汽车电子、机器人、工业自动化等领域。" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="canonical" href="https://www.induxense.com/index.php?m=home&c=View&a=index&aid=350" />
    <meta property="og:title" content="电感式编码器 vs 旋转变压器：技术对决与替代趋势_英达森斯半导体" />
    <meta property="og:description" content="从精度、体积、成本、功耗、抗干扰能力等维度深度对比，解析新一代位置传感方案的技术演进方向。" />
    <meta property="og:type" content="article" />
    <meta property="og:url" content="https://www.induxense.com/index.php?m=home&c=View&a=index&aid=350" />
    <meta property="og:site_name" content="英达森斯半导体" />
    <meta property="og:image" content="https://www.induxense.com/uploads/allimg/20251202/1-2512021S203L8.jpeg" />
    <meta name="twitter:card" content="summary_large_image" />
    <meta name="twitter:title" content="电感式编码器 vs 旋转变压器：技术对决与替代趋势_英达森斯半导体" />
    <meta name="twitter:description" content="从精度、体积、成本、功耗、抗干扰能力等维度深度对比，解析新一代位置传感方案的技术演进方向。" />
    <meta name="twitter:image" content="https://www.induxense.com/uploads/allimg/20251202/1-2512021S203L8.jpeg" />
    <link rel="icon" type="image/png" href="/favicon.ico" />
    <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
    <script type="application/ld+json">
    {"@context":"https://schema.org","@type":"Organization","name":"英达森斯半导体","alternateName":"上海英达森斯半导体科技有限公司","url":"https://www.induxense.com","logo":"/uploads/allimg/20250929/1-2509291S3311O.png","description":"英达森斯半导体源自上海，专注于电感编码器芯片及工程化赋能，提供全场景高精度电感传感器芯片、PCB线圈设计工具iCoil Studio及边缘AI算法","address":{"@type":"PostalAddress","addressLocality":"上海","addressCountry":"CN"},"sameAs":["https://www.induxense.com"]}
    </script>
    <script type="application/ld+json">
    {"@context":"https://schema.org","@type":"WebSite","name":"英达森斯半导体","url":"https://www.induxense.com","description":"电感式编码器芯片_电感编码器芯片","inLanguage":"zh-Hans"}
    </script>
    <script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"首页","item":"https://www.induxense.com/"},{"@type":"ListItem","position":2,"name":"电感式编码器百科","item":"https://www.induxense.com/index.php?m=home&c=View&a=index&aid=350"}]}</script><script type="text/javascript" src="/public/static/common/js/ey_global.js?v=v1.8.1"></script>
</head>

<body>
    <div class="header__wrapper">
        <div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas>
            <div class="l-container">

<style>
    /* === Global CSS Variables === */
    :root {
        --font-display: 'PingFang SC', 'Microsoft YaHei', sans-serif;
        --font-body: 'PingFang SC', 'Microsoft YaHei', sans-serif;
        --font-mono: 'SF Mono', Menlo, Consolas, monospace;
    }
/* v=20260622-009 */
html {
    /* 恒定预留竖向滚动条槽位：短页面滚动条消失时，居中头部不再横向跳动 */
    scrollbar-gutter: stable;
    overflow-y: scroll;
}
body{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: var(--font-body);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Modern Navigation Header - Professional Style */
.modern-header {
    background: linear-gradient(135deg, #F8FBFF 0%, #F0F7FF 100%);
    position: sticky;
    top: 0;
    z-index: 1000;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.modern-header.scrolled {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 6px 24px rgba(0, 0, 0, 0.06);
}

.header-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 72px;
}

/* Logo */
.header-logo {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #1a1a1a;
    text-decoration: none;
    font-size: 1.375rem;
    font-weight: 700;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    letter-spacing: -0.02em;
}

.header-logo:hover {
    color: #0573C3;
    text-decoration: none;
}

.header-logo-icon {
    width: auto;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.header-logo-icon img {
    height: 100%;
    width: auto;
    object-fit: contain;
    transition: all 0.3s ease;
}

.header-logo-text {
    font-size: 20px;
    font-weight: 700;
    font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;
    letter-spacing: -0.4px;
    color: inherit;
    white-space: nowrap;
    background: linear-gradient(135deg, #1a1a1a 0%, #1A1A1A 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Navigation */
.header-nav {
    display: flex;
    align-items: center;
    flex: 1;
    justify-content: center;
    margin: 0 20px;
}

.nav-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 4px;
}

.nav-item {
    position: relative;
}

.nav-link {
    display: flex;
    align-items: center;
    padding: 8px 14px;
    color: #1e293b;
    text-decoration: none;
    transition: color 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    font-weight: 600;
    font-size: 14.5px;
    font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;
    white-space: nowrap;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    height: 40px;
    box-sizing: border-box;
    letter-spacing: -0.01em;
}

.nav-link::before {
    content: '';
    position: absolute;
    bottom: 8px;
    left: 50%;
    width: 0;
    height: 2px;
    background: #FFA505;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    transform: translateX(-50%);
    border-radius: 2px;
    opacity: 0;
}

.nav-link:not(.active):hover::before {
    width: calc(100% - 28px);
    opacity: 1;
}

.nav-link:hover,
.nav-link.active {
    color: #FFA505;
    text-decoration: none;
    font-weight: 600;
    background: none;
}

.nav-link.active:hover {
    background: transparent;
}

.nav-link.active::after {
    content: '';
    position: absolute;
    bottom: 8px;
    left: 50%;
    width: calc(100% - 28px);
    height: 2px;
    background: #FFA505;
    transform: translateX(-50%);
    border-radius: 2px;
    box-shadow: 0 2px 8px rgba(5, 115, 195, 0.2);
}

/* ===== Mega Dropdown (Professional Style) ===== */
.nav-dropdown {
    position: fixed;
    top: 72px;
    left: 0;
    right: 0;
    width: 100vw;
    background: linear-gradient(180deg, #F0F6FF 0%, #E8F2FF 100%);
    backdrop-filter: blur(40px);
    -webkit-backdrop-filter: blur(40px);
    border-radius: 0;
    box-shadow: 
        0 4px 6px -1px rgba(0, 0, 0, 0.02),
        0 10px 15px -3px rgba(0, 0, 0, 0.04),
        0 20px 40px -8px rgba(0, 0, 0, 0.06);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: all 0.35s cubic-bezier(0.16, 1, 0.32, 1);
    z-index: 9999;
    border-bottom: 1px solid rgba(5, 115, 195, 0.15);
}

/* 透明桥接区域，消除nav-item与dropdown之间的hover间隙 */
.nav-item.has-dropdown::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 20px;
    background: transparent;
}

.nav-item:hover .nav-dropdown,
.nav-item:focus-within .nav-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown-content {
    max-width: 1440px;
    margin: 0;
    padding: 56px 48px;
    position: relative;
}

.dropdown-content::before {
    content: '';
    position: absolute;
    top: 0;
    left: 48px;
    right: 48px;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(5, 115, 195, 0.2) 50%, transparent 100%);
}

.dropdown-header {
    margin-bottom: 48px;
    position: relative;
}

.dropdown-header::after {
    content: '';
    display: block;
    width: 48px;
    height: 3px;
    background: #FFA505;
    margin: 20px auto 0;
    border-radius: 2px;
}

.dropdown-title {
    font-size: 1.75rem;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 12px;
    letter-spacing: -0.03em;
    line-height: 1.2;
}

.dropdown-subtitle {
    color: #737373;
    font-size: 15px;
    line-height: 1.6;
    max-width: 640px;
    margin: 0 auto;
}

.dropdown-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

@media (max-width: 1200px) {
    .dropdown-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }
}

.dropdown-card {
    background: linear-gradient(135deg, #FFFBF5 0%, #FFF7ED 100%);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.32, 1);
    border: 1px solid #F0F3F7;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
    position: relative;
}

.dropdown-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 16px;
    padding: 1px;
    background: linear-gradient(135deg, rgba(5, 115, 195, 0.08) 0%, transparent 50%);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.dropdown-card:hover {
    transform: translateY(-4px);
    box-shadow: 
        0 12px 24px -8px rgba(255, 165, 5, 0.15),
        0 4px 8px -4px rgba(255, 165, 5, 0.1);
    border-color: #FFA505;
    background: linear-gradient(135deg, #FFF7ED 0%, #FFEDD5 100%);
    text-decoration: none;
    color: inherit;
}

.dropdown-card:hover::before {
    opacity: 1;
}

.dropdown-card-image {
    display: none;
}

.dropdown-card:hover .dropdown-card-image {
    background: linear-gradient(135deg, #EBF4FF 0%, #F5F7FA 100%);
}

.dropdown-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.5s cubic-bezier(0.16, 1, 0.32, 1);
}

.dropdown-card:hover .dropdown-card-image img {
    transform: scale(1.05);
}

.dropdown-card-image::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: linear-gradient(to top, rgba(0,0,0,0.03) 0%, transparent 100%);
    pointer-events: none;
}

.dropdown-card-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: rgba(255, 255, 255, 0.95);
    color: #0573C3;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    backdrop-filter: blur(10px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.dropdown-card-content {
    padding: 20px 0;
    position: relative;
    background: linear-gradient(135deg, #FFFBF5 0%, #FFF7ED 100%);
    border-radius: 16px;
}

.dropdown-card-category {
    color: #0573C3;
    font-size: 11px;
    font-weight: 600;
    margin: 16px 20px 8px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.dropdown-card-title {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
    line-height: 1.5;
    margin: 0 20px 10px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: all 0.2s ease;
    letter-spacing: -0.01em;
}

.dropdown-card:hover .dropdown-card-title {
    color: #FFA505;
}

.dropdown-card-description {
    color: #737373;
    font-size: 13px;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0 20px;
    padding: 12px 0 20px;
    border-top: 1px solid #F8F9FB;
}

.dropdown-footer {
    text-align: center;
    margin-top: 48px;
    padding-top: 32px;
    border-top: 1px solid #F0F3F7;
    position: relative;
}

.dropdown-footer::before {
    content: '';
    position: absolute;
    top: -1px;
    left: 50%;
    transform: translateX(-50%);
    width: 64px;
    height: 2px;
    background: #FFA505;
}

.dropdown-view-all {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 32px;
    background: #FFA505;
    color: white;
    text-decoration: none;
    border-radius: 12px;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.32, 1);
    box-shadow: 0 4px 12px rgba(5, 115, 195, 0.2);
    letter-spacing: 0.01em;
}

.dropdown-view-all:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(5, 115, 195, 0.3);
    color: white;
    text-decoration: none;
    background: linear-gradient(135deg, #3498DB 0%, #0573C3 100%);
}

.dropdown-view-all svg {
    width: 18px;
    height: 18px;
    transition: transform 0.2s ease;
}

.dropdown-view-all:hover svg {
    transform: translateX(4px);
}

/* ===== Tree Dropdown Menu (Clean Professional Style) ===== */
.nav-dropdown-tree {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    transform: translateY(-8px);
    background: #ffffff;
    border-radius: 0;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 9999;
    min-width: 240px;
    padding: 10px 8px;
    border: 1px solid rgba(0, 0, 0, 0.06);
}

.nav-item:hover > .nav-dropdown-tree,
.nav-item:focus-within > .nav-dropdown-tree,
.nav-dropdown-tree:hover {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.tree-level1-item {
    position: relative;
    margin: 0;
}

.tree-level1-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 9px 14px;
    color: #334155;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    transition: background 0.2s ease, color 0.2s ease, box-shadow 0.3s ease;
    white-space: nowrap;
    border-radius: 0;
    letter-spacing: -0.01em;
    position: relative;
}

.tree-level1-link:hover {
    background: #dbeafe;
    color: #1e293b;
    box-shadow: inset 3px 0 0 #0573C3;
}

.tree-level1-link .arrow-right {
    width: 14px;
    height: 14px;
    color: #94a3b8;
    transition: all 0.2s ease;
    flex-shrink: 0;
    margin-left: 8px;
}

.tree-level1-item:hover > .tree-level1-link .arrow-right {
    transform: translateX(3px);
    color: #1e293b;
}

.tree-level2-wrap {
    position: absolute;
    top: -10px;
    left: calc(100% + 4px);
    background: #ffffff;
    border-radius: 0;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
    min-width: 200px;
    padding: 10px 8px;
    border: 1px solid rgba(0, 0, 0, 0.06);
    opacity: 0;
    visibility: hidden;
    transform: translateX(-6px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.tree-level1-item:hover > .tree-level2-wrap {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.tree-level2-link {
    display: flex;
    align-items: center;
    padding: 8px 14px 8px 16px;
    color: #334155;
    text-decoration: none;
    font-size: 13px;
    font-weight: 400;
    transition: background 0.2s ease, color 0.2s ease, box-shadow 0.3s ease;
    white-space: nowrap;
    border-radius: 0;
    position: relative;
    letter-spacing: -0.01em;
}

.tree-level2-link:hover {
    background: #ffedd5;
    color: #1e293b;
    box-shadow: inset 3px 0 0 #E67E22;
}

/* 产品栏目平铺分组样式 */
.tree-group {
    padding: 6px 4px;
}
.tree-group + .tree-group {
    border-top: 1px solid #F1F5F9;
    margin-top: 4px;
    padding-top: 10px;
}
.tree-group-title {
    padding: 6px 14px 8px;
    font-size: 12px;
    font-weight: 700;
    color: #334155;
    letter-spacing: 0.02em;
    text-transform: none;
    display: flex;
    align-items: center;
    gap: 6px;
}
.tree-group-title-link {
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
}
.tree-group-title-link:hover {
    color: #0573C3;
    background: rgba(5, 115, 195, 0.06);
    border-radius: 4px;
}
.tree-group-title::before {
    content: '';
    display: inline-block;
    width: 3px;
    height: 12px;
    background: #94a3b8;
    border-radius: 2px;
    flex-shrink: 0;
}
.tree-group-items {
    display: flex;
    flex-direction: column;
    gap: 1px;
}
.tree-flat-item {
    padding-left: 23px !important;
}

/* Header Actions */
.header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

/* header-nav 保持自然宽度，不裁切 */

.header-action-btn {
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #DDE4ED;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #525252;
    text-decoration: none;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    background: linear-gradient(135deg, #FFFBF5 0%, #FFF7ED 100%);
    position: relative;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
}

.header-action-btn.icon-only {
    width: 40px;
    padding: 0;
}

.header-action-btn span {
    display: inline-block;
}

.header-action-btn:hover {
    background: none;
    border-color: rgba(255, 165, 5, 0.3);
    color: #0573C3;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(5, 115, 195, 0.08);
}

.header-action-btn svg {
    width: 18px;
    height: 18px;
    transition: all 0.2s ease;
}

.cart-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    background: linear-gradient(135deg, #0573C3 0%, #3498DB 100%);
    color: white;
    font-size: 10px;
    font-weight: 700;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(5, 115, 195, 0.4);
    border: 2px solid #ffffff;
}

/* User Account - Logged In */
.header-action-btn.user-logged-in {
    padding: 0 12px 0 6px;
    gap: 8px;
    background: linear-gradient(135deg, #FFF8F0 0%, #FFF0E0 100%);
    border-color: rgba(255, 165, 5, 0.25);
    color: #E67E22;
}

.header-action-btn.user-logged-in:hover {
    background: linear-gradient(135deg, #FFF0E0 0%, #FFE8D0 100%);
    border-color: rgba(255, 165, 5, 0.5);
    color: #D35400;
    box-shadow: 0 4px 16px rgba(230, 126, 34, 0.15);
}

/* Admin logged-in style */
.header-action-btn.admin-logged-in {
    background: linear-gradient(135deg, #EBF6FF 0%, #D9EDFF 100%);
    border-color: rgba(5, 115, 195, 0.2);
    color: #0573C3;
}
.header-action-btn.admin-logged-in:hover {
    background: linear-gradient(135deg, #D9EDFF 0%, #C5E4FF 100%);
    border-color: rgba(5, 115, 195, 0.4);
    color: #045691;
    box-shadow: 0 4px 16px rgba(5, 115, 195, 0.12);
}

/* User dropdown menu */
.user-dropdown-wrap:hover .user-dropdown-menu,
.user-dropdown-wrap .user-dropdown-menu:hover {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}
.user-dropdown-menu a:hover {
    background: #F8FAFC !important;
}
.user-dropdown-menu a:last-child:hover {
    background: #EFF7FF !important;
}

.user-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

.user-name {
    max-width: 80px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
    font-size: 13px;
}

/* User Account - Not Logged In */
.header-action-btn.user-not-logged-in {
    color: #999999;
    background: linear-gradient(135deg, #F8F9FA 0%, #F0F1F2 100%);
    border-color: #E0E0E0;
}

.header-action-btn.user-not-logged-in:hover {
    color: #666666;
    border-color: #CCCCCC;
    background: linear-gradient(135deg, #F0F1F2 0%, #E8E9EA 100%);
}

.user-icon-gray {
    stroke: #AAAAAA;
    transition: stroke 0.2s ease;
}

.header-action-btn.user-not-logged-in:hover .user-icon-gray {
    stroke: #777777;
}

/* Mobile Menu Toggle */
.mobile-menu-toggle {
    display: none;
    width: 40px;
    height: 40px;
    background: #F5F7FA;
    border: 1px solid #DDE4ED;
    border-radius: 10px;
    align-items: center;
    justify-content: center;
    color: #525252;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.mobile-menu-toggle:hover {
    background: none;
    border-color: rgba(255, 165, 5, 0.3);
    color: #0573C3;
    transform: scale(1.05);
}

.mobile-menu-toggle svg {
    width: 20px;
    height: 20px;
    transition: all 0.3s ease;
}

/* Mobile Menu - Fixed Blue Background */
.mobile-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: linear-gradient(135deg, #FFFBF5 0%, #FFF7ED 100%);
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    backdrop-filter: blur(10px);
    z-index: 999;
    max-height: calc(100vh - 72px);
    overflow-y: auto;
}

.mobile-menu.active {
    display: block;
    animation: slideDown 0.3s ease;
    position: relative;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.mobile-nav-menu {
    list-style: none;
    margin: 0;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.mobile-nav-link {
    display: block;
    padding: 14px 20px;
    color: #1A1A1A;
    text-decoration: none;
    border-radius: 10px;
    transition: all 0.3s ease;
    font-weight: 500;
    border: 1px solid transparent;
    line-height: 1.5;
    font-size: 14.5px;
}

.mobile-nav-link:hover,
.mobile-nav-link.active {
    color: #0573C3;
    background: none;
    border-color: rgba(5, 115, 195, 0.08);
    transform: translateX(4px);
    text-decoration: none;
}

/* 移动端分组标题 */
.mobile-group-title {
    padding: 12px 20px 6px;
    font-size: 12px;
    font-weight: 700;
    color: #334155;
    letter-spacing: 0.02em;
    display: flex;
    align-items: center;
    gap: 6px;
}
.mobile-group-title::before {
    content: '';
    display: inline-block;
    width: 3px;
    height: 12px;
    background: #94a3b8;
    border-radius: 2px;
    flex-shrink: 0;
}
.mobile-group-title-link {
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
    padding-right: 20px;
}
.mobile-group-title-link:hover {
    color: #0573C3;
    background: rgba(5, 115, 195, 0.04);
}

/* 二级菜单样式 - Mobile */
.mobile-submenu {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, #FFFBF5 0%, #FFF7ED 100%);
    z-index: 10;
    overflow-y: auto;
    animation: slideInRight 0.3s ease;
}

@keyframes slideInRight {
    from {
        transform: translateX(100%);
    }
    to {
        transform: translateX(0);
    }
}

.submenu-header {
    display: flex;
    align-items: center;
    padding: 16px 20px;
    background: #F5F7FA;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    position: sticky;
    top: 0;
    z-index: 11;
}

.submenu-back {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #1A1A1A;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    padding: 8px 12px;
    border-radius: 8px;
    transition: all 0.3s ease;
    background: rgba(0, 0, 0, 0.02);
}

.submenu-back:hover {
    background: none;
    color: #0573C3;
    transform: translateX(-4px);
    text-decoration: none;
}

.submenu-back svg {
    flex-shrink: 0;
}

.submenu-title {
    flex: 1;
    text-align: center;
    color: #1a1a1a;
    font-weight: 600;
    font-size: 16px;
    margin-right: 80px;
}

.submenu-list {
    padding: 16px;
}

.mobile-nav-link.has-submenu {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.arrow-icon {
    flex-shrink: 0;
    transition: transform 0.3s ease;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .header-container {
        padding: 0 32px;
    }
    
    .header-nav {
        margin: 0 12px;
    }
    
    .nav-menu {
        gap: 2px;
    }

    .nav-link {
        padding: 8px 16px;
        font-size: 13.5px;
    }

    .nav-dropdown {
        width: 100%;
    }

    .dropdown-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .dropdown-content {
        padding: 40px 32px;
    }
}

@media (max-width: 768px) {
    .header-container {
        height: 64px;
        padding: 0 20px;
    }

    .header-nav {
        display: none;
    }

    .mobile-menu-toggle {
        display: flex;
    }

    .header-actions {
        gap: 8px;
    }

    .header-action-btn {
        width: 36px;
        height: 36px;
    }

    .header-logo {
        font-size: 1.25rem;
    }

    .header-logo-icon {
        height: 38px;
    }
    
    .header-logo-icon img {
        height: 100%;
        width: auto;
    }

    .nav-dropdown {
        display: none !important;
    }
    
    .mobile-menu {
        max-height: calc(100vh - 64px);
    }
}

@media (max-width: 480px) {
    .header-container {
        height: 56px;
        padding: 0 16px;
    }

    .header-logo {
        font-size: 1.125rem;
        gap: 10px;
    }

    .header-logo-icon {
        height: 34px;
    }
    
    .header-logo-icon img {
        height: 100%;
        width: auto;
    }

    .header-action-btn {
        width: 32px;
        height: 32px;
    }

    .header-action-btn svg {
        width: 16px;
        height: 16px;
    }

    .header-action-btn.user-logged-in {
        padding: 0 8px 0 4px;
        gap: 4px;
    }

    .user-avatar {
        width: 24px;
        height: 24px;
    }

    .user-name {
        max-width: 60px;
        font-size: 12px;
    }

    .mobile-menu {
        max-height: calc(100vh - 56px);
    }
}

/* 搜索表单样式 */
.search-form-inline {
    display: flex;
    align-items: center;
    gap: 0;
    margin: 0;
    padding: 0;
    background: #F5F7FA;
    border-radius: 25px;
    border: 2px solid #DDE4ED;
    overflow: hidden;
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}

.search-form-inline:hover,
.search-form-inline:focus-within {
    background: linear-gradient(135deg, #FFFBF5 0%, #FFF7ED 100%);
    border-color: #C5CDD8;
    box-shadow: 0 0 0 3px rgba(5, 115, 195, 0.08);
}

.search-input-inline {
    width: 160px;
    height: 40px;
    border: none;
    border-radius: 25px;
    padding: 0 20px;
    background: transparent;
    color: #1a1a1a;
    font-size: 14px;
    outline: none;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.search-input-inline::placeholder {
    color: #a3a3a3;
}

.search-input-inline:focus {
    background: transparent;
}

.search-btn-inline {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border: none;
    background: #DDE4ED;
    border-radius: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #525252;
    cursor: pointer;
    transition: all 0.3s ease;
    margin: 2px;
}

.search-btn-inline:hover {
    background: #C5CDD8;
    transform: scale(1.05);
}

/* 响应式设计 */
@media (max-width: 768px) {
    .search-form-inline {
        display: none;
    }

    .header-actions {
        flex-shrink: 0;
        gap: 6px;
    }

    .header-action-btn.user-not-logged-in span {
        display: none;
    }
}

@media (max-width: 480px) {
    .header-actions {
        gap: 4px;
    }

    .header-action-btn {
        min-width: 32px;
        height: 32px;
        padding: 0 8px;
    }

    .header-action-btn.icon-only {
        width: 32px;
        padding: 0;
    }

    .header-action-btn svg {
        width: 16px;
        height: 16px;
    }
}


/* ============================================================
   🎨 品牌色变量（来自 Logo 色彩提取）
   - 蓝色 #0573C3 (89.6%) → 品牌主色，专业、科技、可靠
   - 橙色 #FFA505 (10.3%) → 品牌强调色，能量、活力、行动
   ============================================================ */

/* ===== Clean Dropdown Transitions ===== */

/* Nav link hover - clean, no text shadow */
.nav-link:not(.active):hover {
    text-shadow: none;
}

/* Dropdown tree - simple fade down, no stagger */
.nav-dropdown-tree {
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12) !important;
    transform: translateY(-8px) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.nav-item:hover > .nav-dropdown-tree,
.nav-item:focus-within > .nav-dropdown-tree,
.nav-dropdown-tree:hover {
    transform: translateY(0) !important;
}

/* Tree level2 - simple slide in */
.tree-level2-wrap {
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12) !important;
    transform: translateX(-6px) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.tree-level1-item:hover > .tree-level2-wrap {
    transform: translateX(0) !important;
}

/* Mega dropdown - simple fade */
.nav-dropdown {
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.10) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Nav active link - clean underline, no glow */
.nav-link.active::after {
    box-shadow: none;
}

/* Header scrolled - simple border */
.modern-header.scrolled {
    border-bottom-color: rgba(0, 0, 0, 0.06);
}
.modern-header.scrolled::after {
    display: none;
}

/* ===== Scroll Animation Classes ===== */
.scroll-fade-up,
.scroll-fade-left,
.scroll-fade-right,
.scroll-scale {
    opacity: 0;
    transition: opacity 0.9s cubic-bezier(0.16, 1, 0.32, 1), transform 0.9s cubic-bezier(0.16, 1, 0.32, 1);
    will-change: opacity, transform;
}
.scroll-fade-up { transform: translateY(36px); }
.scroll-fade-left { transform: translateX(-30px); }
.scroll-fade-right { transform: translateX(30px); }
.scroll-scale { transform: scale(0.94); }

.scroll-fade-up.visible,
.scroll-fade-left.visible,
.scroll-fade-right.visible,
.scroll-scale.visible {
    opacity: 1;
    transform: translate(0, 0) scale(1);
}

.scroll-delay-1 { transition-delay: 0.08s; }
.scroll-delay-2 { transition-delay: 0.16s; }
.scroll-delay-3 { transition-delay: 0.24s; }
.scroll-delay-4 { transition-delay: 0.32s; }

/* Hero parallax */
.idx-hero-bg {
    transition: transform 0.1s linear;
    will-change: transform;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .scroll-fade-up, .scroll-fade-left, .scroll-fade-right, .scroll-scale {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
    .nav-dropdown-tree, .tree-level2-wrap, .nav-dropdown {
        transition: none !important;
    }
}

/* ===== FORCE COLOR OVERRIDE 007 ===== */
.nav-dropdown{background:linear-gradient(180deg,#F0F6FF,#E8F2FF)!important}
.dropdown-card,.nav-dropdown .dropdown-card{background:linear-gradient(135deg,#FFFBF5,#FFF7ED)!important;border:1px solid #FED7AA!important}
.dropdown-card:hover,.nav-dropdown .dropdown-card:hover{background:linear-gradient(135deg,#FFF7ED,#FFEDD5)!important;border-color:#FFA505!important;box-shadow:0 12px 24px -8px rgba(255,165,5,.2)!important}
.dropdown-card:hover .dropdown-card-title{color:#FFA505!important}
.dropdown-card-image{display:none!important}
.dropdown-card-content{background:transparent!important}
/* ===== END ===== */
</style>

<!-- Modern Navigation Header -->
<header class="modern-header" id="modernHeader">
    <div class="header-container">
        <!-- Logo -->
        <a href="/" class="header-logo">
            <div class="header-logo-icon">
                <img src="/uploads/allimg/20250929/1-2509291S3311O.png" alt="英达森斯半导体" class="img-responsive"/>
            </div>
            <span class="header-logo-text">英达森斯半导体</span>
        </a>

        <!-- Desktop Navigation -->
        <nav class="header-nav" aria-label="主导航">
            <ul class="nav-menu">
                                <li class="nav-item has-dropdown" aria-haspopup="true">
                                            <a href="/index.php?m=home&c=Lists&a=index&tid=70" class="nav-link">产品</a>
                                                <div class="nav-dropdown-tree">
                                                        <div class="tree-level1-item tree-group">
                                <a href="/index.php?m=home&c=Lists&a=index&tid=70" class="tree-group-title tree-group-title-link">
                                    <span>电感式编码器芯片</span>
                                </a>
                                <div class="tree-group-items">
                                                                        <a href="/index.php?m=home&c=Lists&a=index&tid=71" class="tree-level2-link tree-flat-item">模拟输出芯片</a>
                                                                        <a href="/index.php?m=home&c=Lists&a=index&tid=72" class="tree-level2-link tree-flat-item">数字输出芯片</a>
                                                                        <a href="/index.php?m=home&c=Lists&a=index&tid=22" class="tree-level2-link tree-flat-item">混合信号输出</a>
                                                                    </div>
                            </div>
                                                    </div>
                                    </li>
                                <li class="nav-item has-dropdown" aria-haspopup="true">
                                            <a href="/index.php?m=home&c=Lists&a=index&tid=4" class="nav-link">应用</a>
                                                <div class="nav-dropdown-tree">
                                                        <div class="tree-level1-item">
                                <a href="/index.php?m=home&c=Lists&a=index&tid=98" class="tree-level1-link">
                                    <span>工业自动化</span>
                                                                        <svg class="arrow-right" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 18l6-6-6-6"/></svg>
                                                                    </a>
                                                                <div class="tree-level2-wrap">
                                                                        <a href="/index.php?m=home&c=Lists&a=index&tid=64" class="tree-level2-link">伺服与自动化</a>
                                                                        <a href="/index.php?m=home&c=Lists&a=index&tid=91" class="tree-level2-link">精密量具与仪器</a>
                                                                        <a href="/index.php?m=home&c=Lists&a=index&tid=92" class="tree-level2-link">智能仪表与计量</a>
                                                                    </div>
                                                            </div>
                                                        <div class="tree-level1-item">
                                <a href="/index.php?m=home&c=Lists&a=index&tid=99" class="tree-level1-link">
                                    <span>具身智能与机器人</span>
                                                                        <svg class="arrow-right" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 18l6-6-6-6"/></svg>
                                                                    </a>
                                                                <div class="tree-level2-wrap">
                                                                        <a href="/index.php?m=home&c=Lists&a=index&tid=17" class="tree-level2-link">机器人</a>
                                                                    </div>
                                                            </div>
                                                        <div class="tree-level1-item">
                                <a href="/index.php?m=home&c=Lists&a=index&tid=100" class="tree-level1-link">
                                    <span>汽车电子与线控底盘</span>
                                                                        <svg class="arrow-right" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 18l6-6-6-6"/></svg>
                                                                    </a>
                                                                <div class="tree-level2-wrap">
                                                                        <a href="/index.php?m=home&c=Lists&a=index&tid=66" class="tree-level2-link">汽车电子</a>
                                                                    </div>
                                                            </div>
                                                        <div class="tree-level1-item">
                                <a href="/index.php?m=home&c=Lists&a=index&tid=101" class="tree-level1-link">
                                    <span>新能源与高端装备</span>
                                                                        <svg class="arrow-right" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 18l6-6-6-6"/></svg>
                                                                    </a>
                                                                <div class="tree-level2-wrap">
                                                                        <a href="/index.php?m=home&c=Lists&a=index&tid=94" class="tree-level2-link">航空航天与国防</a>
                                                                        <a href="/index.php?m=home&c=Lists&a=index&tid=97" class="tree-level2-link">能源与重型装备</a>
                                                                    </div>
                                                            </div>
                                                        <div class="tree-level1-item">
                                <a href="/index.php?m=home&c=Lists&a=index&tid=102" class="tree-level1-link">
                                    <span>智慧医疗与智能生活</span>
                                                                        <svg class="arrow-right" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 18l6-6-6-6"/></svg>
                                                                    </a>
                                                                <div class="tree-level2-wrap">
                                                                        <a href="/index.php?m=home&c=Lists&a=index&tid=93" class="tree-level2-link">医疗器械</a>
                                                                        <a href="/index.php?m=home&c=Lists&a=index&tid=95" class="tree-level2-link">智能楼宇与电梯</a>
                                                                        <a href="/index.php?m=home&c=Lists&a=index&tid=96" class="tree-level2-link">消费电子与智能硬件</a>
                                                                    </div>
                                                            </div>
                                                    </div>
                                    </li>
                                <li class="nav-item has-dropdown" aria-haspopup="true">
                                            <a href="/index.php?m=home&c=Lists&a=index&tid=31" class="nav-link">设计与开发</a>
                                                <div class="nav-dropdown-tree">
                                                        <div class="tree-level1-item">
                                <a href="/index.php?m=home&c=Lists&a=index&tid=78" class="tree-level1-link">
                                    <span>评测套件</span>
                                                                        <svg class="arrow-right" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 18l6-6-6-6"/></svg>
                                                                    </a>
                                                                <div class="tree-level2-wrap">
                                                                        <a href="/index.php?m=home&c=Lists&a=index&tid=83" class="tree-level2-link">信号模拟测试输入平台</a>
                                                                    </div>
                                                            </div>
                                                        <div class="tree-level1-item">
                                <a href="/index.php?m=home&c=Lists&a=index&tid=79" class="tree-level1-link">
                                    <span>开发工具</span>
                                                                        <svg class="arrow-right" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 18l6-6-6-6"/></svg>
                                                                    </a>
                                                                <div class="tree-level2-wrap">
                                                                        <a href="/index.php?m=home&c=Lists&a=index&tid=80" class="tree-level2-link">芯片配置工具（ICS）</a>
                                                                        <a href="/index.php?m=home&c=Lists&a=index&tid=81" class="tree-level2-link">芯片编程工具（IPS）</a>
                                                                    </div>
                                                            </div>
                                                        <div class="tree-level1-item">
                                <a href="/index.php?m=home&c=Lists&a=index&tid=82" class="tree-level1-link">
                                    <span>参考设计</span>
                                                                    </a>
                                                            </div>
                                                        <div class="tree-level1-item">
                                <a href="/index.php?m=home&c=Lists&a=index&tid=5" class="tree-level1-link">
                                    <span>算法赋能（AI）</span>
                                                                    </a>
                                                            </div>
                                                        <div class="tree-level1-item">
                                <a href="/index.php?m=home&c=Lists&a=index&tid=32" class="tree-level1-link">
                                    <span>iCoil Studio PCB线圈设计平台</span>
                                                                    </a>
                                                            </div>
                                                    </div>
                                    </li>
                                <li class="nav-item has-dropdown" aria-haspopup="true">
                                            <a href="/index.php?m=home&c=Lists&a=index&tid=19" class="nav-link active">电感式编码器百科</a>
                                        </li>
                                <li class="nav-item has-dropdown" aria-haspopup="true">
                                            <a href="/index.php?m=home&c=Lists&a=index&tid=2" class="nav-link">新闻中心</a>
                                                <div class="nav-dropdown-tree">
                                                        <div class="tree-level1-item">
                                <a href="/index.php?m=home&c=Lists&a=index&tid=10" class="tree-level1-link">
                                    <span>公司动态</span>
                                                                    </a>
                                                            </div>
                                                        <div class="tree-level1-item">
                                <a href="/index.php?m=home&c=Lists&a=index&tid=11" class="tree-level1-link">
                                    <span>行业资讯</span>
                                                                    </a>
                                                            </div>
                                                    </div>
                                    </li>
                                <li class="nav-item has-dropdown" aria-haspopup="true">
                                            <a href="/index.php?m=home&c=Lists&a=index&tid=73" class="nav-link">支持与服务</a>
                                                <div class="nav-dropdown-tree">
                                                        <div class="tree-level1-item">
                                <a href="/index.php?m=home&c=Lists&a=index&tid=74" class="tree-level1-link">
                                    <span>文档中心</span>
                                                                    </a>
                                                            </div>
                                                        <div class="tree-level1-item">
                                <a href="/index.php?m=home&c=Lists&a=index&tid=75" class="tree-level1-link">
                                    <span>工具下载</span>
                                                                    </a>
                                                            </div>
                                                        <div class="tree-level1-item">
                                <a href="/index.php?m=home&c=Lists&a=index&tid=76" class="tree-level1-link">
                                    <span>技术支持</span>
                                                                    </a>
                                                            </div>
                                                        <div class="tree-level1-item">
                                <a href="/index.php?m=home&c=Lists&a=index&tid=77" class="tree-level1-link">
                                    <span>常见问题</span>
                                                                    </a>
                                                            </div>
                                                        <div class="tree-level1-item">
                                <a href="/index.php?m=home&c=Lists&a=index&tid=103" class="tree-level1-link">
                                    <span>视频专区</span>
                                                                    </a>
                                                            </div>
                                                    </div>
                                    </li>
                                <li class="nav-item has-dropdown" aria-haspopup="true">
                                            <a href="/index.php?m=home&c=Lists&a=index&tid=1" class="nav-link">关于英达森斯</a>
                                                <div class="nav-dropdown-tree">
                                                        <div class="tree-level1-item">
                                <a href="/index.php?m=home&c=Lists&a=index&tid=8" class="tree-level1-link">
                                    <span>公司简介</span>
                                                                    </a>
                                                            </div>
                                                        <div class="tree-level1-item">
                                <a href="/index.php?m=home&c=Lists&a=index&tid=9" class="tree-level1-link">
                                    <span>简历投递</span>
                                                                    </a>
                                                            </div>
                                                        <div class="tree-level1-item">
                                <a href="/index.php?m=home&c=Lists&a=index&tid=30" class="tree-level1-link">
                                    <span>联系我们</span>
                                                                    </a>
                                                            </div>
                                                    </div>
                                    </li>
                            </ul>
        </nav>

        <!-- Header Actions -->
        <div class="header-actions">
                        <form method="get" action="/index.php?m=home&c=Search&a=lists" id="searchForm" class="search-form-inline" role="search">
                <input name="keywords" id="keywords" type="text" class="search-input-inline" placeholder="搜索">
                <input type="hidden" name="m" value="home" /><input type="hidden" name="c" value="Search" /><input type="hidden" name="a" value="lists" /><input type="hidden" name="method" value="1" />                <button type="submit" class="header-action-btn icon-only search-btn-inline" title="搜索" aria-label="搜索">
                    <svg viewBox="0 0 24 24" fill="none">
                        <circle cx="11" cy="11" r="8" stroke="currentColor" stroke-width="2"/>
                        <path d="m21 21-4.35-4.35" stroke="currentColor" stroke-width="2"/>
                    </svg>
                </button>
            </form>
            
            <!-- Cart Icon -->
            <a href="/index.php?m=user&c=Shop&a=shop_cart_list" class="header-action-btn icon-only" title="购物车">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                    <circle cx="9" cy="21" r="1"/><circle cx="20" cy="21" r="1"/>
                    <path d="M1 1h4l2.68 13.39a2 2 0 002 1.61h9.72a2 2 0 002-1.61L23 6H6"/>
                </svg>
                <span class="cart-badge" id="cartBadge" style="display:none;">0</span>
            </a>

            <!-- User Account -->
                        <a href="/index.php?m=user&c=Users&a=login" class="header-action-btn user-not-logged-in" title="登录/注册">
                <svg class="user-icon-gray" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round">
                    <circle cx="12" cy="8" r="4"/>
                    <path d="M20 21a8 8 0 10-16 0"/>
                </svg>
                <span>登录</span>
            </a>
            
            <!-- Mobile Menu Toggle -->
            <button class="mobile-menu-toggle" id="mobileMenuToggle" aria-expanded="false" aria-label="菜单" type="button">
                <svg viewBox="0 0 24 24" fill="none">
                    <line x1="3" y1="6" x2="21" y2="6" stroke="currentColor" stroke-width="2"/>
                    <line x1="3" y1="12" x2="21" y2="12" stroke="currentColor" stroke-width="2"/>
                    <line x1="3" y1="18" x2="21" y2="18" stroke="currentColor" stroke-width="2"/>
                </svg>
            </button>
        </div>
    </div>

    <!-- Mobile Menu -->
    <div class="mobile-menu" id="mobileMenu">
        <!-- 一级菜单 -->
        <ul class="mobile-nav-menu" id="mobileMenuLevel1">
            <li><a href="/" class="mobile-nav-link">首页</a></li>
                        <li>
                                    <a href="javascript:void(0);" class="mobile-nav-link has-submenu" data-typeid="3" data-typename="产品">
                        产品                        <svg class="arrow-icon" viewBox="0 0 24 24" fill="none" style="width: 16px; height: 16px; float: right; margin-top: 8px;">
                            <path d="M9 18l6-6-6-6" stroke="currentColor" stroke-width="2"/>
                        </svg>
                    </a>
                            </li>
                        <li>
                                    <a href="javascript:void(0);" class="mobile-nav-link has-submenu" data-typeid="4" data-typename="应用">
                        应用                        <svg class="arrow-icon" viewBox="0 0 24 24" fill="none" style="width: 16px; height: 16px; float: right; margin-top: 8px;">
                            <path d="M9 18l6-6-6-6" stroke="currentColor" stroke-width="2"/>
                        </svg>
                    </a>
                            </li>
                        <li>
                                    <a href="javascript:void(0);" class="mobile-nav-link has-submenu" data-typeid="31" data-typename="设计与开发">
                        设计与开发                        <svg class="arrow-icon" viewBox="0 0 24 24" fill="none" style="width: 16px; height: 16px; float: right; margin-top: 8px;">
                            <path d="M9 18l6-6-6-6" stroke="currentColor" stroke-width="2"/>
                        </svg>
                    </a>
                            </li>
                        <li>
                                    <a href="/index.php?m=home&c=Lists&a=index&tid=19" class="mobile-nav-link">电感式编码器百科</a>
                            </li>
                        <li>
                                    <a href="javascript:void(0);" class="mobile-nav-link has-submenu" data-typeid="2" data-typename="新闻中心">
                        新闻中心                        <svg class="arrow-icon" viewBox="0 0 24 24" fill="none" style="width: 16px; height: 16px; float: right; margin-top: 8px;">
                            <path d="M9 18l6-6-6-6" stroke="currentColor" stroke-width="2"/>
                        </svg>
                    </a>
                            </li>
                        <li>
                                    <a href="javascript:void(0);" class="mobile-nav-link has-submenu" data-typeid="73" data-typename="支持与服务">
                        支持与服务                        <svg class="arrow-icon" viewBox="0 0 24 24" fill="none" style="width: 16px; height: 16px; float: right; margin-top: 8px;">
                            <path d="M9 18l6-6-6-6" stroke="currentColor" stroke-width="2"/>
                        </svg>
                    </a>
                            </li>
                        <li>
                                    <a href="javascript:void(0);" class="mobile-nav-link has-submenu" data-typeid="1" data-typename="关于英达森斯">
                        关于英达森斯                        <svg class="arrow-icon" viewBox="0 0 24 24" fill="none" style="width: 16px; height: 16px; float: right; margin-top: 8px;">
                            <path d="M9 18l6-6-6-6" stroke="currentColor" stroke-width="2"/>
                        </svg>
                    </a>
                            </li>
                    </ul>

                <div class="mobile-submenu" id="submenu-3" style="display: none;">
            <div class="submenu-header">
                <a href="javascript:void(0);" class="submenu-back">
                    <svg viewBox="0 0 24 24" fill="none" style="width: 20px; height: 20px;">
                        <path d="M15 18l-6-6 6-6" stroke="currentColor" stroke-width="2"/>
                    </svg>
                    返回
                </a>
                <span class="submenu-title">产品</span>
            </div>
            <ul class="mobile-nav-menu submenu-list">
                                    <!-- 产品栏目：分组标题 + 直接显示子分类 -->
                    <li><a href="/index.php?m=home&c=Lists&a=index&tid=70" class="mobile-group-title mobile-group-title-link">电感式编码器芯片</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=71" class="mobile-nav-link" style="padding-left: 40px; font-size: 13px;">模拟输出芯片</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=72" class="mobile-nav-link" style="padding-left: 40px; font-size: 13px;">数字输出芯片</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=22" class="mobile-nav-link" style="padding-left: 40px; font-size: 13px;">混合信号输出</a></li>
                                </ul>
        </div>
                <div class="mobile-submenu" id="submenu-4" style="display: none;">
            <div class="submenu-header">
                <a href="javascript:void(0);" class="submenu-back">
                    <svg viewBox="0 0 24 24" fill="none" style="width: 20px; height: 20px;">
                        <path d="M15 18l-6-6 6-6" stroke="currentColor" stroke-width="2"/>
                    </svg>
                    返回
                </a>
                <span class="submenu-title">应用</span>
            </div>
            <ul class="mobile-nav-menu submenu-list">
                                    <li><a href="/index.php?m=home&c=Lists&a=index&tid=98" class="mobile-nav-link">工业自动化</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=64" class="mobile-nav-link" style="padding-left: 40px; font-size: 13px;">- 伺服与自动化</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=91" class="mobile-nav-link" style="padding-left: 40px; font-size: 13px;">- 精密量具与仪器</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=92" class="mobile-nav-link" style="padding-left: 40px; font-size: 13px;">- 智能仪表与计量</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=99" class="mobile-nav-link">具身智能与机器人</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=17" class="mobile-nav-link" style="padding-left: 40px; font-size: 13px;">- 机器人</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=100" class="mobile-nav-link">汽车电子与线控底盘</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=66" class="mobile-nav-link" style="padding-left: 40px; font-size: 13px;">- 汽车电子</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=101" class="mobile-nav-link">新能源与高端装备</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=94" class="mobile-nav-link" style="padding-left: 40px; font-size: 13px;">- 航空航天与国防</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=97" class="mobile-nav-link" style="padding-left: 40px; font-size: 13px;">- 能源与重型装备</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=102" class="mobile-nav-link">智慧医疗与智能生活</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=93" class="mobile-nav-link" style="padding-left: 40px; font-size: 13px;">- 医疗器械</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=95" class="mobile-nav-link" style="padding-left: 40px; font-size: 13px;">- 智能楼宇与电梯</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=96" class="mobile-nav-link" style="padding-left: 40px; font-size: 13px;">- 消费电子与智能硬件</a></li>
                                </ul>
        </div>
                <div class="mobile-submenu" id="submenu-31" style="display: none;">
            <div class="submenu-header">
                <a href="javascript:void(0);" class="submenu-back">
                    <svg viewBox="0 0 24 24" fill="none" style="width: 20px; height: 20px;">
                        <path d="M15 18l-6-6 6-6" stroke="currentColor" stroke-width="2"/>
                    </svg>
                    返回
                </a>
                <span class="submenu-title">设计与开发</span>
            </div>
            <ul class="mobile-nav-menu submenu-list">
                                    <li><a href="/index.php?m=home&c=Lists&a=index&tid=78" class="mobile-nav-link">评测套件</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=83" class="mobile-nav-link" style="padding-left: 40px; font-size: 13px;">- 信号模拟测试输入平台</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=79" class="mobile-nav-link">开发工具</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=80" class="mobile-nav-link" style="padding-left: 40px; font-size: 13px;">- 芯片配置工具（ICS）</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=81" class="mobile-nav-link" style="padding-left: 40px; font-size: 13px;">- 芯片编程工具（IPS）</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=82" class="mobile-nav-link">参考设计</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=5" class="mobile-nav-link">算法赋能（AI）</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=32" class="mobile-nav-link">iCoil Studio PCB线圈设计平台</a></li>
                                </ul>
        </div>
                <div class="mobile-submenu" id="submenu-2" style="display: none;">
            <div class="submenu-header">
                <a href="javascript:void(0);" class="submenu-back">
                    <svg viewBox="0 0 24 24" fill="none" style="width: 20px; height: 20px;">
                        <path d="M15 18l-6-6 6-6" stroke="currentColor" stroke-width="2"/>
                    </svg>
                    返回
                </a>
                <span class="submenu-title">新闻中心</span>
            </div>
            <ul class="mobile-nav-menu submenu-list">
                                    <li><a href="/index.php?m=home&c=Lists&a=index&tid=10" class="mobile-nav-link">公司动态</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=11" class="mobile-nav-link">行业资讯</a></li>
                                </ul>
        </div>
                <div class="mobile-submenu" id="submenu-73" style="display: none;">
            <div class="submenu-header">
                <a href="javascript:void(0);" class="submenu-back">
                    <svg viewBox="0 0 24 24" fill="none" style="width: 20px; height: 20px;">
                        <path d="M15 18l-6-6 6-6" stroke="currentColor" stroke-width="2"/>
                    </svg>
                    返回
                </a>
                <span class="submenu-title">支持与服务</span>
            </div>
            <ul class="mobile-nav-menu submenu-list">
                                    <li><a href="/index.php?m=home&c=Lists&a=index&tid=74" class="mobile-nav-link">文档中心</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=75" class="mobile-nav-link">工具下载</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=76" class="mobile-nav-link">技术支持</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=77" class="mobile-nav-link">常见问题</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=103" class="mobile-nav-link">视频专区</a></li>
                                </ul>
        </div>
                <div class="mobile-submenu" id="submenu-1" style="display: none;">
            <div class="submenu-header">
                <a href="javascript:void(0);" class="submenu-back">
                    <svg viewBox="0 0 24 24" fill="none" style="width: 20px; height: 20px;">
                        <path d="M15 18l-6-6 6-6" stroke="currentColor" stroke-width="2"/>
                    </svg>
                    返回
                </a>
                <span class="submenu-title">关于英达森斯</span>
            </div>
            <ul class="mobile-nav-menu submenu-list">
                                    <li><a href="/index.php?m=home&c=Lists&a=index&tid=8" class="mobile-nav-link">公司简介</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=9" class="mobile-nav-link">简历投递</a></li>
                                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=30" class="mobile-nav-link">联系我们</a></li>
                                </ul>
        </div>
            </div>
</header>

<script>
// Modern Header JavaScript
document.addEventListener('DOMContentLoaded', function() {
    // Fix nav highlighting - use setTimeout to ensure dropdown items are rendered
    setTimeout(function() {
        var navLinks = document.querySelectorAll('.nav-menu .nav-link');
        navLinks.forEach(function(link) { link.classList.remove('active'); });
        var currentUrl = window.location.href;
        var tidMatch = currentUrl.match(/[?&]tid=(\d+)/);
        var aidMatch = currentUrl.match(/[?&]aid=(\d+)/);
        var currentTid = tidMatch ? parseInt(tidMatch[1]) : 0;
        // 视频专区：伪静态 /video-zone 或播放控制器 /home/Video/ 均无 tid 参数
        if (!currentTid && /\/video-zone|\/home\/Video\/|[?&]c=Video(&|$)/i.test(currentUrl)) currentTid = 103;
        // If aid present (View page), get tid from breadcrumb
        if (!currentTid && aidMatch) {
            var typeLink = document.querySelector('.idx-hero-breadcrumb a:last-child, .breadcrumb a:last-child');
            if (typeLink) {
                var href = typeLink.getAttribute('href') || '';
                var m = href.match(/tid=(\d+)/);
                if (m) currentTid = parseInt(m[1]);
            }
        }
        if (currentTid > 0) {
            // First try direct match with top-level nav links
            var matched = false;
            navLinks.forEach(function(link) {
                if (matched) return;
                var href = link.getAttribute('href') || '';
                var m = href.match(/tid=(\d+)/);
                if (m && parseInt(m[1]) === currentTid) {
                    link.classList.add('active');
                    matched = true;
                }
            });
            // If no direct match, find in dropdown items and highlight parent nav
            if (!matched) {
                var dropdownLinks = document.querySelectorAll('.tree-level1-link, .tree-level2-link');
                dropdownLinks.forEach(function(dl) {
                    if (matched) return;
                    var href = dl.getAttribute('href') || '';
                    var m = href.match(/tid=(\d+)/);
                    if (m && parseInt(m[1]) === currentTid) {
                        var parentNavItem = dl.closest('.nav-item');
                        if (parentNavItem) {
                            var parentLink = parentNavItem.querySelector('.nav-link');
                            if (parentLink) {
                                parentLink.classList.add('active');
                                matched = true;
                            }
                        }
                    }
                });
            }
        }
    }, 100);

    const header = document.getElementById('modernHeader');
    const mobileMenuToggle = document.getElementById('mobileMenuToggle');
    const mobileMenu = document.getElementById('mobileMenu');

    // Header scroll effect
    let lastScrollTop = 0;
    window.addEventListener('scroll', function() {
        const scrollTop = window.pageYOffset || document.documentElement.scrollTop;

        if (scrollTop > 50) {
            header.classList.add('scrolled');
        } else {
            header.classList.remove('scrolled');
        }

        lastScrollTop = scrollTop;
    });

    // Mobile menu toggle
    mobileMenuToggle.addEventListener('click', function() {
        mobileMenu.classList.toggle('active');
        const isActive = mobileMenu.classList.contains('active');
        this.setAttribute('aria-expanded', isActive ? 'true' : 'false');

        // Toggle icon
        const icon = this.querySelector('svg');
        if (isActive) {
            icon.innerHTML = '<line x1="18" y1="6" x2="6" y2="18" stroke="currentColor" stroke-width="2"/><line x1="6" y1="6" x2="18" y2="18" stroke="currentColor" stroke-width="2"/>';
        } else {
            icon.innerHTML = '<line x1="3" y1="6" x2="21" y2="6" stroke="currentColor" stroke-width="2"/><line x1="3" y1="12" x2="21" y2="12" stroke="currentColor" stroke-width="2"/><line x1="3" y1="18" x2="21" y2="18" stroke="currentColor" stroke-width="2"/>';
        }
    });

    // Close mobile menu when clicking outside
    document.addEventListener('click', function(e) {
        if (!header.contains(e.target)) {
            mobileMenu.classList.remove('active');
            mobileMenuToggle.setAttribute('aria-expanded', 'false');
            const icon = mobileMenuToggle.querySelector('svg');
            icon.innerHTML = '<line x1="3" y1="6" x2="21" y2="6" stroke="currentColor" stroke-width="2"/><line x1="3" y1="12" x2="21" y2="12" stroke="currentColor" stroke-width="2"/><line x1="3" y1="18" x2="21" y2="18" stroke="currentColor" stroke-width="2"/>';
            
            // 关闭所有二级菜单
            document.querySelectorAll('.mobile-submenu').forEach(function(submenu) {
                submenu.style.display = 'none';
            });
        }
    });

    // 手机端二级菜单功能
    const submenuLinks = document.querySelectorAll('.mobile-nav-link.has-submenu');
    const submenuBacks = document.querySelectorAll('.submenu-back');

    // 点击有子菜单的一级菜单项
    submenuLinks.forEach(function(link) {
        link.addEventListener('click', function(e) {
            e.preventDefault();
            e.stopPropagation();
            
            const typeid = this.getAttribute('data-typeid');
            const submenu = document.getElementById('submenu-' + typeid);
            
            if (submenu) {
                // 隐藏所有其他二级菜单
                document.querySelectorAll('.mobile-submenu').forEach(function(menu) {
                    if (menu !== submenu) {
                        menu.style.display = 'none';
                    }
                });
                
                // 显示当前二级菜单
                submenu.style.display = 'block';
                
                // 添加滑入动画
                setTimeout(function() {
                    submenu.style.animation = 'slideInRight 0.3s ease';
                }, 10);
            }
        });
    });

    // 点击返回按钮
    submenuBacks.forEach(function(back) {
        back.addEventListener('click', function(e) {
            e.preventDefault();
            e.stopPropagation();
            
            const submenu = this.closest('.mobile-submenu');
            if (submenu) {
                // 添加滑出动画
                submenu.style.animation = 'slideOutRight 0.3s ease';
                
                // 动画结束后隐藏
                setTimeout(function() {
                    submenu.style.display = 'none';
                }, 300);
            }
        });
    });

    // 添加滑出动画
    const style = document.createElement('style');
    style.textContent = `
        @keyframes slideOutRight {
            from {
                transform: translateX(0);
            }
            to {
                transform: translateX(100%);
            }
        }
    `;
    document.head.appendChild(style);

    // Active link highlighting - 基于URL的tid参数
    (function() {
        // 获取当前页面的tid
        const urlParams = new URLSearchParams(window.location.search);
        let currentTid = urlParams.get('tid');
        // 视频专区：伪静态 /video-zone 或播放控制器 /home/Video/ 均无 tid 参数
        if (!currentTid && /\/video-zone|\/home\/Video\/|[?&]c=Video(&|$)/i.test(window.location.href)) currentTid = 103;
        
        // 获取所有导航链接
        const navLinks = document.querySelectorAll('.nav-link');
        
        // 先移除所有现有的active类（避免eyou:eq产生的active）
        navLinks.forEach(link => link.classList.remove('active'));
        
        // 定义顶级菜单tid映射（子分类tid -> 父级菜单tid）
        // 产品与服务(tid=3): 芯片(67+), 定制服务, 设计工具, 参考设计
        // 应用(tid=4): 机器人, 伺服与自动化, 汽车电子
        // 设计资源(tid=31): 文档&工具, 算法赋能, iCoil Studio
        // 关于英达森斯(tid=1): 公司简介, 新闻, 简历投递, 联系我们
        // 电感编码器百科(tid=19): 无子分类
        
        function getParentNavTid(tid) {
            tid = parseInt(tid);
            // 产品与服务子分类 -> 3 (67-72, 78-80)
            if ([67,68,69,70,71,72,78,79,80].includes(tid)) return '3';
            // 支持与服务 -> 73 (子栏目74-77 及视频专区103)
            if ([73,74,75,76,77,103].includes(tid)) return '73';
            // 应用子分类 -> 4
            if ([91,92,93,94,95,96,97,98,99,100].includes(tid)) return '4';
            // 设计资源子分类 -> 31
            if ([101,102,104,105,106,107,108,109,110].includes(tid)) return '31';
            // 关于英达森斯子分类 -> 1
            if ([111,112,113,114,115,116,117,118,119,120].includes(tid)) return '1';
            // 电感编码器百科 -> 19
            if (tid === 19) return '19';
            // 本身就是顶级菜单
            if ([1,3,4,19,31,73].includes(tid)) return String(tid);
            return null;
        }
        
        // 确定当前页面应该激活的顶级菜单tid
        const targetNavTid = currentTid ? getParentNavTid(currentTid) : null;
        
        // 为匹配的导航链接添加active类
        navLinks.forEach(link => {
            const linkHref = link.getAttribute('href') || '';
            const match = linkHref.match(/tid=(\d+)/);
            if (match && targetNavTid && match[1] === targetNavTid) {
                link.classList.add('active');
            }
        });
    })();

    // Dropdown menu functionality
    const dropdownItems = document.querySelectorAll('.has-dropdown');
    let dropdownTimeout;
    let activeDropdown = null;

    function showDropdown(dropdown) {
        // 隐藏其他下拉菜单
        if (activeDropdown && activeDropdown !== dropdown) {
            hideDropdown(activeDropdown);
        }
        
        clearTimeout(dropdownTimeout);
        dropdown.style.opacity = '1';
        dropdown.style.visibility = 'visible';
        dropdown.style.transform = 'translateY(0)';
        activeDropdown = dropdown;
    }

    function hideDropdown(dropdown) {
        dropdown.style.opacity = '0';
        dropdown.style.visibility = 'hidden';
        dropdown.style.transform = 'translateY(-10px)';
        if (activeDropdown === dropdown) {
            activeDropdown = null;
        }
    }

    dropdownItems.forEach(item => {
        const dropdown = item.querySelector('.nav-dropdown');
        if (!dropdown) return;

        // 创建一个更大的感应区域
        const hoverZone = document.createElement('div');
        hoverZone.style.cssText = `
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: -20px;
            z-index: 9999;
            pointer-events: none;
        `;
        item.style.position = 'relative';
        item.appendChild(hoverZone);

        item.addEventListener('mouseenter', function(e) {
            showDropdown(dropdown);
        });

        item.addEventListener('mouseleave', function(e) {
            // 检查鼠标是否移动到下拉菜单区域
            const rect = dropdown.getBoundingClientRect();
            const mouseX = e.clientX;
            const mouseY = e.clientY;
            
            // 如果鼠标在下拉菜单范围内或接近范围内，延迟隐藏
            if (mouseX >= rect.left - 50 && mouseX <= rect.right + 50 && 
                mouseY >= rect.top - 20 && mouseY <= rect.bottom + 20) {
                return;
            }
            
            dropdownTimeout = setTimeout(() => {
                hideDropdown(dropdown);
            }, 300);
        });

        // 下拉菜单本身的鼠标事件
        dropdown.addEventListener('mouseenter', function() {
            clearTimeout(dropdownTimeout);
            showDropdown(dropdown);
        });

        dropdown.addEventListener('mouseleave', function(e) {
            // 检查鼠标是否移回到父菜单项
            const parentRect = item.getBoundingClientRect();
            const mouseX = e.clientX;
            const mouseY = e.clientY;
            
            if (mouseX >= parentRect.left && mouseX <= parentRect.right && 
                mouseY >= parentRect.top && mouseY <= parentRect.bottom) {
                return;
            }
            
            dropdownTimeout = setTimeout(() => {
                hideDropdown(dropdown);
            }, 300);
        });
    });

    // 点击其他地方隐藏下拉菜单
    document.addEventListener('click', function(e) {
        if (activeDropdown && !e.target.closest('.has-dropdown')) {
            hideDropdown(activeDropdown);
        }
    });

    // ===== Scroll Animation System =====
    (function() {
        // Auto-apply animation classes to common elements
        // NOTE: .dv-content-card and .dv-header removed — article detail content
        // must be visible immediately; tall content can fail the 0.08 intersection
        // threshold, causing "gray blank" on articles like aid=351/350/349.
        var selectors = [
            '.dropdown-card', '.category-card', '.app-card', '.news-card',
            '.product-card', '.feature-card', '.info-card',
            '.section-title', '.section-header', '.section-desc',
            '.hero-content', '.idx-hero-content'
        ];

        selectors.forEach(function(sel) {
            document.querySelectorAll(sel).forEach(function(el, i) {
                // Skip elements inside article body to prevent content disappearing
                if (el.closest('.dv-body')) return;
                if (el.classList.contains('scroll-fade-up')) return;
                el.classList.add('scroll-fade-up');
                // Add stagger delay based on position within parent
                var siblings = el.parentElement ? Array.from(el.parentElement.children).filter(function(c) { return c.classList.contains('scroll-fade-up'); }) : [];
                var idx = siblings.indexOf(el);
                if (idx >= 0 && idx < 4) {
                    el.classList.add('scroll-delay-' + (idx + 1));
                }
            });
        });

        // Intersection Observer for scroll animations
        if ('IntersectionObserver' in window) {
            var observer = new IntersectionObserver(function(entries) {
                entries.forEach(function(entry) {
                    if (entry.isIntersecting) {
                        entry.target.classList.add('visible');
                        observer.unobserve(entry.target);
                    }
                });
            }, {
                threshold: 0.08,
                rootMargin: '0px 0px -40px 0px'
            });

            document.querySelectorAll('.scroll-fade-up, .scroll-fade-left, .scroll-fade-right, .scroll-scale').forEach(function(el) {
                observer.observe(el);
            });
        } else {
            // Fallback: show all
            document.querySelectorAll('.scroll-fade-up, .scroll-fade-left, .scroll-fade-right, .scroll-scale').forEach(function(el) {
                el.classList.add('visible');
            });
        }
    })();

    // ===== Hero Parallax =====
    (function() {
        var heroBg = document.querySelector('.idx-hero-bg');
        if (!heroBg) return;

        var ticking = false;
        window.addEventListener('scroll', function() {
            if (!ticking) {
                requestAnimationFrame(function() {
                    var scrolled = window.pageYOffset;
                    if (scrolled < 400) {
                        heroBg.style.transform = 'translateY(' + (scrolled * 0.3) + 'px)';
                    }
                    ticking = false;
                });
                ticking = true;
            }
        }, { passive: true });
    })();

    // ===== Smooth Scroll for Anchor Links =====
    (function() {
        document.querySelectorAll('a[href^="#"]:not([href="#"]):not([href="javascript"])').forEach(function(link) {
            link.addEventListener('click', function(e) {
                var target = document.querySelector(this.getAttribute('href'));
                if (target) {
                    e.preventDefault();
                    var offset = 80;
                    var targetPos = target.getBoundingClientRect().top + window.pageYOffset - offset;
                    window.scrollTo({ top: targetPos, behavior: 'smooth' });
                }
            });
        });
    })();
});
</script><script>
if(/[?&]measure=1/.test(location.search)){
  function __m(){
    function R(sel){var e=document.querySelector(sel);if(!e)return null;var r=e.getBoundingClientRect();return {L:Math.round(r.left),R:Math.round(r.right),W:Math.round(r.width)};}
    var de=document.documentElement;
    var rows=[
      'tid='+new URLSearchParams(location.search).get('tid'),
      'inner '+window.innerWidth+' client '+de.clientWidth+' vbar '+(window.innerWidth-de.clientWidth)+' scrollW '+de.scrollWidth,
      'logo '    +JSON.stringify(R('.header-logo')),
      'navwrap '+JSON.stringify(R('.header-nav')),
      'menu '    +JSON.stringify(R('.nav-menu')),
      'actions ' +JSON.stringify(R('.header-actions')),
      'search '  +JSON.stringify(R('.search-form-inline')),
      'hc '      +JSON.stringify(R('.header-container'))
    ];
    var d=document.createElement('div');
    d.style.cssText='position:fixed;top:0;left:0;right:0;z-index:999999;background:#001100;color:#3f3;font:15px/1.6 monospace;padding:8px 12px;white-space:pre-wrap';
    d.textContent=rows.join('\n');
    document.body.appendChild(d);
  }
  if(document.readyState!=='loading')__m(); else document.addEventListener('DOMContentLoaded',__m);
  setTimeout(__m,600);
}
</script>
<script>
if(/[?&]measure=1/.test(location.search)){
  function __m(){
    function R(sel){var e=document.querySelector(sel);if(!e)return null;var r=e.getBoundingClientRect();return {L:Math.round(r.left),R:Math.round(r.right),W:Math.round(r.width)};}
    var de=document.documentElement;
    var rows=[
      'tid='+new URLSearchParams(location.search).get('tid'),
      'inner '+window.innerWidth+' client '+de.clientWidth+' vbar '+(window.innerWidth-de.clientWidth)+' scrollW '+de.scrollWidth,
      'logo '    +JSON.stringify(R('.header-logo')),
      'navwrap '+JSON.stringify(R('.header-nav')),
      'menu '    +JSON.stringify(R('.nav-menu')),
      'actions ' +JSON.stringify(R('.header-actions')),
      'search '  +JSON.stringify(R('.search-form-inline')),
      'hc '      +JSON.stringify(R('.header-container'))
    ];
    var d=document.createElement('div');
    d.style.cssText='position:fixed;top:0;left:0;right:0;z-index:999999;background:#001100;color:#3f3;font:15px/1.6 monospace;padding:8px 12px;white-space:pre-wrap';
    d.textContent=rows.join('\n');
    document.body.appendChild(d);
  }
  if(document.readyState!=='loading')__m(); else document.addEventListener('DOMContentLoaded',__m);
  setTimeout(__m,600);
}
</script>

<!-- 公用头部 end -->
<link href="/template/pc/skin/style/style.css" rel="stylesheet" media="screen" type="text/css" />

<style>
/* ===== Article Detail - Unified Style ===== */
.dv-page {
  --brand-blue: #0573C3;
  --brand-blue-hover: #0362A8;
  --brand-blue-dark: #034a8a;
  --brand-orange: #FFA505;
  --text-main: #1A1A1A;
  --text-secondary: #525252;
  --text-light: #737373;
  --bg-light: #F5F7FA;
  --bg-white: #FFFFFF;
  --border-color: #DDE4ED;
  --shadow-sm: 0 1px 2px 0 rgba(0,0,0,0.05);
  --shadow: 0 4px 12px -2px rgba(5, 115, 195, 0.08), 0 2px 4px -2px rgba(0,0,0,0.04);
  --shadow-lg: 0 12px 24px -4px rgba(5, 115, 195, 0.12), 0 4px 8px -4px rgba(0,0,0,0.06);
  --radius-sm: 6px;
  --radius: 10px;
  --radius-lg: 14px;
  background: var(--bg-light);
  min-height: calc(100vh - 200px);
  padding-bottom: 64px;
}

.dv-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

.dv-main {
  margin-top: 32px;
}

.dv-content-card {
  background: var(--bg-white);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  padding: 48px;
}

.dv-header {
  margin-bottom: 32px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border-color);
}

.dv-title {
  font-size: 32px;
  font-weight: 700;
  color: var(--text-main);
  line-height: 1.3;
  margin: 0 0 20px;
}

.dv-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  font-size: 14px;
  color: var(--text-light);
}

.dv-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.dv-body {
  font-size: 16px;
  line-height: 1.8;
  color: var(--text-secondary);
}

.dv-body img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius);
  margin: 16px 0;
}

.dv-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 16px 0;
  font-size: 14px;
}

.dv-body th,
.dv-body td {
  padding: 10px 14px;
  border: 1px solid var(--border-color);
}

.dv-body th {
  background: var(--bg-light);
  font-weight: 600;
  color: var(--text-main);
}

.dv-tags {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--border-color);
}

.dv-tags .tags-label {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-main);
  margin-right: 10px;
}

.dv-tags .tag {
  display: inline-block;
  padding: 6px 12px;
  margin: 0 8px 8px 0;
  background: var(--bg-light);
  color: var(--brand-blue);
  border-radius: var(--radius-sm);
  font-size: 13px;
  text-decoration: none;
  transition: all 0.2s;
}

.dv-tags .tag:hover {
  background: var(--brand-blue);
  color: #fff;
}

.dv-nav {
  margin-top: 32px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  align-items: center;
}

.dv-nav a {
  color: var(--brand-blue);
  text-decoration: none;
  transition: color 0.2s;
}

.dv-nav a:hover {
  color: var(--brand-blue-hover);
  text-decoration: underline;
}

.dv-nav .prev,
.dv-nav .next {
  font-size: 14px;
  color: var(--text-secondary);
}

.dv-nav .prev a,
.dv-nav .next a {
  color: var(--brand-blue);
}

.dv-nav .back {
  text-align: center;
}

.dv-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  background: var(--bg-white);
  color: var(--brand-blue);
  border: 1px solid var(--brand-blue);
  border-radius: var(--radius-sm);
  font-size: 14px;
  text-decoration: none;
  transition: all 0.2s;
}

.dv-btn-secondary:hover {
  background: var(--brand-blue);
  color: #fff;
}

/* ===== Mobile Overrides for Article-Embedded CSS ===== */
@media (max-width: 768px) {
  .dv-container { padding: 0 12px; }
  .dv-main { margin-top: 20px; }
  .dv-content-card { padding: 24px 18px; }
  .dv-title { font-size: 22px; }
  .dv-body { font-size: 15px; line-height: 1.75; }

  /* Blanket: override all article-embedded & inline font sizes */
  .dv-body p, .dv-body div, .dv-body span, .dv-body li,
  .dv-body td, .dv-body th, .dv-body label, .dv-body a,
  .dv-body strong, .dv-body em, .dv-body blockquote,
  .dv-body section, .dv-body article, .dv-body code {
    font-size: inherit !important;
    line-height: 1.75 !important;
  }
  .dv-body h1 { font-size: 22px !important; line-height: 1.4 !important; }
  .dv-body h2 { font-size: 20px !important; line-height: 1.4 !important; }
  .dv-body h3 { font-size: 18px !important; line-height: 1.4 !important; }
  .dv-body h4 { font-size: 16px !important; line-height: 1.4 !important; }
  .dv-body h5, .dv-body h6 { font-size: 15px !important; line-height: 1.4 !important; }
  .dv-body img { margin: 12px 0; max-width: 100% !important; height: auto !important; }
  .dv-body table { font-size: 13px; }
  .dv-body th, .dv-body td { padding: 8px 10px; }

  /* Override article-specific layout containers */
  .dv-body .page-content { max-width: 100% !important; padding: 1rem 0.5rem !important; border-radius: 1rem !important; }
  .dv-body .company-line, .dv-body .subhead { padding-left: 0 !important; margin-bottom: 0.75rem !important; }
  .dv-body .intro-text { font-size: 15px !important; padding: 0.75rem 1rem !important; border-radius: 0.75rem !important; margin: 0.75rem 0 1rem !important; }
  .dv-body .example { padding-left: 0 !important; font-size: 14px !important; }

  /* Override card grids - stack vertically */
  .dv-body .card-grid, .dv-body .scene-grid, .dv-body .concept-grid {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    margin: 1rem 0 !important;
    gap: 0.75rem !important;
  }
  /* Override fixed-width cards and elements */
  .dv-body .metric-card, .dv-body .demand-card, .dv-body .scene-card,
  .dv-body .concept-card, .dv-body .badge, .dv-body .control-group,
  .dv-body .mechanical-dial, .dv-body .electrical-wave {
    width: 100% !important;
    min-width: unset !important;
    max-width: 100% !important;
    padding: 1rem !important;
    margin: 0 0 0.75rem 0 !important;
    border-radius: 0.75rem !important;
    flex: 0 0 auto !important;
  }
  /* Reduce icon sizes */
  .dv-body .card-icon { width: 56px !important; height: 56px !important; margin-bottom: 0.5rem !important; }
  .dv-body .card-icon svg { width: 40px !important; height: 40px !important; }

  /* Override large paddings in article sections */
  .dv-body .chart-container { padding: 0.75rem !important; }
  .dv-body .conclusion, .dv-body .conclusion-robot { padding: 1rem !important; margin: 1rem 0 !important; }
  .dv-body .footnote { padding: 0.5rem !important; font-size: 13px !important; }
  .dv-body .chip-highlight { padding: 0.25rem 0.75rem !important; font-size: 13px !important; }

  /* Override grid layouts */
  .dv-body [class*="grid"] { grid-template-columns: 1fr !important; gap: 0.75rem !important; }
  .dv-body .demo-content, .dv-body .demo-visualization { padding: 1rem !important; }

  /* Reset inline styles causing excessive blank space / overflow - but preserve list indentation */
  .dv-body [style*="padding-left"]:not(ul):not(ol):not(li) { padding-left: 0 !important; }
  .dv-body ul[style*="padding-left"], .dv-body ol[style*="padding-left"] { padding-left: 20px !important; }
  .dv-body [style*="min-width"] { min-width: unset !important; }
  .dv-body [style*="font-size"] { font-size: inherit !important; }

  /* Ensure content wrapper has proper side padding on mobile */
  .dv-body > div[style*="max-width"],
  .dv-body > div[style*="margin"] {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  /* Ensure headings and paragraphs don't touch edges */
  .dv-body h1[style], .dv-body h2[style], .dv-body h3[style],
  .dv-body h4[style], .dv-body h5[style], .dv-body h6[style],
  .dv-body p[style] {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  .dv-header { margin-bottom: 20px; padding-bottom: 16px; }
  .dv-tags { margin-top: 20px; padding-top: 16px; }
  .dv-nav { grid-template-columns: 1fr; }
  .dv-nav .back { order: -1; }
}

@media (max-width: 480px) {
  .dv-container { padding: 0 10px; }
  .dv-main { margin-top: 12px; }
  .dv-content-card { padding: 18px 14px; }
  .dv-title { font-size: 19px; line-height: 1.4; }
  .dv-body { font-size: 14px; line-height: 1.7; }

  .dv-body p, .dv-body div, .dv-body span, .dv-body li,
  .dv-body td, .dv-body th, .dv-body label, .dv-body a,
  .dv-body strong, .dv-body em, .dv-body blockquote,
  .dv-body section, .dv-body article, .dv-body code {
    font-size: inherit !important;
    line-height: 1.7 !important;
  }
  .dv-body h1 { font-size: 18px !important; }
  .dv-body h2 { font-size: 17px !important; }
  .dv-body h3 { font-size: 16px !important; }
  .dv-body h4 { font-size: 15px !important; }
  .dv-body h5, .dv-body h6 { font-size: 14px !important; }
  .dv-body img { margin: 8px 0; border-radius: 6px; max-width: 100% !important; }
  .dv-body table { font-size: 12px; }
  .dv-body th, .dv-body td { padding: 6px 8px; }

  .dv-body .page-content { padding: 0.5rem 0.25rem !important; }
  .dv-body .intro-text { padding: 0.5rem 0.75rem !important; }
  .dv-body .metric-card, .dv-body .demand-card, .dv-body .scene-card,
  .dv-body .concept-card, .dv-body .control-group,
  .dv-body .mechanical-dial, .dv-body .electrical-wave { padding: 0.75rem !important; }
  .dv-body .card-icon { width: 44px !important; height: 44px !important; }
  .dv-body .card-icon svg { width: 32px !important; height: 32px !important; }
  .dv-body .chart-container { padding: 0.5rem !important; }
  .dv-body .conclusion, .dv-body .conclusion-robot { padding: 0.75rem !important; }
  .dv-body .footnote { font-size: 12px !important; }

  /* Ensure content wrapper has proper side padding on small mobile */
  .dv-body > div[style*="max-width"],
  .dv-body > div[style*="margin"] {
    padding-left: 2px !important;
    padding-right: 2px !important;
  }

  /* Ensure headings and paragraphs don't touch edges on small mobile */
  .dv-body h1[style], .dv-body h2[style], .dv-body h3[style],
  .dv-body h4[style], .dv-body h5[style], .dv-body h6[style],
  .dv-body p[style] {
    padding-left: 2px !important;
    padding-right: 2px !important;
  }

  /* Preserve list indentation on small mobile */
  .dv-body ul[style*="padding-left"], .dv-body ol[style*="padding-left"] { padding-left: 18px !important; }

  .dv-meta { gap: 10px; font-size: 12px; }
  .dv-header { margin-bottom: 16px; padding-bottom: 12px; }
  .dv-tags { margin-top: 16px; padding-top: 12px; }
}
</style>

<style>
/* ===== 文章内嵌样式（提前输出，避免 FOUC 闪烁） ===== */

        /* 全局重置与基础样式 — 采用品牌色 */
        

        

        .container {
            max-width: 1100px;
            margin: 0 auto;
            background: #ffffff;
            border-radius: 20px;
            box-shadow: 0 20px 60px rgba(0, 114, 188, 0.10);
            padding: 50px 55px;
            
        }

        /* 头部 */
        .header {
            border-bottom: 3px solid #0072BC;
            padding-bottom: 20px;
            margin-bottom: 30px;
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            align-items: flex-end;
        }

        .header h1 {
            font-size: 32px;
            font-weight: 700;
            color: #000000;  /* 黑色 */
            letter-spacing: -0.02em;
            line-height: 1.2;
        }

        .header .sub {
            font-size: 16px;
            color: #0072BC;
            background: #e6f0f9;
            padding: 6px 16px;
            border-radius: 30px;
            font-weight: 500;
            margin-top: 10px;
            display: inline-block;
        }

        .badge {
            background: #0072BC;
            color: white;
            border-radius: 30px;
            padding: 4px 18px;
            font-size: 14px;
            font-weight: 600;
            letter-spacing: 0.3px;
        }

        /* 目录 - 使用橙色点缀 */
        .toc {
            background: #f8fafc;
            border-radius: 16px;
            padding: 20px 28px;
            margin-bottom: 40px;
            border-left: 5px solid #F5A623;
        }

        .toc p {
            font-weight: 600;
            margin-bottom: 8px;
            font-size: 18px;
            color: #000000;  /* 黑色 */
        }

        .toc ul {
            list-style: none;
            display: flex;
            flex-wrap: wrap;
            gap: 10px 25px;
        }

        .toc ul li a {
            color: #1e3a5f;
            text-decoration: none;
            font-weight: 500;
            border-bottom: 2px solid transparent;
            
            font-size: 15px;
        }

        .toc ul li a:hover {
            border-bottom-color: #F5A623;
            color: #0072BC;
        }

        .toc ul li a::before {
            content: "◆ ";
            color: #F5A623;
            font-size: 12px;
        }

        /* 正文通用 — 一级标题改为黑色 */
        h2 {
            font-size: 26px;
            font-weight: 700;
            color: #000000;  /* 黑色 */
            margin-top: 40px;
            margin-bottom: 16px;
            border-left: 6px solid #F5A623;  /* 橙色装饰条 */
            padding-left: 18px;
        }

        h3 {
            font-size: 20px;
            font-weight: 600;
            color: #1a1a1a;
            margin-top: 28px;
            margin-bottom: 10px;
        }

        p {
            margin-bottom: 18px;
            font-size: 16px;
            color: #1e2e3e;
        }

        ul, ol {
            margin-bottom: 20px;
            padding-left: 28px;
        }

        li {
            margin-bottom: 6px;
        }

        strong {
            color: #0072BC;
        }

        .highlight-box {
            background: #f0f6fe;
            border-radius: 12px;
            padding: 18px 25px;
            margin: 24px 0;
            border: 1px solid #d4e2f0;
            border-left: 6px solid #F5A623;
        }

        .highlight-box p:last-child {
            margin-bottom: 0;
        }

        .highlight-box ul {
            margin-bottom: 0;
        }

        /* 对决卡片 */
        .versus-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 24px;
            margin: 24px 0;
        }

        .versus-card {
            background: #f9fcff;
            border-radius: 14px;
            padding: 22px 24px;
            border: 1px solid #e2ecf5;
            box-shadow: 0 2px 6px rgba(0,0,0,0.02);
        }

        .versus-card h4 {
            font-size: 20px;
            font-weight: 700;
            margin-bottom: 8px;
            display: flex;
            align-items: center;
            gap: 10px;
            color: #000000;
        }

        .versus-card .tag {
            display: inline-block;
            background: #dce8f2;
            color: #1a3a5a;
            font-size: 13px;
            font-weight: 600;
            padding: 0 14px;
            border-radius: 30px;
            margin-bottom: 12px;
            letter-spacing: 0.3px;
        }

        .versus-card ul {
            padding-left: 20px;
        }

        .versus-card .icon {
            font-size: 24px;
        }

        .induxense-bg {
            border-left: 4px solid #0072BC;
        }

        .resolver-bg {
            border-left: 4px solid #F5A623;
        }

        /* 对比表格 */
        .table-wrap {
            overflow-x: auto;
            margin: 30px 0;
            border-radius: 14px;
            border: 1px solid #dce6ef;
        }

        table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
            min-width: 700px;
        }

        th {
            background: #0072BC;
            color: white;
            font-weight: 600;
            padding: 14px 12px;
            text-align: center;
            white-space: nowrap;
        }

        td {
            padding: 12px 14px;
            border-bottom: 1px solid #e2ecf5;
            text-align: center;
            vertical-align: middle;
        }

        tr:last-child td {
            border-bottom: none;
        }

        tr:nth-child(even) td {
            background: #f8fafc;
        }

        .winner {
            background: #d4edda !important;
            font-weight: 600;
            color: #0072BC;
        }

        .loser {
            background: #f8dddd !important;
        }

        /* 选型决策卡片 */
        .decision-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 20px;
            margin: 25px 0;
        }

        .decision-item {
            background: #f0f6fe;
            border-radius: 12px;
            padding: 18px 16px;
            border-top: 4px solid #F5A623;
        }

        .decision-item h5 {
            font-size: 17px;
            font-weight: 700;
            color: #0072BC;
            margin-bottom: 6px;
        }

        .decision-item p {
            font-size: 14px;
            margin-bottom: 0;
            color: #2a4a6a;
        }

        /* ===== 文末品牌提及 ===== */
        .brand-mention {
            margin-top: 40px;
            padding: 20px 28px 18px;
            background: #f8fafc;
            border-radius: 14px;
            border: 1px solid #e2ecf5;
            border-left: 4px solid #0072BC;
        }

        .brand-mention p {
            font-size: 15px;
            margin-bottom: 6px;
            color: #2a4a6a;
        }

        .brand-mention .chip-list {
            display: flex;
            flex-wrap: wrap;
            gap: 8px 16px;
            margin-top: 6px;
        }

        .brand-mention .chip-list span {
            display: inline-block;
            background: #e6f0f9;
            color: #0072BC;
            font-size: 13px;
            font-weight: 600;
            padding: 0 14px;
            border-radius: 30px;
            letter-spacing: 0.3px;
        }

        .brand-mention .link {
            margin-top: 8px;
            font-size: 14px;
        }

        .brand-mention .link a {
            color: #0072BC;
            text-decoration: none;
            font-weight: 600;
            border-bottom: 2px solid transparent;
            
        }

        .brand-mention .link a:hover {
            border-bottom-color: #F5A623;
        }

        .footer-note {
            margin-top: 45px;
            padding-top: 25px;
            border-top: 2px solid #e6edf5;
            font-size: 14px;
            color: #5a7a9a;
            text-align: center;
        }

        /* 额外橙色点缀 */
        .badge-orange {
            background: #F5A623;
            color: white;
            border-radius: 30px;
            padding: 2px 14px;
            font-size: 13px;
            font-weight: 600;
        }

        @media (max-width: 700px) {
            .container {
                padding: 25px 18px;
            }
            .header h1 {
                font-size: 24px;
            }
            .header .sub {
                font-size: 14px;
            }
            h2 {
                font-size: 22px;
            }
            .versus-grid {
                grid-template-columns: 1fr;
            }
            .toc ul {
                flex-direction: column;
                gap: 4px;
            }
            .toc ul li a::before {
                content: "• ";
            }
        }
    
</style>

<style>
/* ===== IDX Hero (shared component) ===== */
.idx-hero {
  position: relative;
  height: 280px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #0a1628;
}
.idx-hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0.35;
  z-index: 1;
}
.idx-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(8,24,68,0.85) 0%, rgba(8,24,68,0.60) 55%, rgba(8,24,68,0.30) 100%);
  z-index: 2;
}
.idx-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255,255,255,0.06) 1px, transparent 1px);
  background-size: 32px 32px;
  z-index: 3;
  pointer-events: none;
}
.idx-hero-content {
  position: relative;
  z-index: 4;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}
.idx-hero-breadcrumb {
  font-size: 13px;
  color: rgba(255,255,255,0.55);
  margin-bottom: 14px;
}
.idx-hero-breadcrumb a {
  color: rgba(255,255,255,0.55);
  text-decoration: none;
  transition: color 0.2s;
}
.idx-hero-breadcrumb a:hover {
  color: rgba(255,255,255,0.85);
}
.idx-hero-breadcrumb .sep {
  margin: 0 8px;
}
.idx-hero-breadcrumb .current {
  color: rgba(255,255,255,0.85);
}
.idx-hero-title {
  font-size: 36px;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.2;
  margin: 0 0 12px;
  letter-spacing: -0.01em;
}
.idx-hero-desc {
  font-size: 15px;
  color: rgba(255,255,255,0.82);
  line-height: 1.7;
  max-width: 580px;
  margin: 0;
}
@media (max-width: 768px) {
  .idx-hero { height: 220px; }
  .idx-hero-content { padding: 0 16px; }
  .idx-hero-title { font-size: 28px; }
  .idx-hero-desc { font-size: 14px; }
  .idx-hero-breadcrumb { font-size: 12px; margin-bottom: 10px; }
}
@media (max-width: 480px) {
  .idx-hero { height: 180px; }
  .idx-hero-content { padding: 0 12px; }
  .idx-hero-title { font-size: 22px; }
  .idx-hero-desc { font-size: 13px; }
  .idx-hero-breadcrumb { font-size: 11px; margin-bottom: 8px; }
}
</style>


<section class="idx-hero">
  <div class="idx-hero-bg" style="background-image: url('/uploads/allimg/20260726/banner_encyclopedia.jpg');"></div>
  <div class="idx-hero-overlay"></div>
  <div class="idx-hero-content">
        <div class="idx-hero-breadcrumb">
      <a href="/">首页</a>
            <span class="sep">&gt;</span>
            <a href="/index.php?m=home&c=Lists&a=index&tid=19">电感式编码器百科</a>
          </div>
        <h1 class="idx-hero-title">电感式编码器百科</h1>
        <p class="idx-hero-desc">系统了解电感式编码器原理、技术特点、应用场景与选型指南。</p>
      </div>
</section>


<div class="dv-page">
  <div class="dv-container">
    <div class="dv-main">
      <article class="dv-content-card">
        
        <div class="dv-body">
          


    
    
    
    
    



<div class="container">

    <!-- 头部 -->
    <div class="header">
        <div>
            <h1>电感式编码器 vs 旋转变压器</h1>
            <div class="sub">技术对决 · 性能比拼 · 替代趋势</div>
        </div>
        <div class="badge">深度对比 · 2026</div>
    </div>

    <!-- 目录 -->
    <div class="toc">
        <p>📑 本文导览</p>
        <ul>
            <li><a href="#why">为什么对比这两者</a></li>
            <li><a href="#induxense">电感式编码器</a></li>
            <li><a href="#resolver">旋转变压器</a></li>
            <li><a href="#compare">全面对比表</a></li>
            <li><a href="#trend">替代趋势分析</a></li>
            <li><a href="#decision">选型决策建议</a></li>
        </ul>
    </div>

    <!-- 引言 -->
    <h2 id="why">为什么对比电感式编码器与旋转变压器？</h2>
    <p>旋转变压器（Resolver）作为传统的位置传感器，已在工业电机和汽车领域服役数十年，以坚固耐用、抗振抗污染著称。然而，随着半导体和电磁感应技术的进步，<strong>电感式编码器</strong>（Inductive Encoder）正以更高的精度、更低的成本和更丰富的接口，逐步侵蚀旋变的市场份额。尤其是在新能源汽车、机器人和高端伺服领域，电感式编码器已成为旋变的有力竞争者。</p>
    <p>本文从工作原理、性能指标、环境适应性、成本、接口和可靠性等多个维度展开全面对决，并分析未来的替代趋势，帮助工程师做出理性决策。</p>

    <!-- 电感式编码器 -->
    <h2 id="induxense">电感式编码器</h2>
    <div class="versus-grid">
        <div class="versus-card induxense-bg">
            <h4><span class="icon">🧲</span> 电感式编码器</h4>
            <div class="tag">非接触 · 电磁感应 · 芯片化</div>
            <p><strong>工作原理：</strong>基于高频激励线圈与目标导体（转子）之间的电磁耦合，通过感应涡流变化来检测位置。通常采用 PCB 线圈和专用 ASIC 解码，输出数字信号（如 ABZ、SPI、SSI 等）。</p>
            <p><strong>核心优势：</strong></p>
            <ul>
                <li><strong>高精度：</strong>分辨率可达 23 位，重复精度角秒级。</li>
                <li><strong>低延迟：</strong>微秒级响应，适合高速控制。</li>
                <li><strong>接口丰富：</strong>支持 ABZ、PWM、SENT、SPI、SSI、RS-485 等。</li>
                <li><strong>成本竞争力：</strong>芯片化方案，批量成本优于传统旋变。</li>
                <li><strong>宽温工作：</strong>-40°C ~ 125°C，满足汽车级要求。</li>
                <li><strong>抗污染：</strong>对油污、粉尘不敏感。</li>
            </ul>
            <p><strong>局限性：</strong></p>
            <ul>
                <li>对安装偏心有一定敏感度（可通过校准补偿）。</li>
                <li>在极端强磁场环境下可能受干扰（但优于磁编码器）。</li>
            </ul>
            <p><strong>典型应用：</strong>机器人关节、伺服电机、新能源汽车电驱、工业自动化。</p>
        </div>
        <div class="versus-card resolver-bg">
            <h4><span class="icon">⚡</span> 旋转变压器</h4>
            <div class="tag">电磁感应 · 模拟输出 · 坚固耐用</div>
            <p><strong>工作原理：</strong>旋变是一个小型旋转变压器，由定子和转子组成，通过交变磁场感应出与角度成正弦/余弦关系的模拟电压信号（通常需外置 RDC 解码器转换为数字量）。</p>
            <p><strong>核心优势：</strong></p>
            <ul>
                <li><strong>极高可靠性：</strong>无电子器件，结构简单，寿命长达数十年。</li>
                <li><strong>抗振动抗冲击：</strong>能在高冲击（>1000g）环境下稳定工作。</li>
                <li><strong>宽温度范围：</strong>可达 -55°C ~ 150°C，甚至更高。</li>
                <li><strong>抗电磁干扰：</strong>本身为电磁感应器件，对外部干扰不敏感。</li>
                <li><strong>无需电池：</strong>绝对位置输出，断电不丢失。</li>
            </ul>
            <p><strong>局限性：</strong></p>
            <ul>
                <li><strong>精度受限：</strong>典型精度约 ±0.5° ~ ±0.1°，难以满足高端伺服需求。</li>
                <li><strong>解码复杂：</strong>需要专用 RDC 芯片或高速 ADC+算法，增加系统成本。</li>
                <li><strong>带宽较低：</strong>励磁频率通常 10kHz 左右，响应延迟毫秒级。</li>
                <li><strong>接口单一：</strong>仅输出模拟正弦/余弦，需额外处理。</li>
                <li><strong>体积较大：</strong>通常为独立组件，占用空间。</li>
            </ul>
            <p><strong>典型应用：</strong>航空航天、军用设备、重型机械、汽车 EPS（电动助力转向）、工业电机。</p>
        </div>
    </div>

    <!-- 全面对比表 -->
    <h2 id="compare">全面性能对比表</h2>
    <div class="table-wrap">
        <table>
            <thead>
                <tr>
                    <th>对比维度</th>
                    <th>电感式编码器</th>
                    <th>旋转变压器</th>
                    <th>优胜方</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td><strong>分辨率/精度</strong></td>
                    <td>最高 23 位，角秒级</td>
                    <td>12~16 位（经 RDC），典型 ±0.1°</td>
                    <td class="winner">电感式</td>
                </tr>
                <tr>
                    <td><strong>响应延迟</strong></td>
                    <td>微秒级（< 5 µs）</td>
                    <td>毫秒级（含 RDC 转换）</td>
                    <td class="winner">电感式</td>
                </tr>
                <tr>
                    <td><strong>抗振动/冲击</strong></td>
                    <td>良好（无机械接触）</td>
                    <td>极佳（无电子元件）</td>
                    <td class="winner">旋转变压器</td>
                </tr>
                <tr>
                    <td><strong>温度范围</strong></td>
                    <td>-40°C ~ +125°C</td>
                    <td>-55°C ~ +150°C（甚至更高）</td>
                    <td class="winner">旋转变压器</td>
                </tr>
                <tr>
                    <td><strong>抗电磁干扰</strong></td>
                    <td>良好（差分/屏蔽设计）</td>
                    <td>优秀（本质抗扰）</td>
                    <td class="winner">旋转变压器</td>
                </tr>
                <tr>
                    <td><strong>接口灵活性</strong></td>
                    <td>ABZ, PWM, SENT, SPI, SSI, RS-485 等</td>
                    <td>模拟 SIN/COS，需 RDC</td>
                    <td class="winner">电感式</td>
                </tr>
                <tr>
                    <td><strong>系统成本（整体）</strong></td>
                    <td>低（芯片集成，无需外置 RDC）</td>
                    <td>高（需 RDC 或高速 ADC）</td>
                    <td class="winner">电感式</td>
                </tr>
                <tr>
                    <td><strong>体积/重量</strong></td>
                    <td>小（可集成于 PCB）</td>
                    <td>大（独立绕组结构）</td>
                    <td class="winner">电感式</td>
                </tr>
                <tr>
                    <td><strong>可靠性（寿命）</strong></td>
                    <td>高（非接触，但含 ASIC）</td>
                    <td>极高（无源，可工作数十年）</td>
                    <td class="winner">旋转变压器</td>
                </tr>
                <tr>
                    <td><strong>安装/校准</strong></td>
                    <td>简单（可自动校准）</td>
                    <td>复杂（需精确定位）</td>
                    <td class="winner">电感式</td>
                </tr>
            </tbody>
        </table>
    </div>
    <p style="font-size: 14px; color: #4a6a8a;">注：优胜方以当前主流技术水平为参考，具体应用可能因需求而异。</p>

    <!-- 替代趋势分析 -->
    <h2 id="trend">替代趋势：电感式编码器何时取代旋转变压器？</h2>
    <div class="highlight-box">
        <p><strong>📈 趋势概述：</strong>在大多数工业自动化和电动汽车应用中，电感式编码器正在快速替代旋转变压器，尤其是在对精度、成本和接口集成度要求较高的场合。但在极端环境（如高温、强冲击、长寿命航空航天）中，旋转变压器仍然不可替代。</p>
    </div>

    <h3>替代正在加速的领域</h3>
    <ul>
        <li><strong>新能源汽车电驱系统：</strong>特斯拉、比亚迪等主流车企已大量采用电感式编码器替代旋变，以降低成本、提升控制精度和响应速度。</li>
        <li><strong>工业伺服电机：</strong>高端伺服驱动器普遍支持电感式编码器，因其支持高速通信（如 BiSS、EnDat），且安装便捷。</li>
        <li><strong>机器人关节：</strong>协作机器人对人形化、轻量化要求高，电感式编码器的小体积和绝对位置输出完美契合。</li>
        <li><strong>医疗设备：</strong>如手术机器人、CT 扫描仪，需要高精度和低延迟，电感式编码器优势明显。</li>
    </ul>

    <h3>旋转变压器仍在坚守的场景</h3>
    <ul>
        <li><strong>航空航天：</strong>对极端温度、辐射和寿命要求极高，旋变的无源特性无法被替代。</li>
        <li><strong>军用车辆/武器系统：</strong>高冲击、强干扰环境下，旋变是唯一选择。</li>
        <li><strong>石油钻井、重型矿山机械：</strong>振动和温度极为苛刻，旋变更为可靠。</li>
        <li><strong>部分老旧电机驱动系统：</strong>若驱动器仅支持旋变接口，替换成本高。</li>
    </ul>

    <h3>技术发展趋势</h3>
    <ul>
        <li><strong>芯片化进一步降低成本：</strong>电感式编码器 ASIC 集成度不断提高，未来价格将低于同规格旋变+ RDC 组合。</li>
        <li><strong>提升环境耐受性：</strong>厂商正在优化电感式编码器的温度范围和抗振性能，逐步接近旋变水平。</li>
        <li><strong>接口标准化：</strong>越来越多的驱动器原生支持电感式接口（如 BiSS、EnDat），降低替换门槛。</li>
        <li><strong>多圈技术：</strong>电感式多圈方案（无需电池）成熟后，将彻底替代传统旋变+电池方案。</li>
    </ul>

    <!-- 选型决策 -->
    <h2 id="decision">选型决策建议</h2>
    <p>根据项目实际需求，可参考以下分类推荐：</p>

    <div class="decision-grid">
        <div class="decision-item">
            <h5>🎯 追求高精度与动态性能</h5>
            <p>选择 <strong>电感式编码器</strong>，其分辨率和延迟优势明显，适合精密运动控制。</p>
        </div>
        <div class="decision-item">
            <h5>🏔️ 极端环境（高温、高振、强冲击）</h5>
            <p><strong>旋转变压器</strong>仍是首选，其无源结构确保长期可靠。</p>
        </div>
        <div class="decision-item">
            <h5>💰 成本敏感型大批量应用</h5>
            <p><strong>电感式编码器</strong>芯片方案具有明显成本优势，且无需外置解码器。</p>
        </div>
        <div class="decision-item">
            <h5>🔌 系统接口兼容性</h5>
            <p>若驱动器只支持旋变接口（SIN/COS），则只能选旋变；否则首选电感式以简化设计。</p>
        </div>
        <div class="decision-item">
            <h5>🔄 替换升级现有设备</h5>
            <p>若原为旋变，可评估使用电感式编码器+接口转换方案，但需综合考量改造成本。</p>
        </div>
        <div class="decision-item">
            <h5>🚗 汽车电子（非动力系统）</h5>
            <p>如电子油门、转向角，电感式编码器（PWM/SENT）已大量应用，性价比高。</p>
        </div>
    </div>

    <div class="highlight-box">
        <p><strong>💡 工程师建议：</strong></p>
        <ul>
            <li>对于新设计，除非环境特别恶劣，否则优先考虑电感式编码器，因为它能提供更高的性能、更低的系统成本和更灵活的接口。</li>
            <li>若项目需要满足军标或航空标准，旋转变压器仍是唯一合规选择。</li>
            <li>关注电感式编码器厂商推出的“抗振增强型”和“宽温型”产品，未来边界将不断扩大。</li>
        </ul>
    </div>

    <!-- 结语 -->
    <h2>结语</h2>
    <p>电感式编码器与旋转变压器各有千秋，但技术天平正明显向电感式倾斜。随着半导体工艺和算法的发展，电感式编码器在精度、速度、成本和集成度上的优势愈发突出，正在逐步替代旋变成为主流选择。而旋转变压器凭借其极致的可靠性，将在特定高端领域继续发挥余热。</p>
    <p>作为工程师，我们应深入了解两者的技术本质，根据应用场景合理选型，既不盲目追新，也不固守传统。未来，随着新材料和新工艺的引入，电感式编码器的环境耐受性有望进一步提升，届时其替代范围将进一步扩大。</p>

    <!-- 轻量品牌提及 -->
    <div class="brand-mention">
        <p><strong>📘 电感式编码器芯片方案推荐</strong></p>
        <p style="font-size: 15px; color: #2a4a6a;">
            英达森斯半导体（Induxense）提供多款电感式编码器芯片，支持全数字接口输出，采用 QFN5×5mm 超小封装，单芯片全集成，是替代传统旋转变压器的理想选择。
        </p>
        <div class="chip-list">
            <span>IDX3550 · 23位精度</span>
            <span>IDX3551 · RISC-V可编程</span>
            <span>IDX3531 · 多圈绝对位置</span>
            <span>QFN5×5</span>
            <span>ABZ/PWM/SPI/SSI/RS-485</span>
        </div>
        <div class="link">
            🔗 了解更多芯片方案：<a href="https://www.induxense.com" target="_blank">www.induxense.com</a>
        </div>
    </div>

    <!-- 页脚 -->
    <div class="footer-note">
        <p>📘 英达森斯小课堂 · 电感式编码器 vs 旋转变压器 &nbsp;|&nbsp; 技术对决与替代趋势深度解析</p>
    </div>

</div>


        </div>

              </article>

      <div class="dv-nav">
        <div class="prev">
                    <span>上一条：</span><a href="/index.php?m=home&c=View&a=index&aid=349" title="电感式编码器接口协议完全指南">电感式编码器接口协议完全指南</a>
                  </div>
        <div class="back">
                    <a href="/index.php?m=home&c=Lists&a=index&tid=19" class="dv-btn-secondary"><i class="iconfont icon-back"></i> 返回列表</a>
                  </div>
        <div class="next" style="text-align: right;">
                    <span>下一条：</span><a href="/index.php?m=home&c=View&a=index&aid=351" title="电感式编码器误差来源与补偿方法：从线圈设计到信号处理">电感式编码器误差来源与补偿方法：从线圈设计到信号处理</a>
                  </div>
      </div>
    </div>
  </div>
</div>

<!-- 保留百科/特殊文章脚本（兼容原有内容中的 canvas 元素） -->
<script>
document.addEventListener('DOMContentLoaded', function() {
  var canvasEls = document.querySelectorAll('.sensor-canvas, .encoder-canvas, [class*="canvas"]');
  if (!canvasEls.length) return;
  canvasEls.forEach(function(canvas) {
    if (!canvas.getContext) return;
    var ctx = canvas.getContext('2d');
    var dpr = window.devicePixelRatio || 1;
    var rect = canvas.getBoundingClientRect();
    canvas.width = rect.width * dpr;
    canvas.height = rect.height * dpr;
    ctx.scale(dpr, dpr);
    ctx.clearRect(0, 0, rect.width, rect.height);
    ctx.fillStyle = canvas.dataset.color || '#0573C3';
    ctx.beginPath();
    ctx.arc(rect.width/2, rect.height/2, Math.min(rect.width, rect.height)/4, 0, Math.PI*2);
    ctx.fill();
  });
});
</script>

<script>
// Guard: 仅在包含 sensorCanvas 的百科页面执行（避免应用场景文章报错）
if (document.getElementById('sensorCanvas') && document.getElementById('scopeCanvas')) {
    // --- UI Logic ---
    function switchTab(tabId, btnElement) {
        document.querySelectorAll('.tab-content').forEach(el => el.classList.remove('active'));
        document.querySelectorAll('.tab-btn').forEach(el => el.classList.remove('active'));
        document.getElementById(tabId).classList.add('active');
        btnElement.classList.add('active');
    }

    // --- Setup ---
    const ctxSensor = document.getElementById('sensorCanvas').getContext('2d');
    const ctxScope = document.getElementById('scopeCanvas').getContext('2d');
    
    let state = {
        angle: 0,       
        speed: 60,      
        polePairs: 8, 
        mode: 'ABZ',    
        isRunning: true,
        lastTime: 0,
        carrierPhase: 0,
        frameCount: 0 // For SPI packet simulation
    };

    // --- DOM ---
    const els = {
        pole: document.getElementById('poleControl'),
        poleDisp: document.getElementById('poleDisplay'),
        speed: document.getElementById('speedControl'),
        rpmDisp: document.getElementById('rpmValue'),
        resBits: document.getElementById('totalResBits'),
        ch2Label: document.getElementById('scopeCh2Label'),
        mechShift: document.getElementById('mechShiftDisplay'),
        offsetText: document.getElementById('offsetText'),
        offsetN: document.getElementById('offsetN'),
        explainMode: document.getElementById('explainMode')
    };

    // --- Interaction ---
    els.pole.addEventListener('input', (e) => {
        const idx = parseInt(e.target.value);
        state.polePairs = Math.pow(2, idx);
        
        els.poleDisp.innerText = state.polePairs;
        updateCalculations();
        scopeBuffer = []; 
    });

    els.speed.addEventListener('input', (e) => {
        state.speed = parseInt(e.target.value);
        els.rpmDisp.innerText = state.speed;
        state.isRunning = state.speed > 0;
    });

    function setMode(mode) {
        state.mode = mode;
        document.querySelectorAll('.btn').forEach(b => b.classList.remove('active'));
        event.target.classList.add('active');
        
        if (mode === 'ABZ') {
            els.ch2Label.innerText = "CH2: Output (ABZ Quadrature)";
            els.explainMode.innerText = "ABZ 增量波形";
        }
        else if (mode === 'SINCOS') {
            els.ch2Label.innerText = "CH2: Output (Demodulated Analog)";
            els.explainMode.innerText = "Sin/Cos 模拟波形";
        }
        else if (mode === 'SPI') {
            els.ch2Label.innerText = "CH2: SPI Data Stream (MISO)";
            els.explainMode.innerText = "SPI 数字串行数据包";
        }
    }

    function updateCalculations() {
        const totalBits = 16 + Math.log2(state.polePairs);
        els.resBits.innerText = totalBits.toFixed(2) + " bit";

        const mechShift = 90.0 / state.polePairs;
        const shiftStr = mechShift.toFixed(2) + "°";
        els.mechShift.innerText = shiftStr;
        els.offsetText.innerText = shiftStr;
        els.offsetN.innerText = state.polePairs;
    }

    // --- Draw Sensor ---
    function drawSensor() {
        const w = 340, h = 340;
        const cx = w/2, cy = h/2;
        ctxSensor.clearRect(0, 0, w, h);
        ctxSensor.save();
        ctxSensor.translate(cx, cy);

        // PCB
        ctxSensor.beginPath(); ctxSensor.arc(0,0,165,0,Math.PI*2); 
        ctxSensor.strokeStyle='#ddd'; ctxSensor.lineWidth=1; ctxSensor.stroke();

        // Tx Coil
        ctxSensor.beginPath(); ctxSensor.arc(0,0,160,0,Math.PI*2); ctxSensor.arc(0,0,155,0,Math.PI*2);
        ctxSensor.strokeStyle='#333'; ctxSensor.lineWidth=1.5; ctxSensor.stroke();

        // Rx Settings
        let rxLineWidth = 2;
        if (state.polePairs >= 16) rxLineWidth = 1.5;
        if (state.polePairs >= 32) rxLineWidth = 1;
        if (state.polePairs >= 64) rxLineWidth = 0.5;

        let step = 1; 
        if (state.polePairs >= 32) step = 0.5;

        const rBase = 115; const rVar = 25;

        // 1. Rx SIN
        ctxSensor.save(); 
        ctxSensor.beginPath();
        for(let i=0; i <= 360; i+=step) {
            let rad = i * Math.PI/180;
            let r = rBase + rVar * Math.sin(state.polePairs * rad);
            let x = r * Math.cos(rad); let y = r * Math.sin(rad);
            if(i===0) ctxSensor.moveTo(x,y); else ctxSensor.lineTo(x,y);
        }
        ctxSensor.closePath();
        ctxSensor.strokeStyle = '#e67e22'; 
        ctxSensor.lineWidth = rxLineWidth;
        ctxSensor.stroke();
        ctxSensor.restore(); 

        // 2. Rx COS
        let mechShiftDeg = 90.0 / state.polePairs;
        ctxSensor.save(); 
        ctxSensor.rotate(mechShiftDeg * Math.PI / 180); 

        ctxSensor.beginPath();
        for(let i=0; i <= 360; i+=step) {
            let rad = i * Math.PI/180;
            let r = rBase + rVar * Math.sin(state.polePairs * rad);
            let x = r * Math.cos(rad); let y = r * Math.sin(rad);
            if(i===0) ctxSensor.moveTo(x,y); else ctxSensor.lineTo(x,y);
        }
        ctxSensor.closePath();
        ctxSensor.strokeStyle = '#00b894'; 
        ctxSensor.globalAlpha = 0.8; 
        ctxSensor.lineWidth = rxLineWidth;
        ctxSensor.stroke();
        ctxSensor.restore(); 

        // 3. Target
        ctxSensor.rotate(state.angle * Math.PI/180);
        ctxSensor.fillStyle = 'rgba(149, 165, 166, 0.85)'; 
        ctxSensor.strokeStyle = '#7f8c8d';
        ctxSensor.lineWidth = rxLineWidth;
        
        ctxSensor.beginPath();
        const sectorSize = 360 / (2 * state.polePairs);
        for(let k=0; k < state.polePairs; k++) {
            let startDeg = k * (360 / state.polePairs);
            let startRad = startDeg * Math.PI / 180;
            let endRad = (startDeg + sectorSize) * Math.PI / 180;
            ctxSensor.moveTo(0,0);
            ctxSensor.arc(0,0,160, startRad, endRad); 
            ctxSensor.lineTo(0,0);
        }
        ctxSensor.fill(); ctxSensor.stroke();
        
        ctxSensor.beginPath(); ctxSensor.arc(0,0,40,0,Math.PI*2); ctxSensor.fillStyle='#fff'; ctxSensor.fill(); ctxSensor.stroke();
        ctxSensor.restore();
    }

    // --- Scope ---
    let scopeBuffer = [];
    const MAX_BUFFER = 600;

    function updateScope() {
        let elecAngleRad = (state.angle * state.polePairs * Math.PI / 180);
        
        state.carrierPhase += 1.2;
        let carrier = Math.sin(state.carrierPhase);
        let modulation = Math.sin(elecAngleRad); 
        let rawSignal = carrier * modulation;

        let procSignal = 0;
        
        // --- Signal Processing ---
        if (state.mode === 'SINCOS') {
            procSignal = modulation; 
        } 
        else if (state.mode === 'ABZ') {
            procSignal = modulation > 0 ? 0.8 : -0.8;
        } 
        else if (state.mode === 'SPI') {
            // === SPI Digital Simulation ===
            state.frameCount = (state.frameCount + 1) % 80; 
            
            // Added space around '<' to fix syntax highlighting issues
            if (state.frameCount < 40) { 
                let bit = (state.frameCount * 7) % 3; 
                procSignal = (bit < 2) ? 0.8 : 0; 
            } else {
                procSignal = 0; 
            }
        }

        scopeBuffer.push({ raw: rawSignal, proc: procSignal });
        
        // Added space around '<'
        if (scopeBuffer.length > MAX_BUFFER) scopeBuffer.shift();

        const w = 600, h = 200;
        const hHalf = h/2;

        ctxScope.fillStyle = '#000'; ctxScope.fillRect(0,0,w,h);
        ctxScope.strokeStyle = '#333'; ctxScope.lineWidth = 1;
        ctxScope.beginPath(); ctxScope.moveTo(0, hHalf); ctxScope.lineTo(w, hHalf); ctxScope.stroke();

        // Added space around '<'
        if (scopeBuffer.length < 2) return;

        // CH1 (Top)
        ctxScope.beginPath();
        ctxScope.strokeStyle = '#ffeb3b';
        ctxScope.lineWidth = 1;
        // Added space around '<'
        for(let i=0; i < scopeBuffer.length; i++) {
            let y = 50 - (scopeBuffer[i].raw * 40);
            if(i===0) ctxScope.moveTo(i, y); else ctxScope.lineTo(i, y);
        }
        ctxScope.stroke();

        // CH2 (Bottom)
        ctxScope.beginPath();
        ctxScope.strokeStyle = '#00d2ff';
        ctxScope.lineWidth = 2;
        // Added space around '<'
        for(let i=0; i < scopeBuffer.length; i++) {
            let val = scopeBuffer[i].proc;
            let y = 150 - (val * 40);

            if ((state.mode === 'ABZ' || state.mode === 'SPI') && i > 0) {
                let prevVal = scopeBuffer[i-1].proc;
                let prevY = 150 - (prevVal * 40);
                if (Math.abs(y - prevY) > 5) {
                    ctxScope.lineTo(i, prevY); 
                    ctxScope.lineTo(i, y);
                } else {
                    ctxScope.lineTo(i, y);
                }
            } else {
                if(i===0) ctxScope.moveTo(i, y); else ctxScope.lineTo(i, y);
            }
        }
        ctxScope.stroke();
    }

    function animate(timestamp) {
        if (!state.lastTime) state.lastTime = timestamp;
        const delta = timestamp - state.lastTime;
        state.lastTime = timestamp;

        if (state.isRunning) {
            let degPerMs = (state.speed * 360) / 60000;
            state.angle = (state.angle + degPerMs * delta) % 360;
        }

        drawSensor();
        updateScope();
        requestAnimationFrame(animate);
    }

    updateCalculations();
    requestAnimationFrame(animate);
}
</script>
<script>
// Guard: 仅在包含机械角度交互元素的百科页面执行
if (document.getElementById('mech-angle') && document.getElementById('mechanical-canvas')) {
        // 获取DOM元素
        const mechAngleSlider = document.getElementById('mech-angle');
        const polePairsSlider = document.getElementById('pole-pairs');
        const elecAngleInput = document.getElementById('elec-angle');
        const mechAngleValue = document.getElementById('mech-angle-value');
        const polePairsValue = document.getElementById('pole-pairs-value');
        const elecAngleValue = document.getElementById('elec-angle-value');
        
        const mechCanvas = document.getElementById('mechanical-canvas');
        const elecCanvas = document.getElementById('electrical-canvas');
        const mechCtx = mechCanvas.getContext('2d');
        const elecCtx = elecCanvas.getContext('2d');
        
        // 初始化
        updateValues();
        
        // 事件监听
        mechAngleSlider.addEventListener('input', updateValues);
        polePairsSlider.addEventListener('input', updateValues);
        
        function updateValues() {
            const mechAngle = parseInt(mechAngleSlider.value);
            const polePairs = parseInt(polePairsSlider.value);
            const elecAngle = (mechAngle * polePairs) % 360;
            
            mechAngleValue.textContent = mechAngle;
            polePairsValue.textContent = polePairs;
            elecAngleValue.textContent = elecAngle;
            elecAngleInput.value = elecAngle;
            
            updateVisualization();
        }
        
        function updateVisualization() {
            const mechAngle = parseInt(mechAngleSlider.value);
            const polePairs = parseInt(polePairsSlider.value);
            const elecAngle = (mechAngle * polePairs) % 360;
            
            drawMechanicalDial(mechAngle);
            drawElectricalWave(elecAngle, polePairs);
        }
        
        function drawMechanicalDial(angle) {
            const width = mechCanvas.width;
            const height = mechCanvas.height;
            const centerX = width / 2;
            const centerY = height / 2;
            const radius = Math.min(width, height) * 0.35;
            
            mechCtx.clearRect(0, 0, width, height);
            
            // 绘制外圆
            mechCtx.beginPath();
            mechCtx.arc(centerX, centerY, radius, 0, Math.PI * 2);
            mechCtx.strokeStyle = '#1a6bc4';
            mechCtx.lineWidth = 3;
            mechCtx.stroke();
            
            // 绘制刻度
            for (let i = 0; i < 12; i++) {
                const tickAngle = i * 30 * Math.PI / 180;
                const startX = centerX + (radius - 12) * Math.cos(tickAngle);
                const startY = centerY + (radius - 12) * Math.sin(tickAngle);
                const endX = centerX + radius * Math.cos(tickAngle);
                const endY = centerY + radius * Math.sin(tickAngle);
                
                mechCtx.beginPath();
                mechCtx.moveTo(startX, startY);
                mechCtx.lineTo(endX, endY);
                mechCtx.strokeStyle = '#2c3e50';
                mechCtx.lineWidth = 2;
                mechCtx.stroke();
                
                // 绘制数字
                const textX = centerX + (radius - 30) * Math.cos(tickAngle);
                const textY = centerY + (radius - 30) * Math.sin(tickAngle);
                mechCtx.font = '14px Arial';
                mechCtx.fillStyle = '#2c3e50';
                mechCtx.textAlign = 'center';
                mechCtx.textBaseline = 'middle';
                mechCtx.fillText(i * 30, textX, textY);
            }
            
            // 绘制指针
            const pointerAngle = (angle - 90) * Math.PI / 180;
            mechCtx.beginPath();
            mechCtx.moveTo(centerX, centerY);
            mechCtx.lineTo(
                centerX + radius * 0.8 * Math.cos(pointerAngle),
                centerY + radius * 0.8 * Math.sin(pointerAngle)
            );
            mechCtx.strokeStyle = '#e74c3c';
            mechCtx.lineWidth = 4;
            mechCtx.stroke();
            
            // 绘制中心点
            mechCtx.beginPath();
            mechCtx.arc(centerX, centerY, 6, 0, Math.PI * 2);
            mechCtx.fillStyle = '#e74c3c';
            mechCtx.fill();
        }
        
        function drawElectricalWave(angle, polePairs) {
            const width = elecCanvas.width;
            const height = elecCanvas.height;
            
            elecCtx.clearRect(0, 0, width, height);
            
            // 绘制坐标轴
            elecCtx.beginPath();
            elecCtx.moveTo(25, height / 2);
            elecCtx.lineTo(width - 25, height / 2);
            elecCtx.strokeStyle = '#5d7a9c';
            elecCtx.lineWidth = 1.5;
            elecCtx.stroke();
            
            elecCtx.beginPath();
            elecCtx.moveTo(25, 25);
            elecCtx.lineTo(25, height - 25);
            elecCtx.stroke();
            
            // 绘制正弦波
            const amplitude = height * 0.3;
            const frequency = polePairs;
            const phase = angle * Math.PI / 180;
            
            elecCtx.beginPath();
            for (let x = 0; x < width - 50; x++) {
                const t = (x / (width - 50)) * 2 * Math.PI * frequency;
                const y = amplitude * Math.sin(t);
                
                if (x === 0) {
                    elecCtx.moveTo(x + 25, height / 2 - y);
                } else {
                    elecCtx.lineTo(x + 25, height / 2 - y);
                }
            }
            
            elecCtx.strokeStyle = '#1a6bc4';
            elecCtx.lineWidth = 3;
            elecCtx.stroke();
            
            // 标记当前相位点 - 修复红色点位置
            // 计算红色点在波形上的正确位置
            const effectiveAngle = angle % 360;
            const markerX = 25 + (effectiveAngle / 360) * (width - 50) / frequency;
            const markerY = height / 2 - amplitude * Math.sin(effectiveAngle * Math.PI / 180);
            
            elecCtx.beginPath();
            elecCtx.arc(markerX, markerY, 7, 0, Math.PI * 2);
            elecCtx.fillStyle = '#e74c3c';
            elecCtx.fill();
            
            // 添加标签
            elecCtx.font = '14px Arial';
            elecCtx.fillStyle = '#2c3e50';
            elecCtx.textAlign = 'left';
            elecCtx.fillText('0°', 20, height / 2 + 20);
            elecCtx.textAlign = 'right';
            elecCtx.fillText('360°', width - 5, height / 2 + 20);
        }
}
</script>

<!-- 以下scrip脚本用来支持iCoil Studio介绍页面动画 -->
<script>
(function() {
  'use strict';

  /* ==================== INLINE SVG ICONS ==================== */
  var ICONS = {
    'arrow-up-right': '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M7 7h10v10"/><path d="M7 17 17 7"/></svg>',
    'layers': '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"/><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"/><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"/></svg>',
    'activity': '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"/></svg>',
    'cpu': '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20v2"/><path d="M12 2v2"/><path d="M17 20v2"/><path d="M17 2v2"/><path d="M2 12h2"/><path d="M2 17h2"/><path d="M2 7h2"/><path d="M20 12h2"/><path d="M20 17h2"/><path d="M20 7h2"/><path d="M7 20v2"/><path d="M7 2v2"/><rect x="4" y="4" width="16" height="16" rx="2"/><rect x="8" y="8" width="8" height="8" rx="1"/></svg>',
    'file-code': '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 12.5 8 15l2 2.5"/><path d="m14 12.5 2 2.5-2 2.5"/><path d="M14 2v4a2 2 0 0 0 2 2h4"/><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z"/></svg>',
    'sliders': '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 8h4"/><path d="M12 21v-9"/><path d="M12 8V3"/><path d="M17 16h4"/><path d="M19 12V3"/><path d="M19 21v-5"/><path d="M3 14h4"/><path d="M5 10V3"/><path d="M5 21v-7"/></svg>',
    'download': '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 15V3"/><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><path d="m7 10 5 5 5-5"/></svg>',
    'check-circle-2': '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/></svg>',
    'sparkles': '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"/><path d="M20 2v4"/><path d="M22 4h-4"/><circle cx="4" cy="20" r="2"/></svg>',
    'chevron-down': '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>'
  };

  function renderIcon(id, name) {
    var el = document.getElementById(id);
    if (el && ICONS[name]) el.innerHTML = ICONS[name];
  }

  /* ==================== DATA ==================== */
  var COMPARISON_DATA = [
    { dimension: '设计参数', traditional: '参数分散在计算表格、脚本和 CAD 文件中', icoil: '在统一界面配置线圈、PCB 和工艺参数', advantage: '参数集中管理' },
    { dimension: '线圈设计', traditional: '需要手动计算并绘制线圈结构', icoil: '根据参数生成可预览的线圈设计结果', advantage: '即时参数化生成' },
    { dimension: '方案迭代', traditional: '修改、保存和对比过程较分散', icoil: '按方案保存设计版本，便于回溯和比较', advantage: '版本清晰可溯' },
    { dimension: '性能评估', traditional: '需要单独准备仿真输入并整理结果', icoil: '配置气隙、偏心等工况，查看指标和信号波形', advantage: '支持多工况评估' },
    { dimension: '结果交付', traditional: '需要人工整理不同类型的设计文件', icoil: '提供设计文件和仿真报告下载', advantage: '结果便于交付' }
  ];

  var FEATURES = [
    { id: 'parametric', icon: 'sliders', title: '参数化线圈设计',
      summary: '配置几何尺寸、PCB 层叠与制造参数，生成并管理线圈设计版本。',
      userBenefits: ['按需配置目标几何尺寸、PCB 层数、RX/TX 层位与制造规则','自动生成符合规范的高精度线圈几何走线与实时预览','提供关键几何尺寸图解与板层堆叠参考示意','支持归档独立设计版本，方便快速对比与历史回溯'] },
    { id: 'simulation', icon: 'activity', title: '谐波处理与仿真评估',
      summary: '提取和优化谐波，分析不同气隙、偏心工况下的信号与误差表现。',
      userBenefits: ['提取 Sin/Cos 空间谐波分量，生成优化后的低谐波线圈设计版本','自定义配置激励源参数、工作频率与求解计算步长','支持多组气隙（AirGap）与径向偏心等实际安装公差工况扫描','直观查看 RX 信号幅值、全周线性度误差与角度误差曲线'] },
    { id: 'multiphase', icon: 'layers', title: '多类型方案管理',
      summary: '支持圆形、弧形和直线形线圈方案，适配不同 RX/TX 结构。',
      userBenefits: ['支持连续旋转角度场景的圆形线圈拓扑设计与管理','支持有限摆角测量场景的弧形线圈拓扑方案','支持非接触精密直线位移测量的标尺线圈方案','灵活适配不同的 RX/TX 通道架构与解调芯片需求'] },
    { id: 'export', icon: 'download', title: '设计结果导出',
      summary: '下载 Gerber、PCB、PNG 文件，并导出仿真参数与结果报告。',
      userBenefits: ['一键下载生产级 Gerber 光绘文件与 PCB 设计源文件','导出高清线圈几何拓扑与尺寸标注图像（PNG）','一键导出包含输入参数、工况边界与关键指标的完整仿真报告','标准化设计结果，无缝衔接主流专业 EDA 软件进行后续工程处理'] }
  ];

  var FIELD_DOTS = [
    { x: '10%', y: '25%', size: 3.5, color: '#0573C3', opacity: 0.35, dx: [0,6,-6,0], dy: [0,-8,6,0], dur: 9.0, delay: 0 },
    { x: '20%', y: '75%', size: 3, color: '#FFA505', opacity: 0.4, dx: [0,-8,6,0], dy: [0,8,-6,0], dur: 10.5, delay: 1.0 },
    { x: '82%', y: '20%', size: 3.5, color: '#0573C3', opacity: 0.35, dx: [0,-6,8,0], dy: [0,8,-8,0], dur: 9.5, delay: 0.5 },
    { x: '88%', y: '70%', size: 3, color: '#FFA505', opacity: 0.4, dx: [0,6,-8,0], dy: [0,-8,6,0], dur: 11.0, delay: 1.5 },
    { x: '50%', y: '15%', size: 2.5, color: '#045da5', opacity: 0.25, dx: [0,5,-5,0], dy: [0,6,-6,0], dur: 12.0, delay: 0.8 },
    { x: '45%', y: '85%', size: 2.5, color: '#FFA505', opacity: 0.3, dx: [0,-5,5,0], dy: [0,-6,6,0], dur: 10.0, delay: 2.0 }
  ];

  /* ==================== 1. FLOATING DOTS ==================== */
  function initFloatingDots() {
    var container = document.getElementById('hero-dots');
    if (!container) return;
    FIELD_DOTS.forEach(function(dot) {
      var el = document.createElement('div');
      el.style.cssText = 'position:absolute;border-radius:9999px;left:' + dot.x + ';top:' + dot.y + ';width:' + dot.size + 'px;height:' + dot.size + 'px;background-color:' + dot.color;
      el.animate([
        { transform: 'translate(0,0)', opacity: dot.opacity },
        { transform: 'translate(' + dot.dx[1] + 'px,' + dot.dy[1] + 'px)', opacity: dot.opacity * 1.3 },
        { transform: 'translate(' + dot.dx[2] + 'px,' + dot.dy[2] + 'px)', opacity: dot.opacity * 0.7 },
        { transform: 'translate(0,0)', opacity: dot.opacity }
      ], { duration: dot.dur * 1000, iterations: Infinity, easing: 'ease-in-out', delay: dot.delay * 1000 });
      container.appendChild(el);
    });
  }

  /* ==================== 2. COMPARISON TABLE ==================== */
  function renderComparisonTable() {
    var container = document.getElementById('comparison-rows');
    if (!container) return;
    var html = '';
    COMPARISON_DATA.forEach(function(row) {
      html += '<div class="is-comp-row">'
        + '<div class="is-comp-dim">' + row.dimension + '</div>'
        + '<div class="is-comp-trad"><span class="is-comp-label is-comp-label-trad">传统流程</span><span>' + row.traditional + '</span></div>'
        + '<div class="is-comp-arrow">&#x2193;</div>'
        + '<div class="is-comp-icoil">'
        + '<span class="is-comp-label is-comp-label-icoil">iCoil Studio</span>'
        + '<span class="is-comp-icoil-text">' + row.icoil + '</span>'
        + '<span class="is-comp-tag">' + row.advantage + '</span>'
        + '</div></div>';
    });
    container.innerHTML = html;
  }

  /* ==================== 3. SVG COIL GENERATION ==================== */
  function generateCoilSVG() {
    var PCB_RADIUS=50.0, TX_RADIUS=46.0, TX_TURNS=4, TX_PITCH=0.8;
    var RX_CENTER_RADIUS=32.0, RX_AMPLITUDE=7.0, RX_CYCLES=4;
    var LW=1.6, LW_TX=LW*0.9;
    var C_LAYER=['#D35400','#0573C3'], C_TX='#0573C3', C_VIA='#1a1a1a';
    var SVG_SIZE=400, cx=SVG_SIZE/2, cy=SVG_SIZE/2;
    var lim=PCB_RADIUS+1.5, scale=(SVG_SIZE/2-10)/lim;
    function toSvgX(x){return cx+x*scale;}
    function toSvgY(y){return cy-y*scale;}
    var N_TX=1000, maxT=2*Math.PI*TX_TURNS, txPath='';
    for(var i=0;i<=N_TX;i++){var t=(i/N_TX)*maxT;var r=TX_RADIUS-(TX_PITCH*t)/(2*Math.PI);var x=r*Math.cos(t);var y=r*Math.sin(t);txPath+=(i===0?'M ':' L ')+toSvgX(x).toFixed(2)+' '+toSvgY(y).toFixed(2);}
    var N_RX=1200, RX_PHASES=[0,Math.PI,Math.PI/2,(3*Math.PI)/2], segments=[];
    RX_PHASES.forEach(function(phase){var pts=[],curLayer=0;
      for(var i=0;i<=N_RX;i++){var theta=(i/N_RX)*2*Math.PI;var u=RX_CYCLES*theta+phase;var r=RX_CENTER_RADIUS+RX_AMPLITUDE*Math.sin(u);var k=Math.floor((u-Math.PI/2)/Math.PI+1e-9);var layer=Math.abs(k%2);var x=r*Math.cos(theta);var y=r*Math.sin(theta);
        if(i===0){curLayer=layer;pts.push([x,y]);}
        else if(layer!==curLayer){pts.push([x,y]);if(pts.length>1){var d=pts.map(function(p,idx){return(idx===0?'M':'L')+' '+toSvgX(p[0]).toFixed(2)+' '+toSvgY(p[1]).toFixed(2);}).join(' ');segments.push({path:d,color:C_LAYER[curLayer]});}curLayer=layer;pts=[[x,y]];}
        else{pts.push([x,y]);}}
      if(pts.length>1){var d2=pts.map(function(p,idx){return(idx===0?'M':'L')+' '+toSvgX(p[0]).toFixed(2)+' '+toSvgY(p[1]).toFixed(2);}).join(' ');segments.push({path:d2,color:C_LAYER[curLayer]});}
    });
    var vias=[];
    RX_PHASES.forEach(function(phase){for(var k=0;k<2*RX_CYCLES;k++){var u=Math.PI/2+k*Math.PI;var th=(u-phase)/RX_CYCLES;var r=RX_CENTER_RADIUS+RX_AMPLITUDE*Math.sin(u);vias.push({x:toSvgX(r*Math.cos(th)),y:toSvgY(r*Math.sin(th))});}});
    var ticks=[-40,-20,0,20,40];
    var svg='<svg viewBox="0 0 '+SVG_SIZE+' '+SVG_SIZE+'" style="width:100%;height:100%;user-select:none" xmlns="http://www.w3.org/2000/svg">';
    svg+='<g stroke="#e0e4ea" stroke-width="0.8" stroke-dasharray="2 2">';
    ticks.forEach(function(t){svg+='<line x1="'+toSvgX(t).toFixed(2)+'" y1="'+toSvgY(-lim).toFixed(2)+'" x2="'+toSvgX(t).toFixed(2)+'" y2="'+toSvgY(lim).toFixed(2)+'"/>';svg+='<line x1="'+toSvgX(-lim).toFixed(2)+'" y1="'+toSvgY(t).toFixed(2)+'" x2="'+toSvgX(lim).toFixed(2)+'" y2="'+toSvgY(t).toFixed(2)+'"/>';});
    svg+='</g>';
    svg+='<line x1="'+toSvgX(-lim).toFixed(2)+'" y1="'+cy+'" x2="'+toSvgX(lim).toFixed(2)+'" y2="'+cy+'" stroke="#94a3b8" stroke-width="1"/>';
    svg+='<line x1="'+cx+'" y1="'+toSvgY(-lim).toFixed(2)+'" x2="'+cx+'" y2="'+toSvgY(lim).toFixed(2)+'" stroke="#94a3b8" stroke-width="1"/>';
    svg+='<circle cx="'+cx+'" cy="'+cy+'" r="'+(PCB_RADIUS*scale).toFixed(2)+'" fill="none" stroke="#555f6d" stroke-width="1" stroke-dasharray="4 3"/>';
    svg+='<path d="'+txPath+'" fill="none" stroke="'+C_TX+'" stroke-width="'+LW_TX+'" stroke-linecap="round"/>';
    segments.forEach(function(seg){svg+='<path d="'+seg.path+'" fill="none" stroke="'+seg.color+'" stroke-width="'+LW+'" stroke-linecap="round" stroke-linejoin="round"/>';});
    vias.forEach(function(v){svg+='<circle cx="'+v.x.toFixed(2)+'" cy="'+v.y.toFixed(2)+'" r="2.5" fill="#fff" stroke="'+C_VIA+'" stroke-width="1.2"/>';});
    svg+='<circle cx="'+cx+'" cy="'+cy+'" r="3" fill="#031428"/>';
    svg+='</svg>';
    return svg;
  }
  function renderCoilSVG() {
    var c = document.getElementById('coil-svg-container');
    if (c) c.innerHTML = generateCoilSVG();
  }

  /* ==================== 4. FEATURE TABS ==================== */
  var activeTab = 0;
  function renderFeatureTabs() {
    var container = document.getElementById('feature-tabs');
    if (!container) return;
    var html = '';
    FEATURES.forEach(function(feat, idx) {
      var sel = idx === activeTab;
      var benefitsHtml = feat.userBenefits.map(function(b) {
        return '<div class="is-benefit-item">'
          + '<span class="is-icon" style="width:16px;height:16px;color:#0573C3;margin-top:2px">' + ICONS['check-circle-2'] + '</span>'
          + '<span>' + b + '</span></div>';
      }).join('');
      html += '<div data-tab-idx="' + idx + '" class="is-feature-tab' + (sel ? ' is-selected' : '') + '">'
        + '<div class="is-tab-header">'
        + '<div class="is-tab-icon">' + ICONS[feat.icon] + '</div>'
        + '<h3 class="is-tab-title">' + feat.title + '</h3>'
        + '<span class="is-tab-chevron">' + ICONS['chevron-down'] + '</span>'
        + '</div>'
        + '<p class="is-tab-summary">' + feat.summary + '</p>'
        + '<div class="is-tab-benefits">' + benefitsHtml + '</div>'
        + '</div>';
    });
    container.innerHTML = html;
    container.querySelectorAll('[data-tab-idx]').forEach(function(card) {
      card.addEventListener('click', function() {
        var idx = parseInt(this.getAttribute('data-tab-idx'));
        if (window.matchMedia('(max-width: 767px)').matches && idx === activeTab) {
          activeTab = -1;
        } else {
          activeTab = idx;
        }
        renderFeatureTabs();
        renderFeatureDetails();
      });
    });
  }
  function renderFeatureDetails() {
    var container = document.getElementById('feature-details');
    if (!container) return;
    if (activeTab < 0 || !FEATURES[activeTab]) {
      container.innerHTML = '<div class="is-details-header"><span style="color:#555f6d;font-size:14px">点击上方标签查看功能详情</span></div>';
      return;
    }
    var current = FEATURES[activeTab];
    var html = '<div class="is-details-header">'
      + '<span class="is-icon" style="width:16px;height:16px;color:#0573C3">' + ICONS[current.icon] + '</span>'
      + '<span>' + current.title + '</span></div>'
      + '<div class="is-details-grid">';
    current.userBenefits.forEach(function(benefit) {
      html += '<div class="is-benefit-item">'
        + '<span class="is-icon" style="width:16px;height:16px;color:#0573C3;margin-top:2px">' + ICONS['check-circle-2'] + '</span>'
        + '<span>' + benefit + '</span></div>';
    });
    html += '</div>';
    container.innerHTML = html;
  }

  /* ==================== STATIC ICONS ==================== */
  function renderStaticIcons() {
    renderIcon('pill-layers', 'layers');
    renderIcon('pill-activity', 'activity');
    renderIcon('pill-cpu', 'cpu');
    renderIcon('pill-filecode', 'file-code');
    renderIcon('hero-arrow', 'arrow-up-right');
    renderIcon('cta-sparkles', 'sparkles');
    renderIcon('cta-arrow', 'arrow-up-right');
  }

  /* ==================== INIT ==================== */
  function init() {
    renderStaticIcons();
    renderComparisonTable();
    renderCoilSVG();
    renderFeatureTabs();
    renderFeatureDetails();
    initFloatingDots();
  }
  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', init);
  } else {
    init();
  }
})();
</script>
<!-- 以下scrip脚本用来支持iCoil Studio介绍页面动画 -->
 
<!--网站公用底部 begin -->
<style>
/* ========== Footer Layout ========== */
.simple-footer {
    background: #f5f7fa;
    color: #333;
    position: relative;
    overflow: hidden;
    border-top: 3px solid #0573C3;
}

.footer-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 48px 32px 0;
    position: relative;
    z-index: 1;
}

/* --- Top: Company Info + Nav Links --- */
.footer-top {
    display: grid;
    grid-template-columns: 1.2fr 2fr;
    gap: 48px;
    padding-bottom: 40px;
    border-bottom: 1px solid #e0e4ea;
}

/* Company Info Column */
.footer-brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.footer-brand-logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-decoration: none;
}

.footer-brand-logo img {
    height: 56px;
    width: auto;
    object-fit: contain;
}

.footer-brand-logo .brand-text {
    font-size: 20px;
    font-weight: 700;
    color: #1a1a2e;
    letter-spacing: 0.5px;
}

/* Phone Number */
.footer-phone {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 8px;
}

.footer-phone svg {
    width: 20px;
    height: 20px;
    color: #0573C3;
    flex-shrink: 0;
    stroke-width: 2;
}

.footer-phone span {
    font-size: 22px;
    font-weight: 600;
    color: #1a1a2e;
    letter-spacing: 1px;
}

/* --- Nav Columns --- */
.footer-nav {
    display: grid;
    grid-template-columns: 1fr 1.4fr 1fr 1fr 1fr;
    gap: 0;
}

.footer-nav-col {
    padding: 0 15px;
}

.footer-nav-col:first-child {
    padding-left: 0;
}

.footer-nav-col:last-child {
    padding-right: 0;
}

.footer-nav-col h4 {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a2e;
    margin: 0 0 16px;
    letter-spacing: 0.3px;
}

.footer-nav-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-nav-links li {
    margin: 0;
    padding: 5px 0;
}

.footer-nav-links a {
    color: #5a6270;
    text-decoration: none;
    font-size: 14px;
    transition: color 0.2s ease;
    display: inline-block;
    white-space: nowrap;
}

.footer-nav-links a:hover {
    color: #0573C3;
}

/* Footer产品分类分组标题 */
.footer-nav-links .footer-group-title {
    font-size: 12px;
    font-weight: 700;
    color: #334155;
    letter-spacing: 0.02em;
    padding: 8px 0 6px;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: -3px;
}
.footer-nav-links .footer-group-title::before {
    content: '';
    display: inline-block;
    width: 3px;
    height: 12px;
    background: #94a3b8;
    border-radius: 2px;
    flex-shrink: 0;
}
.footer-nav-links .footer-group-title-link {
    color: #334155;
    text-decoration: none;
    transition: all 0.2s ease;
}
.footer-nav-links .footer-group-title-link:hover {
    color: #0573C3;
    text-decoration: underline;
}
.footer-nav-links .footer-sub-item {
    padding-left: 9px;
}

/* --- Bottom Bar --- */
.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0;
    margin-top: 0;
}

.footer-copyright {
    font-size: 13px;
    color: #6a7280;
}

.footer-copyright a {
    color: #6a7280;
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer-copyright a:hover {
    color: #0573C3;
}

/* ========== Responsive ========== */
@media (max-width: 1024px) {
    .footer-top {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .footer-nav {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px 0;
    }

    .footer-nav-col {
        padding: 0;
    }
}

@media (max-width: 640px) {
    .footer-container {
        padding: 32px 20px 0;
    }

    .footer-nav {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px 0;
    }

    .footer-nav-col h4 {
        font-size: 14px;
        margin-bottom: 12px;
    }

    .footer-nav-links a {
        font-size: 13px;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        padding: 16px 0;
    }

    .footer-phone span {
        font-size: 18px;
    }
}
</style>

<footer class="simple-footer">
  <div class="footer-container">
    <!-- Top Section: Brand + Nav -->
    <div class="footer-top">
      <!-- Left: Company Info -->
      <div class="footer-brand">
        <a href="/" class="footer-brand-logo" aria-label="Home">
          <img src="/uploads/allimg/20250929/1-2509291S3311O.png" alt="英达森斯半导体" onerror="this.style.display='none'">
          <span class="brand-text">英达森斯半导体</span>
        </a>
        <div class="footer-phone">
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor"><path d="M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6 19.79 19.79 0 01-3.07-8.67A2 2 0 014.11 2h3a2 2 0 012 1.72c.127.96.361 1.903.7 2.81a2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0122 16.92z"/></svg>
          <span>021 - 5877 8728</span>
        </div>
      </div>

      <!-- Right: Nav Links (4 columns) -->
      <nav class="footer-nav" aria-label="Footer navigation">
        <div class="footer-nav-col">
          <h4>产品</h4>
          <ul class="footer-nav-links">
            <li class="footer-group-title"><a href="/index.php?m=home&c=Lists&a=index&tid=70" class="footer-group-title-link">电感式编码器芯片</a></li><li class="footer-sub-item"><a href="/index.php?m=home&c=Lists&a=index&tid=71">模拟输出芯片</a></li><li class="footer-sub-item"><a href="/index.php?m=home&c=Lists&a=index&tid=72">数字输出芯片</a></li><li class="footer-sub-item"><a href="/index.php?m=home&c=Lists&a=index&tid=22">混合信号输出</a></li>          </ul>
        </div>

        <div class="footer-nav-col">
          <h4>解决方案</h4>
          <ul class="footer-nav-links">
                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=98">工业自动化</a></li>
                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=99">具身智能与机器人</a></li>
                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=100">汽车电子与线控底盘</a></li>
                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=101">新能源与高端装备</a></li>
                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=102">智慧医疗与智能生活</a></li>
                      </ul>
        </div>

        <div class="footer-nav-col">
          <h4>设计与开发</h4>
          <ul class="footer-nav-links">
                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=78">评测套件</a></li>
                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=79">开发工具</a></li>
                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=82">参考设计</a></li>
                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=5">算法赋能（AI）</a></li>
                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=32">iCoil Studio PCB线圈设计平台</a></li>
                      </ul>
        </div>

        <div class="footer-nav-col">
          <h4>服务和支持</h4>
          <ul class="footer-nav-links">
                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=74">文档中心</a></li>
                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=75">工具下载</a></li>
                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=76">技术支持</a></li>
                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=77">常见问题</a></li>
                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=103">视频专区</a></li>
                      </ul>
        </div>

        <div class="footer-nav-col">
          <h4>关于英达森斯</h4>
          <ul class="footer-nav-links">
                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=8">公司简介</a></li>
                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=9">简历投递</a></li>
                        <li><a href="/index.php?m=home&c=Lists&a=index&tid=30">联系我们</a></li>
                      </ul>
        </div>
      </nav>
    </div>

    <!-- Bottom Bar -->
    <div class="footer-bottom">
      <div class="footer-copyright">© 2026 英达森斯半导体. All rights reserved.</div>
      <div class="footer-copyright"><a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank"><a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">沪ICP备2024093817号-1</a></a></div>
    </div>
  </div>
</footer>
<script defer src="/public/plugins/Ueditor/third-party/jquery-1.10.2.min.js"></script>
<script defer src="/public/plugins/layer-v3.1.0/layer.js"></script>
<script>
var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?fc96e815e6f2d660cb3ca6c41688c320";
  var s = document.getElementsByTagName("script")[0];
  s.parentNode.insertBefore(hm, s);
})();

// Update cart badge on page load
// jQuery 以 defer 方式加载，需等待 DOMContentLoaded（defer 脚本先于此事件执行）后再调用 $
document.addEventListener('DOMContentLoaded', function() {
  $.ajax({
    url: '/index.php?m=user&c=Shop&a=shop_cart_num&_ajax=1',
    type: 'get',
    dataType: 'json',
    success: function(res) {
      if (res.code == 1 && res.data > 0) {
        var badge = document.getElementById('cartBadge');
        if (badge) {
          badge.textContent = res.data;
          badge.style.display = 'flex';
        }
      }
    }
  });
});
</script>

<script>
/* 强制所有内部链接在当前窗口打开 */
document.addEventListener('DOMContentLoaded', function() {
    document.querySelectorAll('a').forEach(function(a) {
        var href = a.getAttribute('href');
        if (href && !href.startsWith('http') && !href.startsWith('//') && !href.startsWith('javascript')) {
            a.removeAttribute('target');
        }
        if (href && href.startsWith('/') && !href.startsWith('//')) {
            a.removeAttribute('target');
        }
    });
});
</script>

<script type="text/javascript">var root_dir="";var ey_aid=350;</script>
<script language="javascript" type="text/javascript" src="/public/static/common/js/ey_footer.js?v=v1.8.1.0"></script>
</body>
</html>

<!--网站公用底部 end -->
<script language="javascript" type="text/javascript" src="/template/pc/skin/js/common.js"></script>
