@font-face {
    font-family: "shinyangjangphonogram";
    src: url('../assets/fonts/shinyangjangphonogram-Regular.woff') format('woff'), 
         url('../assets/fonts/shinyangjangphonogram-Regular.woff2') format('woff2'), 
         url('../assets/fonts/shinyangjangphonogram-Regular.otf') format('opentype'), 
         url('../assets/fonts/shinyangjangphonogram-Regular.ttf') format('truetype')
}

* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    line-height: 1;
    word-break: keep-all;
    font-family: "shinyangjangphonogram";
    font-weight: 400;
    vertical-align: baseline;
    text-decoration: none;
    list-style-type: none;
    color: rgb(0, 0, 0);
}

html, body {
    -ms-scroll-chaining: none;
    overscroll-behavior: contain;
    overscroll-behavior-y: none;
    -webkit-text-size-adjust : none;
    -ms-text-size-adjust : none;
    -moz-text-size-adjust : none;
    -o-text-size-adjust : none;
    scroll-behavior: smooth;
}

::-webkit-scrollbar {
    width: 0.25vw;
    display: none;
}

::-webkit-scrollbar-track {
    background: rgb(150, 150, 150);
    display: none;
}

::-webkit-scrollbar-thumb {
    background: rgb(0, 0, 0);
    display: none;
}

#app {
    position: fixed;
    width: 100%;
    height: 100%;
    overflow-y: auto;
}

#cont-line, #cont-word {
    position: absolute;
    top: 4vw;
    left: 1vw;
    width: calc(100vw - 2vw);
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-line-pack: start;
        align-content: flex-start;
}

.line {
    width: 100%;
    background-image: url('../assets/svg/line.svg');
    background-repeat: repeat-x repeat-y;
    background-position: 0 -0.08vw;
    background-size: fill;
    height: calc((100vw - 2vw) / 15.25);
}

@-webkit-keyframes intro {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes intro {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.word {
    position: relative;
    width: auto;
    min-width: calc((100vw - 2vw) / 15.25 * 0.25);
    height: calc((100vw - 2vw) / 15.25);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 5.725vw;
    overflow: hidden;
}

@-webkit-keyframes blink {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes blink {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.cursor {
    position: relative;
    top: calc(((100vw - 2vw) / 15.25 - 5.25vw) / 2 - 0.08vw);
    width: 1px;
    height: calc(5.25vw);
    background-color: rgb(0, 0, 0);
    -webkit-animation: blink 1s steps(1) infinite;
            animation: blink 1s steps(1) infinite;
}

#hidden-text {
    opacity: 0;
    pointer-events: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -100;
}

#refresh {
    all: unset;
    width: 3vw;
    height: 3vw;
    position: fixed;
    top: 1vw;
    right: 5vw;
    cursor: pointer;
    z-index: 9999;
}

#toggle-line {
    all: unset;
    width: 3vw;
    height: 3vw;
    position: fixed;
    top: 1vw;
    right: 1vw;
    cursor: pointer;
    z-index: 9999;
}

#toggle-line .on {
    display: none;
}

#toggle-line.active .off {
    display: none;
}

#toggle-line.active .on {
    display: block;
}

#toggle-line.active + #cont-line {
    opacity: 0;
}