:root {
    --cl1: #EEE;
    --cl2: #000;
    --clComment: #AA0;
    --clButton: #FFF;
    --clButtonShadow: #555;
    --clButtonHover: #EEE;
    --clError: #C00;
    --clErrorBackground: #FBB;
    --clLink: #00F;
    --clLinkVisited: #60F;
    --clGreenHighlight: #090;
    --clBlueHighlight: #07B;
    --clYellowHighlight: #880;
    --clGrayed: #CCC;
    --clTable1: #F3F3F3;
    --clTable2: #E8E8E8;
    --clTable1Hover: #F3F3F3;
    --clTable2Hover: #E8E8E8;

    --chart-grid: #000;
    --chart-bg: #fff;
    --chart-0: #070;
    --chart-1: #077;
    --chart-2: #007;
    --chart-3: #700;
    --chart-4: #740;
    --chart-5: #404;

}

@media (prefers-color-scheme: dark) {
    :root {
        --cl1: #444;
        --cl2: #DDD;
        --clComment: #FF0;
        --clButton: #888;
        --clButtonShadow: #000;
        --clButtonHover: #999;
        --clErrorBackground: #644;
        --clError: #F55;
        --clLink: #99F;
        --clLinkVisited: #B9F;
        --clGreenHighlight: #4C4;
        --clBlueHighlight: #8CF;
        --clYellowHighlight: #CC0;
        --clGrayed: #555;
        --clTable1: #4A4A4A;
        --clTable2: #404040;
        --clTable1Hover: #474747;
        --clTable2Hover: #3B3B3B;

        --chart-grid: #fff;
        --chart-bg: #333;
        --chart-0: #AFA;
        --chart-1: #AFF;
        --chart-2: #AAF;
        --chart-3: #FAA;
        --chart-4: #FFA;
        --chart-5: #FAF;

    }
}

body {
    background: var(--cl1);
    color: var(--cl2);
    font-size: 12px;
    font-family: "JetBrains Mono", Inconsolata, monospace;
    margin-bottom: 200px;
}

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

a:visited {
    color: var(--clLinkVisited);
}

.processing-on * {
    cursor: progress !important;
}

.page {
    margin-left: 150px;
}

nav {
    position: absolute;
    top: 5px;
    left: 5px;
    font-size: 14px;
}

nav li {
    display: block;
    margin-top: 3px;
}


nav ul {
    padding: 0;
    margin: 0;
    list-style-type: none;
}

nav ul ul {
    padding: 0 0 0 15px;
}

nav a {
    text-decoration: none;
}

nav a:hover {
    text-decoration: underline;
    cursor: pointer;
}

input[type=button],
input[type=submit],
button {
    border-radius: 4px;
    border: none;
    background: var(--clButton);
    box-shadow: 1px 1px 3px var(--clButtonShadow);
    margin: 0 6px 2px 3px;
}

button:enabled:hover {
    background: var(--clButtonHover);
    cursor: pointer;
}


button:enabled:active {
    transform: translate(1px, 1px);
}

button:disabled {
    /*box-shadow: 1px 1px 3px var(--clButtonShadow);*/
    /*opacity: 0.5;*/
    /*color: var(--cl1);*/
}

input:invalid {
    border-color: var(--clError);
}

input:disabled {
    /*opacity: 0.5;*/
}

input {
    border: 1px var(--cl1) solid;
    outline: none;
    margin: 0 3px;
    color: var(--cl2);
}

select {
    color: var(--cl2);
    outline: none;
}


select {
    margin: 0 3px;
}

input[type=number] {
    text-align: right;
}

.error-overlay {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--clErrorBackground);
    color: var(--clError);
    padding: 10px;
    border-radius: 10px;
    box-shadow: 2px 2px 10px var(--clButtonShadow);
}

.error {
    color: var(--clError);
    background: var(--clErrorBackground);
}

.c {
    text-align: center;
}

.l {
    text-align: left;
}

.r {
    text-align: right;
}

.subset {
    margin-left: 50px;
}

.list-item {
    margin: 5px 0;
}

table.content-table {
    border-collapse: collapse;
}

table.content-table > thead > tr > th {
    padding: 0 2px;
}

table.content-table > tbody > tr > td {
    background: linear-gradient(var(--clTable1), var(--clTable2));
    padding: 0 2px;
    border-left: 1px var(--clTable1) solid;
    white-space: nowrap;
    vertical-align: top;
}


table.content-table > tbody > tr:hover > td {
    background: linear-gradient(var(--clTable1Hover), var(--clTable2Hover));
}

.layout-table {
    border-collapse: collapse;
}

.layout-table > tbody > tr > td {
    padding: 0;
    margin: 0;
    vertical-align: top;
}
.layout-table > thead > tr > th {
    padding: 0;
    margin: 0;
}

.chart {
    font-size: 8px;
}

.chart text {
    /*fill: var(--cl1);*/
    /*stroke: none;*/
}

.chart-grid-0 {
    stroke: var(--chart-grid);
    fill: var(--chart-bg);
    opacity: 0.05;
}

.chart-grid-1 {
    stroke: var(--chart-grid);
    fill: var(--chart-bg);
    opacity: 0.07;
}

.chart-grid-2 {
    stroke: var(--chart-grid);
    fill: var(--chart-bg);
    opacity: 0.3;
}

.chart-grid-3 {
    stroke: var(--chart-grid);
    fill: var(--chart-bg);
    opacity: 0.4;
}

.chart-label-0 {
    fill: var(--chart-grid);
    stroke: none;
    text-anchor: end;
    opacity: 0.2;
}

.chart-label-1 {
    fill: var(--chart-grid);
    stroke: none;
    text-anchor: end;
    opacity: 0.4;
}

.chart-label-2 {
    fill: var(--chart-grid);
    stroke: none;
    text-anchor: end;
    opacity: 0.6;
}

.chart-label-3 {
    fill: var(--chart-grid);
    stroke: none;
    text-anchor: end;
    opacity: 0.8;
}

.chart-label-4 {
    fill: var(--chart-grid);
    stroke: none;
    text-anchor: end;
    opacity: 1.0;
}

.chart-legend {
    cursor: pointer;
    opacity: 0.5;
}

.chart-0 {
    stroke: var(--chart-0);
    /*fill: var(--chart-0);*/
    opacity: 0.4;
}

.chart-1 {
    stroke: var(--chart-1);
    /*fill: var(--chart-1);*/
    opacity: 0.4;
}

.chart-2 {
    stroke: var(--chart-2);
    /*fill: var(--chart-2);*/
    opacity: 0.4;
}

.chart-3 {
    stroke: var(--chart-3);
    /*fill: var(--chart-3);*/
    opacity: 0.4;
}

.chart-4 {
    stroke: var(--chart-4);
    /*fill: var(--chart-3);*/
    opacity: 0.5;
}

.chart-5 {
    stroke: var(--chart-5);
    /*fill: var(--chart-3);*/
    opacity: 0.5;
}

.chart-focused {
    stroke-width: 2px;
    opacity: 0.7;
    font-weight: bold;
}

.chart-dis-focused {
    opacity: 0.1;
}


.userbox {
    font-size: 10px;
}