
    /* =========================================
       1. 全局配置与字体
       ========================================= */
    :root {
        --bg-canvas: #f8f8f8;
        --col-client: #6FA8DC;
        --col-mfr: #C90076; 
        --col-navy: #2C3E75;
        --col-text: #2C3E75;
        --font-hand: 'Damion', cursive;
        --font-sans: 'Roboto', sans-serif;
    }

    /* 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. 模块主容器 (关键修复区域)
       ========================================= */
    .module-wrapper {
        max-width: 1680px;
        width: 100%;
        
        /* 
           修改点：高度由 540px 减少 45px，改为 495px。
           原理：Flex布局中，卡片在底部，标题在顶部。
           减少容器高度会直接“吃掉”中间的空隙，使卡片向上移动 45px。
        */
        height: 495px;
        
        background-color: var(--bg-canvas);
        position: relative;
        box-sizing: border-box;
        
        /* 顶部内边距保持不变 */
        padding: 40px 50px 0 50px;
        
        display: flex;
        flex-direction: column;
        overflow: hidden; 
        margin: 0 auto;   
    }

    /* =========================================
       3. 顶部区域 (Header) 
       ========================================= */
    .header-bar {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        height: 100px; 
        position: relative;
        padding: 0 10px;
        margin-bottom: 10px;
        z-index: 10; 
    }

    .legend-group {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }
    .legend-row {
        display: flex;
        align-items: center;
        gap: 12px;
        font-family: var(--font-sans);
        font-size: 16px; 
        color: #333;
        font-weight: 500;
    }
    .legend-icon {
        width: 40px;
        height: 10px;
        border-radius: 5px;
    }

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

    /* =========================================
       4. 卡片容器
       ========================================= */
    .cards-container {
        display: flex;
        justify-content: space-between;
        align-items: flex-end; /* 保持底部对齐 */
        flex-grow: 1;
        padding-bottom: 0px; 
        flex-wrap: nowrap; 
    }

    .card-item {
        position: relative;
        width: 178px; 
        height: 230px;
        display: flex;
        justify-content: center;
        align-items: flex-end; 
        cursor: pointer;
        flex-shrink: 0; 
        
        transform: scale(1.35);
        transform-origin: bottom center; 
        
        margin-bottom: 10px; 
    }

    /* --- 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-item: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: 100%;
        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. 移动端适配 
       ========================================= */
    
    @media screen and (max-width: 1024px) {
        .module-wrapper {
            padding: 20px 10px 0 10px;
            height: auto; 
            max-width: 100%;
        }

        .header-bar {
            flex-direction: column;
            align-items: center;
            height: auto;
            gap: 20px;
            margin-bottom: 5px;
        }

        .title-group {
            position: static; 
            transform: none;
            margin-top: 10px;
        }
        .title-main { font-size: 64px; } 
        .title-sub { font-size: 18px; }

        .legend-group {
            flex-direction: row; 
            flex-wrap: wrap;
            justify-content: center;
        }

        .cards-container {
            justify-content: center;
            gap: 15px; 
            flex-wrap: wrap; 
            align-items: flex-end;
        }
        
        .card-item {
            transform: none; 
            margin-bottom: 0px; 
        }
    }

    @media screen and (max-width: 600px) {
        .module-wrapper {
            padding: 15px 5px 0 5px; 
        }

        .title-main { font-size: 48px; } 
        .title-sub { font-size: 14px; }

        .cards-container {
            gap: 5px; 
            justify-content: center;
        }

        .card-item {
            transform: scale(0.92); 
            margin: -10px -5px; 
        }
    }
