:root {
    --background: #332c34;
    --text: #e2c6e4;
    --pink: #f19eb9;
    --dim: #98c379;
}


* {
    box-sizing: border-box;
}


html {
    background: var(--background);
}

@font-face {
  font-family: 'Spleen';
  src: url('spleen-8x16.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}

body {
    margin: 0;
    padding: 40px;

    background: var(--background);
    color: var(--text);

    font-family:
        "Spleen",
        monospace;

    font-size: 16px;
    -webkit-font-smoothing: none;
    -moz-osx-font-smoothing: grayscale;
    
    line-height: 1.5;
}


#terminal {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}


.ascii {
    color: var(--pink);

    font-size: 16px;
    line-height: 1.1;

    margin: 0 0 30px 0;

    white-space: pre;
}


.system-info {
    margin-bottom: 30px;
}


.pink {
    color: var(--pink);
}


#output {
    margin-bottom: 10px;
}


.command-line {
    margin-top: 20px;
}


.prompt {
    color: var(--text);
    margin-right: 8px;
}

.username {
    color: var(--dim);
}

.command-output {
    margin-left: 0;
    margin-top: 5px;
    color: var(--text);
}


.error {
    color: var(--pink);
}


#terminal-form {
    display: flex;
    align-items: baseline;
}


#input {
    flex: 1;

    border: none;
    outline: none;

    background: transparent;
    color: var(--text);

    font: inherit;

    padding: 0;
}


#input::selection {
    background: var(--pink);
    color: var(--background);
}


a {
    color: var(--pink);
}


a:hover {
    text-decoration: underline;
}


.terminal-image {
    display: block;

    max-width: 100%;
    height: auto;
    width: auto;

    margin: 15px 0;
}


.gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.gallery img {
    display: block;

    width: 200px;
    height: auto;

    object-fit: contain;
}


.terminal-video {
    display: block;

    max-width: 700px;
    width: 100%;

    margin-top: 15px;
}


pre {
    overflow-x: auto;
}


@media (max-width: 600px) {

    body {
        padding: 20px;

        font-size: 14px;
    }

    .ascii {
        font-size: 10px;
    }

}

#input {
    flex: 1;

    border: none;
    outline: none;

    background: transparent;
    color: var(--text);

    font: inherit;

    padding: 0;
    
    /* important */
    -webkit-appearance: none;
    appearance: none;
}
#input:focus {
    background: transparent;
    color: var(--text);
    outline: none;
}