:root {

    --background: #0b0f14;
    --foreground: #d8dee9;

    --green: #50fa7b;
    --blue: #61afef;
    --yellow: #f1fa8c;
    --red: #ff5555;
    --purple: #bd93f9;

    --muted: #8b949e;

}


/*
    Base terminal window
*/

* {
    box-sizing: border-box;
}


body {

    margin: 0;

    min-height: 100vh;

    background:
        radial-gradient(
            circle at top,
            #18212b 0%,
            var(--background) 45%
        );

    color: var(--foreground);

    font-family:
        "Ubuntu Mono",
        "Cascadia Code",
        "Fira Code",
        "Courier New",
        monospace;

    font-size: 16px;

}


#terminal {

    padding: 32px;

    min-height: 100vh;

    overflow-wrap: break-word;

}


/*
    Terminal lines
*/

.line {

    white-space: pre-wrap;

    line-height: 1.55;

    min-height: 24px;

}



/*
    Prompt styling
*/

.prompt-user {

    color: var(--green);

}


.prompt-path {

    color: var(--blue);

}


.prompt-symbol {

    color: var(--foreground);

}


.prompt-root {

    color: var(--red);

    font-weight: bold;

}


.prompt-warning {

    color: var(--yellow);

}


.muted {

    color: var(--muted);

}


.command {

    color: var(--blue);

}


/*
    User input
*/

.command-input {

    background: transparent;

    border: none;

    outline: none;

    color: white;

    font-family: inherit;

    font-size: inherit;

    width: calc(100% - 260px);

    padding: 0;

}


/*
    Filesystem colors
*/

.directory {

    color: var(--blue);

}


.file {

    color: var(--foreground);

}


.executable {

    color: var(--green);

}


/*
    System messages
*/

.success {

    color: var(--green);

}


.warning {

    color: var(--yellow);

}


.error {

    color: var(--red);

}


.info {

    color: var(--purple);

}


/*
    Boot animation support
*/

.fade-in {

    animation:
        fadeIn 0.3s ease-in;

}


@keyframes fadeIn {

    from {

        opacity:0;

    }

    to {

        opacity:1;

    }

}



/*
    Fake cursor
*/

.cursor {

    display:inline-block;

    width:8px;

    height:16px;

    background:white;

    margin-left:2px;

    animation:
        blink 1s infinite;

}


@keyframes blink {

    50% {

        opacity:0;

    }

}



/*
    Mobile tweaks
*/

@media(max-width:700px){

    #terminal {

        padding:18px;

        font-size:14px;

    }


    .command-input {

        width:60%;

    }

}
