:root{
    --npc-accent:#E50914;
    --npc-white:rgba(255,255,255,.92);
    --npc-muted:rgba(255,255,255,.55);
    --npc-line:rgba(255,255,255,.12);
}

.npc-miniloader{
    width:min(520px, 100%);
    margin: 22px auto;
}

.npc-miniloader__row{
    display:flex;
    align-items:center;
    gap:8px;
    color: var(--npc-white);
    font-size:14px;
    font-weight:700;
    letter-spacing:.01em;
}

.npc-miniloader__label{
    opacity:.92;
}

.npc-miniloader__dots{
    display:inline-flex;
    gap:4px;
}

.npc-miniloader__dots i{
    width:4px;
    height:4px;
    border-radius:99px;
    background: rgba(255,255,255,.55);
    opacity:.20;
    animation: npcMiniDots 1.1s infinite;
}
.npc-miniloader__dots i:nth-child(2){ animation-delay:.15s; }
.npc-miniloader__dots i:nth-child(3){ animation-delay:.30s; }

@keyframes npcMiniDots{
    0%,100%{ opacity:.20; }
    50%{ opacity:.85; }
}

/* тонкий прогрес-бар */
.npc-miniloader__track{
    margin-top:10px;
    height:2px;
    background: var(--npc-line);
    overflow:hidden;
    border-radius:999px;
}

.npc-miniloader__bar{
    display:block;
    height:100%;
    width:38%;
    background: var(--npc-accent);
    border-radius:999px;
    animation: npcMiniBar 1.15s ease-in-out infinite;
    box-shadow: 0 0 10px rgba(229,9,20,.20);
}

@keyframes npcMiniBar{
    0%{ transform: translateX(-120%); opacity:.0; }
    10%{ opacity:1; }
    50%{ transform: translateX(90%); opacity:1; }
    90%{ opacity:1; }
    100%{ transform: translateX(240%); opacity:0; }
}
