html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/*============================================================================
  Base
==============================================================================*/
html {
  background-color: #272c34;
  font-family: 'Source Code Pro', sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  height: 100%;
  font-size: 16px;
  font-weight: 500;
  color: #aab3bf; }

a {
  text-decoration: none; }
  a:active, a:hover {
    text-decoration: underline; }

/*============================================================================
  Console
==============================================================================*/
.console {
  counter-reset: line;
  padding: 1em 0; }

.console__line {
  line-height: 1.5rem;
  display: block;
  text-indent: -4ch;
  padding-left: 4ch;
  padding-right: 1em; }
  .console__line:before {
    padding: 0 1ch;
    counter-increment: line;
    content: counter(line);
    -webkit-user-select: none;
    text-align: right;
    color: #465061;
    min-width: 2ch;
    display: inline-block; }

.console__line--highlighted {
  background-color: #2b323c;
  text-indent: -6ch;
  padding-left: 6ch; }
  .console__line--highlighted:before {
    padding-right: 3ch; }

.console__text--green {
  color: #84ea3a; }

.console__text--red {
  color: #ec5a60; }

.console__text--orange {
  color: #ef9c4c; }

.console__text--purple {
  color: #ce6df1; }

.console__text--blue {
  color: #36befa; }

.console__text--darkblue {
  color: #595aff; }

.console__text--white {
  color: #ffffff; }

/*============================================================================
  Cursor
==============================================================================*/
.cursor {
  display: inline-block;
  vertical-align: sub;
  animation: blink 1s infinite;
  border-left: 1px solid #ffffff;
  height: 16px; }

@keyframes blink {
  50% {
    border-left: 1px solid transparent; } }
