.favicon-wrapper {
    position: relative;
    display: inline-block;
    width: 16px;
    height: 16px;
}

.favicon-wrapper.loading img {
    visibility: hidden; /* hide placeholder */
}

.favicon-wrapper.loading::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 14px;
    margin: -8px 0 0 -8px;
    border: 2px solid var(--html-bg);
    border-top-color: var(--fg);
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
    z-index: 2;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}