﻿/* === GLOBAL RESET === */
html, body {
    height: 100%;
    margin: 0;
    background: #0d1117; /* dark background */
    color: #e5e7eb;
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
}

/* === APP CONTAINER === */
#app {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0d1117;
}

/* === LOADING PROGRESS === */
.loading-progress {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: #e5e7eb;
    font-size: 1.1rem;
}

    .loading-progress > svg {
        width: 3rem;
        height: 3rem;
        animation: rotate 2s linear infinite;
    }

    .loading-progress circle {
        fill: none;
        stroke: #3b82f6; /* blue spinner */
        stroke-width: 0.3rem;
        stroke-linecap: round;
        stroke-dasharray: 1, 200;
        stroke-dashoffset: 0;
        animation: dash 1.5s ease-in-out infinite;
    }

@keyframes rotate {
    100% {
        transform: rotate(360deg);
    }
}

@keyframes dash {
    0% {
        stroke-dasharray: 1, 200;
        stroke-dashoffset: 0;
    }

    50% {
        stroke-dasharray: 89, 200;
        stroke-dashoffset: -35px;
    }

    100% {
        stroke-dasharray: 89, 200;
        stroke-dashoffset: -124px;
    }
}

/* === ERROR UI === */
#blazor-error-ui {
    background: #fffae6;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
    border-top: 1px solid #ccc;
    color: #333;
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
}

    #blazor-error-ui .reload {
        cursor: pointer;
        text-decoration: underline;
    }

    #blazor-error-ui .dismiss {
        position: absolute;
        right: 1rem;
        top: 0.5rem;
        cursor: pointer;
    }

/* === OPTIONAL: fade in app when loaded === */
body.loaded #app {
    animation: fadeIn 0.4s ease forwards;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

