

/* Set fonts
.true, .false, .null, .undefined, .num, .str, .name, .regexp
    font-family: monospace;
    white-space: pre-wrap;


/* Primitives
.true, .false, .null, .undefined, .num
    font-weight: bold;

.str
    white-space: pre;
    max-height: 200px;
    overflow: auto;

.function:before
    content: "function ";


/* Arrays

.array
    display: inline-block;
    /* overflow: auto;
    margin: 2px;
    padding: 0px;

.array > *
    display: inline-block;
    padding: 3px;
    vertical-align: middle;


/* Objects */

.object
    display: inline-table;
    padding: 0px;
    margin: 2px;

.object > .assoc
    display: table-row;

.object > .assoc > *
    display: table-cell;
    padding-left: 3px;
    padding-right: 3px;

.object > .assoc > :first-child
    font-weight: bold;
    border-right: 1px solid black;
    vertical-align: middle;


/* Classes and instances

.instance, .class
    display: inline-block;

.instance > .object, .class > .object
    margin: 0px;


.instance .name, .class .name
    display: block;
    padding-left: 3px;
    padding-right: 3px;
    font-weight: bold;


.class > .name::before
    content: "class ";



/* Empty objects */

.str:empty::before
  content: "\"\""
.array:empty::before
  content: "\2205"
.object:empty::before
  content: "\2205"


/* Miscellaneous */

.regexp::before
  content: "R\""
.regexp::after
  content: "\""

.unknown
    font-weight: bold;


/* References */

.reference
    display: inline-block;
    font-weight: bold;

.tagged-node
    display: inline-block;

.tagged-node > *
    vertical-align: middle;

.reference::before
    content: "#";

.tagged-node > .reference::after
    content: "=";
    margin-right: 3px;



/* Fanciness */

.hl, .hl1, .hl2, .hl3, .hlE
    font-weight: bold;



/* Errors */

.error > *
    display: inline-block;

.error_type
    font-weight: bold;
    margin-right: 10px;

.error_type:after
    content: ":";

.traceback
    display: block;
    white-space: pre;

.source, .source *
    display: inline;
    white-space: pre;

.sourcepos
    margin-left: 5px;
    margin-right: 5px;

.sourcecode, .sourcecode *
  display: inline

.location
  font-family: monospace
  white-space: pre

.lineno
    border-right: 2px solid #88f;
    padding-right: 2px;
    margin-right: 10px;
    display: inline-block;
    text-align: right;
    min-width: 2em;

.location > *:first-child > *
    margin-right: 8px;

.location, .source
    display: block;

.location > .lineno, .location > .sourcecode
    display: inline;


