.loader-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(255, 255, 255, 0.94); backdrop-filter: blur(5px);
    display: none; align-items: center; justify-content: center;
    z-index: 9999; flex-direction: column;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
.loader {
    height: 15px; aspect-ratio: 5; display: grid;
    --_g: no-repeat radial-gradient(farthest-side,#1F69DA 94%,#0000);
    filter: drop-shadow(0 0 2px rgba(31, 105, 218, 0.3));
}
.loader:before, .loader:after { content: ""; grid-area: 1/1; }
.loader:before {
    background: var(--_g) left, var(--_g) right;
    background-size: 20% 100%; animation: l32 1s infinite;
}
.loader:after {
    background: var(--_g) calc(100%/3), var(--_g) calc(200%/3);
    background-size: 20% 100%; animation: l32 1s infinite reverse;
}
@keyframes l32 { 80%, 100% { transform: rotate(.5turn); } }
.loader-overlay p {
    margin: 16px 0 0; font-size: 1.15rem; color: #1a1a1a;
    font-weight: 500; letter-spacing: 0.5px;
}