@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&display=swap');

::-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;
}

body {
    position: relative;
    margin: 0;
    font-family: "Source Sans Pro";
    color: white;
    background: white;
    font-weight: 200;
    width: 100vw;
    height: 100vh;
    text-shadow: 0px 0px 5px black;
}

#container {
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    background: black;
}

#summary-card {
    display: flex;
    margin: 32px;
}

.summary-header {
    padding: 32px;
    font-size: 24px;
}
.summary-link {
    font-size: 16px;
    color: white;
    text-decoration: none;
}

#introduction-card {
    display: flex;
    margin: 64px;
    font-size: 16px;
}

.card {
    margin:64px;
}

.project-link {
    font-size: 16px;
    color: white;
    text-decoration: none;
}

#loading-screen {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: black;
    font-family: "Source Code Pro";
    opacity: 1;
    transition: opacity 0.5s ease;
}

#svg5{
    position: absolute;
    top: -400px;
    left: 70px;
}

#loading-icon{
    fill:transparent;
    stroke-width: 0.2px;
    stroke-dasharray: 0% 100% 100%;
    transition: stroke-dasharray 1s cubic-bezier(0,0,1,0), fill 0.5s cubic-bezier(0,0,1,0);
    stroke: white;
}

#loading-progress {
    position: absolute;
    top: 200px;
    left: 100px;
    font-size: 128px;
}

#loading-progressbar {
    position: absolute;
    top: 400px;
    left: 100px;
    width: calc(100vw - 200px);
    height: 64px;
    background-color: #0000004a;
    border: white 1px solid;
}

#loading-progressbar-inner {
    height: 64px;
    width: 0%;
    background: white;
    transition: width 0.02s linear;
}

#connection-status {
    position: absolute;
    top: 600px;
    left: 100px;
    font-size: 24px;
    color: white;
    opacity: 1;
    transition: opacity 0.2s ease;
}
#loading-console {
    position: absolute;
    top: 50px;
    left: 50px;
    width: calc(100vw - 100px);
    height: calc(100vh - 100px);
    color:#2b2b2b;
    overflow: hidden;
    scroll-behavior: smooth;
}
#Yuki-I-text{
    position: absolute;
    right: 50px;
    text-align: right;
    top: 100px;
    font-size: 24px;
}
.Yuki-I-text-character{
    position: relative;
}
.Yuki-I-text-character-load-left{
    animation: yukiloadleft 0.5s ease;
}
.Yuki-I-text-character-load-right{
    animation: yukiloadright 0.5s ease;
}

.Yuki-I-text-character-furigana {
    position: absolute;
    left: 24px;
    font-size: 12px;
    top: 0px;
}

@keyframes yukiloadleft{
    0%{transform: translateX(-32px) translateY(32px);}
    50%{transform: translateX(-32px) translateY(0px);}
    100%{transform: translateX(0px) translateY(0px);}
}
@keyframes yukiloadright{
    0%{transform: translateX(32px) translateY(-32px);}
    50%{transform: translateX(32px) translateY(0px);}
    100%{transform: translateX(0px) translateY(0px);}
}
