body.is-tm-variant-loading { cursor: progress; }
body.is-tm-variant-loading::before {
    position: fixed;
    z-index: 1100;
    top: 0;
    left: 0;
    width: 30%;
    height: 2px;
    background: var(--bs-primary, #0d6efd);
    content: '';
    opacity: .75;
    pointer-events: none;
    animation: tm-variant-loading 1.1s ease-in-out infinite;
}
@keyframes tm-variant-loading {
    from { transform: translateX(-110%); }
    to { transform: translateX(445%); }
}
@media (prefers-reduced-motion: reduce) {
    body.is-tm-variant-loading::before {
        width: 100%;
        animation: none;
    }
}