overflow-x: auto;
   margin-top: 0; /* stupid defaults */
 }
+pre.m-console {
+  background-color: #000000;
+}
 abbr {
   cursor: help;
   text-decoration: underline dotted;
   color: #e6e6e6;
   background-color: #22272e;
 }
+code.m-console {
+  background-color: #000000;
+}
 body > header > nav {
   width: 100%;
   background-color: #22272e;
   color: #ffffff;
 }
 #m-landing-cover {
-  padding-bottom: 4rem;
+  padding-bottom: 6rem;
+  margin-bottom: -3rem;
 }
 article#m-jumbo {
   margin-top: -1rem;
                    table.m-table tr.m-default th, table.m-table th.m-default {
   color: #dcdcdc;
 }
-.m-note.m-primary a:hover, table.m-table tr.m-primary td a:hover, table.m-table td.m-primary a:hover,
-                           table.m-table tr.m-primary th a:hover, table.m-table th.m-primary a:hover,
-.m-note.m-primary a:focus, table.m-table tr.m-primary td a:focus, table.m-table td.m-primary a:focus,
-                           table.m-table tr.m-primary th a:focus, table.m-table th.m-primary a:focus,
-.m-note.m-primary a:active, table.m-table tr.m-primary td a:active, table.m-table td.m-primary a:active,
-                            table.m-table tr.m-primary th a:active, table.m-table th.m-primary a:active {
+.m-note.m-default a:hover, table.m-table tr.m-default td a:hover, table.m-table td.m-default a:hover,
+                           table.m-table tr.m-default th a:hover, table.m-table th.m-default a:hover,
+.m-note.m-default a:focus, table.m-table tr.m-default td a:focus, table.m-table td.m-default a:focus,
+                           table.m-table tr.m-default th a:focus, table.m-table th.m-default a:focus,
+.m-note.m-default a:active, table.m-table tr.m-default td a:active, table.m-table td.m-default a:active,
+                            table.m-table tr.m-default th a:active, table.m-table th.m-default a:active {
   color: #a5c9ea;
 }
 .m-note.m-primary a, table.m-table tr.m-primary td a, table.m-table td.m-primary a,
   margin-top: 1rem;
   height: 1px;
 }
-figure.m-code-figure {
+figure.m-code-figure, figure.m-console-figure {
   margin-top: 0;
   margin-left: 0;
   margin-right: 0;
   position: relative;
   padding: 1rem;
 }
-figure.m-code-figure:before {
+figure.m-code-figure:before, figure.m-console-figure:before {
   position: absolute;
   content: ' ';
   top: 0;
   border-style: solid;
   border-width: 0.125rem;
   border-radius: 0.2rem;
-  border-color: #22272e; /* to match the <pre> background */
 }
-figure.m-code-figure.m-flat:before {
+figure.m-code-figure:before {
+  border-color: #22272e;
+}
+figure.m-console-figure:before {
+  border-color: #000000;
+}
+figure.m-code-figure.m-flat:before, figure.m-console-figure.m-flat:before {
   border-color: transparent;
 }
-figure.m-code-figure > pre:first-child {
+figure.m-code-figure > pre:first-child, figure.m-console-figure > pre:first-child {
   position: relative; /* so it's above the border */
   margin: -1rem -1rem 1rem -1rem;
   border-bottom-left-radius: 0;
   border-bottom-right-radius: 0;
 }
-article section:target figure.m-code-figure {
+article section:target figure.m-code-figure, article section:target figure.m-console-figure {
   z-index: 1; /* so the selection border isn't above figure border */
 }
 .m-imagegrid > div {
 .m-container-inflatable > .m-row > [class*='m-col-'] > .m-frame,
 .m-container-inflatable > .m-row > [class*='m-col-'] > .m-block,
 .m-container-inflatable > .m-row > [class*='m-col-'] > .m-imagegrid,
-.m-container-inflatable > .m-row > [class*='m-col-'] > pre.m-code,
+.m-container-inflatable > .m-row > [class*='m-col-'] > pre,
 .m-container-inflatable > .m-row > [class*='m-col-'] > figure.m-code-figure,
+.m-container-inflatable > .m-row > [class*='m-col-'] > figure.m-console-figure,
 .m-container-inflatable > .m-row > [class*='m-col-'] section > .m-note,
 .m-container-inflatable > .m-row > [class*='m-col-'] section > .m-frame,
 .m-container-inflatable > .m-row > [class*='m-col-'] section > .m-block,
 .m-container-inflatable > .m-row > [class*='m-col-'] section > .m-imagegrid,
-.m-container-inflatable > .m-row > [class*='m-col-'] section > pre.m-code,
-.m-container-inflatable > .m-row > [class*='m-col-'] section > figure.m-code-figure {
+.m-container-inflatable > .m-row > [class*='m-col-'] section > pre,
+.m-container-inflatable > .m-row > [class*='m-col-'] section > figure.m-code-figure,
+.m-container-inflatable > .m-row > [class*='m-col-'] section > figure.m-console-figure {
   margin-left: -1rem;
   margin-right: -1rem;
 }
 .m-container-inflatable section:target > .m-note,
 .m-container-inflatable section:target > .m-frame,
 .m-container-inflatable section:target > .m-block,
-.m-container-inflatable section:target > pre.m-code,
+.m-container-inflatable section:target > pre,
 .m-container-inflatable section:target > figure.m-code-figure > pre:first-child,
+.m-container-inflatable section:target > figure.m-console-figure > pre:first-child,
 .m-container-inflatable section:target section > .m-note,
 .m-container-inflatable section:target section > .m-frame,
 .m-container-inflatable section:target section > .m-block,
-.m-container-inflatable section:target section > pre.m-code,
-.m-container-inflatable section:target section > figure.m-code-figure > pre:first-child {
+.m-container-inflatable section:target section > pre,
+.m-container-inflatable section:target section > figure.m-code-figure > pre:first-child,
+.m-container-inflatable section:target section > figure.m-console-figure > pre:first-child {
   margin-left: -1.0rem;
   border-left-style: solid;
   border-left-width: 0.25rem;
   padding-left: 0.75rem;
 }
 .m-container-inflatable section:target > figure.m-code-figure::before,
-.m-container-inflatable section:target section > figure.m-code-figure::before {
+.m-container-inflatable section:target > figure.m-console-figure::before,
+.m-container-inflatable section:target section > figure.m-code-figure::before,
+.m-container-inflatable section:target section > figure.m-console-figure::before {
   border-top-left-radius: 0;
   border-bottom-left-radius: 0;
   border-left-width: 0.25rem;
 }
-.m-container-inflatable section:target > pre.m-code,
+.m-container-inflatable section:target > pre,
 .m-container-inflatable section:target > figure.m-code-figure > pre:first-child,
-.m-container-inflatable section:target section > pre.m-code,
-.m-container-inflatable section:target section > figure.m-code-figure > pre:first-child {
+.m-container-inflatable section:target > figure.m-console-figure > pre:first-child,
+.m-container-inflatable section:target section > pre,
+.m-container-inflatable section:target section > figure.m-code-figure > pre:first-child,
+.m-container-inflatable section:target section > figure.m-console-figure > pre:first-child {
   border-color: #405363;
 }
 .m-container-inflatable section:target > figure.m-code-figure::before,
-.m-container-inflatable section:target section > figure.m-code-figure::before,
+.m-container-inflatable section:target > figure.m-console-figure::before,
 .m-container-inflatable section:target > .m-note.m-default,
+.m-container-inflatable section:target section > figure.m-code-figure::before,
+.m-container-inflatable section:target section > figure.m-console-figure::before,
 .m-container-inflatable section:target section > .m-note.m-default {
   border-left-color: #405363;
 }
 div.m-math.m-danger svg, svg.m-math.m-danger { fill: #cd3431; }
 div.m-math.m-info svg, svg.m-math.m-info { fill: #2f83cc; }
 div.m-math.m-dim svg, svg.m-math.m-dim { fill: #747474; }
-p, ul, ol, dl, blockquote, hr, pre, figure.m-code-figure,
-article, article > header, article section,
+p, ul, ol, dl, blockquote, pre, figure.m-code-figure, figure.m-console-figure,
+hr, article, article > header, article section,
 .m-note, .m-frame, .m-block, .m-button,
 div.m-scroll, table.m-table, div.m-image, img.m-image,
 figure.m-figure, .m-imagegrid, div.m-math {
   margin-bottom: 1rem;
 }
 p:last-child, ul:last-child, ol:last-child, dl:last-child, blockquote:last-child,
-hr:last-child, pre:last-child, figure.m-code-figure:last-child,
-article:last-child, article section:last-child,
+pre:last-child, figure.m-code-figure:last-child, figure.m-console-figure:last-child,
+hr:last-child, article:last-child, article section:last-child,
 .m-note:last-child, .m-frame:last-child, .m-block:last-child, .m-button:last-child,
 table.m-table:last-child, img.m-image:last-child, div.m-image:last-child,
 figure.m-figure:last-child, .m-imagegrid:last-child, div.m-math:last-child {
 .m-code .vi { color: #c7cf2f } /* Name.Variable.Instance */
 .m-code .vm { color: #c7cf2f } /* Name.Variable.Magic */
 .m-code .il { color: #c7cf2f } /* Literal.Number.Integer.Long */
+
+.m-console .hll { background-color: #ffffcc }
+.m-console .g-AnsiBlack { color: #000000 } /* Generic.AnsiBlack */
+.m-console .g-AnsiBlue { color: #3f3fd1 } /* Generic.AnsiBlue */
+.m-console .g-AnsiBrightBlack { color: #686868; font-weight: bold } /* Generic.AnsiBrightBlack */
+.m-console .g-AnsiBrightBlue { color: #5454ff; font-weight: bold } /* Generic.AnsiBrightBlue */
+.m-console .g-AnsiBrightCyan { color: #54ffff; font-weight: bold } /* Generic.AnsiBrightCyan */
+.m-console .g-AnsiBrightDefault { color: #ffffff; font-weight: bold } /* Generic.AnsiBrightDefault */
+.m-console .g-AnsiBrightGreen { color: #54ff54; font-weight: bold } /* Generic.AnsiBrightGreen */
+.m-console .g-AnsiBrightMagenta { color: #ff54ff; font-weight: bold } /* Generic.AnsiBrightMagenta */
+.m-console .g-AnsiBrightRed { color: #ff5454; font-weight: bold } /* Generic.AnsiBrightRed */
+.m-console .g-AnsiBrightWhite { color: #ffffff; font-weight: bold } /* Generic.AnsiBrightWhite */
+.m-console .g-AnsiBrightYellow { color: #ffff54; font-weight: bold } /* Generic.AnsiBrightYellow */
+.m-console .g-AnsiCyan { color: #18b2b2 } /* Generic.AnsiCyan */
+.m-console .g-AnsiDefault { color: #b2b2b2 } /* Generic.AnsiDefault */
+.m-console .g-AnsiGreen { color: #18b218 } /* Generic.AnsiGreen */
+.m-console .g-AnsiMagenta { color: #b218b2 } /* Generic.AnsiMagenta */
+.m-console .g-AnsiRed { color: #b21818 } /* Generic.AnsiRed */
+.m-console .g-AnsiWhite { color: #b2b2b2 } /* Generic.AnsiWhite */
+.m-console .g-AnsiYellow { color: #b26818 } /* Generic.AnsiYellow */
+.m-console .go { color: #b2b2b2 } /* Generic.Output */
+.m-console .gp { color: #54ffff; font-weight: bold } /* Generic.Prompt */
+.m-console .w { color: #b2b2b2 } /* Text.Whitespace */
 
   overflow-x: auto;
   margin-top: 0; /* stupid defaults */
 }
+pre.m-console {
+  background-color: #000000;
+}
 abbr {
   cursor: help;
   text-decoration: underline dotted;
   color: #5b5b5b;
   background-color: #fbf0ec;
 }
+code.m-console {
+  background-color: #000000;
+}
 body > header > nav {
   width: 100%;
   background-color: #ffffff;
   color: #ffffff;
 }
 #m-landing-cover {
-  padding-bottom: 4rem;
+  padding-bottom: 6rem;
+  margin-bottom: -3rem;
 }
 article#m-jumbo {
   margin-top: -1rem;
 .m-fullwidth {
   width: 100%;
 }
-.m-text-center, .m-text-center.m-noindent {
+.m-text-center, .m-text-center.m-noindent, table.m-table th.m-text-center, .m-text-center p {
   text-align: center;
 }
-.m-text-left, .m-text-left.m-noindent {
+.m-text-left, .m-text-left.m-noindent, table.m-table th.m-text-left, .m-text-right p {
   text-align: left;
 }
-.m-text-right, .m-text-right.m-noindent {
+.m-text-right, .m-text-right.m-noindent, table.m-table th.m-text-right, .m-text-right p {
   text-align: right;
 }
 .m-text.m-small {
                    table.m-table tr.m-default th, table.m-table th.m-default {
   color: #000000;
 }
-.m-note.m-primary a:hover, table.m-table tr.m-primary td a:hover, table.m-table td.m-primary a:hover,
-                           table.m-table tr.m-primary th a:hover, table.m-table th.m-primary a:hover,
-.m-note.m-primary a:focus, table.m-table tr.m-primary td a:focus, table.m-table td.m-primary a:focus,
-                           table.m-table tr.m-primary th a:focus, table.m-table th.m-primary a:focus,
-.m-note.m-primary a:active, table.m-table tr.m-primary td a:active, table.m-table td.m-primary a:active,
-                            table.m-table tr.m-primary th a:active, table.m-table th.m-primary a:active {
+.m-note.m-default a:hover, table.m-table tr.m-default td a:hover, table.m-table td.m-default a:hover,
+                           table.m-table tr.m-default th a:hover, table.m-table th.m-default a:hover,
+.m-note.m-default a:focus, table.m-table tr.m-default td a:focus, table.m-table td.m-default a:focus,
+                           table.m-table tr.m-default th a:focus, table.m-table th.m-default a:focus,
+.m-note.m-default a:active, table.m-table tr.m-default td a:active, table.m-table td.m-default a:active,
+                            table.m-table tr.m-default th a:active, table.m-table th.m-default a:active {
   color: #cb4b16;
 }
 .m-note.m-primary a, table.m-table tr.m-primary td a, table.m-table td.m-primary a,
   margin-top: 1rem;
   height: 1px;
 }
-figure.m-code-figure {
+figure.m-code-figure, figure.m-console-figure {
   margin-top: 0;
   margin-left: 0;
   margin-right: 0;
   position: relative;
   padding: 1rem;
 }
-figure.m-code-figure:before {
+figure.m-code-figure:before, figure.m-console-figure:before {
   position: absolute;
   content: ' ';
   top: 0;
   border-style: solid;
   border-width: 0.125rem;
   border-radius: 0.2rem;
-  border-color: #fbf0ec; /* to match the <pre> background */
 }
-figure.m-code-figure.m-flat:before {
+figure.m-code-figure:before {
+  border-color: #fbf0ec;
+}
+figure.m-console-figure:before {
+  border-color: #000000;
+}
+figure.m-code-figure.m-flat:before, figure.m-console-figure.m-flat:before {
   border-color: transparent;
 }
-figure.m-code-figure > pre:first-child {
+figure.m-code-figure > pre:first-child, figure.m-console-figure > pre:first-child {
   position: relative; /* so it's above the border */
   margin: -1rem -1rem 1rem -1rem;
   border-bottom-left-radius: 0;
   border-bottom-right-radius: 0;
 }
-article section:target figure.m-code-figure {
+article section:target figure.m-code-figure, article section:target figure.m-console-figure {
   z-index: 1; /* so the selection border isn't above figure border */
 }
 .m-imagegrid > div {
 .m-container-inflatable > .m-row > [class*='m-col-'] > .m-frame,
 .m-container-inflatable > .m-row > [class*='m-col-'] > .m-block,
 .m-container-inflatable > .m-row > [class*='m-col-'] > .m-imagegrid,
-.m-container-inflatable > .m-row > [class*='m-col-'] > pre.m-code,
+.m-container-inflatable > .m-row > [class*='m-col-'] > pre,
 .m-container-inflatable > .m-row > [class*='m-col-'] > figure.m-code-figure,
+.m-container-inflatable > .m-row > [class*='m-col-'] > figure.m-console-figure,
 .m-container-inflatable > .m-row > [class*='m-col-'] section > .m-note,
 .m-container-inflatable > .m-row > [class*='m-col-'] section > .m-frame,
 .m-container-inflatable > .m-row > [class*='m-col-'] section > .m-block,
 .m-container-inflatable > .m-row > [class*='m-col-'] section > .m-imagegrid,
-.m-container-inflatable > .m-row > [class*='m-col-'] section > pre.m-code,
-.m-container-inflatable > .m-row > [class*='m-col-'] section > figure.m-code-figure {
+.m-container-inflatable > .m-row > [class*='m-col-'] section > pre,
+.m-container-inflatable > .m-row > [class*='m-col-'] section > figure.m-code-figure,
+.m-container-inflatable > .m-row > [class*='m-col-'] section > figure.m-console-figure {
   margin-left: -1rem;
   margin-right: -1rem;
 }
 .m-container-inflatable section:target > .m-note,
 .m-container-inflatable section:target > .m-frame,
 .m-container-inflatable section:target > .m-block,
-.m-container-inflatable section:target > pre.m-code,
+.m-container-inflatable section:target > pre,
 .m-container-inflatable section:target > figure.m-code-figure > pre:first-child,
+.m-container-inflatable section:target > figure.m-console-figure > pre:first-child,
 .m-container-inflatable section:target section > .m-note,
 .m-container-inflatable section:target section > .m-frame,
 .m-container-inflatable section:target section > .m-block,
-.m-container-inflatable section:target section > pre.m-code,
-.m-container-inflatable section:target section > figure.m-code-figure > pre:first-child {
+.m-container-inflatable section:target section > pre,
+.m-container-inflatable section:target section > figure.m-code-figure > pre:first-child,
+.m-container-inflatable section:target section > figure.m-console-figure > pre:first-child {
   margin-left: -1.0rem;
   border-left-style: solid;
   border-left-width: 0.25rem;
   padding-left: 0.75rem;
 }
 .m-container-inflatable section:target > figure.m-code-figure::before,
-.m-container-inflatable section:target section > figure.m-code-figure::before {
+.m-container-inflatable section:target > figure.m-console-figure::before,
+.m-container-inflatable section:target section > figure.m-code-figure::before,
+.m-container-inflatable section:target section > figure.m-console-figure::before {
   border-top-left-radius: 0;
   border-bottom-left-radius: 0;
   border-left-width: 0.25rem;
 }
-.m-container-inflatable section:target > pre.m-code,
+.m-container-inflatable section:target > pre,
 .m-container-inflatable section:target > figure.m-code-figure > pre:first-child,
-.m-container-inflatable section:target section > pre.m-code,
-.m-container-inflatable section:target section > figure.m-code-figure > pre:first-child {
+.m-container-inflatable section:target > figure.m-console-figure > pre:first-child,
+.m-container-inflatable section:target section > pre,
+.m-container-inflatable section:target section > figure.m-code-figure > pre:first-child,
+.m-container-inflatable section:target section > figure.m-console-figure > pre:first-child {
   border-color: #f7e3db;
 }
 .m-container-inflatable section:target > figure.m-code-figure::before,
-.m-container-inflatable section:target section > figure.m-code-figure::before,
+.m-container-inflatable section:target > figure.m-console-figure::before,
 .m-container-inflatable section:target > .m-note.m-default,
+.m-container-inflatable section:target section > figure.m-code-figure::before,
+.m-container-inflatable section:target section > figure.m-console-figure::before,
 .m-container-inflatable section:target section > .m-note.m-default {
   border-left-color: #f7e3db;
 }
 div.m-math.m-danger svg, svg.m-math.m-danger { fill: #f60000; }
 div.m-math.m-info svg, svg.m-math.m-info { fill: #2e7dc5; }
 div.m-math.m-dim svg, svg.m-math.m-dim { fill: #bdbdbd; }
-p, ul, ol, dl, blockquote, hr, pre, figure.m-code-figure,
-article, article > header, article section,
+p, ul, ol, dl, blockquote, pre, figure.m-code-figure, figure.m-console-figure,
+hr, article, article > header, article section,
 .m-note, .m-frame, .m-block, .m-button,
 div.m-scroll, table.m-table, div.m-image, img.m-image,
 figure.m-figure, .m-imagegrid, div.m-math {
   margin-bottom: 1rem;
 }
 p:last-child, ul:last-child, ol:last-child, dl:last-child, blockquote:last-child,
-hr:last-child, pre:last-child, figure.m-code-figure:last-child,
-article:last-child, article section:last-child,
+pre:last-child, figure.m-code-figure:last-child, figure.m-console-figure:last-child,
+hr:last-child, article:last-child, article section:last-child,
 .m-note:last-child, .m-frame:last-child, .m-block:last-child, .m-button:last-child,
 table.m-table:last-child, img.m-image:last-child, div.m-image:last-child,
 figure.m-figure:last-child, .m-imagegrid:last-child, div.m-math:last-child {
   margin-bottom: 0;
 }
+
+.m-console .hll { background-color: #ffffcc }
+.m-console .g-AnsiBlack { color: #000000 } /* Generic.AnsiBlack */
+.m-console .g-AnsiBlue { color: #3f3fd1 } /* Generic.AnsiBlue */
+.m-console .g-AnsiBrightBlack { color: #686868; font-weight: bold } /* Generic.AnsiBrightBlack */
+.m-console .g-AnsiBrightBlue { color: #5454ff; font-weight: bold } /* Generic.AnsiBrightBlue */
+.m-console .g-AnsiBrightCyan { color: #54ffff; font-weight: bold } /* Generic.AnsiBrightCyan */
+.m-console .g-AnsiBrightDefault { color: #ffffff; font-weight: bold } /* Generic.AnsiBrightDefault */
+.m-console .g-AnsiBrightGreen { color: #54ff54; font-weight: bold } /* Generic.AnsiBrightGreen */
+.m-console .g-AnsiBrightMagenta { color: #ff54ff; font-weight: bold } /* Generic.AnsiBrightMagenta */
+.m-console .g-AnsiBrightRed { color: #ff5454; font-weight: bold } /* Generic.AnsiBrightRed */
+.m-console .g-AnsiBrightWhite { color: #ffffff; font-weight: bold } /* Generic.AnsiBrightWhite */
+.m-console .g-AnsiBrightYellow { color: #ffff54; font-weight: bold } /* Generic.AnsiBrightYellow */
+.m-console .g-AnsiCyan { color: #18b2b2 } /* Generic.AnsiCyan */
+.m-console .g-AnsiDefault { color: #b2b2b2 } /* Generic.AnsiDefault */
+.m-console .g-AnsiGreen { color: #18b218 } /* Generic.AnsiGreen */
+.m-console .g-AnsiMagenta { color: #b218b2 } /* Generic.AnsiMagenta */
+.m-console .g-AnsiRed { color: #b21818 } /* Generic.AnsiRed */
+.m-console .g-AnsiWhite { color: #b2b2b2 } /* Generic.AnsiWhite */
+.m-console .g-AnsiYellow { color: #b26818 } /* Generic.AnsiYellow */
+.m-console .go { color: #b2b2b2 } /* Generic.Output */
+.m-console .gp { color: #54ffff; font-weight: bold } /* Generic.Prompt */
+.m-console .w { color: #b2b2b2 } /* Text.Whitespace */