/* Shared asynchronous read indicator — same spinner language as home loading. */
.uiLoadingIndicator {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-width:0;
    min-height:42px;
    padding:9px 12px;
    color:rgba(239,246,255,.88);
    font:700 11px/1.2 "Poppins",sans-serif;
    letter-spacing:.02em;
    text-align:center;
}
.uiLoadingIndicator.is-compact {
    display:inline-flex;
    min-height:24px;
    padding:2px 4px;
    font-size:10px;
}
.uiLoadingSpinner {
    width:18px;
    height:18px;
    flex:0 0 18px;
    border:2px solid rgba(196,219,255,.24);
    border-top-color:#f2bd52;
    border-right-color:rgba(101,205,255,.88);
    border-radius:50%;
    box-shadow:0 0 9px rgba(84,193,255,.18);
    animation:uiLoadingSpin .78s linear infinite;
}
.uiLoadingIndicator.is-compact .uiLoadingSpinner {
    width:15px;
    height:15px;
    flex-basis:15px;
}
.uiLoadingLabel { min-width:0; }
.is-loading > .uiLoadingIndicator { vertical-align:middle; }

.uiLoadingFloating {
    position:fixed;
    z-index:7600;
    top:50%;
    left:50%;
    width:max-content;
    max-width:min(88vw,360px);
    transform:translate(-50%,-50%);
    border:1px solid rgba(114,207,255,.38);
    border-radius:10px;
    background:linear-gradient(180deg,rgba(8,37,62,.96),rgba(4,21,38,.97));
    box-shadow:0 12px 34px rgba(0,0,0,.48),inset 0 0 18px rgba(75,173,237,.08);
    pointer-events:none;
}

@keyframes uiLoadingSpin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) {
    .uiLoadingSpinner { animation-duration:1.8s; }
}
