/* CSS stylesheet for TxlProp's abstract syntax trees      -*- mode: Tcl -*-
   -- ©2005 by Jonathan Yavner
*/

@namespace url(TxlProp);

txlprop {
    line-height: 2;
}

title {
    display: block;
    background-color: #ccf;
    border: thick outset #ccf;
    text-align: center;
    font-size: 200%;
    font-weight: bold;
    margin: 0.4em;
}

crisis_directory {
    display: block;
    border: double #b22222;
    padding-left: 2em;
    margin: 0 1em 1.2em 1em;
}

crisis_directory:before {
    content: "Directory of crisis points:";
    background-color: #ffdab9;
    padding: 0 2px;
    margin-left: -1.9em;
}

crisislink {
    display: block;
}

crisislink:before {
    content: "\261B\a0";
    color: black;
}

crisislink:hover {
    background-color: #99f;
}

crisislink_failed:before {
    content: "\a0\263a\a0\263a\a0\263a\a0";
    color: black;
}

crisislink_proven:before {
    content: "\a0\2622\a0\2622\a0\2622\a0";
    color: black;

}

crisislink_recursive_separator:before {
    content: " \21db  ";
}

line_comment {
    display: block;
    font-size: medium;
    line-height: 1.2;
    font-family: monospace;
    background-color: #ccc;
    letter-spacing: 0.1ex;
}

line_comment:before {
    content: "%";
    background-color: #ff8;
    padding: 0 1px;
    margin: 0 2px 0 1px;
}

blank_comment {
    display: block;
    height: 1.2em;
}

comment {
    font-family: monospace;
    font-size: medium;
    background-color: #ccc;
    border: thin solid #ccc;
    margin-left: 0.5em;
    padding-right: 1px;
    letter-spacing: 0.1ex;
}

comment:before {
    content: "%";
    background-color: #ff8;
    padding: 0 1px;
    margin-right: 2px;
}

br {
    display: block;
}


/* =========================================================================
   The header
   ========================================================================= */

header {
    display: block;
}

header:before {
    content: "BEGIN\a0  HEADER";
    display: block;
    font-family: sans-serif;
    letter-spacing: 1px;
    font-size: 50%;
    line-height: 1;
    background-color: #b0e0e6;
    border: thin solid #b0c4de;
    text-align: center;
    margin-bottom: 0.125in;
}

pragma_stmt {
    display:block;
    font-size: 125%;
    margin-bottom: 1.2em;
}

pragma_stmt:before {
    content: "#pragma";
    background-color: #ff8;
    font-size: 120%;
    font-weight: bold;
    padding: 0 2px;
    margin-right: 4px;
}

pragma {
    font-size: medium;
    border: thin dotted #66cdaa;
    padding: 4px 2px 2px 1px;
    margin: 0 3px;
    white-space: nowrap;
}

pragma:before {
    content: "\2013";
    font-weight: bold;
    background-color: #ff8;
    padding: 0 1px;
    margin-right: 1px;
}

rawvalue {
    border: thin solid #32cd32;
    white-space: nowrap;
    font-family: monospace;
    font-size: medium;
    padding: 0 2px 0 1px;
    margin: 0 2px 0 4px;
    color: #32cd32;
}

rawvalue:before {
    content: "\22";
    font-family: variable;
    background-color: #ff8;
    color: black;
    margin-right: 2px;
}

rawvalue:after {
    content: "\22";
    font-family: variable;
    background-color: #ff8;
    color: black;
    margin-left: 2px;
}

comments_stmt {
    display: block;
    margin-bottom: 1.2em;
    padding-left: 2.4em;
}

comments_stmt:before {
    content: "comments";
    background-color: #ff8;
    font-size: 150%;
    font-weight: bold;
    margin-left: -1.50em;
    margin-right: 0.5em;
}

comments_stmt:after {
    content: "end\a0  comments";
    background-color: #ff8;
    font-style: italic;
    margin-left: -2.4em;
    letter-spacing: -1px;
    padding-right: 0.25em;
}

commentdef {
    display: block;
    border-left: double #c0ff3e;
    padding-left: 2px;
    margin: 2px 0;
}

commentspec {
    border: thin solid #9acd32;
    white-space: nowrap;
    font-family: monospace;
    padding: 2px;
    margin: 0 4px 0 3px;
}

tokens_stmt {
    display: block;
    font-size: 125%;
    margin-bottom: 1.2em;
    padding-left: 2em;
}

tokens_stmt:before {
    content: "tokens";
    background-color: #ff8;
    font-size: 120%;
    font-weight: bold;
    margin-left: -1.6em;
    margin-right: 0.5em;
}

tokens_stmt:after {
    content: "end\a0  tokens";
    background-color: #ff8;
    font-size: medium;
    font-style: italic;
    margin-left: -2.4em;
    letter-spacing: -1px;
    padding-right: 0.25em;
}

tokendef {
    display: block;
    margin: 2px 0;
}

tokendef:before {
    content: "\a0";
    border-left: double #cd919e;
}

bar:before {
    content: "\a0| ";
    background-color: #ffb560;
    padding-bottom: 1px;
    margin: 0 2px;
}

token_ext:before {
    content: "... |";
    font-size: medium;
    background-color: #ffb560;
    padding: 0 2px 1px 3px;
    margin: 0 2px;
}

compounds_stmt {
    display: block;
    margin-bottom: 1.2em;
    padding-left: 2.4em;
}

compounds_stmt:before {
    content: "compounds";
    background-color: #ff8;
    font-size: 150%;
    font-weight: bold;
    margin-left: -1.5em;
    margin-right: 0.5em;
}

compounds_stmt:after {
    content: "end\a0  compounds";
    background-color: #ff8;
    font-style: italic;
    margin-left: -2.4em;
    letter-spacing: -1px;
    padding-right: 0.25em;
}

keys_stmt {
    display: block;
    margin-bottom: 1.2em;
    padding-left: 2.4em;
}

keys_stmt:before {
    content: "keys";
    background-color: #ff8;
    font-size: 150%;
    font-weight: bold;
    margin-left: -1.5em;
    margin-right: 0.5em;
}

keys_stmt:after {
    content: "end\a0  keys";
    background-color: #ff8;
    font-style: italic;
    margin-left: -2.4em;
    letter-spacing: -1px;
    padding-right: 0.25em;
}

/* =========================================================================
   The grammar
   ========================================================================= */

grammar {
    display: block;
}

grammar:before {
    content: "BEGIN\a0  GRAMMAR";
    display: block;
    font-family: sans-serif;
    letter-spacing: 1px;
    font-size: 50%;
    line-height: 1;
    background-color: #b0e0e6;
    border: thin solid #b0c4de;
    text-align: center;
    margin-bottom: 0.125in;
}

grammar:after {
    content: "BEGIN RULES";
    display: block;
    font-family: sans-serif;
    letter-spacing: 1px;
    font-size: 50%;
    line-height: 1;
    background-color: #b0e0e6;
    border: thin solid #b0c4de;
    text-align: center;
    margin-bottom: 0.25in;
}

define_stmt {
    display: block;
    font-size: 125%;
    margin-bottom: 1.2em;
}

define_stmt:before {
    content: "define";
    background-color: #ff8;
    font-size: 120%;
    font-weight: bold;
    padding: 0 2px;
    margin-right: 0.25em;
}

define_stmt:after {
    content: "end\a0  define";
    background-color: #ff8;
    font-size: medium;
    font-style: italic;
    padding-right: 0.25em;
    letter-spacing: -1px;
}

classT {
    color: red;
}

define_content {
    display: block;
    font-size: medium;
    margin-left: 2em;
}

define_alt {
    display: block;
}

define_alt:before {
    content: "|";
    font-weight: bold;
    font-size: 125%;
    background-color: #ff8;
    padding: 0 2px;
    margin-left: -1.2em;
    margin-right: 0.6em;
}

formatter {
    background-color: #ffb560;
    padding: 0 1px;
    margin: 0 2px;
}

formatter:before {
    content: "[";
    color: black;
}

formatter:after {
    content: "]";
    color: black;
}

class {
    border: thin solid red;
    white-space: nowrap;
    padding: 2px 2px 0 1px;
    margin: 0 4px 0 2px;
}

typedefs > vardef > class {
    padding: 0 2px 0 1px;
    margin: 0 2px;
}

class:before {
    content: "[";
    color: black;
    background-color: #ff8;
    padding: 2px 1px 0 0;
    margin-right: 1px;
}

class:after {
    content: "]";
    color: black;
    background-color: #ff8;
    padding: 2px 0 0 1px;
    margin-left: 1px;
}

typedefs > vardef > class:before {
    padding: 0;
}

typedefs > vardef > class:after {
    padding: 0;
}

backtrack_limit:before {
    content: "!";
    color: black;
    background-color: #ffb560;
    padding: 0 2px;
    margin-left: 2px;
}

attr:before {
    content: "attr ";
    color: red;
    font-weight: bold;
}

list:before {
    content: "list ";
    color: red;
    font-weight: bold;
}

plus:before {
    content: "+";
    color: black;
    background-color: #ffb560;
    padding: 0 1px 0 2px;
    margin: 0 1px 0 4px;
}

not:before {
    content: "not ";
    color: red;
    font-weight: bold;
}

opt:before {
    content: "opt ";
    color: red;
    font-weight: bold;
}

repeat:before {
    content: "repeat ";
    color: red;
    font-weight: bold;
}

see:before {
    content: "see ";
    color: red;
    font-weight: bold;
}

literal {
    border: thin solid green;
    white-space: nowrap;
    font-family: monospace;
    padding: 0 2px 0 1px;
    margin: 0 4px 0 2px;
    color: green;
}

literal:before {
    content: "'";
    font-family: variable;
    background-color: #ff8;
    color: black;
    margin-right: 2px;
}

type {
    font-size: 75%;
    font-family: serif;
    text-decoration: underline;
    color: red;
    padding-left: 4px;
}


/* =========================================================================
   The rules
   ========================================================================= */

rule_stmt {
    display: block;
    font-size: 125%;
    margin-bottom: 1.2em;
}

rule_stmt:after {
    content: "end\a0  rule/function";
    background-color: #ff8;
    font-size: medium;
    font-style: italic;
    letter-spacing: -1px;
    padding-right: 0.25em;
}

rule:before {
    content: "rule";
    background-color: #ff8;
    font-size: 120%;
    font-weight: bold;
    padding: 0 2px;
    margin-right: 0.5em;
}

function:before {
    content: "function";
    background-color: #ff8;
    font-size: 120%;
    font-weight: bold;
    padding: 0 2px;
    margin-right: 0.5em;
}

ruleT {
    color: #c0c;
    margin-right: 0.25em;
}

ruleargs {
    font-size: medium;
    margin-left: 1em;
}

vardef {
    border: thin dashed blue;
    padding: 4px 0px 2px 0.25em;
    margin: 0 0.25em;
    white-space: nowrap;
}

typedefs > vardef {
    border: none;
    padding: 0;
    margin: 0;
}

underscore:before {
    content: "_";
    color: black;
    background-color: #ffb560;
    padding: 0 2px;
}

varT {
    font-style: italic;
    font-family: serif;
    color: blue;
    margin: 0 3px 0 2px;
}

scope:before {
    content: "$scope";
    font-style: normal;
}

callers_part {
    display: block;
    font-size: medium;
    margin: 0 1em 4px 2em;
    padding-left: 2em;
    background-color: #ffdab9;
    line-height: 1.2;
}

callers_part:before {
    content: "{callers}";
    padding: 0 2px;
    margin-left: -2em;
}

C { /* caller - save RAM in tpm-expr.Txl by shortening this tag-name */
    color: #c0c;
}

C:before {
    content: "| ";
    color: black;
}

loops_part {
    display: block;
    font-size: medium;
    margin: 0 1em 4px 2em;
    padding-left: 2em;
    background-color: #ffdab9;
    line-height: 1.2;
}

loops_part:before {
    display: block;
    content: "{loops}";
    padding: 0 2px;
    margin-left: -2em;
}

loopspec {
    display: block;
}

loopspec:before {
    content: "\21f4\a0";
}

typedefs {
    display: block;
    font-size: 80%;
    padding-left: 2.5em;
    margin: 0 1em 4px 2em;
    line-height: 1.5;
    background-color: #ffdab9;
}

typedefs:before {
    content: "{vars}";
    padding: 0 2px;
    margin-left: -2.5em;
    font-size: medium;
}

rule_content {
    display: block;
    font-size: medium;
    margin-left: 2em;
}

replace:before {
    content: "replace";
    color: black;
    background-color: #ff8;
    padding: 0 2px;
    margin-right: 0.5em;
    font-size: 125%
}

match:before {
    content: "match";
    color: black;
    background-color: #ff8;
    padding: 0 2px;
    margin-right: 0.5em;
    font-size: 125%
}

srch:before {
    content: "*";
    color: black;
    background-color: #ffb560;
    padding: 0 2px;
    margin-right: 0.5em;
}

new:before {
    content: "new";
    color: black;
    background-color: #ffb560;
    padding: 0 2px;
    margin-right: 0.5em;
}

inside:before {
    content: "$";
    color: black;
    background-color: #ffb560;
    padding: 0 2px;
    margin-right: 0.5em;
}

by:before {
    content: "by";
    color: black;
    background-color: #ff8;
    padding: 0 2px;
    font-size: 125%
}

pattern {
    display: block;
    margin-left: 2em;
    line-height: 2;
}

replacement {
    display: block;
    padding-left: 2em;
}

rule_part {
    display: block;
    border-left: thin solid #888;
    margin: 4px 0;
}

construct_stmt:before {
    content: "construct";
    color: black;
    background-color: #ff8;
    font-size: 125%;
    padding: 0 2px;
    margin-right: 0.5em;
}

deconstruct_stmt:before {
    content: "deconstruct";
    color: black;
    background-color: #ff8;
    font-size: 125%;
    padding: 0 2px;
    margin-right: 0.5em;
}

neg:before {
    content: "not";
    color: black;
    background-color: #ffb560;
    padding: 0 2px;
    margin-right: 0.5em;
}

condition_stmt {
    display: block;
    margin-left: 2em;
}

where:before {
    content: "where";
    color: black;
    background-color: #ff8;
    font-size: 125%;
    padding: 0 2px;
    margin-left: -1.6em;
    margin-right: 0.5em;
}

assert:before {
    content: "assert";
    color: black;
    background-color: #ff8;
    font-size: 125%;
    padding: 0 2px;
    margin-left: -1.6em;
    margin-right: 0.5em;
}

all:before {
    content: "all";
    color: black;
    background-color: #ffb560;
    margin-right: 0.5em;
    padding: 0 2px;
}

import_stmt:before {
    content: "import";
    color: black;
    background-color: #ff8;
    font-size: 125%;
    padding: 0 2px;
    margin-right: 0.5em;
}

export_stmt:before {
    content: "export";
    color: black;
    background-color: #ff8;
    font-size: 125%;
    padding: 0 2px;
    margin-right: 0.5em;
}

skipping_stmt {
    border: thin dashed #ffb560;
    padding: 4px 0px 2px 0.25em;
    margin-right: 0.25em;
    white-space: nowrap;
}

skipping_stmt:before {
    content: "skipping";
    color: black;
    background-color: #ff8;
    font-size: 125%;
    padding: 0 2px;
    margin-right: 0.5em;
}

expression {
    margin-right: 4px;
}

expression:before {
    content: "\a0";
    color: black;
    border-left: double cyan;
    padding: 6px 0px;
}

each:before {
    content: "each";
    color: black;
    background-color: #ffb560;
    margin: 0 2px;
    padding: 0 2px;
}

rule_application {
    border: thin dashed magenta;
    padding: 4px 2px 2px 2px;
    margin: 0 3px;
    font-size: smaller;
}

rule_application:before {
    content: "[";
    color: black;
    background-color: #ff8;
    padding-right: 1px;
    margin-right: 2px;
    font-size: larger;
}

rule_application:after {
    content: "]";
    color: black;
    background-color: #ff8;
    padding-left: 1px;
    font-size: larger;
}

prim {
    color: #c0c;
    font-size: larger;
    font-weight: bold;
    margin-right: 0.25em;
}

B > prim {
    color: #f4a460;
    font-size: larger;
    margin-right: 0.25em;
}

alpha:before {
    content: "a";
    color: #888;
    font-size: 50%;
    font-weight: normal;
    vertical-align: -2px;
}

num:before {
    content: "N";
    color: #888;
    font-size: 50%;
    font-weight: normal;
    vertical-align: -2px;
}

crisis {
    background-color: #ff8c69;
    border: double #b22222;
    margin-right: 2px;
}

nocrisis {
    background-color: #f0d0a8;
    border: double #b22222;
    margin-right: 2px;
}

tid {
    font-family: serif;
    font-size: 75%;
    vertical-align: 0.45em;
    background-color: #b22222;
    color: white;
    font-weight: bold;
    padding: 0 2px;
    margin: 0 2px;
}

assert_failedB > assertB > tid, assert_provenB > assertB > tid {
    display: none;
}

crisis_recursive,
crisis_nodollar,
crisis_rule,
crisis_shellcmd,
crisis_outfile,
crisis_userassert {
    font-family: serif;
    font-size: 75%;
    vertical-align: 0.45em;
    background-color: #b22222;
    color: white;
    font-weight: bold;
    padding: 0 2px;
    margin: 0 2px;
}

crisis_nodollar:before {
    content: "no $";
}

crisis_rule:before {
    content: "rule";
}

crisis_recursive:before {
    content: "recursive";
}

crisis_shellcmd:before {
    content: "shell-cmd";
}

crisis_outfile:before {
    content: "outfile";
}

crisis_userassert:before {
    content: "user-assert";
}

assertions {
    display: block;
    border: double #ffd700;
    padding-left: 1em;
    font-size: large;
    margin: 0 1em 0.5em 1em;
}

assertions:before {
    content: "Assertions:";
    color: black;
    padding: 0 2px;
    margin-left: -0.8em;
}

assertB {
    display: block;
    padding-left: 2em;
    padding-bottom: 4px;
    line-height: 1.2;
}

assertB:before {
    content: "\22a8\a0";
    color: black;
    margin-left: -2em;
    vertical-align: 0.3em;
}

assert_failedB, assert_provenB {
    display: block;
    padding-left: 36px;
    padding-bottom: 4px;
    line-height: 1.2;
}

assert_failedB:before {
    content: "\263a\a0 Failed: ";
    color: #ff6eb4;
    font-weight: bold;
    margin-left: -36px;
    vertical-align: 0.3em;
}

assert_provenB:before {
    content: "\2622\a0 Proven: ";
    color: #ff6eb4;
    font-size: 125%;
    margin-left: -2.4em;
    vertical-align: 0.2em;
}

assert_failedB > assertB:before, assert_provenB > assertB:before {
    content: "";
}

orB > B, andB > B,
orB > notB, andB > notB,
orB > orB, andB > orB,
orB > andB, andB > andB,
orB > trueB, andB > trueB,
orB > falseB, andB > falseB,
orB > matchB, andB > matchB,
orB > structureB, andB > structureB  {
    display: block;
    margin-left: 20px;
    padding-left: 20px;
}

orB > B:before, andB > B:before,
orB > notB:before, andB > notB:before,
orB > orB:before, andB > orB:before,
orB > andB:before, andB > andB:before,
orB > trueB:before, andB > trueB:before,
orB > falseB:before, andB > falseB:before,
orB > matchB:before, andB > matchB:before,
orB > structureB:before, andB > structureB:before  {
    margin-left: -10px;
}

trueB > orB, trueB > andB, falseB > orB, falseB > andB {
    display: inline;
    margin-left: 0;
}

splitB > andB, splitB > orB, splitB > trueB, splitB > falseB {
    display: block;
    margin-left: 40px;
    color: black;
}

andB:before {
    content: "[$and";
    color: #f4a460;
    font-family: monospace;
}

orB:before {
    content: "[$or";
    color: #f4a460;
    font-family: monospace;
}

orB:after, andB:after {
    content: "]";
    color: #f4a460;
    font-family: monospace;
    margin-left: 2px;
}

loopB {
    color: black;  /* For when it's inside <splitB> */
}

loopB:before {
    content: "Loop:";
    color: black;
    margin-right: 2px;
}

loopB > matchB, loopB > falseB {
    display: block;
    margin-left: 40px;
    padding-left: 2em;
}

loopB > matchB:before, loopB > falseB:before {
    margin-left: -2em;
}

B {
    font-size: smaller;
}

B:before {
    content: "[";
    color: #f4a460;
    font-size: larger;
    font-family: monospace;
}

B:after {
    content: "]";
    color: #f4a460;
    font-size: larger;
    margin-left: 2px;
    font-family: monospace;
}

notB:before {
    content: "not";
    color: black;
    background-color: #ffdab9;
    padding: 0 2px;
}

matchB {
    font-size: smaller;
}

matchB:before {
    content: "[$match";
    color: #f4a460;
    font-size: larger;
    font-family: monospace;
}

structureB {
    font-size: smaller;
}

structureB:before {
    content: "[$structure";
    color: #f4a460;
    font-size: larger;
    font-family: monospace;
}

structure_mark:before {
    color: #f4a460;
    content: "\21e8\a0";
}

matchB:after,structureB:after {
    content: "]";
    color: #f4a460;
    margin-left: 2px;
    font-size: larger;
    font-family: monospace;
}

splitB {
    color: #888;
}

splitB:before {
    content: "[$split ";
    color: #f4a460;
    font-family: monospace;
}

splitB:after {
    content: "]";
    color: #f4a460;
    margin-left: 2px;
    font-family: monospace;
}

split_mark {
    display: block;
    margin-left: 18px;
}

split_mark:before {
    content: "For the loop to be infinite:";
    color: black;
    font-weight: bold;
}

prevtids {
    display: block;
    margin-left: 36px;
    margin-top: 3px;
    margin-bottom: -0.2em;  /* These are all superscripts */
    color: black;
}

prevtids:before {
    content: "\21a3";
    color: #f4a460;
    vertical-align: 0.25em;
}

trueB, falseB {
    font-size: smaller;
}

trueB:before {
    content: "[TRUE";
    font-size: larger;
    font-family: monospace;
    color: #ff6eb4;
}
trueB:after {
    content: "]";
    font-size: larger;
    font-family: monospace;
    color: #ff6eb4;
    margin-left: 2px;
}

falseB:before {
    content: "[FALSE";
    font-size: larger;
    font-family: monospace;
    font-weight: bold;
    margin-left: 2px;
    color: #ff6eb4;
}
falseB:after {
    content: "]";
    font-size: larger;
    font-family: monospace;
    font-weight: bold;
    color: #ff6eb4;
    margin-left: 2px;
}

rulescopeA, ruleargA, varclass {
    font-size: smaller;
}

rulescopeA:before {
    content: "[$rulescope\a0";
    color: #b8860b;
    font-size: larger;
    font-family: monospace;
}

ruleargA:before {
    content: "[$rulearg\a0";
    color: #b8860b;
    font-size: larger;
    font-family: monospace;
}

varclass:before {
    content: "[$varclass\a0";
    color: #b8860b;
    font-size: larger;
    font-family: monospace;
}

rulescopeA:after, ruleargA:after, varclass:after {
    content: "]";
    color: #b8860b;
    font-size: larger;
    font-family: monospace;
}

extref {
    color: black;
    font-style: italic;
    font-size: smaller;
    padding-right: 1px;
}

extref:before {
    content: "\2423";
    color: #b8860b;
}

loopref {
    color: black;
    font-style: italic;
    font-size: smaller;
    padding-right: 1px;
}

loopref:before {
    content: "\221d";
    padding-left: 1px;
    vertical-align: -2px;
    color: #b8860b;
}

varA, indexvarA {
    color: black;
    font-style: italic;
    padding-right: 2px;
}

indexvarA:before {
    content: "¡";
    font-size: smaller;
}

nthA {
    font-size: smaller;
    color: black;
}

nthA:before {
    content: "[$nth";
    color: #b8860b;
    font-size: larger;
    font-family: monospace;
}

nthA:after {
    content: "]";
    color: #b8860b;
    font-size: larger;
    padding-left: 2px;
    font-family: monospace;
}

A {
    font-size: smaller;
    color: black;
}

A:before {
    content: "[";
    color: #b8860b;
    font-size: larger;
    font-weight: bold;
    font-family: monospace;
}

A:after {
    content: "]";
    color: #b8860b;
    font-size: larger;
    font-weight: bold;
    margin-left: 2px;
    font-family: monospace;
}

constructA {
    font-size: smaller;
    color: black;
}

constructA:before {
    content: "\2320";
    color: #b8860b;
    font-weight: bold;
    margin-right: 2px;
    font-size: larger;
}

constructA:after {
    content: "\2321";
    color: #b8860b;
    font-weight: bold;
    font-size: larger;
    margin-left: 2px;
}

construct_tail:before {
    content: "\222b";
    color: #b8860b;
    font-weight: bold;
    font-size: larger;
}

skippingA {
    border: thin dashed #ffb560;
    padding: 4px 0px 2px 0.25em;
    margin-right: 0.5em;
    white-space: nowrap;
}

skippingA:before {
    content: "skipping";
    color: black;
    background-color: #ffb560;
    padding: 0 2px;
    margin-right: 0.5em;
}

defalt {
    font-size: smaller;
    vertical-align: -2px;
    margin-left: -2px;
    color: red;
}

defalt:before {
    content: "´";
}

deconstructA {
    margin: 0 2px;
}

deconstruct_mark:before {
    content: "\21af";
    color: #8b6508;
}

classnth {
    font-size: smaller;
    color: black;
    vertical-align: -2px;
}

classnth:before {
    content: "(#";
}

classnth:after {
    content: ")";
}

zero:before {
    content: "0";
    color: green;
}

empty:before {
    content: "$empty";
    color: black;
    padding: 0 2px;
}

/* These exist only in stage 3? */

placeholder:before {
    content: "$placeholder";
    color: black;
    background-color: #ffdab9;
    padding: 0 2px;
}

unknown_class:before {
    content: "$unknown_class";
    color: black;
    background-color: #ffdab9;
    padding: 0 2px;
}
