
    /* =========================================
       1. 变量配置与主容器 (全屏自适应版)
       ========================================= */
    .module-wrapper-full {
        --bg-canvas: #f8f8f8;
        --col-client: #6FA8DC;
        --col-mfr: #C90076; 
        --col-navy: #2C3E75;
        --col-text: #2C3E75;
        
        --font-hand: 'Damion', cursive;
        --font-sans: 'Roboto', sans-serif;

        /* 修改：下调默认倍率以适配两端 50px 的空隙 (原为 1.7) */
        --scale-factor: 1.55; 
        
        /* 原始卡片基础尺寸 */
        --card-base-w: 178px;
        --card-base-h: 230px;

        /* 物理占用尺寸，用于动态提供完美布局空间 */
        --card-real-w: calc(var(--card-base-w) * var(--scale-factor)); 
        --card-real-h: calc(var(--card-base-h) * var(--scale-factor)); 

        width: 100%;
        max-width: 100%;
        
        /* 移除固定高度，改为由内容自适应撑开 */
        background-color: var(--bg-canvas);
        position: relative;
        box-sizing: border-box;
        
        /* 修改：两端强制留出 50px 间隙 */
        padding: calc(30px * var(--scale-factor)) 50px calc(20px * var(--scale-factor)) 50px; 
        
        display: flex;
        flex-direction: column;
        overflow: hidden; 
        margin: 0 auto;   
    }

    /* 6个步骤的背景色 */
    .bg-step-1 { background-color: #d8e4ef; }
    .bg-step-2 { background-color: #9dc1e4; }
    .bg-step-3 { background-color: #4f8dd6; }
    .bg-step-4 { background-color: #3561b6; }
    .bg-step-5 { background-color: #0d3b94; }
    .bg-step-6 { background-color: #072168; }

    /* =========================================
       2. 顶部区域 (Header) - 随倍率同频缩放
       ========================================= */
    .header-bar {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        height: calc(85px * var(--scale-factor)); 
        margin-bottom: calc(15px * var(--scale-factor));
        padding: 0 calc(20px * var(--scale-factor));
        z-index: 10; 
    }

    .legend-group { display: flex; flex-direction: column; gap: calc(8px * var(--scale-factor)); }
    .legend-row {
        display: flex; align-items: center; gap: calc(10px * var(--scale-factor));
        font-family: var(--font-sans);
        font-size: calc(14px * var(--scale-factor)); 
        color: #333; font-weight: 500;
    }
    .legend-icon { width: calc(32px * var(--scale-factor)); height: calc(8px * var(--scale-factor)); border-radius: calc(4px * var(--scale-factor)); }

    .title-group {
        position: absolute; left: 50%; transform: translateX(-50%); top: 0;
        display: flex; align-items: center; color: var(--col-navy);
    }
    .title-main {
        font-family: var(--font-sans);
        font-size: calc(65px * var(--scale-factor)); 
        font-weight: 700; margin-right: calc(20px * var(--scale-factor)); line-height: 0.9;
    }
    .title-sub {
        font-family: var(--font-sans); font-weight: 500; color: #222; line-height: 1.2;
        font-size: calc(17px * var(--scale-factor)); 
        border-left: calc(2px * var(--scale-factor)) solid #333;
        padding-left: calc(15px * var(--scale-factor));
        display: flex; flex-direction: column; justify-content: center;
    }

    /* =========================================
       3. 卡片容器与布局 (自适应等距贴边)
       ========================================= */
    .cards-container {
        display: flex;
        /* 核心：两端卡片完全贴底对齐，多余空间全化作中间动态间隙 */
        justify-content: space-between;
        align-items: flex-end; 
        flex-grow: 1;
        padding-bottom: 20px; 
    }

    /* 物理占位框 */
    .card-wrapper {
        position: relative;
        width: var(--card-real-w); height: var(--card-real-h);
        display: flex; justify-content: center; align-items: flex-end; 
        cursor: pointer; z-index: 1;
        margin-bottom: 10px; 
    }

    /* 内部缩放引擎（代替原有的 scale(1.35)，实现无损缩放） */
    .card-scaler {
        position: relative; width: var(--card-base-w); height: var(--card-base-h);
        transform: scale(var(--scale-factor)); transform-origin: bottom center;
        display: flex; justify-content: center; align-items: flex-end;
    }

    /* =========================================
       4. 卡片内部元素 (保持原尺寸不变，靠缩放引擎放大)
       ========================================= */
    
    /* --- Tab (弹出卡片) --- */
    .card-tab {
        position: absolute; bottom: 35px; width: 150px; height: 180px;
        border-radius: 15px 15px 0 0; z-index: 1;
        transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
        display: flex; justify-content: center; padding-top: 5px; box-sizing: border-box;
        box-shadow: 0 -5px 10px rgba(0,0,0,0.05);
    }
    
    .card-wrapper:hover .card-tab { transform: translateY(-40px); }

    .tab-number {
        font-family: var(--font-hand); color: #fff; font-size: 31px; line-height: 1;
        display: flex; align-items: baseline; text-shadow: 0 1px 3px rgba(0,0,0,0.2);
    }
    .num-zero { font-size: 0.6em; margin-right: 2px; }

    /* --- Pocket (前面的口袋) --- */
    .card-pocket {
        position: relative; z-index: 2; width: 178px; height: 185px; background-color: #ffffff; 
        clip-path: path('M 20 0 L 44 0 L 44 20 Q 44 30 54 30 L 124 30 Q 134 30 134 20 L 134 0 L 158 0 Q 178 0 178 20 L 178 165 Q 178 185 158 185 L 20 185 Q 0 185 0 165 L 0 20 Q 0 0 20 0 Z');
        filter: drop-shadow(6px 6px 8px rgba(0, 0, 0, 0.3)) drop-shadow(-2px -2px 1px rgba(255, 255, 255, 1));
        display: flex; flex-direction: column; align-items: center; justify-content: flex-end; 
        transform: translateY(10px); padding-bottom: 35px; 
    }

    /* 内部装饰 */
    .deco-brackets { position: absolute; top: 40px; bottom: 45px; left: 18px; right: 18px; pointer-events: none; }
    .deco-brackets::before {
        content: ''; position: absolute; top: 0; bottom: 0; left: 0; width: 10px;
        border-top: 2px solid var(--col-navy); border-bottom: 2px solid var(--col-navy); border-left: 2px solid var(--col-navy); border-radius: 15px 0 0 15px;
    }
    .deco-brackets::after {
        content: ''; position: absolute; top: 0; bottom: 0; right: 0; width: 10px;
        border-top: 2px solid var(--col-navy); border-bottom: 2px solid var(--col-navy); border-right: 2px solid var(--col-navy); border-radius: 0 15px 15px 0;
    }

    .card-icon { width: 70px; height: 70px; object-fit: contain; margin-bottom: 5px; z-index: 3; }
    .card-text { font-family: var(--font-hand); font-size: 15px; color: var(--col-text); text-align: center; height: 20px; line-height: 20px; margin-bottom: 12px; white-space: nowrap; z-index: 3; }
    .card-bar { width: 45px; height: 6px; border-radius: 3px; background-color: var(--col-client); z-index: 3; margin-bottom: 15px; }

    /* 颜色类 */
    .bg-c-blue { background-color: var(--col-client); }
    .bg-c-pink { background-color: var(--col-mfr); } 
    .bg-c-mix { background: linear-gradient(90deg, var(--col-client) 50%, var(--col-mfr) 50%); }
    .bg-c-blue-purple { background: linear-gradient(90deg, var(--col-client) 50%, var(--col-mfr) 50%); } 

    /* =========================================
       5. 高频媒体查询断点 (缩放倍率整体下调，避免两侧50px导致换行)
       ========================================= */
    @media (max-width: 1850px) { .module-wrapper-full { --scale-factor: 1.5; } }
    @media (max-width: 1750px) { .module-wrapper-full { --scale-factor: 1.4; } }
    @media (max-width: 1650px) { .module-wrapper-full { --scale-factor: 1.3; } }
    @media (max-width: 1550px) { .module-wrapper-full { --scale-factor: 1.2; } }
    @media (max-width: 1450px) { .module-wrapper-full { --scale-factor: 1.1; } }
    @media (max-width: 1350px) { .module-wrapper-full { --scale-factor: 1.0; } }
    @media (max-width: 1250px) { .module-wrapper-full { --scale-factor: 0.9; } }
    @media (max-width: 1150px) { .module-wrapper-full { --scale-factor: 0.85; } }
    @media (max-width: 1050px) { .module-wrapper-full { --scale-factor: 0.75; } }

    /* 移动端/平板 (换行居中阵列) */
    @media (max-width: 950px) {
        .module-wrapper-full { 
            --scale-factor: 1.0; 
            padding-left: 20px; /* 移动端屏幕小，自动缩小两侧间隙防止排版过于拥挤 */
            padding-right: 20px;
            padding-top: 40px; 
            padding-bottom: 30px; 
        }
        .header-bar { flex-direction: column; align-items: center; gap: 30px; height: auto; }
        .title-group { position: relative; transform: none; left: 0; margin-top: 0; }
        .legend-group { flex-direction: row; flex-wrap: wrap; justify-content: center; }
        .cards-container { flex-wrap: wrap; justify-content: center; gap: 40px 15px; }
    }
    
    @media (max-width: 600px) { .module-wrapper-full { --scale-factor: 0.8; } }
