html {
          height: 100%;
          width: 100%;
        }
        
        html,
        body {
          font-size: 14px;
          font-family: Lato, sans-serif;
          min-height: 100% !important;
          width: 100%;
          margin: 0;
          padding: 0;
          line-height: 1.4em;
        }
        
        h1 {
          font-size: 1em;
        }
        
        h1,
        h2,
        h3,
        h4,
        h5,
        p {
          margin-bottom: 1em;
        }
        
        a {
          color: #98d7ff;
          text-decoration: none;
        }
        
        a:hover {
          opacity: 1;
          border-bottom: 1px solid #5db0e5;
        }
        /*a[target="_blank"]::after {*/
        /*font-family: sans-serif !important;*/
        /*content: '⧉';*/
        /*font-size: 0.9em;*/
        /*padding-left: 0.2em;*/
        /*}*/
        
        img {
          display: block;
          max-width: 100%;
        }
        
        body {
          background: black;
          background-size: cover;
          margin: 0;
          padding: 1rem;
          display: flex;
          flex-direction: row;
          align-items: center;
          box-sizing: border-box;
        }
        
        .vignette {
          position: fixed;
          top: 0;
          bottom: 0;
          left: 0;
          right: 0;
          background: radial-gradient(transparent 0, rgba(0, 0, 0, 0.2));
          z-index: 0;
        }
        
        .content {
          min-height: 22rem;
          border-radius: 0.3rem;
          background: linear-gradient(10deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.6));
          max-width: 100%;
          width: 50em;
          box-sizing: border-box;
          color: #eee;
          margin: 0 auto;
          box-shadow: 0 0 5rem rgba(0, 0, 0, 0.4);
          border: 1px solid rgba(0, 0, 0, 0.1);
          border-bottom-color: rgba(0, 0, 0, 0.4);
          border-top: none;
          font-size: 0.9em;
          position: relative;
          z-index: 1;
        }
        
        .content header {
          width: 100%;
          height: 2rem;
          position: relative;
          opacity: 0.8;
          box-sizing: border-box;
          padding: 0 4rem 0 0.8rem;
        }
        
        .content header h1 {
          font-size: 0.9rem;
          margin: 0 auto;
          text-align: center;
          max-width: 100%;
          box-sizing: border-box;
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
          padding-left: 0.3rem;
          padding-right: 0.3rem;
          padding-top: 0.4rem;
        }
        
        .content header .buttons {
          width: auto;
          float: left;
          padding-top: 0.5rem;
          display: inline-block;
        }
        
        .content header .buttons > * {
          display: inline-block;
          border-radius: 50%;
          width: 12px;
          height: 12px;
          margin-right: 0.6rem;
          padding: 0.25rem;
          box-sizing: border-box;
          background: lightblue;
        }
        
        .content header .buttons > *:nth-child(1) {
          background-color: hsl(0, 80%, 60%);
        }
        
        .content header .buttons > *:nth-child(2) {
          background-color: hsl(50, 80%, 51%);
        }
        
        .content header .buttons > *:nth-child(3) {
          background-color: hsl(86, 58%, 44%);
        }
        
        .container {
          font-family: 'Fira Mono', monospace;
          font-size: 0.8rem;
          padding: 1rem;
        }
        
        .container .prompt .green {
          color: hsl(85, 72%, 55%);
        }
        
        .container .prompt .yellow {
          color: hsl(50, 100%, 61%);
        }
        
        .container .prompt .red {
          color: hsl(359, 100%, 67%);
        }
        
        .container > *:last-child {
          margin-bottom: 0;
        }
        
        .cursor {
          display: inline-block;
          background: #bbb;
          height: 1.2em;
          overflow: hidden;
          vertical-align: text-bottom;
          color: transparent;
        }
        
        .blink {
          animation: blinker steps(1) 500ms infinite alternate;
        }
        
        .come-in {
          animation: come-in 500ms cubic-bezier(0.39, 0.575, 0.565, 1);
        }
        
        @keyframes blinker {
          0% {
            opacity: 1;
          }
          50% {
            opacity: 0;
          }
          100% {
            opacity: 1;
          }
        }
        
        @keyframes come-in {
          from {
            opacity: 0;
            transform: scale(0.9) translateY(5rem);
            box-shadow: none;
          }
          to {
            opacity: 1;
          }
        }
        
        @media only screen and (min-width: 500px) {
          html {
            font-size: 15px;
          }
        }
        
        @media only screen and (min-width: 1000px) {
          html {
            font-size: 16px;
          }
        }
