.tp-progression-serie {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.tp-progression-serie [data-progression-texte] { white-space: nowrap; flex-shrink: 0; }
.tp-progression-serie .tp-progression-serie-barre {
    min-width: 32px;
    overflow: hidden;
    border-radius: 8px;
    background: #e1e9df;
}
.tp-progression-serie .tp-progression-serie-barre,
#module-tp-francais-majmin .tp-progression-serie .tp-progression-serie-barre {
    width: 180px;
    max-width: 100%;
    height: 12px;
}
.tp-progression-serie .tp-progression-serie-remplissage {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: #527b42;
    transition: width .2s ease;
}
.tp-progression-serie [aria-valuenow="0"] .tp-progression-serie-remplissage { transition: none; }
@media (max-width: 560px) {
    .tp-progression-serie.tp-progression-serie--empilable,
    #module-tp-francais-majmin .tp-progression-serie.tp-progression-serie--empilable {
        flex-direction: column;
        align-items: flex-end;
        flex-shrink: 0;
        gap: 3px;
    }
    .tp-progression-serie.tp-progression-serie--empilable .tp-progression-serie-barre,
    #module-tp-francais-majmin .tp-progression-serie--empilable .tp-progression-serie-barre {
        width: clamp(112px, 36vw, 180px);
    }
}
@media (prefers-reduced-motion: reduce) {
    .tp-progression-serie .tp-progression-serie-remplissage { transition: none; }
}
