<style>
#app-loader {
position: fixed;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
background:
linear-gradient(145deg, rgba(7, 9, 16, 0.82), rgba(12, 16, 24, 0.8)),
radial-gradient(circle at 18% 22%, rgba(90, 123, 255, 0.12), transparent 35%),
radial-gradient(circle at 78% 28%, rgba(255, 189, 89, 0.08), transparent 38%);
z-index: -9999;
opacity: 0;
transition: opacity 250ms ease, z-index 500ms ease;
}
#app-loader.show {
z-index: 9999;
opacity: 1;
}
.loader-spinner {
width: 72px;
height: 72px;
border: 6px solid rgba(255, 255, 255, 0.08);
border-top-color: var(--app-primary, #6f9dff);
border-radius: 50%;
display: inline-block;
box-sizing: border-box;
animation: rotation 0.9s linear infinite;
box-shadow:
0 10px 30px rgba(0, 0, 0, 0.35),
0 0 0 1px rgba(255, 255, 255, 0.04);
}
@keyframes rotation {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
</style>
<script>
window.addEventListener('load', function() {
document.getElementById('app-loader').classList.remove('show');
})
</script>
<div id="app-loader" class='show'>
<span class="loader-spinner"></span>
</div>