body, html {
    height: 100%;
    margin: 0;
    background-color: black;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-family: 'Courier New', Courier, monospace;
}

#terminal {
    width: 90%;
    max-width: 400px;  
    color: lime;
}

input {
    width: 100%;
    background: none;
    border: none;
    border-bottom: 2px solid lime;
    color: lime;
    font-size: 20px;
    margin-top: 20px;
    padding: 5px;
}

input:focus {
    outline: none;
    animation: blink 1s step-end infinite;
}

@keyframes blink {
    from, to { border-color: transparent }
    50% { border-color: lime }
}

#message, #content {
    width: 100%;
    text-align: center;
    margin-top: 20px;
}

.correct, .incorrect {
    font-weight: bold;
}

.incorrect {
    color: red;
    animation: shake 0.5s;
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    20%, 60% { transform: translateX(-10px); }
    40%, 80% { transform: translateX(10px); }
}

#cursor {
    display: inline-block;
    width: 8px;
    height: 20px;
    background-color: lime;
    animation: cursorBlink 1s infinite;
}

@keyframes cursorBlink {
    from, to { background-color: transparent }
    50% { background-color: lime }
}

#loading-bar {
    height: 20px;
    background-color: lime;
    transition: width 2s;
}