body {
    background-color: rgb(22, 22, 22);
    overflow: hidden;
}

#bg {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgb(22, 22, 22);
    z-index: -1;
    transition: all 0.15s;
    left: 0;
    top: 0;
}

#remove {
    position: absolute;
}

#main-part {
    position: absolute;
    height: 5em;
    top: 34%;
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 2em;
    left: 0;
}

h1 {
    color: white;
    position: absolute;
    left: 50%;
    translate: -50%;
    top: 15%;
    user-select: none;
    font-size: 3rem;
    width: 100%;
    text-align: center;
}

h2 {
    color: white;
    position: absolute;
    left: 50%;
    translate: -50%;
    top: 25%;
    user-select: none;
    width: 100%;
    text-align: center;
}

#user-input {
    position: relative;
    height: 5em;
    width: 25em;
    border: 2px solid white;
    border-radius: 15px;
    transition: all 0.15s;
    color: white;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

#submit {
    position: relative;
    height: 5em;
    width: 5em;
    color: white;
    background-color: limegreen;
    border: 2px solid green;
    border-radius: 10px;
    transition: all 0.15s;
    font-size: 0.75rem;
    cursor: pointer;
    padding: 0;
}
#submit:hover {
    scale: 1.01;
}
#submit:active {
    scale: 0.95;
}

#tools {
    position: absolute;
    left: 50%;
    translate: -50%;
    top: 45%;
    height: 5em;
    width: 25em;
}

.tool {
    height: 100%;
    aspect-ratio: 1/1;
    cursor: pointer;
    background: transparent;
    border: none;
    transition: all 0.15s;
}
.tool:hover {
    scale: 1.01;
}
.tool:active {
    scale: 0.95;
}
.tool > img {
    width: 100%;
    height: 100%;
}

.input-element {
    height: 96%;
    color: white;
    min-width: 1ch;
    width: 1ch;
    background: transparent;
    outline: none;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 1rem;
    border: none;
    padding: 0;
}

.bottom-index-element {
    height: 96%;
    color: white;
    width: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: visible;
}
.bottom-index-element > input {
    text-align: center;
    background: transparent;
    outline: none;
    color: white;
    border: none;
}
.bottom-index-element-normal {
    width: 75%;
    height: 50%;
    font-size: 1rem;
}
.bottom-index-element-index {
    width: 50%;
    font-size: 0.75rem;
    height: 45%;
    translate: -40% 20%;
}

.fraction-element {
    height: 96%;
    color: white;
    min-width: 50px;
    width: max-content;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    flex-direction: column;
    border: none;
    margin-left: 5px;
    margin-right: 5px;
}
.upper-fraction {
    height: 48%;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}
.middle-fraction {
    height: 4%;
    width: 100%;
    background-color: white;
}
.bottom-fraction {
    height: 48%;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

#rating {
    position: absolute;
    left: 50%;
    translate: -50%;
    bottom: 20%;
    height: 5em;
    width: 25em;
}
#rating > p {
    color: white;
    text-align: center;
}

#info {
    color: white;
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
}

@media (width<800px) {
    #main-part {
        width: 95%;
        left: 2.5%;
    }

    h1 {
        width: 95%;
        top: 0;
        font-size: 2rem;
    }

    h2 {
        width: 95%;
        top: 20%;
        font-size: 1.5rem;
    }

    #tools {
        width: 95%;
        scale: 0.9;
    }

    #remove {
        position: relative;
    }

    #rating {
        width: 95%;
    }

    #info {
        width: 95%;
    }
}