.data-loader-anchor { position: relative; }
.data-loader {
    position: absolute; top: .4rem; left: 50%; transform: translateX(-50%);
    z-index: 3; display: grid; place-items: center; padding: 5px;
    background: var(--site-panel, #141b22); border: 1px solid var(--site-border, #46515b);
    border-radius: 50%; pointer-events: none;
}
.data-loader::before {
    content: ''; width: 16px; height: 16px; border-radius: 50%;
    border: 2px solid var(--site-border, #46515b); border-top-color: var(--site-accent, #ff9a38);
    animation: finik-loading .75s linear infinite;
}
@keyframes finik-loading { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .data-loader::before { animation: none; } }
