/* 帮助页：内容少时页脚仍贴底，不随正文缩短上移 */
html {
    min-height: 100%;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
}

.help-layout {
    flex: 1;
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 1.25rem;
    max-width: 1360px;
    width: 100%;
    margin: 0 auto;
    padding: 0.25rem 2rem 2rem !important;
    align-items: start;
    box-sizing: border-box;
}

/* 子模块页隐藏大 Hero（标题已在正文 h2），仅帮助中心首页保留 */
.help-hero:not(.help-hero-hub) {
    display: none !important;
}

.help-hero:not(.help-hero-hub) ~ .help-layout {
    margin-top: 70px;
}

.help-hero.help-hero-hub {
    margin-top: 70px;
    padding: 2.25rem 0 1.5rem;
    text-align: center;
    background: linear-gradient(135deg, #007aff 0%, #00b4d8 50%, #2ec4b6 100%);
    color: #fff;
}

.help-hero.help-hero-hub h1 {
    font-size: 2rem;
    font-weight: 900;
    margin: 0 0 0.35rem;
    color: #fff;
}

.help-hero.help-hero-hub p {
    margin: 0;
    opacity: 0.95;
    font-size: 1rem;
    color: #fff;
}

body > footer {
    margin-top: auto;
    flex-shrink: 0;
}

.help-content {
    min-width: 0;
    padding: 0.65rem 1.5rem 1.75rem !important;
}

.help-section {
    margin-top: 0 !important;
    scroll-margin-top: 78px;
}

.help-content .help-section:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.help-content .help-section:first-child > h2:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.help-sidebar {
    padding: 0.65rem 0.5rem 0.85rem !important;
}

.help-content.help-panel-mode {
    min-height: auto;
}

.help-content.help-panel-mode .help-section#simulator.active {
    min-height: auto;
}

/* 左侧导航：随页面滚动时固定在视口左侧栏位 */
@media (min-width: 769px) {
    .help-sidebar {
        position: -webkit-sticky;
        position: sticky;
        top: 78px;
        align-self: start;
        width: 220px;
        max-height: calc(100vh - 92px);
        overflow-y: auto;
        z-index: 100;
        -webkit-overflow-scrolling: touch;
    }
}

@media (max-width: 768px) {
    .help-mobile-nav {
        display: none !important;
    }

    .help-layout {
        grid-template-columns: 1fr !important;
        gap: 0.5rem;
        padding: 0.2rem 0.65rem 1.25rem !important;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .help-sidebar {
        position: sticky;
        top: 56px;
        z-index: 45;
        max-height: none;
        width: 100%;
        overflow: hidden;
        padding: 0 0 0.35rem !important;
        border-bottom: 1px solid #e8ecf2;
        border-radius: 0 !important;
        background: #f0f2f5 !important;
        box-shadow: none !important;
    }

    .help-nav-list {
        display: block;
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .help-nav-list > li.help-nav-group {
        display: block;
        width: 100%;
        margin-bottom: 0.25rem;
    }

    .help-nav-sub[data-help-guide-nav],
    .help-nav-group .help-nav-sub {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        overflow-anchor: none;
        scrollbar-width: none;
        gap: 0.35rem;
        padding: 0.35rem 0.5rem 0.45rem;
        width: 100%;
        max-width: 100%;
    }

    .help-nav-sub[data-help-guide-nav]::-webkit-scrollbar,
    .help-nav-group .help-nav-sub::-webkit-scrollbar {
        display: none;
    }

    .help-nav-sub[data-help-guide-nav] li,
    .help-nav-group .help-nav-sub li {
        flex: 0 0 auto;
    }

    .help-nav-sub[data-help-guide-nav] > .help-nav-section-label,
    .help-nav-group .help-nav-sub > .help-nav-section-label {
        display: none !important;
    }

    .help-sidebar .help-nav-list > li:not(.help-nav-group) {
        display: none;
    }

    .help-nav-section-label {
        flex: 0 0 auto;
        padding: 0.35rem 0.5rem 0.15rem;
    }

    .help-content {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
        background: transparent !important;
        box-shadow: none !important;
        padding: 0.5rem 0 1rem !important;
        border-radius: 0 !important;
    }

    .help-section {
        margin-bottom: 1.75rem !important;
        scroll-margin-top: 72px;
    }

    .sim-section-divider {
        margin-top: 1.25rem !important;
        padding-top: 1rem !important;
    }

    .help-content .step-indicator {
        flex-wrap: nowrap;
        overflow-x: auto;
        justify-content: flex-start;
        -webkit-overflow-scrolling: touch;
        padding: 0.55rem 0.45rem;
        gap: 0.35rem;
        max-width: 100%;
    }

    .help-content .step-indicator .arrow {
        flex-shrink: 0;
    }

    .help-content .help-section > h2 .sim-section-no {
        font-size: 0.82em;
    }

    .help-content .plan-sim-desc {
        font-size: 0.76rem !important;
        line-height: 1.5;
        margin-bottom: 0.65rem !important;
        padding: 0.45rem 0.65rem !important;
    }

    .mutual-simulator-wrap .sim-guide-sticky h3 {
        font-size: 0.88rem !important;
    }

    .mutual-simulator-wrap .sim-guide-sticky .guide-steps li {
        font-size: 0.72rem !important;
    }

    .help-content .help-section h3 {
        font-size: 0.92rem !important;
        margin: 0 0 0.45rem !important;
        line-height: 1.35 !important;
    }

    .help-content .help-section p,
    .help-content .help-section li,
    .help-content .help-section .help-topic-intro,
    .help-content .help-section .help-topic-how {
        font-size: 0.82rem !important;
        line-height: 1.6 !important;
    }

    .help-content .login-entry-tabs,
    .help-content .family-entry-tabs {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        gap: 0.35rem;
        padding-bottom: 0.25rem;
        margin-bottom: 0.4rem !important;
        border-bottom: 2px solid #e2e8f0;
    }

    .help-content .login-entry-tab,
    .help-content .family-entry-tab {
        flex: 0 0 auto;
        font-size: 0.78rem !important;
        padding: 0.4rem 0.65rem !important;
        margin-bottom: -2px !important;
    }

    .help-content .sim-guide h3,
    .help-content .sim-guide-sticky h3,
    .simulator-wrap .sim-guide h3 {
        font-size: 0.88rem !important;
        margin-bottom: 0.5rem !important;
    }

    .help-content .guide-steps li,
    .simulator-wrap .guide-steps li,
    .sim-guide-sticky .guide-steps li {
        font-size: 0.72rem !important;
        line-height: 1.55 !important;
        padding: 0.45rem 0.35rem 0.45rem 1.8rem !important;
    }

    .help-content .guide-steps li.active-step,
    .simulator-wrap .guide-steps li.active-step,
    .sim-guide-sticky .guide-steps li.active-step {
        padding-left: 1.95rem !important;
        padding-right: 0.35rem !important;
    }

    .help-content .guide-steps li::before,
    .simulator-wrap .guide-steps li::before,
    .sim-guide-sticky .guide-steps li::before {
        width: 1.25rem !important;
        height: 1.25rem !important;
        min-width: 1.25rem !important;
        left: 0 !important;
        top: 0.42rem !important;
        font-size: 0.62rem !important;
        line-height: 1.25rem !important;
        text-align: center !important;
        display: block !important;
        box-sizing: border-box !important;
        padding: 0 !important;
    }

    .help-content .step-indicator .step {
        font-size: 0.68rem !important;
        transform: none !important;
    }

    .help-content .step-indicator .step.active {
        transform: none !important;
    }

    .help-content .step-indicator .step-num {
        width: 1.35rem !important;
        height: 1.35rem !important;
        font-size: 0.62rem !important;
        line-height: 1.35rem !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        padding: 0 !important;
    }

    .help-content .step-indicator .arrow {
        font-size: 0.68rem !important;
    }

    .help-docs-zone-label {
        font-size: 0.82rem !important;
    }

    .help-topic-subcard h4 {
        font-size: 0.82rem !important;
        padding: 0.55rem 0.85rem !important;
    }

    .help-topic-subcard .help-topic-how {
        font-size: 0.78rem !important;
        line-height: 1.6 !important;
    }

    .help-content .help-topic-block h3 {
        font-size: 0.92rem !important;
    }

    .help-content .help-topic-intro,
    .help-content .help-topic-how {
        font-size: 0.82rem !important;
        line-height: 1.6 !important;
    }

    .help-content .help-topic-block {
        padding: 0.75rem 0.85rem !important;
        margin-bottom: 0.65rem !important;
    }

    .mutual-simulator-wrap,
    .dual-phones-block {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
        box-sizing: border-box;
    }

    .mutual-simulator-wrap .dual-phones-block {
        padding-left: 0 !important;
    }

    .help-demo-zone .step-indicator {
        flex-wrap: nowrap;
        overflow-x: auto;
        justify-content: flex-start;
        -webkit-overflow-scrolling: touch;
        padding: 0.55rem 0.45rem;
        gap: 0.35rem;
    }

    .help-demo-zone .step-indicator .arrow {
        flex-shrink: 0;
    }

    .help-demo-zone .login-entry-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        gap: 0.35rem;
        padding-bottom: 0.25rem;
    }

    .help-demo-zone .login-entry-tab {
        flex: 0 0 auto;
        font-size: 0.78rem;
        padding: 0.4rem 0.65rem;
    }

    .help-sidebar .help-nav-list a,
    .help-sidebar .help-nav-sub a,
    .help-sidebar .help-nav-group-title,
    .help-sidebar .help-nav-page-title {
        font-size: 0.72rem !important;
        padding: 0.38rem 0.55rem !important;
        line-height: 1.35 !important;
        display: inline-flex !important;
        align-items: center;
        white-space: nowrap;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.9);
        border: 1px solid #e2e8f0;
    }

    .help-sidebar .help-nav-sub a.active,
    .help-sidebar .help-nav-page-sub a.active {
        background: rgba(168, 85, 247, 0.12) !important;
        color: #7c3aed !important;
        border-color: #c4b5fd !important;
    }

    .help-sidebar .help-nav-sub a {
        padding-left: 0.65rem !important;
        padding-right: 0.65rem !important;
    }

    .help-sidebar .help-nav-page-sub a {
        padding-left: 1rem !important;
    }

    .help-sidebar .help-nav-section-label {
        font-size: 0.62rem !important;
        padding: 0.28rem 0.45rem !important;
        display: inline-flex !important;
        align-items: center;
        margin: 0;
        border-radius: 4px;
        background: rgba(15, 23, 42, 0.06);
        color: #64748b !important;
        border: none;
    }

    .help-demo-zone .phone-scale-host,
    .help-demo-zone .mutual-phone-scale-host {
        overflow: hidden !important;
        margin-left: auto;
        margin-right: auto;
    }

    .help-demo-zone .simulator-wrap {
        gap: 0.65rem !important;
        align-items: center !important;
    }

    .help-sim-unit {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        box-sizing: border-box;
    }

    .help-sim-unit--single {
        display: block;
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        box-sizing: border-box;
        overflow: hidden;
    }

    .help-sim-unit--single .phone-scale-host {
        max-width: none !important;
        margin: 0 !important;
    }

    .help-sim-unit--single .phone-scale-host > .phone-shell {
        transform: none !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .help-sim-unit--single .mutual-phone-scale-host {
        max-width: none !important;
        margin: 0 !important;
    }

    .help-sim-unit--single .mutual-phone-scale-host > .phone-shell {
        transform: none !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .help-sim-unit__stage {
        display: block;
        margin-left: auto;
        margin-right: auto;
        overflow: hidden;
        box-sizing: border-box;
    }

    .help-sim-unit--dual {
        display: block;
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        box-sizing: border-box;
        overflow: hidden;
    }

    .help-sim-unit--dual .dual-sim-row {
        flex-wrap: nowrap !important;
        margin-top: 0 !important;
    }

    .mutual-simulator-wrap {
        gap: 0.65rem !important;
    }

    .mutual-simulator-wrap .sim-guide-sticky {
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 0 !important;
    }

    .help-content.help-panel-mode {
        min-height: auto;
    }

    .help-content.help-panel-mode .help-section#simulator.active {
        min-height: auto;
    }
}

.help-nav-section-label {
    font-size: 0.68rem;
    font-weight: 700;
    color: #9ca3af;
    padding: 0.5rem 0.55rem 0.2rem;
    letter-spacing: 0.05em;
    list-style: none;
}
.help-nav-section-label:first-child {
    padding-top: 0.1rem;
}
.help-nav-page-sub a {
    padding-left: 1.1rem !important;
}

.help-topic-block { margin-bottom: 1.25rem; }
.help-topic-block.help-topic-after-demo {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}
.help-topic-block h3 { font-size: 1.05rem; font-weight: 800; color: #1a1a2e; margin: 0 0 0.5rem; }
.help-topic-block h4 { font-size: 0.95rem; font-weight: 700; color: #374151; margin: 0.75rem 0 0.35rem; }
.help-topic-intro { color: #444; line-height: 1.85; margin: 0; font-size: 1rem; }
.help-topic-how { margin: 0; padding-left: 1.25rem; color: #444; line-height: 1.85; font-size: 1rem; }
.help-topic-how li { margin-bottom: 0.4rem; }
.help-topic-how li:last-child { margin-bottom: 0; }

/* ── 模块页标题 ── */
.help-content .help-section > h2 {
    font-size: 1.75rem;
    font-weight: 900;
    color: #0f172a;
    margin: 0 0 0.75rem;
    letter-spacing: -0.03em;
    line-height: 1.25;
}

/* ── 演示区容器（紧凑垂直布局） ── */
.help-demo-zone {
    background: #fff;
    border: 1px solid #e4eaf2;
    border-radius: 14px;
    padding: 0.55rem 0.8rem 0.65rem !important;
    box-shadow: 0 6px 24px rgba(0, 50, 120, 0.06);
    margin-bottom: 0;
}
.help-demo-zone .plan-sim-desc,
.help-demo-zone .edit-sim-desc {
    margin: 0 0 0.4rem !important;
    padding: 0.38rem 0.65rem !important;
    border-radius: 8px !important;
    background: linear-gradient(135deg, #eff6ff 0%, #f0fdfa 100%) !important;
    border: 1px solid #bfdbfe !important;
    color: #0369a1 !important;
    font-weight: 600 !important;
    font-size: 0.8rem !important;
    line-height: 1.45 !important;
}
.help-demo-zone .login-entry-tabs,
.help-demo-zone .family-entry-tabs {
    margin: 0 0 0.4rem !important;
    border-bottom: 2px solid #e2e8f0 !important;
}
.help-demo-zone .login-entry-tab,
.help-demo-zone .family-entry-tab {
    padding: 7px 6px !important;
    font-size: 0.78rem !important;
    margin-bottom: -2px !important;
}
.help-demo-zone .login-entry-tab.active,
.help-demo-zone .family-entry-tab.active {
    color: #007aff !important;
    border-bottom-color: #007aff !important;
}
.help-demo-zone .step-indicator {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 0.22rem 0.28rem !important;
    background: #f8fafc !important;
    border: 1px solid #eef2f7 !important;
    border-radius: 10px !important;
    margin: 0 0 0.5rem !important;
    padding: 0.4rem 0.5rem !important;
}
.help-demo-zone .step-indicator .step {
    gap: 0.22rem !important;
    font-size: 0.62rem !important;
    transform: none !important;
}
.help-demo-zone .step-indicator .step.active {
    color: #007aff !important;
    transform: none !important;
}
.help-demo-zone .step-indicator .step-num {
    width: 1.28rem !important;
    height: 1.28rem !important;
    font-size: 0.62rem !important;
}
.help-demo-zone .step-indicator .step.active .step-num {
    background: linear-gradient(135deg, #007aff, #00b4d8) !important;
    color: #fff !important;
    animation: none !important;
    box-shadow: none !important;
}
.help-demo-zone .step-indicator .arrow {
    font-size: 0.68rem !important;
    margin: 0 0.02rem !important;
}
.help-demo-zone .edit-sim-header {
    margin: 0 0 0.4rem !important;
}
.help-demo-zone .edit-sim-header .edit-sim-desc {
    margin-bottom: 0.35rem !important;
}
.help-demo-zone .commission-sub-block {
    margin-bottom: 0.65rem !important;
}
.help-demo-zone .commission-sub-block:last-child {
    margin-bottom: 0 !important;
}
.help-demo-zone .commission-sub-block h3,
.help-demo-zone .commission-sub-title {
    margin: 0 0 0.3rem !important;
    font-size: 0.95rem !important;
}
.help-demo-zone .commission-sub-block > p {
    margin: 0 0 0.35rem !important;
    font-size: 0.86rem !important;
    line-height: 1.55 !important;
}
.help-demo-zone .simulator-wrap,
.help-demo-zone .mutual-simulator-wrap {
    margin-top: 0 !important;
}

.help-demo-zone .dual-phones-block {
    width: 100%;
    max-width: 100%;
}

.help-demo-zone .dual-sim-row {
    margin-left: auto;
    margin-right: auto;
}

.help-demo-zone .phone-demo-top-bar,
.help-demo-zone .mutual-demo-bar {
    align-items: center !important;
}

.help-demo-zone .dual-flow-bridge {
    overflow: visible !important;
}

.help-demo-play-hint {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    margin: 0 !important;
    padding: 0.34rem 0.72rem !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 55%, #fde68a 100%) !important;
    border: 1.5px solid #fbbf24 !important;
    color: #9a3412 !important;
    font-size: 0.76rem !important;
    font-weight: 700;
    line-height: 1.3 !important;
    text-align: center;
    white-space: nowrap;
    pointer-events: none;
    box-shadow: 0 3px 10px rgba(245, 158, 11, 0.22) !important;
}
.help-demo-play-hint--anchored {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    margin: 0 !important;
    z-index: 45;
    animation: help-demo-hint-glow-host 2.8s ease-in-out infinite;
}
.help-demo-play-hint-tail {
    position: absolute;
    top: -6px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #fbbf24;
}
.help-demo-play-hint strong {
    color: #c2410c;
    font-weight: 800;
}
.help-demo-play-hint-arrow {
    display: inline-block;
    color: #ea580c;
    font-weight: 800;
    font-size: 0.84rem;
    line-height: 1;
    animation: help-demo-hint-arrow 2.2s ease-in-out infinite;
}
.help-demo-play-hint.is-hidden {
    display: none !important;
}
.help-demo-zone.demo-active .help-demo-play-hint {
    display: none !important;
}
.help-demo-zone:not(.demo-active) .phone-inline-demo-btn,
.help-demo-zone:not(.demo-active) .mutual-inline-demo-btn {
    animation: help-demo-btn-pulse 2.6s ease-in-out infinite;
}
@keyframes help-demo-btn-pulse {
    0%, 100% {
        box-shadow: 0 3px 10px rgba(168, 85, 247, 0.38), 0 0 0 0 rgba(168, 85, 247, 0.2);
    }
    50% {
        box-shadow: 0 3px 10px rgba(168, 85, 247, 0.45), 0 0 0 5px rgba(168, 85, 247, 0);
    }
}
@keyframes help-demo-hint-glow-host {
    0%, 100% {
        transform: translateX(-50%);
        opacity: 1;
        border-color: #fbbf24;
        box-shadow: 0 3px 10px rgba(245, 158, 11, 0.22);
    }
    50% {
        transform: translateX(-50%);
        opacity: 0.94;
        border-color: #f59e0b;
        box-shadow: 0 4px 14px rgba(245, 158, 11, 0.32);
    }
}
@keyframes help-demo-hint-arrow {
    0%, 100% { transform: translateY(1px); opacity: 0.75; }
    50% { transform: translateY(-2px); opacity: 1; }
}

/* ── 说明区容器 ── */
.help-docs-zone {
    margin-top: 2rem;
    padding: 1.35rem 1.35rem 0.85rem;
    background: linear-gradient(165deg, #ffffff 0%, #f8fafc 55%, #f1f5f9 100%);
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.05);
}
.help-docs-zone-label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 1.15rem;
    padding-bottom: 0.85rem;
    border-bottom: 2px solid transparent;
    border-image: linear-gradient(90deg, #007aff, #2ec4b6, transparent) 1;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #64748b;
}
.help-docs-zone-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 8px;
    background: linear-gradient(135deg, #007aff, #00b4d8);
    font-size: 0.85rem;
    line-height: 1;
}

.help-docs-zone .help-topic-block {
    background: #fff;
    border-radius: 14px;
    padding: 1.15rem 1.25rem;
    margin-bottom: 0.85rem;
    border: 1px solid #e8ecf2;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04);
}
.help-docs-zone .help-topic-block:last-child {
    margin-bottom: 0;
}
.help-docs-zone .help-topic-what {
    border-left: 3px solid #007aff;
}
.help-docs-zone .help-topic-how {
    border-left: 3px solid #2ec4b6;
}
.help-docs-zone .help-topic-block h3 {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.08rem;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 0.65rem;
}
.help-docs-zone .help-topic-what h3::before {
    content: '';
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #007aff;
    flex-shrink: 0;
}
.help-docs-zone .help-topic-how h3::before {
    content: '';
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #2ec4b6;
    flex-shrink: 0;
}
.help-docs-zone .help-topic-intro,
.help-docs-zone .help-topic-how {
    font-size: 0.96rem;
    color: #475569;
    line-height: 1.8;
}
.help-docs-zone .help-topic-how li::marker {
    color: #2ec4b6;
    font-weight: 700;
}

/* 如何实现 · 多模块子卡片 */
.help-topic-how-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
    margin-top: 1rem;
}
.help-topic-subcard {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05);
}
.help-topic-subcard h4 {
    margin: 0;
    padding: 0.7rem 1rem;
    font-size: 0.9rem;
    font-weight: 800;
    color: #fff;
    background: linear-gradient(135deg, #007aff 0%, #0096c7 100%);
    letter-spacing: 0.01em;
}
.help-topic-subcard:nth-child(2) h4 {
    background: linear-gradient(135deg, #0284c7 0%, #2ec4b6 100%);
}
.help-topic-subcard:nth-child(3) h4 {
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
}
.help-topic-subcard:nth-child(4) h4 {
    background: linear-gradient(135deg, #0d9488 0%, #14b8a6 100%);
}
.help-topic-subcard .help-topic-how {
    margin: 0;
    padding: 0.85rem 1rem 1rem 1.35rem;
    list-style: decimal;
    font-size: 0.88rem;
    line-height: 1.75;
    color: #475569;
}
.help-topic-subcard .help-topic-how li {
    margin-bottom: 0.4rem;
    padding-left: 0.15rem;
}
.help-topic-subcard .help-topic-how li:last-child {
    margin-bottom: 0;
}
.help-topic-subcard .help-topic-how li::marker {
    color: #007aff;
    font-weight: 700;
}
.help-docs-zone .help-topic-how > .help-topic-intro {
    margin-bottom: 0.15rem;
}

@media (max-width: 768px) {
    .help-demo-zone {
        padding: 0.45rem 0.55rem 0.55rem !important;
        border-radius: 12px;
    }
    .help-demo-zone .login-entry-tab,
    .help-demo-zone .family-entry-tab {
        padding: 6px 4px !important;
        font-size: 0.72rem !important;
        min-width: 72px;
    }
    .help-demo-zone .step-indicator .step {
        font-size: 0.58rem !important;
    }
    .help-demo-zone .step-indicator .step-num {
        width: 1.15rem !important;
        height: 1.15rem !important;
        font-size: 0.58rem !important;
    }
    .help-docs-zone {
        padding: 1rem 0.85rem 0.65rem;
        border-radius: 14px;
    }
    .help-topic-how-grid {
        grid-template-columns: 1fr;
    }
    .help-content .help-section > h2,
    .help-content .help-section h2 {
        font-size: 1.12rem !important;
        line-height: 1.35 !important;
        margin-bottom: 0.65rem !important;
    }

    .help-content .plan-sim-desc,
    .help-demo-zone .plan-sim-desc,
    .help-demo-zone .edit-sim-desc {
        font-size: 0.76rem !important;
        line-height: 1.5 !important;
        padding: 0.45rem 0.65rem !important;
        margin-bottom: 0.65rem !important;
    }

    .help-docs-zone {
        margin-top: 1.25rem !important;
        padding: 1rem 0.85rem 0.65rem !important;
    }

    .help-docs-zone-label {
        font-size: 0.82rem !important;
        margin-bottom: 0.75rem !important;
        padding-bottom: 0.55rem !important;
        letter-spacing: 0.06em !important;
        text-transform: none !important;
    }

    .help-docs-zone-icon {
        width: 1.35rem !important;
        height: 1.35rem !important;
        font-size: 0.72rem !important;
        line-height: 1 !important;
        flex-shrink: 0 !important;
    }

    .help-docs-zone .help-topic-what h3::before,
    .help-docs-zone .help-topic-how h3::before {
        width: 6px !important;
        height: 6px !important;
    }

    .help-docs-zone .help-topic-block {
        padding: 0.75rem 0.85rem !important;
        margin-bottom: 0.65rem !important;
    }

    .help-docs-zone .help-topic-what,
    .help-docs-zone .help-topic-how {
        border-left-width: 2px !important;
    }

    .help-docs-zone .help-topic-block h3,
    .help-content .help-topic-block h3,
    .help-content .help-section h3 {
        font-size: 0.92rem !important;
        line-height: 1.35 !important;
        margin: 0 0 0.45rem !important;
    }

    .help-docs-zone .help-topic-intro,
    .help-docs-zone .help-topic-how,
    .help-content .help-section p,
    .help-content .help-section li,
    .help-content .help-topic-intro,
    .help-content .help-topic-how {
        font-size: 0.82rem !important;
        line-height: 1.6 !important;
    }

    .help-topic-subcard h4 {
        font-size: 0.82rem !important;
        padding: 0.55rem 0.85rem !important;
    }

    .help-topic-subcard .help-topic-how {
        font-size: 0.78rem !important;
        line-height: 1.6 !important;
        padding: 0.65rem 0.85rem 0.75rem 1.2rem !important;
    }

    .help-content .sim-guide h3,
    .help-content .sim-guide-sticky h3,
    .simulator-wrap .sim-guide h3,
    .mutual-simulator-wrap .sim-guide-sticky h3 {
        font-size: 0.88rem !important;
        margin-bottom: 0.5rem !important;
    }

    .help-content .guide-steps li,
    .simulator-wrap .guide-steps li,
    .sim-guide-sticky .guide-steps li,
    .help-content .sim-guide .guide-steps li {
        font-size: 0.72rem !important;
        line-height: 1.55 !important;
        padding: 0.45rem 0.35rem 0.45rem 1.8rem !important;
    }

    .help-content .guide-steps li.active-step,
    .simulator-wrap .guide-steps li.active-step,
    .sim-guide-sticky .guide-steps li.active-step,
    .help-content .sim-guide .guide-steps li.active-step {
        padding-left: 1.95rem !important;
        padding-right: 0.35rem !important;
    }

  /* 操作说明 1/2/3 序号圆标（页面外侧，非手机内模拟 UI） */
    .help-content .guide-steps li::before,
    .simulator-wrap .guide-steps li::before,
    .sim-guide-sticky .guide-steps li::before,
    .help-content .sim-guide .guide-steps li::before {
        width: 1.25rem !important;
        height: 1.25rem !important;
        min-width: 1.25rem !important;
        left: 0 !important;
        top: 0.42rem !important;
        font-size: 0.62rem !important;
        font-weight: 700 !important;
        line-height: 1.25rem !important;
        text-align: center !important;
        display: block !important;
        box-sizing: border-box !important;
        padding: 0 !important;
        border-radius: 50% !important;
        background: #a855f7 !important;
        color: #fff !important;
    }

    .help-demo-zone .commission-sub-block h3,
    .help-demo-zone .commission-sub-title {
        font-size: 0.88rem !important;
    }

    .help-demo-zone .commission-sub-block > p {
        font-size: 0.78rem !important;
        line-height: 1.55 !important;
    }

    .help-demo-play-hint {
        font-size: 0.68rem !important;
        padding: 0.3rem 0.55rem !important;
    }

    .help-demo-play-hint-arrow {
        font-size: 0.72rem !important;
    }

    .help-demo-play-hint-tail {
        border-left-width: 5px !important;
        border-right-width: 5px !important;
        border-bottom-width: 5px !important;
        top: -5px !important;
    }
}

/* 竖屏移动端：隐藏演示区旁「步骤说明」（保留手机模拟与顶部步骤条） */
@media (max-width: 768px) and (orientation: portrait) {
    .help-content .sim-guide,
    .help-content .sim-guide-sticky {
        display: none !important;
    }
}

/* 模拟手机内禁止滑动内容（overflow）；触摸手势交给页面纵向滚动 */
.help-content .phone-shell,
.help-content .phone-scale-host,
.help-content .mutual-phone-scale-host {
    touch-action: pan-y;
}

.help-content .phone-shell .phone-screen {
    overflow: hidden !important;
    overscroll-behavior: none;
}

.help-content .phone-shell .sim-screen,
.help-content .phone-shell .main_content,
.help-content .phone-shell .wf-main-content,
.help-content .phone-shell .mutual-page-scroll,
.help-content .phone-shell .login-page-mock,
.help-content .phone-shell .register-page-mock,
.help-content .phone-shell .ob-page,
.help-content .phone-shell .login-uc-mini,
.help-content .phone-shell .center-shell-scroll,
.help-content .phone-shell .complaint-scroll,
.help-content .phone-shell .uc-order-history-body,
.help-content .phone-shell .mutual-page-panel {
    overflow: hidden !important;
    overscroll-behavior: none;
}

/* 全站统一帮助页底部（网页端布局对齐首页） */
.help-site-footer {
    background: var(--gradient-primary);
    color: #fff;
    text-align: center;
    padding: 2.5rem 0;
    position: relative;
}

.help-site-footer__accent {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--gradient-secondary);
}

.help-site-footer .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px;
    box-sizing: border-box;
}

.help-site-footer__copyright {
    margin: 0 0 1rem;
    font-size: 0.9rem;
    line-height: 1.55;
}

.help-site-footer__copyright a,
.help-site-footer__copyright .help-ftr-icp {
    color: #fff;
    text-decoration: none;
}

.help-site-footer__links {
    margin: 0;
    opacity: 0.9;
    font-size: 0.9rem;
    line-height: 1.5;
}

.help-ftr-link-row {
    display: inline;
}

.help-site-footer__links a {
    display: inline !important;
    color: #fff;
    margin: 0 15px;
    text-decoration: none;
    transition: opacity 0.3s;
    white-space: nowrap;
    vertical-align: baseline;
}

.help-site-footer__links a:hover,
.help-site-footer__copyright a:hover,
.help-site-footer__copyright .help-ftr-icp:hover {
    opacity: 0.7;
}

body > footer.help-site-footer a {
    display: inline !important;
}

@media (max-width: 768px) {
    .help-site-footer {
        padding: 1.5rem 0 1.75rem;
    }

    .help-site-footer__copyright {
        font-size: 0.74rem;
        line-height: 1.55;
        margin-bottom: 0.85rem;
        padding: 0 6px;
    }

    .help-ftr-sz,
    .help-ftr-hz {
        display: block;
    }

    .help-ftr-sep-mid,
    .help-ftr-sep-space {
        display: none;
    }

    .help-ftr-en,
    .help-ftr-sep-icp,
    .help-ftr-icp {
        display: inline;
    }

    .help-site-footer__links {
        font-size: 0.76rem;
        line-height: 1.55;
        padding: 0 6px;
    }

    .help-ftr-link-row {
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        gap: 0.35rem;
    }

    .help-ftr-link-row--2 {
        margin-top: 0.35rem;
    }

    .help-site-footer__links a {
        display: inline !important;
        margin: 0 !important;
        padding: 0 !important;
        flex: 0 0 auto;
    }
}

/* 隔离：页脚样式不得渗入手机模拟器（曾误合并选择器导致紫底） */
.help-content .phone-shell .phone-screen {
    background: #ffffff !important;
    background-image: none !important;
    color: #333 !important;
    text-align: left !important;
    padding: 0 !important;
}

.help-content .phone-shell .phone-screen .sim-screen {
    background: transparent !important;
    background-image: none !important;
    color: inherit !important;
    text-align: inherit !important;
    padding: 0 !important;
}

.help-content .phone-shell .login-page-mock,
.help-content .phone-shell .register-page-mock {
    background: #f5f5f5 !important;
    background-image: none !important;
    color: #333 !important;
    text-align: inherit !important;
    padding: 28px 0 20px !important;
}

.help-content .phone-shell .main_content,
.help-content .phone-shell .wf-main-content,
.help-content .phone-shell .mutual-page-scroll,
.help-content .phone-shell .ob-page,
.help-content .phone-shell .login-uc-mini,
.help-content .phone-shell .center-shell-scroll,
.help-content .phone-shell .complaint-scroll,
.help-content .phone-shell .uc-order-history-body,
.help-content .phone-shell .mutual-page-panel {
    background-image: none !important;
    color: inherit !important;
    text-align: inherit !important;
    padding: 0 !important;
}

.navbar .nav-menu a.active {
    color: #0f4c81;
    font-weight: 700;
}

.navbar .nav-menu a.btn.btn-primary {
    background: linear-gradient(145deg, #0f4c81 0%, #1a6b9a 50%, #2a9d8f 100%) !important;
    border: none !important;
    box-shadow: 0 2px 10px rgba(15, 76, 129, 0.22);
    color: #fff !important;
    font-weight: 600;
    padding: 0.45rem 1rem;
    border-radius: 999px;
}

.navbar .nav-menu a.btn.btn-primary:hover {
    filter: brightness(1.06);
}
