html, body, #root {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

:root {
    --md-sys-color-primary: #6750A4;
    --md-sys-color-surface-variant: #E7E0EC;
    --md-sys-color-surface: #FEF7FF;
}

html.dark {
    --md-sys-color-primary: #D0BCFF;
    --md-sys-color-surface-variant: #49454F;
    --md-sys-color-surface: #1D1B20;
}

#loader {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--md-sys-color-surface, #FEF7FF);

    z-index: 9999;
}

.spinner {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 4px solid var(--md-sys-color-surface-variant, #E7E0EC);
    border-top-color: var(--md-sys-color-primary, #6750A4);
    animation: spin-m3 1.2s cubic-bezier(0.4, 0.0, 0.2, 1) infinite;
}

@keyframes spin-m3 {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}