body {
    background-color: var(--md-sys-color-background);
    max-inline-size: 1280px;
    margin-inline: auto;
    font-family: "Roboto", sans-serif;
}

h1 {
    text-align: center;
    font-size: clamp(3.5rem, -0.5625rem + 13vw, 6.75rem);
}


.container {
    display: flex;
    gap: 5px;
    padding: 20px;
    inline-size: 90%;
    max-inline-size: 900px;
    margin-inline: auto;
    align-items: center;
    justify-content: space-between;
}


.candidate-list {
    position: relative;

    &:not(.loading):empty {
        position: relative;
        background-image: url(../assets/Space_empty_state.webp);
        block-size: 350px;
        margin-block-start: 50px;
        margin-block-end: 150px;
        inline-size: 100%;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        border-radius: 20px;
    }

    &:not(.loading):empty::after {
        content: "We searched far and wide but couldn't find what you're looking for!";
        position: absolute;
        color: var(--md-sys-color-on-surface);
        inset-inline-start: 50%;
        inset-block-end: -80px;
        inline-size: 100%;
        max-inline-size: 400px;
        font-size: 20px;
        text-align: center;
        translate: -50% 0;
    }
}

.candidate-list:not(.loading)+.shine {
    display: none;
}

.candidate-list.loading~.pagination {
    display: none;
}


.shine {
    display: block;
    position: relative;
    text-align: center;
    inline-size: 90%;
    max-inline-size: 900px;
    margin-inline: auto;
    margin-block-start: 20px;
    margin-block-end: 0;
    overflow-x: hidden;
    pointer-events: none;
    border-radius: 20px;

    &>svg>rect {
        fill: var(--md-sys-color-on-background);
    }

    &::before {
        background-image: linear-gradient(to right,
                var(--md-sys-color-surface-container) 0%,
                var(--md-sys-color-outline-variant));
        content: "";
        display: block;
        block-size: 100%;
        inset-inline-start: -75%;
        position: absolute;
        inset-block-start: -10px;
        transform: skewX(-5deg);
        inline-size: 50%;
        z-index: 1;
        animation: shine 1s infinite;
    }
}

@media screen and (prefers-reduced-motion: no-preference) {
    .shine::before {
        animation: shine 0.85s infinite;
    }
}

@keyframes shine {
    100% {
        inset-inline-start: 125%;
    }
}