body {
    background-color: #000000;
    color: #FFFFFF;
    font-family: 'Courier New', Courier, monospace;
    font-size: 16px;
    margin: 0;
    padding: 0;
}

#terminal {
    padding: 10px;
    min-height: 100vh;
    box-sizing: border-box;
    position: relative; /* Added for correct cursor positioning */
}

.header-line {
    margin-bottom: 5px;
}

.input-line {
    display: flex;
    align-items: baseline; /* Align prompt and input/cursor */
    margin-top: 5px;
    position: relative; /* Added for correct cursor positioning */
}

.prompt {
    margin-right: 5px;
    white-space: pre;
    flex-shrink: 0; /* Prevent prompt from shrinking */
}

#input {
    background-color: transparent;
    border: none;
    color: #FFFFFF;
    font-family: 'Courier New', Courier, monospace;
    font-size: 16px;
    caret-color: transparent; /* Hide native caret */
    padding: 0; /* Remove padding to align with custom cursor */
    box-sizing: border-box;
    flex-grow: 1; /* Allow input to take remaining space */
    width: auto; /* Allow width to adjust to content */
    height: 1em; /* Explicitly set height for input */
}

#input:focus {
    outline: none;
}

#cursor {
    position: absolute; /* Position absolutely within .input-line */
    display: inline-block;
    width: 10px; /* Width of the block cursor */
    height: 1em; /* Height of the block cursor, same as font size */
    background-color: #FFFFFF;
    top: 0; /* Align to the top of the input-line */
    /* vertical-align: text-bottom; Removed */
    /* margin-left: 2px; Removed */
}

.blink {
    animation: blink-animation 1s steps(1, start) infinite;
}

@keyframes blink-animation {
    to {
        visibility: hidden;
    }
}

.command-output-text {
    margin-top: 10px; /* Empty line above */
    margin-bottom: 10px; /* Empty line below */
}

.command-output-text a {
    text-decoration: underline;
    font-weight: bold;
}
