/* Optional CRT Mode */

body.crt #terminal{

    position:relative;

}

/* Scanlines */

body.crt #terminal::before{

    content:"";

    position:absolute;

    inset:0;

    pointer-events:none;

    background:
        repeating-linear-gradient(

            transparent 0px,
            transparent 2px,

            rgba(255,255,255,.03) 3px,

            rgba(255,255,255,.03) 4px

        );

}

/* Glow */

body.crt #terminal{

    text-shadow:

        0 0 3px currentColor,

        0 0 10px currentColor;

}

/* Slight flicker */

body.crt{

    animation:flicker .15s infinite;

}

@keyframes flicker{

    0%{

        opacity:.98;

    }

    50%{

        opacity:1;

    }

    100%{

        opacity:.985;

    }

}

/* Vignette */

body.crt::after{

    content:"";

    position:fixed;

    inset:0;

    pointer-events:none;

    background:

        radial-gradient(

            ellipse at center,

            transparent 60%,

            rgba(0,0,0,.35)

        );

}

/* Curvature illusion */

body.crt #terminal-container{

    transform:perspective(1500px) rotateX(.2deg);

}