code {
    font-family: 'Inconsolata', monospace;
    border: 2px solid rgb(111, 111, 111);
    font-size: 1.1rem;
}

    code * {
        font-family: 'Inconsolata', monospace;
    }

    code > [line],
    code > line {
        white-space: pre;
        text-align: left;
        display: block;
        padding: 2px 0;
        color: white;
        background: rgb(44, 44, 44);
    }

        code > [line]::before,
        code > line::before {
            content: attr(line);
            text-align: right;
            padding: 2px 6px 2px 4px;
            margin-right: 8px;
            background: rgb(111, 111, 111);
            color: white;
        }

        code > line::before {
            content: attr(n);
        }

        code > [line=""]::before,
        code > line[n=""]::before,
        code > line:not([n])::before {
            content: ' ';
        }

        code > [line]:nth-child(even):not(:empty),
        code > line:nth-child(even):not(:empty) {
            background: rgb(55, 55, 55);
        }

[keyword], keyword {
    color: deepskyblue;
}

[operation], operation {
    color: deeppink;
}

[type], type {
    color: mediumseagreen;
}

[function], function {
    color: black;
}

[control-flow], control-flow {
    color: orangered;
}

[parameter], parameter {
    color: orange;
}

[string], string {
    color: palegoldenrod;
}

[value], value {
    color: lightsalmon;
}

[special-value], special-value {
    color: black; /* TODO special value colors (null, undefined...)*/
}

[comment], comment {
    color: rgb(164, 164, 164);
    font-style: oblique;
}
