*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    background:#050505;

    color:#00ff88;

    font-family:Consolas, monospace;

    display:flex;

    justify-content:center;

    align-items:center;

    min-height:100vh;

}

.container{

    width:90%;

    max-width:900px;

    background:#101010;

    border:2px solid #00ff88;

    border-radius:15px;

    padding:45px;

    text-align:center;

    box-shadow:0 0 18px rgba(0,255,136,.35);

}

.hidden{

    display:none;

}

h1{

    font-size:58px;

    font-weight:700;

    letter-spacing:3px;

    margin-bottom:20px;

    font-family:Consolas, monospace;

    text-shadow:0 0 6px rgba(0,255,136,.45);

}

.subtitle{

    font-size:20px;

    color:#9dffc8;

    margin-bottom:45px;

}

button{

    background:transparent;

    color:#00ff88;

    border:2px solid #00ff88;

    padding:15px 45px;

    font-size:22px;

    font-family:Consolas, monospace;

    border-radius:10px;

    cursor:pointer;

    transition:.25s;

}

button:hover{

    background:#00ff88;

    color:#050505;

    box-shadow:0 0 10px rgba(0,255,136,.35);

}

.stats{

    display:flex;

    gap:20px;

    margin-bottom:35px;

}

.card{

    flex:1;

    border:2px solid #00ff88;

    border-radius:10px;

    padding:18px;

}

.card h3{

    margin-bottom:10px;

    font-size:18px;

}

.card p{

    font-size:28px;

    font-weight:bold;

}

#textDisplay{

    border:2px solid #00ff88;

    border-radius:10px;

    padding:25px;

    min-height:180px;

    text-align:left;

    line-height:1.8;

    font-size:24px;

    margin-bottom:25px;

}

#textInput{

    width:100%;

    height:170px;

    background:#050505;

    color:#00ff88;

    border:2px solid #00ff88;

    border-radius:10px;

    padding:20px;

    resize:none;

    outline:none;

    font-size:22px;

    font-family:Consolas, monospace;

}

#textInput:focus{

    box-shadow:0 0 10px rgba(0,255,136,.35);

}

#resultScreen h2{

    font-size:42px;

    margin-bottom:25px;

}

#resultScreen p{

    font-size:24px;

    margin:15px;

}

.correct{

    color:#00ff88;

}

.wrong{

    color:#ff3b3b;

    text-decoration:underline;

}

.current{

    background:#00ff88;

    color:#050505;

}


#bootScreen{

    text-align:left;

    min-height:260px;

    white-space:pre-wrap;

    font-size:22px;

    line-height:1.8;

}

#bootText{

    color:#00ff88;

}
.progressBox{

    width:100%;

    height:12px;

    background:#202020;

    border:1px solid #00ff88;

    border-radius:20px;

    overflow:hidden;

    margin-bottom:25px;

}

#progressBar{

    width:0%;

    height:100%;

    background:#00ff88;

    transition:.15s;

}


.cursor{

    animation:blink .8s infinite;

}

@keyframes blink{

    50%{

        opacity:0;

    }

}
