@import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@200;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@200;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Yusei+Magic');

::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track-piece {
    background-color: #393939;
}

::-webkit-scrollbar-thumb {
    background-color: #FFFFFF;
}

html {
    scrollbar-color: #ffffff #393939;
    scrollbar-width: thin;
    --bit-length: 2;
}

body {
    position: relative;
    margin: 0;
    font-family: "Source Sans Pro";
    color: white;
    background:#000000;
    font-weight: 200;
    text-shadow: 0px 0px 5px black;
    width: 100vw;
    height: 100vh;
}
#container {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}
#input-container{
    position: absolute;
    left: 64px;
    top: 64px;
    display: flex;
}
#result-container{
    position: absolute;
    left: 64px;
    top: 128px;
    display: flex;
}
.bit-div{
    position: relative;
    animation: bitLoadIn 0.2s ease;
    font-size: 64px;
}
.result-bit-div{
    position: relative;
    animation: resultbitLoadIn 0.2s ease;
    font-size: 64px;
}
.bitLoadOut{
    animation: bitLoadOut 0.2s ease;
}
#convert-button{
    position: absolute;
    left: 64px;
    bottom: 64px;
    border: white 1px solid;
    padding: 16px;
    font-size: 32px;
    overflow: hidden;
    background: black;
}
#convert-button-effect{
    position: absolute;
    top:0;
    left:0;
    background: white;
    color:white;
    backdrop-filter: invert(1);
    padding: 16px;
    transition: transform 0.1s ease;
    transform: translate(0,80px);
}
#convert-button:hover > #convert-button-effect { 
    transform: translate(0,0px);
}
.bit-value-div{
    font-size: 16px;
    position: absolute;
    top:64px;
    left:0px;
    animation: bitValueLoadIn 1s ease;
}
.bit-value-div-disabled{
    opacity: 0;
    animation: none;
}
.bit-value-calculating{
    animation: bitValueCalculating 1s ease;
    transform: translate(calc(var(--bit-length) * -30.2px - 64px), 0px);
}
#home-link{
    position: absolute;
    top: 40px;
    right: 40px;
}
#home-link-a{
    color: white;
    text-decoration: none;
font-size: 32px;
font-weight: 400;
}
#home-icon{
    width: 32px;
    height: 32px;
}

@keyframes bitValueCalculating {
    from{
        transform: translate(0vw, 0px) scaleX(1);
    }
    to{
        transform: translate(calc(var(--bit-length) * -30.2px - 64px), 0px) scaleX(2);
    }
}


@keyframes bitValueLoadIn {
    from{
        transform: translate(0vw, -64px) scaleY(2);
        opacity: 0;
    }
    to{
        transform: translate(0vw, 0vh) scaleY(1);
        opacity: 1;
    }
}

@keyframes resultbitLoadIn {
    from{
        transform: translate(-256px, -64px) scale(0.1);
        opacity: 0;
    }
    to{
        transform: translate(0px, 0vh) scale(1);
        opacity: 1;
    }
}

@keyframes bitLoadIn {
    from{
        transform: translate(100vw, 0vh) scaleX(2);
        opacity: 0;
    }
    to{
        transform: translate(0vw, 0vh) scaleX(1);
        opacity: 1;
    }
}

@keyframes bitLoadOut {
    from{
        transform: translate(0vw, 0vh);
        opacity: 1;
    }
    to{
        transform: translate(100vw, 0vh);
        opacity: 0;
    }
}