/*---- mastery: ----*/
.masteryBox{
    text-align:center;
    margin-bottom:12px;
}

/*
.masteryCircle{
    width:64px;
    height:64px;
    margin:0 auto 6px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--accent);
    color:var(--text);
    font-size:28px;
    font-weight:700;
}
*/
.masteryCircle{
    width:64px;
    height:64px;
    margin:0 auto 6px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:var(--accent);
    color:var(--text);

    font-size:28px;
    font-weight:700;

    border:3px solid rgba(255,255,255,.25);

    box-shadow:
        0 2px 4px rgba(0,0,0,.25),
        inset 0 1px 2px rgba(255,255,255,.15);

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}


.masteryLevelName {
    margin-top: 2px;
    font-size: 14px;
    font-style: italic;
    opacity: 0.7;
}

/* Badges */
/*  ============================================================
    BASIC
    ============================================================ */
.masteryBadgeBasic{
    border-color:rgba(255,255,255,.28);
}

/*  ============================================================
    ADVANCED
    ============================================================ */
.masteryBadgeAdvanced{
    border-width:4px;

    border-color:#b8bcc4;

    box-shadow:
        0 2px 4px rgba(0,0,0,.3),
        inset 0 1px 2px rgba(255,255,255,.25),
        0 0 6px rgba(192,192,192,.25);
}

/*  ============================================================
    SPECIAL
    ============================================================ */
.masteryBadgeSpecial{
    border-width:4px;

    border-color:#d4a84f;

    box-shadow:
        0 2px 4px rgba(0,0,0,.3),
        inset 0 1px 2px rgba(255,255,255,.25),
        0 0 8px rgba(212,168,79,.35);
}

.masteryStats{
    text-align:center;
    font-size:13px;
    opacity:.75;
    line-height:1.6;
}

.masteryLabel{
    font-size:20px;
    opacity:.7;
    margin-bottom:10px;
}

.masteryProgress{
    margin-top: 15px;
    width:100%;
}

.masteryProgressBar{
    position:relative;
    width:100%;
    height:14px;
    background:var(--accent);
    border-radius:10px;
    overflow:hidden;
    box-shadow:inset 0 1px 3px rgba(0,0,0,.25);
}

.masteryProgressFill{
    height:100%;
    background:#3b82f6;
    border-radius:10px;
    box-shadow:
        inset 0 1px 3px rgba(255,255,255,.3),
        0 0 8px rgba(59,130,246,.45);
    transition:
        width .3s ease;
}

.masteryProgressPercent{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    font-weight:600;
    line-height:14;
    pointer-events:none;
}

.masteryPoints{
    font-size:12px;
    opacity:.7;
    margin-top:5px;
}

.vocabInfoTitle{
    font-size:22px;
    font-weight:bold;
}

.vocabInfoTranslation{
    color: var(--text);
    margin-top:2px;
    margin-bottom:10px;
}

.vocabInfoRow{
    display:flex;
    justify-content:space-between;
    margin:4px 0;
}

.vocabInfoLabel{
    color:var(--text);
    opacity: 0.7;
}

.vocabInfoValue{
    font-weight:bold;
}