.tags,
.info-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    align-content: flex-start;
    gap: 4px;
    overflow: hidden;
}

.tag,
.info-tag,
.special-tag {
    display: inline-flex;
    align-items: center;
    flex: none;
    padding: 2px 6px;
    border-radius: 0;
    background: color-mix(in srgb, var(--role-tag) 34%, var(--hero-page-bg));
    color: color-mix(in srgb, var(--role-tag) 20%, var(--text));
    font: 400 0.75rem/1.5 var(--font-label);
    white-space: nowrap;
}

.special-tag {
    background: linear-gradient(90deg,
        color-mix(in srgb, var(--role-special-tag) 85%, var(--hero-page-bg)),
        color-mix(in srgb, var(--role-tag) 60%, var(--hero-page-bg)),
        color-mix(in srgb, var(--role-special-tag) 85%, var(--hero-page-bg))) 0 0 / 200% 100%;
    color: var(--text);
    font-weight: 700;
    letter-spacing: 0.02em;
    box-shadow: 0 0 10px color-mix(in srgb, var(--role-special-tag) 45%, transparent);
    animation: special-tag-scroll 4s linear infinite;
}

@keyframes special-tag-scroll {
    to {
        background-position: -200% 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .special-tag {
        animation: none;
    }
}
