.c-p-cd.console-content {
        padding: 20px;
        overflow-x: hidden;
        width: 100%;
        background: #eef3fb;
    }


    /* ======= 卡组选择 ======= */
    .deck-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 16px;
        margin: 16px 0 8px;
    }
    .deck-card {
        background: linear-gradient(135deg, #ffffff 0%, #f3f7ff 100%);
        border: 1px solid #e3eaf6;
        border-radius: 16px;
        padding: 20px;
        cursor: pointer;
        transition: transform .18s ease, box-shadow .18s ease;
        position: relative;
        overflow: hidden;
    }
    .deck-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 12px 26px rgba(64, 158, 255, .18);
    }
    .deck-card.difficulty-easy { border-top: 4px solid #67c23a; }
    .deck-card.difficulty-medium { border-top: 4px solid #e6a23c; }
    .deck-card.difficulty-hard { border-top: 4px solid #f56c6c; }
    .deck-card .deck-title {
        font-size: 1.15rem;
        font-weight: 700;
        color: #1f2d3d;
        display: flex;
        align-items: center;
        gap: 8px;
    }
    .deck-card .deck-desc {
        color: #7a8ba0;
        font-size: .87rem;
        margin: 8px 0 12px;
        min-height: 20px;
    }
    .deck-card .deck-meta {
        display: flex;
        justify-content: space-between;
        align-items: center;
        color: #5b6b7f;
        font-size: .85rem;
    }

    /* ======= 学习阶段词卡 ======= */
    .learn-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
        gap: 16px;
        margin: 16px 0;
    }
    .learn-stage-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        gap: 12px;
        margin: 14px 0;
    }

    /* ======= 3D 翻牌 ======= */
    .flip-scene {
        perspective: 1200px;
        border-radius: 14px;
    }
    .flip-card-3d {
        position: relative;
        width: 100%;
        height: 120px;
        transform-style: preserve-3d;
        transition: transform .5s cubic-bezier(.2,.7,.25,1);
        cursor: pointer;
    }
    .flip-scene.flipped .flip-card-3d { transform: rotateY(180deg); }
    .flip-scene.matched .flip-card-3d { transform: rotateY(180deg); }
    .flip-face {
        position: absolute;
        inset: 0;
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
        border-radius: 14px;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: 12px;
        font-size: .9rem;
        word-break: break-word;
        overflow: hidden;
    }
    .flip-face.front {
        background: linear-gradient(135deg, #409eff, #7a5cff);
        color: #fff;
        font-size: 1.4rem;
        font-weight: 700;
    }
    .flip-face.back {
        background: #ffffff;
        border: 1px solid #e3eaf6;
        color: #1f2d3d;
        transform: rotateY(180deg);
        box-shadow: 0 6px 16px rgba(31,45,61,.1);
    }
    .flip-scene.matched .flip-face.back {
        background: linear-gradient(135deg, #67c23a, #42b983);
        color: #fff;
        border-color: transparent;
    }
    .flip-scene.match-pop .flip-card-3d {
        animation: matchPop .5s ease;
    }
    .flip-scene.miss-shake .flip-card-3d {
        animation: missShake .45s ease;
    }
    @keyframes matchPop {
        0% { transform: rotateY(180deg) scale(1); }
        40% { transform: rotateY(180deg) scale(1.12); }
        100% { transform: rotateY(180deg) scale(1); }
    }
    @keyframes missShake {
        0%,100% { transform: rotateY(180deg) translateX(0); }
        20% { transform: rotateY(180deg) translateX(-6px); }
        40% { transform: rotateY(180deg) translateX(6px); }
        60% { transform: rotateY(180deg) translateX(-4px); }
        80% { transform: rotateY(180deg) translateX(4px); }
    }
    .play-board {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
        gap: 14px;
        margin: 16px 0;
    }

    /* ======= 顶部状态栏 ======= */
    .play-status {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        background: #fff;
        border: 1px solid #e3eaf6;
        border-radius: 14px;
        padding: 14px 18px;
        margin-top: 14px;
        align-items: center;
    }
    .play-status .ps-item { text-align: center; min-width: 84px; }
    .play-status .ps-item .num {
        font-size: 1.5rem;
        font-weight: 700;
        color: #409eff;
        line-height: 1.1;
    }
    .play-status .ps-item .lbl { font-size: .78rem; color: #8a98ab; }
    .play-status .spacer { flex: 1; }

    /* ======= 复盘 ======= */
    .review-section { margin-top: 16px; }
    .review-pair {
        background: #fff;
        border: 1px solid #e3eaf6;
        border-radius: 12px;
        padding: 10px 14px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
        margin-bottom: 8px;
    }
    .review-pair .rp-item { flex: 1; }
    .review-pair .rp-item .t { color: #8a98ab; font-size: .75rem; }
    .review-pair .rp-item .v { color: #1f2d3d; font-size: .9rem; font-weight: 600; }

    .stat-card { text-align: center; }
    .stat-card .num {
        font-size: 1.4rem;
        font-weight: bold;
        color: #409eff;
    }
    .el-pagination { display: flex; justify-content: center; }

    .stage-head {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        gap: 12px;
        margin-bottom: 6px;
    }
    .stage-head .gh-title { font-size: 1.15rem; font-weight: 700; }
