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

.sun,
.moon {
    position: absolute;
    width: 1px;
    height: 1px;
    z-index: -1000;
    opacity: 1;
    
    transition: left 1s linear, top 1s linear, opacity 5s linear;
}

    .moon {
        opacity: 0;
    }

    .night .moon {
        opacity: 1;
    }

.sun::before {
    content: '';
    position: absolute;
    top: -50px;
    left: -50px;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    z-index: -900;
    background: radial-gradient(circle at center, #fffadb, #ffef63);
    box-shadow: 0 0 20px 5px rgba(255, 234, 116, 0.788);
}

.moon::before {
    content: '';
    position: absolute;
    top: -50px;
    left: -50px;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    z-index: -900;
    background: radial-gradient(circle at center, #e0e0e0, #a0a0a0);
    box-shadow: 0 0 15px 3px rgba(200, 200, 200, 0.5);
}

.sun .sun-beam {
    position: absolute;
    width: 6000px;
    height: 10px;
    background: hsla(54, 100%, 69%, 0.075);
    top: -5px;
    left: 0px;
    transform-origin: left center;
    z-index: -950;

    opacity: 1;

    transition: opacity 5s linear;
}

    .night .sun .sun-beam {
        opacity: 0;
    }

    .night .sun {
        opacity: 0;
    }
