@font-face {
    src: url('fonts/AcPlus_IBM_VGA_9x16.ttf') format('truetype');
    font-family: 'IBM-VGA';
}
body {
    background-color: #000000;
    color: #ccc;
    font-family: 'IBM-VGA';
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
}

#monitor {
    background-color: #000;
    padding: 0.5%;
    width: 100vw;
    height: 100vh;
    max-width: calc(100vh * (4.05/3));
    max-height: calc(100vw * (3/4.05));
    aspect-ratio: 4.05 / 3;
    overflow: hidden;
    position: relative;
}

#screen {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 0; 
    font-size: 4vmin; 
    line-height: 1.2; 
    white-space: pre; 
    overflow: hidden; 
    cursor: default;
    position: relative; /* Needed for pseudo-element */
}

#screen::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    /*
    background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.25) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.06), rgba(0, 255, 0, 0.02), rgba(0, 0, 255, 0.06));
    background-size: 100% 2px, 0.25% 100%;
    */
    pointer-events: none; /* Allows clicks to pass through to the elements behind */
}

.cursor {
    position: relative;
}

.cursor::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 10%;
    background-color: currentColor;
    animation: blink 1s step-start infinite;
    pointer-events: none;
}

@keyframes blink {
    50% {
        background-color: transparent;
        color: #ccc;
    }
}

#screen .cursor,
#screen span {
    position: relative;
    z-index: 0; /* or -1 */
}
