/* /Components/Games/CharacterQuizWasm.razor.rz.scp.css */
.character-quiz-container[b-68wdjbkobz] {
    min-height: 100vh;
    padding-bottom: 2rem;
}

.quiz-start-screen[b-68wdjbkobz],
.quiz-complete-screen[b-68wdjbkobz],
.quiz-play-screen[b-68wdjbkobz] {
    width: min(100%, 700px);
    margin: 0 auto;
}

.quiz-start-screen[b-68wdjbkobz],
.quiz-complete-screen[b-68wdjbkobz] {
    max-width: 600px;
}

.settings-panel[b-68wdjbkobz] {
    width: min(100%, 500px);
}

.settings-panel .btn-group[b-68wdjbkobz] {
    display: flex;
    flex-wrap: wrap;
}

.settings-panel .btn[b-68wdjbkobz] {
    flex: 1 1 100px;
    min-width: 0;
}

.quiz-access-lock[b-68wdjbkobz],
.quiz-start-error[b-68wdjbkobz] {
    margin: 0 auto 1.25rem;
    max-width: 34rem;
}

.question-card[b-68wdjbkobz] {
    min-height: 21rem;
    border: 0;
    border-radius: 1rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.question-card .card-body[b-68wdjbkobz] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2rem;
}

.question-card.result-correct[b-68wdjbkobz] {
    background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
    box-shadow: 0 0 20px rgba(40, 167, 69, 0.25);
}

.question-card.result-wrong[b-68wdjbkobz] {
    background: linear-gradient(135deg, #f8d7da 0%, #f5c6cb 100%);
    box-shadow: 0 0 20px rgba(220, 53, 69, 0.25);
    animation: quiz-shake-b-68wdjbkobz 0.5s ease;
}

.question-type-badge .badge[b-68wdjbkobz] {
    padding: 0.5rem 0.85rem;
    font-size: 0.85rem;
}

.question-prompt[b-68wdjbkobz] {
    min-height: 6rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.character-display[b-68wdjbkobz] {
    font-family: "Noto Sans SC", "Microsoft YaHei", sans-serif;
    font-size: 5rem;
    font-weight: 500;
    line-height: 1.2;
}

.pinyin-display[b-68wdjbkobz] {
    font-size: 3rem;
    font-weight: 500;
    line-height: 1.2;
}

.question-instruction[b-68wdjbkobz] {
    font-size: 1.05rem;
}

.result-feedback[b-68wdjbkobz] {
    font-size: 1.05rem;
    font-weight: 600;
    animation: quiz-fade-in-b-68wdjbkobz 0.25s ease;
}

.answer-choices[b-68wdjbkobz] {
    margin-top: 1rem;
}

.choice-btn[b-68wdjbkobz] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 76px;
    padding: 1rem 1.25rem;
    border-radius: 0.75rem;
    font-size: 1.1rem;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.choice-btn:not(:disabled):hover[b-68wdjbkobz] {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.choice-btn:focus-visible[b-68wdjbkobz],
.quiz-access-lock .btn:focus-visible[b-68wdjbkobz],
.quiz-start-error .btn:focus-visible[b-68wdjbkobz],
.quiz-complete-actions .btn:focus-visible[b-68wdjbkobz],
.settings-panel .btn:focus-visible[b-68wdjbkobz] {
    outline: 3px solid rgba(20, 184, 166, 0.45);
    outline-offset: 3px;
}

.choice-btn:disabled[b-68wdjbkobz] {
    cursor: default;
}

.choice-character[b-68wdjbkobz] {
    font-family: "Noto Sans SC", "Microsoft YaHei", sans-serif;
    font-size: 2.35rem;
    line-height: 1.2;
}

.choice-text[b-68wdjbkobz] {
    min-width: 0;
    overflow-wrap: anywhere;
}

.choice-btn.btn-success[b-68wdjbkobz] {
    border-color: #28a745;
    background-color: #28a745;
    color: white;
}

.choice-btn.btn-danger[b-68wdjbkobz] {
    border-color: #dc3545;
    background-color: #dc3545;
    color: white;
}

.quiz-timer-progress[b-68wdjbkobz] {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background-color: #e9ecef;
}

.quiz-timer-progress-fill[b-68wdjbkobz] {
    width: 32%;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #20c997 0%, #0d6efd 100%);
    animation: quiz-timer-sweep-b-68wdjbkobz 2.4s linear infinite;
}

.progress[b-68wdjbkobz] {
    height: 8px;
    border-radius: 1rem;
    background-color: #e9ecef;
}

.progress-bar[b-68wdjbkobz] {
    border-radius: 1rem;
    background: linear-gradient(90deg, #007bff 0%, #0056b3 100%);
    transition: width 0.3s ease;
}

.stars[b-68wdjbkobz] {
    font-size: 3rem;
}

.star[b-68wdjbkobz] {
    display: inline-block;
    opacity: 0.25;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.star.earned[b-68wdjbkobz] {
    opacity: 1;
    animation: quiz-star-pop-b-68wdjbkobz 0.5s ease;
}

[data-theme="glass-dark"] .question-card[b-68wdjbkobz] {
    background-color: var(--surface-primary);
    color: var(--text-primary);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

[data-theme="glass-dark"] .question-card.result-correct[b-68wdjbkobz] {
    background: linear-gradient(135deg, #14532d 0%, #166534 100%);
}

[data-theme="glass-dark"] .question-card.result-wrong[b-68wdjbkobz] {
    background: linear-gradient(135deg, #7f1d1d 0%, #991b1b 100%);
}

[data-theme="glass-dark"] .quiz-timer-progress[b-68wdjbkobz],
[data-theme="glass-dark"] .progress[b-68wdjbkobz] {
    background-color: #334155;
}

@keyframes quiz-star-pop-b-68wdjbkobz {
    0% { transform: scale(0); }
    50% { transform: scale(1.3); }
    100% { transform: scale(1); }
}

@keyframes quiz-fade-in-b-68wdjbkobz {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes quiz-shake-b-68wdjbkobz {
    0%, 100% { transform: translateX(0); }
    20%, 60% { transform: translateX(-5px); }
    40%, 80% { transform: translateX(5px); }
}

@keyframes quiz-timer-sweep-b-68wdjbkobz {
    from { transform: translateX(-125%); }
    to { transform: translateX(325%); }
}

@media (max-width: 576px) {
    .quiz-header[b-68wdjbkobz] {
        align-items: flex-start !important;
        gap: 0.5rem;
    }

    .quiz-stats[b-68wdjbkobz] {
        display: flex;
        flex-wrap: wrap;
        gap: 0.35rem;
    }

    .quiz-stats .badge[b-68wdjbkobz] {
        margin-right: 0 !important;
    }

    .question-card[b-68wdjbkobz] {
        min-height: 18rem;
    }

    .question-card .card-body[b-68wdjbkobz] {
        padding: 1.5rem 1rem;
    }

    .character-display[b-68wdjbkobz] {
        font-size: 4rem;
    }

    .pinyin-display[b-68wdjbkobz] {
        font-size: 2.5rem;
    }

    .choice-character[b-68wdjbkobz] {
        font-size: 2rem;
    }

    .choice-btn[b-68wdjbkobz] {
        min-height: 68px;
        padding: 0.75rem 1rem;
        font-size: 1rem;
    }

    .quiz-complete-actions[b-68wdjbkobz] {
        flex-direction: column;
    }

    .quiz-complete-actions .btn[b-68wdjbkobz] {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .wasm-character-quiz *[b-68wdjbkobz],
    .wasm-character-quiz *[b-68wdjbkobz]::before,
    .wasm-character-quiz *[b-68wdjbkobz]::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.001ms !important;
    }
}
/* /Components/Games/MemoryMatchWasm.razor.rz.scp.css */
.memory-match-container[b-oc9e9riop2] {
    min-height: 100vh;
    padding-bottom: 2rem;
}

.memory-start-screen[b-oc9e9riop2],
.memory-complete-screen[b-oc9e9riop2],
.memory-play-screen[b-oc9e9riop2] {
    width: min(100%, 800px);
    margin: 0 auto;
}

.memory-start-screen[b-oc9e9riop2],
.memory-complete-screen[b-oc9e9riop2] {
    max-width: 600px;
}

.settings-panel[b-oc9e9riop2] {
    width: min(100%, 500px);
}

.settings-panel .btn-group[b-oc9e9riop2] {
    display: flex;
    flex-wrap: wrap;
}

.settings-panel .btn[b-oc9e9riop2] {
    flex: 1 1 100px;
    min-width: 0;
}

.memory-access-lock[b-oc9e9riop2],
.memory-start-error[b-oc9e9riop2] {
    margin: 0 auto 1.25rem;
    max-width: 34rem;
}

.game-header[b-oc9e9riop2] {
    width: min(100%, 800px);
    margin: 0 auto;
    padding: 0 1rem;
}

.game-stats[b-oc9e9riop2],
.game-progress[b-oc9e9riop2] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.game-stats .badge[b-oc9e9riop2],
.game-progress .badge[b-oc9e9riop2] {
    font-size: 0.9rem;
    padding: 0.5rem 0.75rem;
}

.game-board[b-oc9e9riop2] {
    display: grid;
    grid-template-columns: repeat(var(--grid-cols, 4), minmax(0, 1fr));
    gap: 0.75rem;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: 1rem;
}

.memory-card[b-oc9e9riop2] {
    position: relative;
    width: 100%;
    min-width: 0;
    min-height: 120px;
    aspect-ratio: 3 / 4;
    padding: 0;
    border: 0;
    border-radius: 0.75rem;
    background: transparent;
    color: inherit;
    cursor: pointer;
    perspective: 1000px;
    text-align: center;
}

.memory-card:focus-visible[b-oc9e9riop2] {
    outline: 3px solid rgba(20, 184, 166, 0.7);
    outline-offset: 4px;
}

.memory-card-inner[b-oc9e9riop2] {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    transform-style: preserve-3d;
}

.memory-card.flipped .memory-card-inner[b-oc9e9riop2] {
    transform: rotateY(180deg);
}

.memory-card-front[b-oc9e9riop2],
.memory-card-back[b-oc9e9riop2] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.memory-card-front[b-oc9e9riop2] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
}

.card-back-design[b-oc9e9riop2] {
    font-size: 2.5rem;
    font-weight: 700;
    opacity: 0.8;
}

.memory-card-back[b-oc9e9riop2] {
    padding: 0.5rem;
    border: 2px solid #e2e8f0;
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    color: #1e293b;
    transform: rotateY(180deg);
}

.memory-card-back .character[b-oc9e9riop2] {
    font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: clamp(1.5rem, 8vw, 3rem);
    font-weight: 400;
    line-height: 1.2;
}

.memory-card-back .pinyin[b-oc9e9riop2] {
    margin-top: 0.25rem;
    color: #dc2626;
    font-size: clamp(0.7rem, 2.5vw, 1rem);
}

.memory-card-back .matched-icon[b-oc9e9riop2] {
    margin-top: 0.35rem;
    color: #198754;
}

.memory-card.matched .memory-card-back[b-oc9e9riop2] {
    border-color: #28a745;
    background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
}

.memory-card.matched[b-oc9e9riop2] {
    animation: memory-match-pulse-b-oc9e9riop2 0.5s ease;
}

.memory-card.processing:not(.flipped):not(.matched)[b-oc9e9riop2] {
    cursor: wait;
    opacity: 0.75;
}

.memory-card:not(.flipped):not(.matched):hover .memory-card-front[b-oc9e9riop2] {
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
}

.memory-status[b-oc9e9riop2] {
    min-height: 1.5rem;
}

.stars[b-oc9e9riop2] {
    font-size: 3rem;
}

.star[b-oc9e9riop2] {
    display: inline-block;
    opacity: 0.25;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.star.earned[b-oc9e9riop2] {
    opacity: 1;
    animation: memory-star-pop-b-oc9e9riop2 0.5s ease forwards;
}

[data-theme="glass-dark"] .memory-card-back[b-oc9e9riop2] {
    border-color: #475569;
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    color: #f1f5f9;
}

[data-theme="glass-dark"] .memory-card-back .pinyin[b-oc9e9riop2] {
    color: #f87171;
}

[data-theme="glass-dark"] .memory-card-back .matched-icon[b-oc9e9riop2] {
    color: #4ade80;
}

[data-theme="glass-dark"] .memory-card.matched .memory-card-back[b-oc9e9riop2] {
    border-color: #22c55e;
    background: linear-gradient(135deg, #14532d 0%, #166534 100%);
}

@keyframes memory-star-pop-b-oc9e9riop2 {
    0% { transform: scale(0); }
    50% { transform: scale(1.3); }
    100% { transform: scale(1); }
}

@keyframes memory-match-pulse-b-oc9e9riop2 {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}

@media (max-width: 576px) {
    .game-header[b-oc9e9riop2] {
        align-items: flex-start !important;
        gap: 0.5rem;
    }

    .game-board[b-oc9e9riop2] {
        gap: 0.5rem;
        padding: 0.5rem;
    }

    .memory-card[b-oc9e9riop2] {
        min-height: 80px;
    }

    .card-back-design[b-oc9e9riop2] {
        font-size: 1.8rem;
    }

    .settings-panel .btn[b-oc9e9riop2] {
        font-size: 0.9rem;
    }

    .memory-complete-actions[b-oc9e9riop2] {
        flex-direction: column;
    }

    .memory-complete-actions .btn[b-oc9e9riop2] {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .wasm-memory-match *[b-oc9e9riop2],
    .wasm-memory-match *[b-oc9e9riop2]::before,
    .wasm-memory-match *[b-oc9e9riop2]::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.001ms !important;
    }
}
/* /Components/Games/SpeedChallengeWasm.razor.rz.scp.css */
/* Speed Challenge visual parity and client-only interaction states. */

.speed-challenge-container[b-trojk24hho] {
    min-height: 100vh;
    padding-bottom: 2rem;
}

.game-start-screen[b-trojk24hho],
.game-complete-screen[b-trojk24hho],
.game-play-screen[b-trojk24hho] {
    width: min(100%, 600px);
    margin: 0 auto;
}

.settings-panel[b-trojk24hho] {
    width: min(100%, 500px);
}

.settings-panel .btn-group[b-trojk24hho] {
    display: flex;
    flex-wrap: wrap;
}

.settings-panel .btn[b-trojk24hho] {
    flex: 1 1 80px;
    min-width: 0;
}

.speed-access-lock[b-trojk24hho] {
    margin: 0 auto;
    max-width: 34rem;
}

.speed-start-error[b-trojk24hho] {
    margin: 0 auto 1.25rem;
    max-width: 34rem;
}

.score-display[b-trojk24hho] {
    padding: 1rem 0;
}

.score-display .display-3[b-trojk24hho] {
    font-weight: bold;
}

.stars[b-trojk24hho] {
    font-size: 3rem;
}

.star[b-trojk24hho] {
    display: inline-block;
    opacity: 0.3;
    transition: all 0.3s ease;
}

.star.earned[b-trojk24hho] {
    opacity: 1;
    animation: starPop-b-trojk24hho 0.5s ease;
}

@keyframes starPop-b-trojk24hho {
    0% { transform: scale(0); }
    50% { transform: scale(1.3); }
    100% { transform: scale(1); }
}

.timer-container[b-trojk24hho] {
    position: relative;
}

.timer-bar[b-trojk24hho] {
    height: 12px;
    overflow: hidden;
    border-radius: 6px;
    background-color: #e9ecef;
}

[data-theme="glass-dark"] .timer-bar[b-trojk24hho] {
    background-color: #334155;
}

[data-theme="glass-dark"] .character-card[b-trojk24hho] {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    color: var(--text-primary);
}

[data-theme="glass-dark"] .character-card.result-correct[b-trojk24hho] {
    background: linear-gradient(135deg, #14532d 0%, #166534 100%);
}

[data-theme="glass-dark"] .character-card.result-wrong[b-trojk24hho] {
    background: linear-gradient(135deg, #7f1d1d 0%, #991b1b 100%);
}

.timer-fill[b-trojk24hho] {
    height: 100%;
    border-radius: 6px;
    transition: width 0.1s linear;
}

.timer-normal .timer-fill[b-trojk24hho] {
    background: linear-gradient(90deg, #28a745 0%, #20c997 100%);
}

.timer-warning .timer-fill[b-trojk24hho] {
    background: linear-gradient(90deg, #ffc107 0%, #fd7e14 100%);
}

.timer-critical .timer-fill[b-trojk24hho] {
    background: linear-gradient(90deg, #dc3545 0%, #e83e8c 100%);
    animation: pulse-b-trojk24hho 0.5s ease-in-out infinite;
}

@keyframes pulse-b-trojk24hho {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

.timer-text[b-trojk24hho] {
    font-size: 1.2rem;
    font-weight: bold;
    font-variant-numeric: tabular-nums;
}

.character-card[b-trojk24hho] {
    min-height: 12rem;
    padding: 2rem;
    border-radius: 1rem;
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.character-card.result-correct[b-trojk24hho] {
    background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
    box-shadow: 0 0 20px rgba(40, 167, 69, 0.3);
}

.character-card.result-wrong[b-trojk24hho] {
    background: linear-gradient(135deg, #f8d7da 0%, #f5c6cb 100%);
    box-shadow: 0 0 20px rgba(220, 53, 69, 0.3);
    animation: shake-b-trojk24hho 0.5s ease;
}

@keyframes shake-b-trojk24hho {
    0%, 100% { transform: translateX(0); }
    20%, 60% { transform: translateX(-5px); }
    40%, 80% { transform: translateX(5px); }
}

.character-display[b-trojk24hho] {
    font-family: "Noto Sans SC", "Microsoft YaHei", sans-serif;
    font-size: 6rem;
    font-weight: 500;
    line-height: 1.2;
}

.result-feedback[b-trojk24hho] {
    animation: fadeIn-b-trojk24hho 0.3s ease;
}

@keyframes fadeIn-b-trojk24hho {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.answer-choices[b-trojk24hho] {
    margin-top: 1rem;
}

.choice-btn[b-trojk24hho] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 70px;
    padding: 1rem 1.5rem;
    border-radius: 0.75rem;
    font-size: 1.3rem;
    transition: all 0.15s ease;
}

.choice-btn:not(:disabled):hover[b-trojk24hho] {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.choice-btn:focus-visible[b-trojk24hho],
.settings-panel .btn:focus-visible[b-trojk24hho],
.speed-complete-actions .btn:focus-visible[b-trojk24hho],
.speed-access-lock .btn:focus-visible[b-trojk24hho],
.speed-start-error .btn:focus-visible[b-trojk24hho] {
    outline: 3px solid rgba(20, 184, 166, 0.45);
    outline-offset: 3px;
}

.choice-btn:disabled[b-trojk24hho] {
    cursor: default;
}

.choice-text[b-trojk24hho] {
    min-width: 0;
    font-weight: 500;
    overflow-wrap: anywhere;
}

.choice-btn.btn-success[b-trojk24hho] {
    border-color: #28a745;
    background-color: #28a745;
    color: white;
}

.choice-btn.btn-danger[b-trojk24hho] {
    border-color: #dc3545;
    background-color: #dc3545;
    color: white;
}

.streak-indicator .badge[b-trojk24hho] {
    font-size: 1rem;
    animation: bounce-b-trojk24hho 0.5s ease;
}

@keyframes bounce-b-trojk24hho {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

@media (max-width: 576px) {
    .game-header[b-trojk24hho] {
        align-items: flex-start !important;
        gap: 0.5rem;
    }

    .game-stats[b-trojk24hho] {
        display: flex;
        flex-wrap: wrap;
        gap: 0.35rem;
    }

    .game-stats .badge[b-trojk24hho] {
        margin-right: 0 !important;
    }

    .character-card[b-trojk24hho] {
        min-height: 10rem;
        padding: 1.5rem 1rem;
    }

    .character-display[b-trojk24hho] {
        font-size: 4.5rem;
    }

    .choice-btn[b-trojk24hho] {
        min-height: 60px;
        padding: 0.75rem 1rem;
        font-size: 1.1rem;
    }

    .timer-text[b-trojk24hho] {
        font-size: 1rem;
    }

    .settings-panel .btn[b-trojk24hho] {
        padding: 0.5rem;
        font-size: 0.9rem;
    }

    .speed-complete-actions[b-trojk24hho] {
        flex-direction: column;
    }

    .speed-complete-actions .btn[b-trojk24hho] {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .wasm-speed-challenge *[b-trojk24hho],
    .wasm-speed-challenge *[b-trojk24hho]::before,
    .wasm-speed-challenge *[b-trojk24hho]::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.001ms !important;
    }
}
/* /Components/Learning/LearnerProgressSummaryModal.razor.rz.scp.css */
.wasm-progress-modal-backdrop[b-xk8tmad5j9] {
    position: fixed;
    z-index: 1040;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
}

.wasm-progress-modal[b-xk8tmad5j9] {
    position: fixed;
    z-index: 1050;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 1rem;
    pointer-events: none;
}

.wasm-progress-modal-content[b-xk8tmad5j9] {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    width: min(100%, 52rem);
    max-height: min(88vh, 52rem);
    overflow: hidden;
    border: 1px solid var(--glass-border, rgba(99, 102, 241, 0.24));
    border-radius: 1rem;
    background: #ffffff;
    box-shadow: 0 1.5rem 4rem rgba(15, 23, 42, 0.28);
    pointer-events: auto;
}

.wasm-progress-modal-header[b-xk8tmad5j9],
.wasm-progress-modal-footer[b-xk8tmad5j9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
}

.wasm-progress-modal-header[b-xk8tmad5j9] {
    border-bottom: 1px solid rgba(99, 102, 241, 0.12);
}

.wasm-progress-modal-header h3[b-xk8tmad5j9] {
    margin: 0;
    color: var(--text-primary, #1f2937);
    font-size: 1.15rem;
}

.wasm-progress-modal-close[b-xk8tmad5j9] {
    display: inline-grid;
    flex: 0 0 2.25rem;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    border: 1px solid rgba(99, 102, 241, 0.18);
    border-radius: 0.65rem;
    background: transparent;
    color: var(--text-muted, #6b7280);
    font: inherit;
    font-size: 1.5rem;
    line-height: 1;
}

.wasm-progress-modal-close span[b-xk8tmad5j9] {
    display: block;
    line-height: 0;
}

.wasm-progress-modal-close:hover[b-xk8tmad5j9],
.wasm-progress-modal-close:focus-visible[b-xk8tmad5j9] {
    border-color: rgba(20, 184, 166, 0.55);
    color: #0f766e;
}

.wasm-progress-modal-close:focus-visible[b-xk8tmad5j9],
.wasm-progress-back:focus-visible[b-xk8tmad5j9],
.wasm-progress-card-cell:focus-visible[b-xk8tmad5j9] {
    outline: 3px solid rgba(20, 184, 166, 0.28);
    outline-offset: 2px;
}

.wasm-progress-modal-body[b-xk8tmad5j9] {
    min-height: 0;
    overflow-y: auto;
    padding: 1.25rem;
}

.wasm-progress-modal-footer[b-xk8tmad5j9] {
    justify-content: flex-end;
    border-top: 1px solid rgba(99, 102, 241, 0.12);
}

.wasm-progress-modal-footer .wasm-review-button[b-xk8tmad5j9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0.65rem 1rem;
    border: 1px solid rgba(99, 102, 241, 0.3);
    border-radius: 0.8rem;
    margin-top: 0;
    background: transparent;
    color: var(--bs-primary, #4f46e5);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.wasm-progress-modal-footer .wasm-review-button:hover[b-xk8tmad5j9],
.wasm-progress-modal-footer .wasm-review-button:focus-visible[b-xk8tmad5j9] {
    border-color: rgba(20, 184, 166, 0.55);
    color: #0f766e;
    transform: translateY(-1px);
    box-shadow: 0 0.6rem 1.25rem rgba(31, 41, 55, 0.12);
}

.wasm-progress-modal-footer .wasm-review-button:focus-visible[b-xk8tmad5j9] {
    outline: 3px solid rgba(20, 184, 166, 0.28);
    outline-offset: 2px;
}

.wasm-progress-modal-state[b-xk8tmad5j9] {
    display: grid;
    justify-items: center;
    gap: 0.65rem;
    padding: 3rem 1rem;
    color: var(--text-muted, #6b7280);
    text-align: center;
}

.wasm-progress-modal-error strong[b-xk8tmad5j9] {
    color: #b91c1c;
}

.wasm-progress-modal-empty[b-xk8tmad5j9] {
    margin: 0;
    padding: 3rem 1rem;
    color: var(--text-muted, #6b7280);
    text-align: center;
}

.wasm-progress-card-grid[b-xk8tmad5j9] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(3rem, 1fr));
    gap: 0.55rem;
}

.wasm-progress-card-cell[b-xk8tmad5j9] {
    display: grid;
    place-items: center;
    aspect-ratio: 1;
    min-width: 0;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 0.65rem;
    color: #fff;
    font-family: "Noto Serif SC", "Songti SC", serif;
    font-size: 1.25rem;
    cursor: pointer;
    transition: transform 160ms ease, box-shadow 160ms ease;
}

.wasm-progress-card-cell:hover[b-xk8tmad5j9] {
    transform: translateY(-2px) scale(1.04);
    box-shadow: 0 0.5rem 1rem rgba(15, 23, 42, 0.16);
}

.wasm-progress-card-cell.mastered[b-xk8tmad5j9] { background: #7c3aed; }
.wasm-progress-card-cell.learned[b-xk8tmad5j9] { background: #16a34a; }
.wasm-progress-card-cell.learning[b-xk8tmad5j9] { background: #2563eb; }
.wasm-progress-card-cell.new[b-xk8tmad5j9] {
    border-color: #cbd5e1;
    background: #f1f5f9;
    color: #64748b;
}

.wasm-progress-card-legend[b-xk8tmad5j9] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1rem;
    margin-top: 1rem;
    color: var(--text-muted, #6b7280);
    font-size: 0.75rem;
}

.wasm-progress-card-legend span[b-xk8tmad5j9] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.wasm-progress-card-legend i[b-xk8tmad5j9] {
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 0.15rem;
}

.wasm-progress-card-legend i.mastered[b-xk8tmad5j9] { background: #7c3aed; }
.wasm-progress-card-legend i.learned[b-xk8tmad5j9] { background: #16a34a; }
.wasm-progress-card-legend i.learning[b-xk8tmad5j9] { background: #2563eb; }
.wasm-progress-card-legend i.new[b-xk8tmad5j9] { background: #cbd5e1; }

.wasm-progress-streak[b-xk8tmad5j9] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.wasm-progress-streak-stat[b-xk8tmad5j9] {
    display: grid;
    gap: 0.25rem;
    padding: 1rem;
    border-radius: 0.8rem;
    background: rgba(20, 184, 166, 0.08);
    text-align: center;
}

.wasm-progress-streak-stat strong[b-xk8tmad5j9] {
    color: #0f766e;
    font-size: 1.75rem;
}

.wasm-progress-streak-stat span[b-xk8tmad5j9],
.wasm-progress-activity-row[b-xk8tmad5j9],
.wasm-progress-card-fields dt[b-xk8tmad5j9] {
    color: var(--text-muted, #6b7280);
    font-size: 0.78rem;
}

.wasm-progress-activity-list[b-xk8tmad5j9] {
    display: grid;
    gap: 0.45rem;
}

.wasm-progress-activity-row[b-xk8tmad5j9] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 0.75rem;
    border-bottom: 1px solid rgba(99, 102, 241, 0.1);
}

.wasm-progress-activity-row strong[b-xk8tmad5j9] {
    color: var(--text-primary, #1f2937);
}

.wasm-progress-card-detail[b-xk8tmad5j9] {
    display: grid;
    gap: 0.75rem;
}

.wasm-progress-back[b-xk8tmad5j9] {
    justify-self: start;
    padding: 0;
    border: 0;
    background: transparent;
    color: #0f766e;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 0.2rem;
}

.wasm-progress-card-character[b-xk8tmad5j9] {
    color: var(--text-primary, #111827);
    font-family: "Noto Serif SC", "Songti SC", serif;
    font-size: 6rem;
    line-height: 1;
    text-align: center;
}

.wasm-progress-card-pinyin[b-xk8tmad5j9] {
    color: var(--bs-primary, #4f46e5);
    font-size: 1.15rem;
    font-weight: 700;
    text-align: center;
}

.wasm-progress-card-fields[b-xk8tmad5j9] {
    display: grid;
    gap: 0.75rem;
    margin: 0.75rem 0 0;
}

.wasm-progress-card-fields div[b-xk8tmad5j9] {
    display: grid;
    grid-template-columns: minmax(7rem, 0.35fr) minmax(0, 1fr);
    gap: 1rem;
    padding-bottom: 0.65rem;
    border-bottom: 1px solid rgba(99, 102, 241, 0.1);
}

.wasm-progress-card-fields dt[b-xk8tmad5j9],
.wasm-progress-card-fields dd[b-xk8tmad5j9] {
    margin: 0;
}

.wasm-progress-card-fields dd[b-xk8tmad5j9] {
    color: var(--text-primary, #1f2937);
    overflow-wrap: anywhere;
}

[data-theme="glass-dark"] .wasm-progress-modal-content[b-xk8tmad5j9] {
    background: #1e1e32;
}

[data-theme="glass-dark"] .wasm-progress-card-cell.new[b-xk8tmad5j9] {
    border-color: #475569;
    background: #334155;
    color: #cbd5e1;
}

@media (max-width: 540px) {
    .wasm-progress-modal[b-xk8tmad5j9] {
        align-items: end;
        padding: 0;
    }

    .wasm-progress-modal-content[b-xk8tmad5j9] {
        width: 100%;
        max-height: 92vh;
        border-radius: 1rem 1rem 0 0;
    }

    .wasm-progress-card-fields div[b-xk8tmad5j9] {
        grid-template-columns: 1fr;
        gap: 0.2rem;
    }
}
/* /Components/Learning/LearnerStudyExperience.razor.rz.scp.css */
.learner-study-experience[b-prbervk67q] {
    max-width: 760px;
    margin: 2rem auto;
}

.wasm-review-shell[b-prbervk67q] {
    padding: 1.5rem;
    border: 1px solid var(--glass-border, rgba(99, 102, 241, 0.2));
    border-radius: 1.25rem;
    background: var(--glass-bg, rgba(255, 255, 255, 0.72));
    box-shadow: 0 1rem 3rem rgba(31, 41, 55, 0.1);
}

.wasm-review-kicker[b-prbervk67q] {
    color: var(--bs-primary, #6366f1);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.wasm-review-heading[b-prbervk67q] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 0.35rem;
}

.wasm-review-heading h2[b-prbervk67q] {
    margin: 0;
    color: var(--text-primary, #1f2937);
    font-size: clamp(1.5rem, 4vw, 2.25rem);
}

.wasm-review-heading p[b-prbervk67q] {
    max-width: 38rem;
    margin: 0.45rem 0 0;
    color: var(--text-muted, #6b7280);
}

.wasm-review-badge[b-prbervk67q] {
    flex: 0 0 auto;
    padding: 0.4rem 0.7rem;
    border-radius: 999px;
    background: rgba(99, 102, 241, 0.1);
    color: var(--bs-primary, #4f46e5);
    font-size: 0.8rem;
    font-weight: 700;
}

.wasm-review-progress[b-prbervk67q] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1.5rem;
    color: var(--text-muted, #6b7280);
    font-size: 0.85rem;
    font-weight: 700;
}

.wasm-review-progress-track[b-prbervk67q] {
    flex: 1;
    height: 0.45rem;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(99, 102, 241, 0.12);
}

.wasm-review-progress-fill[b-prbervk67q] {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #6366f1, #14b8a6);
    transition: width 180ms ease;
}

.wasm-review-card-scene[b-prbervk67q] {
    display: block;
    position: relative;
    width: clamp(180px, min(56vw, 42dvh), 340px);
    aspect-ratio: 3 / 4;
    margin-top: 1rem;
    margin-right: auto;
    margin-left: auto;
    border: 0;
    padding: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    perspective: 1100px;
    animation: wasm-review-card-enter-b-prbervk67q 360ms ease-out both;
}

.wasm-review-card-scene:focus-visible[b-prbervk67q] {
    outline: 3px solid rgba(20, 184, 166, 0.35);
    outline-offset: 0.45rem;
    border-radius: 1.2rem;
}

.wasm-review-card[b-prbervk67q] {
    position: relative;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    transition: transform 560ms cubic-bezier(0.4, 0, 0.2, 1);
}

.wasm-review-card-revealed[b-prbervk67q] {
    transform: rotateY(180deg);
}

.wasm-review-card-face[b-prbervk67q] {
    position: absolute;
    inset: 0;
    display: grid;
    align-content: center;
    justify-items: center;
    padding: 2rem 1.5rem;
    overflow: hidden;
    border: 1px solid rgba(99, 102, 241, 0.12);
    border-radius: 1rem;
    box-shadow: 0 1rem 2.5rem rgba(31, 41, 55, 0.12);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    text-align: center;
}

.wasm-review-card-front[b-prbervk67q] {
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.92), rgba(224, 242, 254, 0.78));
}

.wasm-review-card-back[b-prbervk67q] {
    transform: rotateY(180deg);
    background: linear-gradient(145deg, rgba(240, 253, 250, 0.94), rgba(224, 242, 254, 0.82));
}

.wasm-review-character[b-prbervk67q] {
    color: var(--text-primary, #111827);
    font-family: "Noto Serif SC", "Songti SC", serif;
    font-size: clamp(5rem, 18vw, 9rem);
    line-height: 1;
}

.wasm-review-pinyin[b-prbervk67q] {
    margin-top: 0.75rem;
    color: var(--bs-primary, #4f46e5);
    font-size: 1.25rem;
    font-weight: 700;
}

.wasm-review-definition[b-prbervk67q] {
    max-width: 32rem;
    margin-top: 0.75rem;
    color: var(--text-primary, #1f2937);
    font-size: 1.1rem;
}

.wasm-review-definition-hidden[b-prbervk67q] {
    color: var(--text-muted, #6b7280);
    font-size: 0.95rem;
    font-style: italic;
}

.wasm-review-inline-error[b-prbervk67q] {
    margin-top: 1rem;
    padding: 0.75rem 1rem;
    border: 1px solid rgba(185, 28, 28, 0.22);
    border-radius: 0.75rem;
    background: rgba(254, 226, 226, 0.72);
    color: #991b1b;
    font-size: 0.9rem;
}

.wasm-review-quiz[b-prbervk67q] {
    display: grid;
    gap: 1rem;
    margin-top: 1.5rem;
}

.wasm-review-quiz-heading[b-prbervk67q],
.wasm-review-set-quiz-option[b-prbervk67q] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.wasm-review-quiz-heading h3[b-prbervk67q] {
    margin: 0.2rem 0 0;
    color: var(--text-primary, #1f2937);
    font-size: clamp(1.35rem, 3vw, 1.85rem);
}

.wasm-review-quiz-heading p[b-prbervk67q] {
    margin: 0.45rem 0 0;
    color: var(--text-muted, #6b7280);
}

.wasm-review-quiz-eyebrow[b-prbervk67q] {
    color: #0f766e;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.wasm-review-quiz-threshold[b-prbervk67q] {
    flex: 0 0 auto;
    padding: 0.45rem 0.65rem;
    border: 1px solid rgba(20, 184, 166, 0.28);
    border-radius: 999px;
    background: rgba(240, 253, 250, 0.8);
    color: #0f766e;
    font-size: 0.78rem;
    font-weight: 800;
}

.wasm-review-quiz-progress[b-prbervk67q] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--text-muted, #6b7280);
    font-size: 0.8rem;
    font-weight: 700;
}

.wasm-review-quiz-progress .wasm-review-progress-track[b-prbervk67q] {
    margin-top: 0;
}

.wasm-review-quiz-questions[b-prbervk67q] {
    display: grid;
    gap: 0.9rem;
}

.wasm-review-quiz-question[b-prbervk67q] {
    min-width: 0;
    margin: 0;
    padding: 0.95rem;
    border: 1px solid rgba(99, 102, 241, 0.14);
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.55);
}

.wasm-review-quiz-question legend[b-prbervk67q] {
    display: grid;
    gap: 0.3rem;
    width: 100%;
    margin: 0 0 0.75rem;
    padding: 0;
}

.wasm-review-quiz-question legend span[b-prbervk67q] {
    color: var(--text-muted, #6b7280);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.wasm-review-quiz-question legend strong[b-prbervk67q] {
    color: var(--text-primary, #1f2937);
    font-size: 1.05rem;
    line-height: 1.35;
}

.wasm-review-quiz-choices[b-prbervk67q] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.wasm-review-quiz-choice[b-prbervk67q] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
    min-height: 3rem;
    padding: 0.6rem 0.7rem;
    border: 1px solid rgba(99, 102, 241, 0.18);
    border-radius: 0.65rem;
    background: rgba(255, 255, 255, 0.65);
    color: var(--text-primary, #1f2937);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, background 160ms ease;
}

.wasm-review-quiz-choice:hover:not(:disabled)[b-prbervk67q],
.wasm-review-quiz-choice:focus-visible[b-prbervk67q] {
    border-color: rgba(20, 184, 166, 0.55);
    background: rgba(240, 253, 250, 0.8);
    transform: translateY(-1px);
}

.wasm-review-quiz-choice:focus-visible[b-prbervk67q] {
    outline: 3px solid rgba(20, 184, 166, 0.25);
    outline-offset: 2px;
}

.wasm-review-quiz-choice-selected[b-prbervk67q] {
    border-color: #0f766e;
    background: rgba(204, 251, 241, 0.8);
    box-shadow: 0 0.35rem 0.8rem rgba(15, 118, 110, 0.12);
}

.wasm-review-quiz-choice-marker[b-prbervk67q] {
    display: inline-grid;
    flex: 0 0 auto;
    place-items: center;
    width: 1.55rem;
    height: 1.55rem;
    border: 1px solid currentColor;
    border-radius: 50%;
    color: #0f766e;
    font-size: 0.75rem;
    font-weight: 800;
}

.wasm-review-quiz-actions[b-prbervk67q] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.wasm-review-quiz-actions .wasm-review-button[b-prbervk67q] {
    flex: 1 1 12rem;
    margin-top: 0;
}

.wasm-review-quiz-result[b-prbervk67q] {
    display: grid;
    justify-items: center;
    gap: 0.5rem;
    padding: 1.5rem 1rem;
    border: 1px solid rgba(99, 102, 241, 0.14);
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.58);
    color: var(--text-muted, #6b7280);
    text-align: center;
}

.wasm-review-quiz-result strong[b-prbervk67q] {
    color: var(--text-primary, #1f2937);
    font-size: 1.45rem;
}

.wasm-review-quiz-result-passed[b-prbervk67q] {
    border-color: rgba(25, 135, 84, 0.28);
    background: rgba(240, 253, 244, 0.72);
}

.wasm-review-quiz-result-passed strong[b-prbervk67q] {
    color: #198754;
}

.wasm-review-quiz-result-failed[b-prbervk67q] {
    border-color: rgba(220, 53, 69, 0.25);
    background: rgba(254, 242, 242, 0.72);
}

.wasm-review-quiz-result-failed strong[b-prbervk67q] {
    color: #b91c1c;
}

.wasm-review-set-quiz-option[b-prbervk67q] {
    align-items: center;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(20, 184, 166, 0.32);
    border-radius: 0.85rem;
    background: rgba(240, 253, 250, 0.7);
}

.wasm-review-set-quiz-option > div[b-prbervk67q] {
    display: grid;
    gap: 0.25rem;
}

.wasm-review-set-quiz-option strong[b-prbervk67q] {
    color: var(--text-primary, #1f2937);
}

.wasm-review-set-quiz-option span[b-prbervk67q] {
    color: var(--text-muted, #6b7280);
    font-size: 0.85rem;
}

.wasm-review-set-quiz-option .wasm-review-button[b-prbervk67q] {
    flex: 0 0 auto;
    margin-top: 0;
}

.wasm-review-summary[b-prbervk67q] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.wasm-review-summary-item[b-prbervk67q] {
    display: grid;
    gap: 0.25rem;
    padding: 0.9rem 0.65rem;
    border: 1px solid rgba(99, 102, 241, 0.12);
    border-radius: 0.75rem;
    background: rgba(255, 255, 255, 0.48);
    text-align: center;
}

.wasm-review-summary-action[b-prbervk67q] {
    color: inherit;
    font: inherit;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, background 160ms ease;
}

.wasm-review-summary-action:hover:not(:disabled)[b-prbervk67q] {
    transform: translateY(-2px);
    border-color: rgba(99, 102, 241, 0.35);
    background: rgba(255, 255, 255, 0.82);
    color: inherit;
}

.wasm-review-summary-action:focus-visible[b-prbervk67q] {
    outline: 2px solid var(--bs-primary, #6366f1);
    outline-offset: 2px;
}

.wasm-review-summary-action:disabled[b-prbervk67q] {
    cursor: default;
    opacity: 0.65;
}

.wasm-review-summary strong[b-prbervk67q] {
    color: var(--text-primary, #1f2937);
    font-size: 1.45rem;
    line-height: 1;
}

.wasm-review-summary span[b-prbervk67q],
.wasm-review-mode small[b-prbervk67q] {
    color: var(--text-muted, #6b7280);
    font-size: 0.75rem;
}

.wasm-review-modes[b-prbervk67q] {
    display: grid;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.wasm-review-plan-note[b-prbervk67q],
.wasm-review-learning-heading[b-prbervk67q] {
    display: grid;
    gap: 0.25rem;
    margin-top: 1.25rem;
}

.wasm-review-plan-note[b-prbervk67q] {
    padding: 0.8rem 1rem;
    border-left: 3px solid #0f766e;
    background: rgba(20, 184, 166, 0.08);
}

.wasm-review-plan-note strong[b-prbervk67q],
.wasm-review-learning-heading strong[b-prbervk67q] {
    color: var(--text-primary, #1f2937);
}

.wasm-review-plan-note span[b-prbervk67q],
.wasm-review-learning-heading span[b-prbervk67q] {
    color: var(--text-muted, #6b7280);
    font-size: 0.85rem;
}

.wasm-review-plan-note .wasm-review-button[b-prbervk67q] {
    justify-self: start;
    margin-top: 0.35rem;
}

.wasm-review-plan-error[b-prbervk67q] {
    color: #991b1b !important;
}

.wasm-review-due-option[b-prbervk67q] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.25rem;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(234, 179, 8, 0.3);
    border-radius: 0.85rem;
    background: rgba(254, 249, 195, 0.5);
}

.wasm-review-due-option-copy[b-prbervk67q] {
    display: grid;
    gap: 0.2rem;
}

.wasm-review-due-option-copy strong[b-prbervk67q] {
    color: var(--text-primary, #1f2937);
}

.wasm-review-due-option-copy span[b-prbervk67q] {
    color: var(--text-muted, #6b7280);
    font-size: 0.85rem;
}

.wasm-review-due-option .wasm-review-button[b-prbervk67q] {
    flex: 0 0 auto;
    margin-top: 0;
    text-decoration: none;
}

.wasm-review-card-sets[b-prbervk67q] {
    display: grid;
    gap: 0.65rem;
    margin-top: 0.8rem;
}

.wasm-review-card-set-entry[b-prbervk67q] {
    display: grid;
    gap: 0.45rem;
}

.wasm-review-card-set-actions[b-prbervk67q] {
    display: grid;
    gap: 0.45rem;
    padding: 0 0.85rem 0 3.65rem;
    border-left: 2px solid rgba(99, 102, 241, 0.12);
}

.wasm-review-card-set-actions-label[b-prbervk67q] {
    color: var(--text-muted, #6b7280);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.wasm-review-filter-grid[b-prbervk67q] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.45rem;
}

.wasm-review-filter-button[b-prbervk67q] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    min-width: 0;
    min-height: 2.45rem;
    padding: 0.4rem 0.6rem;
    border: 1px solid rgba(99, 102, 241, 0.18);
    border-radius: 0.65rem;
    background: rgba(255, 255, 255, 0.62);
    color: var(--bs-primary, #4f46e5);
    font-size: 0.76rem;
    font-weight: 700;
    text-align: left;
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, background 160ms ease;
}

.wasm-review-filter-button:hover:not(:disabled)[b-prbervk67q],
.wasm-review-filter-button:focus-visible[b-prbervk67q] {
    border-color: rgba(20, 184, 166, 0.55);
    background: rgba(240, 253, 250, 0.8);
    transform: translateY(-1px);
}

.wasm-review-filter-button:focus-visible[b-prbervk67q] {
    outline: 3px solid rgba(20, 184, 166, 0.25);
    outline-offset: 2px;
}

.wasm-review-filter-button:disabled[b-prbervk67q] {
    cursor: not-allowed;
    opacity: 0.5;
}

.wasm-review-filter-button small[b-prbervk67q] {
    flex: 0 0 auto;
    color: currentColor;
    font-size: 0.7rem;
    font-variant-numeric: tabular-nums;
    opacity: 0.72;
}

.wasm-review-filter-button-empty[b-prbervk67q] {
    border-style: dashed;
    background: transparent;
}

.wasm-review-filter-button-primary[b-prbervk67q] {
    border-color: rgba(20, 184, 166, 0.35);
    background: rgba(20, 184, 166, 0.1);
    color: #0f766e;
}

.wasm-review-card-set-path[b-prbervk67q] {
    border-color: rgba(15, 118, 110, 0.35);
    background: linear-gradient(135deg, rgba(240, 253, 250, 0.9), rgba(255, 255, 255, 0.62));
    box-shadow: 0 0.35rem 0.9rem rgba(15, 118, 110, 0.08);
}

.wasm-review-card-set-path:hover:not(:disabled)[b-prbervk67q],
.wasm-review-card-set-path:focus-visible[b-prbervk67q] {
    border-color: #0f766e;
    background: linear-gradient(135deg, rgba(204, 251, 241, 0.92), rgba(255, 255, 255, 0.78));
    box-shadow: 0 0.7rem 1.4rem rgba(15, 118, 110, 0.14);
}

.wasm-review-card-set-path .wasm-review-card-set-action[b-prbervk67q] {
    color: #0f766e;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.3;
}

.wasm-review-card-set-actions .wasm-review-filter-button[b-prbervk67q] {
    font-size: 0.74rem;
}

.wasm-review-card-set-pagination[b-prbervk67q] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 1rem;
}

.wasm-review-card-set-pagination-button[b-prbervk67q] {
    min-width: 5.5rem;
    padding: 0.45rem 0.7rem;
    border: 1px solid rgba(99, 102, 241, 0.25);
    border-radius: 0.65rem;
    background: transparent;
    color: var(--bs-primary, #4f46e5);
    font-size: 0.8rem;
    font-weight: 700;
}

.wasm-review-card-set-pagination-button:focus-visible[b-prbervk67q] {
    outline: 3px solid rgba(20, 184, 166, 0.25);
    outline-offset: 2px;
}

.wasm-review-card-set-pagination-button:disabled[b-prbervk67q] {
    cursor: wait;
    opacity: 0.45;
}

.wasm-review-card-set-pagination-status[b-prbervk67q] {
    color: var(--text-muted, #6b7280);
    font-size: 0.8rem;
    font-weight: 700;
    text-align: center;
}

.wasm-review-round-picker[b-prbervk67q] {
    display: grid;
    gap: 1rem;
    margin-top: 1.25rem;
}

.wasm-review-next-goal[b-prbervk67q] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(15, 118, 110, 0.38);
    border-radius: 0.85rem;
    background: linear-gradient(135deg, rgba(204, 251, 241, 0.78), rgba(240, 249, 255, 0.68));
    box-shadow: 0 0.55rem 1.15rem rgba(15, 118, 110, 0.1);
}

.wasm-review-next-goal > div[b-prbervk67q] {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
}

.wasm-review-next-goal-eyebrow[b-prbervk67q] {
    color: #0f766e;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.wasm-review-next-goal > div > strong[b-prbervk67q] {
    color: var(--text-primary, #1f2937);
    font-size: 1.05rem;
    line-height: 1.3;
}

.wasm-review-next-goal > div > span:last-child[b-prbervk67q] {
    color: var(--text-muted, #6b7280);
    font-size: 0.85rem;
    line-height: 1.4;
}

.wasm-review-next-goal .wasm-review-button[b-prbervk67q] {
    flex: 0 0 auto;
    margin-top: 0;
    white-space: normal;
}

.wasm-review-next-goal-complete[b-prbervk67q] {
    flex: 0 0 auto;
    color: #198754;
    font-size: 0.82rem;
    font-weight: 800;
    text-align: right;
}

.wasm-review-round-picker-heading[b-prbervk67q],
.wasm-review-resume-option[b-prbervk67q],
.wasm-review-round-header[b-prbervk67q],
.wasm-review-round-stats[b-prbervk67q] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.wasm-review-round-picker-heading > div[b-prbervk67q],
.wasm-review-resume-option > div[b-prbervk67q],
.wasm-review-round-header > span:first-child[b-prbervk67q] {
    display: grid;
    gap: 0.25rem;
}

.wasm-review-round-picker-heading strong[b-prbervk67q],
.wasm-review-resume-option strong[b-prbervk67q],
.wasm-review-round-header strong[b-prbervk67q] {
    color: var(--text-primary, #1f2937);
}

.wasm-review-round-picker-heading span[b-prbervk67q],
.wasm-review-resume-option span[b-prbervk67q],
.wasm-review-round-header small[b-prbervk67q],
.wasm-review-round-stats[b-prbervk67q] {
    color: var(--text-muted, #6b7280);
    font-size: 0.8rem;
}

.wasm-review-picker-back[b-prbervk67q] {
    flex: 0 0 auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--bs-primary, #4f46e5);
    font-size: 0.8rem;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 0.2rem;
}

.wasm-review-picker-back:focus-visible[b-prbervk67q] {
    outline: 3px solid rgba(20, 184, 166, 0.25);
    outline-offset: 3px;
}

.wasm-review-resume-option[b-prbervk67q] {
    padding: 0.9rem 1rem;
    border: 1px solid rgba(20, 184, 166, 0.32);
    border-radius: 0.85rem;
    background: rgba(240, 253, 250, 0.7);
}

.wasm-review-resume-option .wasm-review-button[b-prbervk67q] {
    flex: 0 0 auto;
    margin-top: 0;
}

.wasm-review-round-grid[b-prbervk67q] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.wasm-review-round-entry[b-prbervk67q] {
    display: grid;
    gap: 0.45rem;
}

.wasm-review-round-card-shell[b-prbervk67q] {
    position: relative;
    min-width: 0;
    height: 100%;
}

.wasm-review-round-card-shell .wasm-review-round-card[b-prbervk67q] {
    height: 100%;
}

.wasm-review-round-card[b-prbervk67q] {
    display: grid;
    gap: 0.75rem;
    width: 100%;
    padding: 0.9rem;
    border: 1px solid rgba(99, 102, 241, 0.14);
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.52);
    color: var(--text-primary, #1f2937);
    text-align: left;
    cursor: pointer;
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.wasm-review-round-card-has-quiz[b-prbervk67q] {
    padding-bottom: 4rem;
}

.wasm-review-round-card-action[b-prbervk67q] {
    display: block;
    padding-top: 0.6rem;
    border-top: 1px solid rgba(20, 184, 166, 0.2);
    color: #0f766e;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.3;
}

.wasm-review-round-card-has-quiz .wasm-review-round-card-action[b-prbervk67q] {
    padding-right: 7.25rem;
}

.wasm-review-round-entry .wasm-review-round-quiz-action[b-prbervk67q] {
    position: absolute;
    right: 0.75rem;
    bottom: 0.75rem;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 6.4rem;
    max-width: 9rem;
    min-height: 2.05rem;
    margin: 0;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
}

.wasm-review-round-card.wasm-review-round-recommended[b-prbervk67q] {
    border-color: #0f766e;
    background: linear-gradient(135deg, rgba(204, 251, 241, 0.7), rgba(255, 255, 255, 0.68));
    box-shadow: 0 0.55rem 1.15rem rgba(15, 118, 110, 0.12);
}

.wasm-review-round-card.wasm-review-round-recommended:hover[b-prbervk67q],
.wasm-review-round-card.wasm-review-round-recommended:focus-visible[b-prbervk67q] {
    border-color: #115e59;
    box-shadow: 0 0.8rem 1.5rem rgba(15, 118, 110, 0.18);
}

.wasm-review-round-recommended-badge[b-prbervk67q] {
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
    background: #0f766e;
    color: #fff;
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1.2;
    text-align: right;
}

.wasm-review-round-quiz-recommended[b-prbervk67q] {
    border-color: #0f766e;
    box-shadow: 0 0.4rem 0.95rem rgba(15, 118, 110, 0.14);
}

.wasm-review-round-card:hover[b-prbervk67q],
.wasm-review-round-card:focus-visible[b-prbervk67q] {
    border-color: rgba(20, 184, 166, 0.55);
    box-shadow: 0 0.6rem 1.25rem rgba(31, 41, 55, 0.1);
    transform: translateY(-2px);
}

.wasm-review-round-card:focus-visible[b-prbervk67q] {
    outline: 3px solid rgba(20, 184, 166, 0.25);
    outline-offset: 2px;
}

.wasm-review-round-card.wasm-review-round-completed[b-prbervk67q] {
    border-color: rgba(25, 135, 84, 0.25);
}

.wasm-review-round-card.wasm-review-round-passed[b-prbervk67q] {
    border-color: rgba(25, 135, 84, 0.35);
    background: rgba(240, 253, 244, 0.7);
}

.wasm-review-round-card.wasm-review-round-ready[b-prbervk67q] {
    border-color: rgba(14, 165, 233, 0.38);
    background: rgba(240, 249, 255, 0.7);
}

.wasm-review-round-card.wasm-review-round-in-progress[b-prbervk67q] {
    border-color: rgba(234, 179, 8, 0.35);
}

.wasm-review-round-card.wasm-review-round-locked[b-prbervk67q],
.wasm-review-round-card.wasm-review-round-unavailable[b-prbervk67q] {
    cursor: not-allowed;
    opacity: 0.56;
}

.wasm-review-round-card.wasm-review-round-locked:hover[b-prbervk67q],
.wasm-review-round-card.wasm-review-round-unavailable:hover[b-prbervk67q] {
    box-shadow: none;
    transform: none;
}

.wasm-review-round-badges[b-prbervk67q] {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
    max-width: 48%;
}

.wasm-review-round-state.wasm-review-round-state-locked[b-prbervk67q] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    background: rgba(107, 114, 128, 0.12);
    color: #64748b;
    text-align: left;
}

.wasm-review-round-state-locked i[b-prbervk67q] {
    font-size: 0.85rem;
    line-height: 1;
}

.wasm-review-round-state[b-prbervk67q],
.wasm-review-round-current[b-prbervk67q] {
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
    background: rgba(99, 102, 241, 0.1);
    color: var(--bs-primary, #4f46e5);
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: right;
}

.wasm-review-round-current[b-prbervk67q] {
    background: rgba(20, 184, 166, 0.12);
    color: #0f766e;
}

.wasm-review-round-progress[b-prbervk67q] {
    display: flex;
    width: 100%;
    height: 0.45rem;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(99, 102, 241, 0.08);
}

.wasm-review-round-segment[b-prbervk67q] {
    height: 100%;
}

.wasm-review-round-known[b-prbervk67q] {
    background: #198754;
}

.wasm-review-round-learning[b-prbervk67q] {
    background: #eab308;
}

.wasm-review-round-new[b-prbervk67q] {
    background: #94a3b8;
}

.wasm-review-round-stats[b-prbervk67q] {
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0.45rem 0.8rem;
}

.wasm-review-card-set[b-prbervk67q] {
    display: grid;
    grid-template-columns: 2.8rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.85rem;
    width: 100%;
    padding: 0.8rem 0.9rem;
    border: 1px solid rgba(99, 102, 241, 0.14);
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.52);
    color: var(--text-primary, #1f2937);
    text-align: left;
    cursor: pointer;
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.wasm-review-card-set:hover:not(:disabled)[b-prbervk67q],
.wasm-review-card-set:focus-visible[b-prbervk67q] {
    border-color: rgba(20, 184, 166, 0.55);
    box-shadow: 0 0.6rem 1.25rem rgba(31, 41, 55, 0.1);
    transform: translateX(3px);
}

.wasm-review-card-set:focus-visible[b-prbervk67q] {
    outline: 3px solid rgba(20, 184, 166, 0.25);
    outline-offset: 2px;
}

.wasm-review-card-set:disabled[b-prbervk67q] {
    cursor: not-allowed;
    opacity: 0.52;
}

.wasm-review-card-set-mark[b-prbervk67q] {
    display: inline-grid;
    place-items: center;
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 50%;
    background: rgba(20, 184, 166, 0.12);
    color: #0f766e;
    font-size: 0.8rem;
    font-weight: 800;
}

.wasm-review-card-set-copy[b-prbervk67q] {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.wasm-review-card-set-copy strong[b-prbervk67q] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wasm-review-card-set-copy small[b-prbervk67q] {
    overflow: hidden;
    color: var(--text-muted, #6b7280);
    font-size: 0.78rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wasm-review-card-set-count[b-prbervk67q] {
    color: var(--text-muted, #6b7280);
    font-size: 0.8rem;
    font-weight: 700;
}

.wasm-review-card-set-locked .wasm-review-card-set-mark[b-prbervk67q] {
    background: rgba(107, 114, 128, 0.12);
    color: #6b7280;
}

.wasm-review-mode[b-prbervk67q] {
    display: grid;
    grid-template-columns: 4.5rem minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
    width: 100%;
    padding: 1rem;
    border: 1px solid rgba(99, 102, 241, 0.14);
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.52);
    color: var(--text-primary, #1f2937);
    text-align: left;
    cursor: pointer;
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.wasm-review-mode:hover:not(:disabled)[b-prbervk67q],
.wasm-review-mode:focus-visible[b-prbervk67q] {
    border-color: rgba(20, 184, 166, 0.55);
    box-shadow: 0 0.6rem 1.25rem rgba(31, 41, 55, 0.1);
    transform: translateX(3px);
}

.wasm-review-mode:focus-visible[b-prbervk67q] {
    outline: 3px solid rgba(20, 184, 166, 0.25);
    outline-offset: 2px;
}

.wasm-review-mode:disabled[b-prbervk67q] {
    cursor: not-allowed;
    opacity: 0.5;
}

.wasm-review-mode > span:last-child[b-prbervk67q] {
    display: grid;
    gap: 0.25rem;
}

.wasm-review-mode strong[b-prbervk67q] {
    font-size: 1rem;
}

.wasm-review-mode-label[b-prbervk67q] {
    display: inline-grid;
    place-items: center;
    min-height: 2.8rem;
    border-radius: 50%;
    background: rgba(20, 184, 166, 0.12);
    color: #0f766e;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.wasm-review-mode-custom[b-prbervk67q] {
    cursor: default;
}

.wasm-review-mode-custom:hover[b-prbervk67q] {
    transform: none;
}

.wasm-review-custom[b-prbervk67q] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 2rem auto;
    align-items: center;
    gap: 0.65rem;
    margin-top: 0.65rem;
}

.wasm-review-custom input[b-prbervk67q] {
    accent-color: #0f766e;
}

.wasm-review-custom > span[b-prbervk67q] {
    color: var(--text-primary, #1f2937);
    font-weight: 700;
    text-align: center;
}

.wasm-review-custom .wasm-review-button[b-prbervk67q] {
    min-height: 2.4rem;
    padding: 0.45rem 0.8rem;
}

.wasm-review-card-meta[b-prbervk67q] {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 0.85rem;
    color: var(--text-muted, #6b7280);
    font-size: 0.8rem;
}

.wasm-review-status[b-prbervk67q] {
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: rgba(99, 102, 241, 0.1);
    color: var(--bs-primary, #4f46e5);
    font-weight: 700;
}

.wasm-review-link[b-prbervk67q] {
    display: block;
    margin: 1rem auto 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--text-muted, #6b7280);
    font-size: 0.85rem;
    text-decoration: underline;
    text-underline-offset: 0.2rem;
}

.wasm-review-link:focus-visible[b-prbervk67q] {
    outline: 3px solid rgba(20, 184, 166, 0.25);
    outline-offset: 3px;
}

.wasm-review-complete[b-prbervk67q] {
    display: grid;
    justify-items: center;
    gap: 0.65rem;
    padding: 2rem 0 0.5rem;
    text-align: center;
}

.wasm-review-complete > strong[b-prbervk67q] {
    color: var(--text-primary, #1f2937);
    font-size: 1.55rem;
}

.wasm-review-complete > span[b-prbervk67q] {
    color: var(--text-muted, #6b7280);
}

.wasm-review-stats[b-prbervk67q] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    width: 100%;
    margin-top: 1rem;
}

.wasm-review-stat[b-prbervk67q] {
    display: grid;
    gap: 0.25rem;
    padding: 0.85rem 0.5rem;
    border-radius: 0.75rem;
    background: rgba(99, 102, 241, 0.08);
}

.wasm-review-stat span[b-prbervk67q] {
    color: var(--text-primary, #1f2937);
    font-size: 1.35rem;
    font-weight: 800;
}

.wasm-review-stat small[b-prbervk67q] {
    color: var(--text-muted, #6b7280);
    font-size: 0.7rem;
    text-transform: uppercase;
}

.wasm-review-stat-correct[b-prbervk67q] {
    background: rgba(25, 135, 84, 0.1);
}

.wasm-review-stat-correct span[b-prbervk67q] {
    color: #198754;
}

.wasm-review-stat-incorrect[b-prbervk67q] {
    background: rgba(220, 53, 69, 0.1);
}

.wasm-review-stat-incorrect span[b-prbervk67q] {
    color: #dc3545;
}

.wasm-review-remaining[b-prbervk67q] {
    margin: 0.5rem 0 0;
    color: var(--text-muted, #6b7280);
}

.wasm-review-complete-actions[b-prbervk67q] {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 0.75rem;
}

.wasm-review-complete-actions .wasm-review-button[b-prbervk67q] {
    margin-top: 0;
    text-decoration: none;
}

.wasm-review-reveal-hint[b-prbervk67q] {
    position: absolute;
    bottom: 1.1rem;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.75rem;
    border: 1px solid rgba(20, 184, 166, 0.35);
    border-radius: 999px;
    background: rgba(240, 253, 250, 0.78);
    color: #0f766e;
    font-size: 0.82rem;
    font-weight: 700;
    transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.wasm-review-card-scene:hover .wasm-review-reveal-hint[b-prbervk67q],
.wasm-review-card-scene:focus-visible .wasm-review-reveal-hint[b-prbervk67q] {
    transform: translateY(-2px);
    background: rgba(204, 251, 241, 0.92);
    box-shadow: 0 0.6rem 1.25rem rgba(15, 118, 110, 0.16);
}

.wasm-review-actions[b-prbervk67q] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 1rem;
}

.wasm-review-button[b-prbervk67q] {
    min-height: 3.2rem;
    padding: 0.75rem 1rem;
    border: 1px solid transparent;
    border-radius: 0.8rem;
    font-weight: 700;
    transition: transform 160ms ease, box-shadow 160ms ease;
}

.wasm-review-button-saving-spinner[b-prbervk67q] {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    margin-right: 0.45rem;
    border: 2px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    animation: wasm-review-spin-b-prbervk67q 700ms linear infinite;
    vertical-align: -0.15em;
}

.wasm-review-button:hover:not(:disabled)[b-prbervk67q] {
    transform: translateY(-2px);
    box-shadow: 0 0.6rem 1.25rem rgba(31, 41, 55, 0.12);
}

.wasm-review-button:disabled[b-prbervk67q] {
    cursor: wait;
    opacity: 0.65;
}

.wasm-review-button-again[b-prbervk67q] {
    border-color: rgba(234, 88, 12, 0.25);
    background: rgba(255, 237, 213, 0.78);
    color: #9a3412;
}

.wasm-review-button-known[b-prbervk67q] {
    background: #0f766e;
    color: #fff;
}

.wasm-review-button-secondary[b-prbervk67q] {
    margin-top: 1rem;
    background: transparent;
    border-color: rgba(99, 102, 241, 0.3);
    color: var(--bs-primary, #4f46e5);
}

.wasm-review-state[b-prbervk67q] {
    display: grid;
    justify-items: center;
    gap: 0.5rem;
    min-height: 16rem;
    padding: 3rem 1rem;
    color: var(--text-muted, #6b7280);
    text-align: center;
}

.wasm-review-state strong[b-prbervk67q] {
    color: var(--text-primary, #1f2937);
    font-size: 1.25rem;
}

.wasm-review-error strong[b-prbervk67q] {
    color: #b91c1c;
}

.wasm-review-spinner[b-prbervk67q] {
    width: 2rem;
    height: 2rem;
    border: 3px solid rgba(99, 102, 241, 0.2);
    border-top-color: #6366f1;
    border-radius: 50%;
    animation: wasm-review-spin-b-prbervk67q 700ms linear infinite;
}

.wasm-review-saving[b-prbervk67q] {
    margin-top: 0.75rem;
    color: var(--text-muted, #6b7280);
    font-size: 0.85rem;
    text-align: center;
}

@keyframes wasm-review-spin-b-prbervk67q {
    to {
        transform: rotate(360deg);
    }
}

@keyframes wasm-review-card-enter-b-prbervk67q {
    from {
        opacity: 0;
        transform: translateY(1rem) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .learner-study-experience *[b-prbervk67q],
    .learner-study-experience *[b-prbervk67q]::before,
    .learner-study-experience *[b-prbervk67q]::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

@media (max-width: 540px) {
    .wasm-review-shell[b-prbervk67q] {
        padding: 1rem;
    }

    .wasm-review-heading[b-prbervk67q] {
        display: block;
    }

    .wasm-review-badge[b-prbervk67q] {
        display: inline-block;
        margin-top: 0.75rem;
    }

    .wasm-review-summary[b-prbervk67q],
    .wasm-review-stats[b-prbervk67q] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wasm-review-mode[b-prbervk67q] {
        grid-template-columns: 3.75rem minmax(0, 1fr);
        gap: 0.75rem;
        padding: 0.85rem;
    }

    .wasm-review-due-option[b-prbervk67q] {
        align-items: stretch;
        flex-direction: column;
    }

    .wasm-review-due-option .wasm-review-button[b-prbervk67q] {
        width: 100%;
    }

    .wasm-review-round-picker-heading[b-prbervk67q],
    .wasm-review-resume-option[b-prbervk67q],
    .wasm-review-quiz-heading[b-prbervk67q],
    .wasm-review-set-quiz-option[b-prbervk67q],
    .wasm-review-next-goal[b-prbervk67q] {
        align-items: stretch;
        flex-direction: column;
    }

    .wasm-review-next-goal .wasm-review-button[b-prbervk67q],
    .wasm-review-next-goal-complete[b-prbervk67q] {
        align-self: stretch;
        text-align: center;
    }

    .wasm-review-quiz-threshold[b-prbervk67q],
    .wasm-review-set-quiz-option .wasm-review-button[b-prbervk67q] {
        align-self: flex-start;
    }

    .wasm-review-quiz-choices[b-prbervk67q] {
        grid-template-columns: minmax(0, 1fr);
    }

    .wasm-review-card-set-pagination[b-prbervk67q] {
        align-items: stretch;
        flex-direction: column;
    }

    .wasm-review-card-set-pagination-button[b-prbervk67q] {
        width: 100%;
    }

    .wasm-review-card-set-actions[b-prbervk67q] {
        padding: 0.55rem 0 0;
        border-top: 2px solid rgba(99, 102, 241, 0.12);
        border-left: 0;
    }

    .wasm-review-filter-grid[b-prbervk67q] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wasm-review-resume-option .wasm-review-button[b-prbervk67q] {
        width: 100%;
    }

    .wasm-review-round-grid[b-prbervk67q] {
        grid-template-columns: minmax(0, 1fr);
    }

    .wasm-review-round-header[b-prbervk67q] {
        align-items: flex-start;
    }

    .wasm-review-round-header > span:first-child[b-prbervk67q] {
        min-width: 0;
    }

    .wasm-review-round-header small[b-prbervk67q],
    .wasm-review-round-card-action[b-prbervk67q],
    .wasm-review-round-state[b-prbervk67q],
    .wasm-review-round-current[b-prbervk67q],
    .wasm-review-round-recommended-badge[b-prbervk67q] {
        overflow-wrap: anywhere;
        white-space: normal;
    }

    .wasm-review-round-badges[b-prbervk67q] {
        max-width: 44%;
    }

    .wasm-review-card-set-copy strong[b-prbervk67q],
    .wasm-review-card-set-copy small[b-prbervk67q] {
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
    }

    .wasm-review-card-set-copy[b-prbervk67q] {
        overflow-wrap: anywhere;
    }

    .wasm-review-custom[b-prbervk67q] {
        grid-template-columns: minmax(0, 1fr) 2rem;
    }

    .wasm-review-custom .wasm-review-button[b-prbervk67q] {
        grid-column: 1 / -1;
    }
}
/* /Components/Shared/WasmCelebration.razor.rz.scp.css */
.wasm-celebration[b-fkkkstulp0] {
    margin: 0.5rem 0 0.85rem;
    opacity: 0;
    text-align: center;
    transform: scale(0.8) translateY(20px);
    transition: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.wasm-celebration.visible[b-fkkkstulp0] {
    opacity: 1;
    transform: scale(1) translateY(0);
}

.wasm-celebration-container[b-fkkkstulp0] {
    display: inline-block;
    position: relative;
    margin-bottom: 0.35rem;
}

.wasm-celebration-image[b-fkkkstulp0] {
    width: 168px;
    height: 168px;
    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.1));
}

.wasm-celebration-message[b-fkkkstulp0] {
    margin-top: 0.35rem;
}

.wasm-message-text[b-fkkkstulp0] {
    margin: 0;
    color: var(--bs-body-color);
    font-size: 1.25rem;
    font-weight: 500;
    animation: wasm-fade-in-up-b-fkkkstulp0 0.6s ease-out 0.3s both;
}

@media (max-height: 860px) {
    .wasm-celebration[b-fkkkstulp0] {
        margin: 0.35rem 0 0.7rem;
    }

    .wasm-celebration-image[b-fkkkstulp0] {
        width: 152px;
        height: 152px;
    }
}

@media (max-height: 760px) {
    .wasm-celebration[b-fkkkstulp0] {
        margin: 0.25rem 0 0.55rem;
    }

    .wasm-celebration-image[b-fkkkstulp0] {
        width: 136px;
        height: 136px;
    }

    .wasm-message-text[b-fkkkstulp0] {
        font-size: 1.1rem;
    }
}

.animation-sad[b-fkkkstulp0] { animation: wasm-sad-sway-b-fkkkstulp0 3s ease-in-out infinite; }
.animation-meh[b-fkkkstulp0] { animation: wasm-meh-bob-b-fkkkstulp0 2s ease-in-out infinite; }
.animation-normal[b-fkkkstulp0] { animation: wasm-normal-bounce-b-fkkkstulp0 1.5s ease-in-out infinite; }
.animation-happy[b-fkkkstulp0] { animation: wasm-happy-wiggle-b-fkkkstulp0 1s ease-in-out infinite; }
.animation-excited[b-fkkkstulp0] { animation: wasm-excited-jump-b-fkkkstulp0 0.8s ease-in-out infinite, wasm-excited-spin-b-fkkkstulp0 2s linear infinite; }

@keyframes wasm-sad-sway-b-fkkkstulp0 {
    0%, 100% { transform: rotate(-2deg); }
    50% { transform: rotate(2deg); }
}

@keyframes wasm-meh-bob-b-fkkkstulp0 {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}

@keyframes wasm-normal-bounce-b-fkkkstulp0 {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-8px) scale(1.02); }
}

@keyframes wasm-happy-wiggle-b-fkkkstulp0 {
    0%, 100% { transform: rotate(0deg) translateY(0); }
    25% { transform: rotate(-5deg) translateY(-5px); }
    50% { transform: rotate(0deg) translateY(-10px); }
    75% { transform: rotate(5deg) translateY(-5px); }
}

@keyframes wasm-excited-jump-b-fkkkstulp0 {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-20px) scale(1.1); }
}

@keyframes wasm-excited-spin-b-fkkkstulp0 {
    0% { transform: rotate(0deg); }
    10% { transform: rotate(5deg); }
    20% { transform: rotate(-5deg); }
    30%, 100% { transform: rotate(0deg); }
}

@keyframes wasm-fade-in-up-b-fkkkstulp0 {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .wasm-celebration[b-fkkkstulp0],
    .wasm-celebration *[b-fkkkstulp0],
    .wasm-celebration *[b-fkkkstulp0]::before,
    .wasm-celebration *[b-fkkkstulp0]::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
    }
}
