@font-face {
  font-family: "VT323";
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/vt323/v17/pxiKyp0ihIEF2isfFJA.ttf)
    format("truetype");
}
* {
  box-sizing: border-box;
}
body {
  background: #383838;
  color: #14fdce;
  font-family: "VT323";
  font-size: 24px;
  -webkit-font-smoothing: none;
  line-height: 1.2;
}
h1 {
  font-size: 4rem;
  margin-bottom: 1rem;
  margin-top: 0rem;
  text-transform: uppercase;
}

a,
a:visited {
  border-bottom: 0.2rem solid #14fdce;
  color: #14fdce;
  text-decoration: none;
}
a:active,
a:focus,
a:hover {
  background-color: #14fdce;
  color: #031e11;
}
.piece {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
}
.frame {
  background-color: transparent;
  border-radius: 2rem;
  border: 1rem solid;
  border-bottom-color: #121212;
  border-left-color: #080808;
  border-right-color: #080808;
  border-top-color: #020202;
  box-shadow: inset 0 0 18rem black, inset 0 0 3rem black, 0 0 10rem black;
  height: 96%;
  position: absolute;
  top: 2%;
  left: 2%;
  width: 96%;
  pointer-events: none;
}
.emblem {
  display: none;
  position: absolute;
  left: 50%;
  bottom: 0;
  font-size: 2rem;
  height: 3rem;
  width: 3rem;
  text-align: center;
  color: white;
  background: -webkit-linear-gradient(#fff, #555);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 0.1rem 0rem rgba(0, 0, 0, 0.4), 0 0 2rem rgba(0, 0, 0, 0.8);
  transform: translate(-50%);
}
.output {
  animation: crt-output 10ms infinite;
  background-color: #031e11;
  position: absolute;
  padding: 1rem 2rem;
  pointer-events: auto;
  text-shadow: 0rem 0.2rem 1rem #0c7b46;
  z-index: -1;
}
@keyframes crt-output {
  0% {
    opacity: 0.9;
  }
  50% {
    opacity: 1;
  }
}
.scanlines {
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0),
    rgba(255, 255, 255, 0) 50%,
    rgba(0, 0, 0, 0.2) 70%,
    rgba(0, 0, 0, 0.6)
  );
  background-size: 100% 0.3rem;
  border-radius: 2rem;
  position: absolute;
}
.glow {
  animation: crt-glow 60s infinite;
  background: radial-gradient(
    circle at center,
    #1bd459 0%,
    rgba(27, 212, 89, 0.88) 58%,
    rgba(21, 235, 92, 0.57) 80%,
    rgba(19, 94, 29, 0.27) 93%,
    rgba(10, 23, 12, 0) 100%
  );
  opacity: 0.15;
  pointer-events: none;
  position: fixed;
}
@keyframes crt-glow {
  0% {
    opacity: 0.1;
  }
  50% {
    opacity: 0.2;
  }
}
::-moz-selection {
  background-color: #14fdce;
  color: #031e11;
}
::selection {
  background-color: #14fdce;
  color: #031e11;
}
@font-face {
  font-family: "uuxsl";
  src: url("https://i.icomoon.io/public/188ac2dd2d/VOX/uuxsl.eot");
}
@font-face {
  font-family: "uuxsl";
  src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SA1AAAAC8AAAAYGNtYXAaL8yjAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5ZiGj2jMAAAFwAAAA7GhlYWQEpbQaAAACXAAAADZoaGVhB6kDxgAAApQAAAAkaG10eAYAABkAAAK4AAAAFGxvY2EAKACKAAACzAAAAAxtYXhwAA0AMgAAAtgAAAAgbmFtZeGQWB4AAAL4AAABM3Bvc3QAAwAAAAAELAAAACAAAwQAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADmJgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIOYm//3//wAAAAAAIOYm//3//wAB/+MZ3gADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAABwAZ/8YD5wO1AAUADQAVABsAIQAnAC8AABMVFzcnNQMFERcnNzU3ARElBxcVFwcvARUHFzcDJwcVNxcHFzc1JwcBBycHJxUFJeFVb1UZ/uJwAslVAkL+4m5VygJYcFVvVs1TU1NTplNTU1MBclXKylUBHwEfAbdnMUExZwG9pf61QWh04zH+UQFLpUEx4nVoNEFoMUExAcAwMHwxMNAxMWkvMP67MXV1MXympwAAAAABAAAAAQAAwDym7F8PPPUACwQAAAAAANDPt9EAAAAA0M+30QAA/8YD5wO1AAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAPnAAEAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAgAAAAQAABkAAAAAAAoAFAAeAHYAAQAAAAUAMAAHAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAoAAAABAAAAAAACAA4AOQABAAAAAAADAAoAIAABAAAAAAAEAAoARwABAAAAAAAFABYACgABAAAAAAAGAAUAKgABAAAAAAAKADQAUQADAAEECQABAAoAAAADAAEECQACAA4AOQADAAEECQADAAoAIAADAAEECQAEAAoARwADAAEECQAFABYACgADAAEECQAGAAoALwADAAEECQAKADQAUQB1AHUAeABzAGwAVgBlAHIAcwBpAG8AbgAgADEALgAwAHUAdQB4AHMAbHV1eHNsAHUAdQB4AHMAbABSAGUAZwB1AGwAYQByAHUAdQB4AHMAbABGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=)
      format("truetype"),
    url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAASYAAsAAAAABEwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABCAAAAGAAAABgDxIDUGNtYXAAAAFoAAAATAAAAEwaL8yjZ2FzcAAAAbQAAAAIAAAACAAAABBnbHlmAAABvAAAAOwAAADsIaPaM2hlYWQAAAKoAAAANgAAADYEpbQaaGhlYQAAAuAAAAAkAAAAJAepA8ZobXR4AAADBAAAABQAAAAUBgAAGWxvY2EAAAMYAAAADAAAAAwAKACKbWF4cAAAAyQAAAAgAAAAIAANADJuYW1lAAADRAAAATMAAAEz4ZBYHnBvc3QAAAR4AAAAIAAAACAAAwAAAAMEAAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA5iYDwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAgAAAAMAAAAUAAMAAQAAABQABAA4AAAACgAIAAIAAgABACDmJv/9//8AAAAAACDmJv/9//8AAf/jGd4AAwABAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAcAGf/GA+cDtQAFAA0AFQAbACEAJwAvAAATFRc3JzUDBREXJzc1NwERJQcXFRcHLwEVBxc3AycHFTcXBxc3NScHAQcnBycVBSXhVW9VGf7icALJVQJC/uJuVcoCWHBVb1bNU1NTU6ZTU1NTAXJVyspVAR8BHwG3ZzFBMWcBvaX+tUFodOMx/lEBS6VBMeJ1aDRBaDFBMQHAMDB8MTDQMTFpLzD+uzF1dTF8pqcAAAAAAQAAAAEAAMA8puxfDzz1AAsEAAAAAADQz7fRAAAAANDPt9EAAP/GA+cDtQAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAAD5wABAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAIAAAAEAAAZAAAAAAAKABQAHgB2AAEAAAAFADAABwAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAKAAAAAQAAAAAAAgAOADkAAQAAAAAAAwAKACAAAQAAAAAABAAKAEcAAQAAAAAABQAWAAoAAQAAAAAABgAFACoAAQAAAAAACgA0AFEAAwABBAkAAQAKAAAAAwABBAkAAgAOADkAAwABBAkAAwAKACAAAwABBAkABAAKAEcAAwABBAkABQAWAAoAAwABBAkABgAKAC8AAwABBAkACgA0AFEAdQB1AHgAcwBsAFYAZQByAHMAaQBvAG4AIAAxAC4AMAB1AHUAeABzAGx1dXhzbAB1AHUAeABzAGwAUgBlAGcAdQBsAGEAcgB1AHUAeABzAGwARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)
      format("woff");
  font-weight: normal;
  font-style: normal;
}
::selection [class^="icon-"],
::selection [class*=" icon-"] {
  font-family: "uuxsl";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
::selection .icon-information:before {
  content: "\e626";
}
::selection .noisy {
  background-image: url(data:image/png;base64,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);
}

/* terminal below */

.terminal .terminal-output .format,
.cmd .format,
.cmd-prompt,
.cmd-prompt div {
  display: inline-block;
}
.terminal h1,
.terminal h2,
.terminal h3,
.terminal h4,
.terminal h5,
.terminal h6,
.terminal pre,
.cmd {
  margin: 0;
}
.cmd .cmd-clipboard {
  position: absolute !important;
  let: -16px;
  left: calc(-16px / var(--pixel-density, 1)) !important;
  top: 0 !important;
  width: 16px;
  height: 16px;
  width: calc(16px / var(--pixel-density, 1)) !important;
  height: calc(16px / var(--pixel-density, 1)) !important;
  background: transparent !important;
  border: none !important;
  color: transparent !important;
  outline: none !important;
  padding: 0 !important;
  resize: none !important;
  z-index: 1000 !important;
  overflow: hidden !important;
  white-space: pre !important;
  text-indent: -9999em !important; /* better cursor hiding for Safari and IE */
  top: calc(
    var(--cursor-line, 0) * var(--size, 1) * (14px / var(--pixel-density, 1))
  ) !important;
}
.visually-hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  top: 0;
  left: 0;
}
.cmd span.cmd-end-line,
.cmd span.cmd-end-line span,
.cmd div.cmd-end-line span[data-text]:last-child,
.cmd div.cmd-end-line span[data-text]:last-child span,
.cmd textarea,
.cmd .cursor + span:empty {
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none; /* Safari */
  -khtml-user-select: none; /* Konqueror HTML */
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* Internet Explorer/Edge */
  user-select: none; /* Non-prefixed version, currently supported by Chrome and Opera */
}
.terminal img,
.terminal audio,
.terminal object,
.terminal canvas {
  cursor: default;
}
.terminal {
  position: relative;
  line-height: initial;
}
.terminal-scroller {
  position: relative;
  overflow-y: auto;
  scrollbar-gutter: stable;
  height: 90%;
  box-sizing: border-box;
}
terminal.terminal-temp {
  visibility: hidden;
}
.terminal {
  contain: content;
}

body.terminal,
body.full-screen-terminal {
  margin: 0;
  height: 100%;
}
body.full-screen-terminal .terminal {
  height: 100%;
}
.terminal > div.terminal-fill {
  min-height: 100%;
  height: 100%;
}
.terminal > .terminal-pixel {
  position: absolute;
  display: inline;
  left: -2px;
  top: -2px;
  width: 1px;
  height: 1px;
}
.terminal > .terminal-resizer,
.terminal > .terminal-font .terminal-resizer {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  z-index: -1 !important;
  height: 100% !important;
  border: none !important;
  padding: 0 !important;
  width: 100% !important;
}
.cmd {
  padding: 0;
  position: relative;
  width: 100%;
  z-index: 300;
}
.terminal .cmd,
.terminal .cmd div {
  background: transparent !important;
}
.terminal a[tabindex="1000"],
.terminal a[tabindex="1000"]:active,
.terminal a[tabindex="1000"]:focus {
  outline: none;
}
.terminal .inverted,
.cmd.cmd.cmd .inverted,
.terminal .terminal-inverted,
.cmd.cmd.cmd .cmd-inverted {
  background-color: #aaa !important;
  color: #000 !important;
}
.terminal .terminal-output > :not(.raw) a[href],
.cmd a[href],
.terminal.external a[href] {
  color: #3377ff;
  color: var(--link-color, #3377ff);
  cursor: pointer;
}
.cmd a[href]:not(.terminal-inverted),
.terminal .terminal-output > :not(.raw) a[href]:not(.terminal-inverted),
.terminal.external a[href]:not(.terminal-inverted) {
  --color: var(--link-color, #3377ff);
  /* conditionals: https://www.kizu.ru/conditions-for-css-variables/ */
  /* --glow: 0; */
  text-shadow: 0 0 calc(var(--glow) * 5px) var(--color, #ccc);
}
.terminal .terminal-output > :not(.raw) a[href].terminal-inverted,
.terminal.external a[href].terminal-inverted {
  background: var(--color, #ccc);
  /* conditionals: https://www.kizu.ru/conditions-for-css-variables/ */
  /* --glow: 0; */
  text-shadow: 0 0 calc(var(--glow) * 5px) var(--background, #000);
}
.terminal .terminal-output > :not(.raw) a[href]:hover,
.cmd a[href]:hover,
.terminal.external a[href]:hover {
  background-color: #3377ff;
  background-color: var(--link-color, #3377ff) !important;
  color: #000;
  color: var(--background, #000) !important;
  text-decoration: none;
}
.terminal .terminal-output > :not(.raw) a[href] span,
.cmd a[href] span,
.terminal.external a[href] span {
  /*
     * shorter and simple solution
     * it's hard to overwrite long :not selector (:not(a span) don't work)
     */
  color: #3377ff !important;
  --color: var(--link-color, #3377ff);
  color: var(--link-color, #3377ff) !important;
  text-decoration: underline;
}
.terminal .terminal-output > :not(.raw) a[href]:hover span,
.cmd a[href]:hover span,
.terminal.external a[href]:hover span {
  background-color: #3377ff !important;
  background-color: var(--link-color, #3377ff) !important;
  color: #000 !important;
  color: var(--background, #000) !important;
  text-decoration: none;
}
.cmd .cmd-cursor {
  display: inline-block;
}
.cmd .cmd-cursor-line > span,
.cmd .cmd-cursor-line img {
  display: inline-block;
}
.cmd
  .cmd-cursor.cmd-blink
  > span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas)
  span,
.cmd .cmd-cursor.cmd-blink a,
.cmd .cmd-cursor.cmd-blink .fa,
.cmd .cmd-cursor.cmd-blink .far,
.cmd .cmd-cursor.cmd-blink .fas,
.cmd .cmd-cursor .emoji {
  -webkit-animation: terminal-blink 1s infinite linear;
  -moz-animation: terminal-blink 1s infinite linear;
  -ms-animation: terminal-blink 1s infinite linear;
  animation: terminal-blink 1s infinite linear;
}
.bar.terminal .inverted,
.bar.cmd .cmd-inverted {
  box-shadow: -2px 0 0 -1px #aaa;
  box-shadow: -2px 0 0 -1px var(--original-color, #aaa);
}
.terminal,
.terminal .terminal-output > div > div,
.cmd .cmd-prompt {
  display: block;
}
.terminal .terminal-output > div:not(.raw) div {
  white-space: nowrap;
  clear: both;
}
.cmd .cmd-prompt > span,
.cmd .cmd-prompt:empty {
  float: left;
}
.cmd [data-text] span,
.terminal [data-text] span {
  display: inline-block;
}
.terminal-ouput span[style*="width"] {
  min-height: 14px;
  min-height: calc(var(--size, 1) * (14px / var(--pixel-density, 1)));
}
.terminal .terminal-output > :not(.raw) > div,
.cmd div,
.terminal.external div {
  line-height: 1em;
  line-height: calc(
    (var(--size) * (14px / var(--pixel-density, 1))) +
      (1px / var(--pixel-density, 1))
  );
}
.cmd .cmd-prompt span.fa::before,
.cmd .cmd-prompt span.fab::before,
.cmd .cmd-prompt span.fad::before,
.cmd .cmd-prompt span.fal::before,
.cmd .cmd-prompt span.far::before,
.cmd .cmd-prompt span.fas {
  position: relative;
  top: 2px;
}
.terminal,
.cmd {
  font-size: 24px;
}
.terminal-output > div:not(.raw) div::before,
.cmd .cmd-line::before {
  content: "\0200B";
  width: 0;
  display: inline-block;
}
.terminal span[data-text],
.cmd span[data-text] {
  display: inline-block;
}
.terminal,
terminal-outpuf-text] span {
  text-decoration: inherit;
}
.terminal .ansi > div {
  line-height: 13px !important;
  line-height: calc(
    var(--size, 1) * (13px / var(--pixel-density, 1))
  ) !important;
}
.cmd span.cmd-prompt,
.cmd .cmd-prompt span {
  background-color: transparent !important;
}
.terminal-output .emoji,
.cmd .emoji {
  height: 12px;
  height: calc(12px / var(--pixel-density, 1));
  background-size: contain;
  background-repeat: no-repeat;
  color: transparent;
  position: relative;
}
.terminal .terminal-output .fa span,
.terminal .terminal-output .fas span,
.terminal .terminal-output .far span,
.cmd .fa span,
.cmd .fas span,
.cmd .far span {
  background: transparent !important;
  color: transparent !important;
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute;
}
.terminal-output .emoji,
.terminal-output .emoji span,
.cmd .emoji,
.cmd .emoji span {
  display: inline-block;
  width: 2ch;
}
.terminal,
.cmd {
  box-sizing: border-box;
}
.cmd .cmd-cursor span:not(.token):not(.inverted) {
  color: inherit;
  background-color: inherit;
}
.cmd .emoji.emoji.emoji.emoji,
.cmd .emoji.emoji.emoji.emoji span {
  color: transparent;
  background-color: transparent;
}
.cmd .cmd-cursor * {
  background-color: transparent;
}
.terminal span[style*="width"] span,
.cmd span[style*="width"] span {
  width: inherit;
}
.cmd div {
  clear: both;
}
.cmd .cmd-prompt + div {
  clear: right;
}
terminal .terminal-output > div {
  margin-top: -1px;
}
.terminal-output > div.raw > div * {
  overflow-wrap: break-word;
  word-wrap: break-word;
}
.terminal .terminal-font {
  position: absolute;
  float: left;
  font-size: inherit;
  line-height: inherit;
  top: -100%;
  left: 0;
  margin-bottom: 1px;
}
.cmd > span:not(.cmd-prompt) {
  float: left;
}
.cmd .cmd-prompt span.cmd-line {
  display: block;
  float: none;
}
.terminal table {
  border-collapse: collapse;
}
.terminal td {
  border: 1px solid #aaa;
}
.cmd span[data-text]:not(.emoji):not(.fa):not(.fas):not(.far) span {
  background-color: inherit;
  color: inherit;
}
/* fix for underline on middle line */
.cmd [role="presentation"].cmd-cursor-line {
  position: relative;
  z-index: 100;
  cursor: text;
}
/* prompt above cursor line */
.cmd .cmd-prompt {
  position: relative;
  z-index: 200;
}
.cmd [role="presentation"]:not(.cmd-cursor-line) {
  overflow: hidden;
}
/*
 * this is set so animation can select original color as backgound for cursor
 * so span can have --color for selection
 */
.cmd {
  --original-color: var(--color, #aaa);
}
.cmd a[href] {
  --original-color: var(--link-color, #3377ff);
}
/* DEFAULT ANIMATION */
@-webkit-keyframes terminal-blink {
  0%,
  50% {
    background-color: #aaa;
    background-color: var(--original-color, #aaa);
    color: #000;
    color: var(--background, #000);
    -webkit-box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);
    box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);
  }
  50.1%,
  100% {
    background-color: inherit;
    /* original background is set in emoji that need different style */
    color: inherit;
    color: var(--original-background, var(--original-color, #aaa));
  }
}
@-moz-keyframes terminal-blink {
  0%,
  50% {
    background-color: #aaa;
    background-color: var(--original-color, #aaa);
    color: #000;
    color: var(--background, #000);
    -webkit-box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);
    box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);
  }
  50.1%,
  100% {
    background-color: inherit;
    color: inherit;
    color: var(--original-background, var(--original-color, #aaa));
  }
}
@keyframes terminal-blink {
  0%,
  50% {
    background-color: #aaa;
    background-color: var(--original-color, #aaa);
    color: #000;
    color: var(--background, #000);
    -webkit-box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);
    box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);
  }
  50.1%,
  100% {
    background-color: inherit;
    color: inherit;
    color: var(--original-background, var(--original-color, #aaa));
    -webkit-box-shadow: none;
    box-shadow: none;
  }
}
/* GLOW ANIMATION */
@-webkit-keyframes terminal-glow {
  0%,
  50% {
    background-color: #aaa;
    background-color: var(--original-color, #aaa);
    color: #000;
    color: var(--background, #000);
    box-shadow: 0 0 3px #aaa;
    -webkit-box-shadow: 0 0 3px var(--color, #aaa);
    box-shadow: 0 0 3px var(--color, #aaa);
  }
  50.1%,
  100% {
    background-color: inherit;
    color: inherit;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
}
@-moz-keyframes terminal-glow {
  0%,
  50% {
    background-color: #aaa;
    background-color: var(--original-color, #aaa);
    color: #000;
    color: var(--background, #000);
    box-shadow: 0 0 3px #aaa;
    -moz-box-shadow: 0 0 3px var(--color, #aaa);
    box-shadow: 0 0 3px var(--color, #aaa);
  }
  50.1%,
  100% {
    background-color: inherit;
    color: inherit;
    -moz-box-shadow: none;
    box-shadow: none;
  }
}
@keyframes terminal-glow {
  0%,
  50% {
    background-color: #aaa;
    background-color: var(--original-color, #aaa);
    color: #000;
    color: var(--background, #000);
    box-shadow: 0 0 3px #aaa;
    box-shadow: 0 0 3px var(--color, #aaa);
  }
  50.1%,
  100% {
    background-color: inherit;
    color: inherit;
    box-shadow: none;
  }
}
/* BAR ANIMATION */
@-webkit-keyframes terminal-bar {
  0%,
  50% {
    box-shadow: -2px 0 0 -1px #aaa;
    box-shadow: -2px 0 0 -1px var(--original-color, #aaa);
  }
  50.1%,
  100% {
    box-shadow: none;
  }
}
@-moz-keyframes terminal-bar {
  0%,
  50% {
    box-shadow: -2px 0 0 -1px #aaa;
    box-shadow: -2px 0 0 -1px var(--original-color, #aaa);
  }
  50.1%,
  100% {
    box-shadow: none;
  }
}
@keyframes terminal-bar {
  0%,
  50% {
    box-shadow: -2px 0 0 -1px #aaa;
    box-shadow: -2px 0 0 -1px var(--original-color, #aaa);
  }
  50.1%,
  100% {
    box-shadow: none;
  }
}
/* UNDERLINE ANIMATION */
@-webkit-keyframes terminal-underline {
  0%,
  50% {
    box-shadow: 0 2px 0 #aaa;
    box-shadow: 0 2px 0 var(--original-color, #aaa);
  }
  50.1%,
  100% {
    box-shadow: none;
  }
}
@-moz-keyframes terminal-underline {
  0%,
  50% {
    box-shadow: 0 2px 0 #aaa;
    box-shadow: 0 2px 0 var(--original-color, #aaa);
  }
  50.1%,
  100% {
    box-shadow: none;
  }
}
@keyframes terminal-underline {
  0%,
  50% {
    box-shadow: 0 2px 0 #aaa;
    box-shadow: 0 2px 0 var(--original-color, #aaa);
  }
  50.1%,
  100% {
    box-shadow: none;
  }
}
/* NONE ANIMATION */
@-webkit-keyframes terminal-none {
  0%,
  100% {
    background-color: #aaa;
    background-color: var(--original-color, #aaa);
    color: #000;
    color: var(--background, #000);
    -webkit-box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);
    box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);
  }
}
@-moz-keyframes terminal-none {
  0%,
  100% {
    background-color: #aaa;
    background-color: var(--original-color, #aaa);
    color: #000;
    color: var(--background, #000);
    -webkit-box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);
    box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);
  }
}
@keyframes terminal-none {
  0%,
  100% {
    background-color: #aaa;
    background-color: var(--original-color, #aaa);
    color: #000;
    color: var(--background, #000);
    -webkit-box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);
    box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);
  }
}
.underline-animation
  .cmd
  .cmd-cursor.cmd-blink
  > span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas)
  span,
.underline-animation .cmd .cmd-cursor.cmd-blink a,
.underline-animation .cmd .cmd-cursor.cmd-blink .fa,
.underline-animation .cmd .cmd-cursor.cmd-blink .far,
.underline-animation .cmd .cmd-cursor.cmd-blink .fas,
.underline-animation .cmd .cmd-cursor .emoji {
  -webkit-animation-name: terminal-underline;
  -moz-animation-name: terminal-underline;
  -ms-animation-name: terminal-underline;
  animation-name: terminal-underline;
}
.glow-animation
  .cmd
  .cmd-cursor.cmd-blink
  > span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas)
  span,
.glow-animation .cmd .cmd-cursor.cmd-blink a,
.glow-animation .cmd .cmd-cursor.cmd-blink .fa,
.glow-animation .cmd .cmd-cursor.cmd-blink .far,
.glow-animation .cmd .cmd-cursor.cmd-blink .fas,
.glow-animation .cmd .cmd-cursor .emoji {
  -webkit-animation-name: terminal-glow;
  -moz-animation-name: terminal-glow;
  -ms-animation-name: terminal-glow;
  animation-name: terminal-glow;
}
.bar-animation
  .cmd
  .cmd-cursor.cmd-blink
  > span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas)
  span,
.bar-animation .cmd .cmd-cursor.cmd-blink a,
.bar-animation .cmd .cmd-cursor.cmd-blink .fa,
.bar-animation .cmd .cmd-cursor.cmd-blink .far,
.bar-animation .cmd .cmd-cursor.cmd-blink .fas,
.bar-animation .cmd .cmd-cursor .emoji {
  -webkit-animation-name: terminal-bar;
  -moz-animation-name: terminal-bar;
  -ms-animation-name: terminal-bar;
  animation-name: terminal-bar;
}
/*
   Internet Explorer & Edge *, Safari ≤ 6
   source: https://w3reign.com/internet-explorer-edge-css-hacks/
*/

@supports (-ms-ime-align: auto) {
  .cmd .cmd-clipboard {
    margin-left: -9999px;
  }
  @keyframes terminal-blink {
    0%,
    50% {
      background-color: var(--original-color, #aaa);
      color: var(--background, #000);
    }
    50.1%,
    100% {
      background-color: var(--background, #000);
      color: var(--original-color, #aaa);
    }
  }
  @keyframes terminal-bar {
    0%,
    50% {
      border-left-color: var(--color, #aaa);
    }
    50.1%,
    100% {
      border-left-color: var(--background, #000);
    }
  }
  @keyframes terminal-underline {
    0%,
    50% {
      border-bottom-color: var(--color, #aaa);
      line-height: 12px;
      line-height: calc(var(--size, 1) * (12px / var(--pixel-density, 1)));
    }
    50.1%,
    100% {
      border-bottom-color: var(--background, #000);
      line-height: 12px;
      line-height: calc(var(--size, 1) * (12px / var(--pixel-density, 1)));
    }
  }
}
/* IE hack Edge one don't work in IE11 */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .cmd .cmd-clipboard {
    margin-left: -9999px;
  }
  .underline-animation .cursor.blink span span {
    margin-top: 1px;
  }
  @-ms-keyframes terminal-blink {
    0%,
    50% {
      background-color: #aaa;
      color: #000;
    }
    50.1%,
    100% {
      background-color: #000;
      color: #aaa;
    }
  }
}
.terminal h1::-moz-selection,
.terminal h2::-moz-selection,
.terminal h3::-moz-selection,
.terminal h4::-moz-selection,
.terminal h5::-moz-selection,
.terminal h6::-moz-selection,
.terminal pre::-moz-selection,
.terminal td::-moz-selection,
.terminal .terminal-output::-moz-selection,
.terminal .terminal-output div div::-moz-selection,
.terminal .terminal-output div div a::-moz-selection,
.terminal .terminal-output span[data-text]::-moz-selection,
.terminal
  .terminal-output
  span[data-text]:not(.far):not(.fa):not(.fas)
  span::-moz-selection,
.terminal .terminal-output .raw div::-moz-selection,
.cmd span[data-text]::-moz-selection,
.cmd span[data-text]:not(.far):not(.fa):not(.fas) span::-moz-selection {
  background-color: #aaa;
  color: #000;
}
/* this don't work in Chrome
.terminal tr td::-moz-selection {
    border-color: #000;
}
.terminal tr td::selection {
    border-color: #000;
}
*/
/* fix selection/click on text that was echo without newline while prompt is relocated */
.terminal .cmd {
  pointer-events: none;
}
.terminal .cmd-prompt * {
  pointer-events: visible;
}
.cmd-prompt > span:first-child {
  margin-left: var(--prompt-offset);
}
.terminal .cmd-wrapper > div:not(.cmd-cursor-line),
.terminal .cmd-cursor-line > span,
.terminal .cmd textarea {
  pointer-events: visible;
}
.terminal h1::selection,
.terminal h2::selection,
.terminal h3::selection,
.terminal h4::selection,
.terminal h5::selection,
.terminal h6::selection,
.terminal pre::selection,
.terminal td::selection,
.terminal .terminal-output::selection,
.terminal .terminal-output div div::selection,
.terminal .terminal-output div div a::selection,
.terminal .terminal-output span[data-text]::selection,
.terminal
  .terminal-output
  span[data-text]:not(.far):not(.fa):not(.fas)
  span::selection,
.terminal .terminal-output .raw div::selection,
.cmd span[data-text]:not(.far):not(.fa):not(.fas) span::selection {
  /*
     * use rgba to fix transparent selection in chrome
     * http://stackoverflow.com/questions/7224445/css3-selection-behaves-differently-in-ff-chrome
     */
  background-color: rgba(170, 170, 170, 0.99);
  color: #000;
}
.terminal-output .emoji::-moz-selection,
.terminal-output .emoji span::-moz-selection,
.cmd .emoji::-moz-selection,
.cmd .emoji span::-moz-selection,
.cmd textarea::-moz-selection {
  background-color: transparent !important;
  color: transparent !important;
}
.terminal-output .emoji::selection,
.terminal-output .emoji span::selection,
.cmd .emoji span::selection,
.cmd .emoji::selection,
.cmd textarea::selection {
  background-color: transparent !important;
  color: transparent !important;
}

.terminal .terminal-output > :not(.raw) .terminal-error,
.terminal .terminal-output > :not(.raw) .terminal-error * {
  color: red;
  color: var(--error-color, red);
}
.tilda {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1100;
}
.ui-dialog-content .terminal {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}
.ui-dialog .ui-dialog-content.dterm {
  padding: 0;
}
.clear {
  clear: both;
}
.terminal .terminal-fill {
  position: absolute;
  left: 0;
  top: -100%;
  width: 100%;
  height: 100%;
  margin: 1px 0 0;
  border: none;
  opacity: 0.01;
  pointer-events: none;
  box-sizing: border-box;
}
.terminal-scroller,
.terminal .terminal-fill,
.cmd-editable {
  padding: calc(10px / var(--pixel-density, 1));
}
.cmd-editable {
  padding-top: 0;
}
/* padding added as margin to .cmd to fix FireFox bug see: https://stackoverflow.com/q/29986977/387194 */
.terminal-scroller {
  padding-bottom: 0;
}
.terminal .terminal-output > :not(.raw) .terminal-error,
.terminal .terminal-output > :not(.raw) .terminal-error * {
  --color: var(--error-color, red);
  text-shadow: 0 0 calc(var(--glow) * 5px) var(--color);
}
.terminal .terminal-output > :not(.raw) a[href] {
  text-shadow: 0 0 calc(var(--glow) * 5px) var(--color);
}
.terminal .cmd {
  margin-bottom: calc(10px / var(--pixel-density, 1));
  position: relative;
}
.terminal .partial,
.terminal .partial > div {
  display: inline-block;
}
@supports (--css: variables) {
  .terminal,
  .terminal-output
    > :not(.raw)
    span[data-text]:not(.token):not(.inverted):not(.terminal-inverted):not(.cmd-inverted):not(.terminal-error):not(.emoji),
  .terminal-output > :not(.raw) a,
  .terminal-output > :not(.raw) div,
  .cmd,
  .cmd span[data-text]:not(.cmd-inverted):not(.token):not(.emoji),
  .terminal.external [data-text],
  .cmd div {
    color: var(--color, #aaa);
  }
  .terminal [data-text],
  .cmd [data-text] {
    /* conditionals: https://www.kizu.ru/conditions-for-css-variables/ */
    /* --glow: 0; */
    text-shadow: var(
      --text-shadow,
      0 0 calc(var(--glow) * 5px) var(--color, #ccc)
    );
  }
  .terminal span[style*="--length"] {
    /*
         * default value for char-width taken from Google Chrome for default font
         * to silence warning in webpack #371
         */
    width: calc(var(--length, 1) * var(--char-width, 7.23438) * 1px);
    display: inline-block;
  }
  .terminal,
  .terminal-output > :not(.raw) span,
  .terminal-output > :not(.raw) a,
  .terminal-output > :not(.raw) div,
  .cmd,
  .cmd span,
  .cmd div {
    font-size: calc(var(--size, 1) * (24px / var(--pixel-density, 1)));
  }
  .terminal-output .emoji,
  .cmd .emoji {
    height: calc(var(--size, 1) * (12px / var(--pixel-density, 1)));
  }
  .cmd .clipboard {
    top: calc(
      var(--size, 1) * (14 / var(--pixel-density, 1)) * var(--cursor-line, 0) *
        1px
    );
  }
  .terminal .inverted,
  .cmd.cmd.cmd .inverted,
  .cmd.cmd.cmd .cmd-inverted {
    background-color: var(--color, #aaa) !important;
    color: var(--background, #000) !important;
  }
  .cmd .cmd-cursor.cmd-blink {
    color: var(--color, #aaa);
  }
  .cmd
    .cmd-cursor.cmd-blink
    > span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas)
    span,
  .cmd .cmd-cursor.cmd-blink a,
  .cmd .cmd-cursor.cmd-blink .fa,
  .cmd .cmd-cursor.cmd-blink .far,
  .cmd .cmd-cursor.cmd-blink .fas,
  .cmd .cmd-cursor.cmd-blink .emoji {
    -webkit-animation: var(--animation, terminal-blink) 1s infinite linear;
    -moz-animation: var(--animation, terminal-blink) 1s infinite linear;
    -ms-animation: var(--animation, terminal-blink) 1s infinite linear;
    animation: var(--animation, terminal-blink) 1s infinite linear;
    --original-background: inherit;
  }
  .cmd .cmd-cursor.cmd-blink .emoji span {
    color: transparent;
    background: transparent;
  }
  .terminal h1::-moz-selection,
    .terminal h2::-moz-selection,
    .terminal h3::-moz-selection,
    .terminal h4::-moz-selection,
    .terminal h5::-moz-selection,
    .terminal h6::-moz-selection,
    .terminal pre::-moz-selection,
    .terminal td::-moz-selection,
    .terminal .terminal-output::-moz-selection,
    .terminal .terminal-output div div::-moz-selection,
    .terminal .terminal-output div div a::-moz-selection,
    .terminal .terminal-output span[data-text]::-moz-selection,
    /*
     * font icons (fontawesome) don't render selection we make emoji the same becuase,
     * selection on emoji looks weird
     */
    .terminal .terminal-output span[data-text]:not(.far):not(.fa):not(.fas):not(.emoji) span::-moz-selection,
    .terminal .terminal-output .raw div::-moz-selection,
    .cmd span[data-text]:not(.far):not(.fa):not(.fas):not(.emoji) span::-moz-selection {
    background-color: var(--color, #aaa);
    color: var(--background, #000);
  }
  .terminal .terminal-output div div a::-moz-selection {
    background-color: var(--link-color, rgba(15, 96, 255, 0.99)) !important;
    color: var(--background, #000) !important;
  }
  .terminal .terminal-output div div a:hover::-moz-selection {
    background-color: var(--link-color, rgba(2, 50, 144, 0.99)) !important;
  }
  .terminal h1::selection,
  .terminal h2::selection,
  .terminal h3::selection,
  .terminal h4::selection,
  .terminal h5::selection,
  .terminal h6::selection,
  .terminal pre::selection,
  .terminal td::selection,
  .terminal .terminal-output::selection,
  .terminal .terminal-output div div::selection,
  .terminal .terminal-output div div a::selection,
  .terminal .terminal-output span[data-text]:not(.emoji)::selection,
  .terminal
    .terminal-output
    span[data-text]:not(.far):not(.fa):not(.fas):not(.emoji)
    span::selection,
  .terminal .terminal-output .raw div::selection,
  .cmd
    span[data-text]:not(.far):not(.fa):not(.fas):not(.emoji)
    span::selection {
    background-color: var(--color, rgba(170, 170, 170, 0.99)) !important;
    color: var(--background, #000) !important;
  }
  .terminal .terminal-output div div a::selection {
    background-color: var(--link-color, rgba(15, 96, 255, 0.99)) !important;
    color: var(--background, #000) !important;
  }
  .terminal .terminal-output div div a:hover::selection {
    background-color: var(--link-color, rgba(2, 50, 144, 0.99)) !important;
  }
}
/*
 * overwrite css variables that don't work with selection in Edge
 */
@supports (-ms-ime-align: auto) {
  .terminal h1::selection,
  .terminal h2::selection,
  .terminal h3::selection,
  .terminal h4::selection,
  .terminal h5::selection,
  .terminal h6::selection,
  .terminal pre::selection,
  .terminal td::selection,
  .terminal .terminal-output div div::selection,
  .terminal .terminal-output div div a::selection,
  .cmd span[data-text]::selection {
    background-color: rgba(170, 170, 170, 0.99);
    color: #000;
  }
}
/* PrismJS style overwrites */
.terminal .token.token,
.terminal .token.operator,
.terminal .token.entity,
.terminal .token.variable,
.terminal .token.url,
.terminal .token.string,
.terminal .style .token.string,
.terminal .token.token,
.cmd .token.operator,
.cmd .token.entity,
.cmd .token.variable,
.cmd .token.url,
.cmd .token.string,
.cmd .style .token.string,
.cmd .token.token {
  background-color: inherit;
}
/* FireFox hack
@supports (-moz-animation: foo) {
    .terminal,
    .terminal .terminal-output > :not(.raw) span,
    .terminal .terminal-output > :not(.raw) a,
    .terminal .terminal-output > :not(.raw) div,
    .cmd,
    .cmd span,
    .cmd div {
        line-height: calc(var(--size, 1) * 13px);
    }
}
*/
/* style for autocomplete menu */
.cmd .cursor-wrapper ul {
  list-style: none;
  margin: 0;
  padding: 0;
  float: left;
  position: absolute;
  top: 14px;
  left: 0;
}
.cmd .cursor-wrapper li {
  cursor: pointer;
  white-space: nowrap;
}
.cmd .cursor-wrapper li:hover {
  background: #aaa;
  color: #000;
}
.cursor-wrapper {
  position: relative;
}
.terminal-output img {
  vertical-align: top;
}
.cmd img {
  height: 14px;
  height: calc(var(--size, 1) * (14px / var(--pixel-density, 1)));
  border: 1px solid transparent;
}
.cmd-cursor img {
  border-color: #ccc;
  border-color: var(--color, #ccc);
}
.terminal-output svg.terminal-broken-image {
  height: calc(var(--size, 1) * (14px / var(--pixel-density, 1)));
}
.terminal-output svg.terminal-broken-image use {
  fill: var(--color, #ccc);
}
.terminal-error {
  --color: var(--error-color);
}
.terminal-glow {
  --animation: terminal-glow;
}
.terminal-glow span[data-text],
.terminal-glow .cmd-prompt > span,
.terminal-glow a[data-text],
.terminal-glow [data-text] span,
.terminal-glow .terminal-output > div span,
.terminal-glow .terminal-output > div a[href] {
  text-shadow: 1px 1px 5px #ccc;
  text-shadow: 1px 1px 5px var(--color, #ccc);
}
/* is_bottom detection */
.terminal-scroll-marker {
  position: relative;
  height: 1px;
  height: calc(1px / var(--pixel-density, 1));
  margin-top: -1px;
  margin-top: calc(-1px / var(--pixel-density, 1));
  z-index: 100;
}
.terminal-scroll-marker div {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 200;
}
.terminal-less {
  touch-action: none;
  overscroll-behavior-y: contain;
}
/*
 * mobile scroll fix, with help from StackOverflow
 * https://stackoverflow.com/a/60535925/387194
 */
.terminal-mobile.terminal-less .terminal-wrapper {
  pointer-events: none;
}
.terminal-mobile.terminal-less .terminal-output a,
.cmd-editable {
  pointer-events: visible;
}
.cmd-editable::before {
  content: attr(data-cmd-prompt);
  display: inline-block;
}
.cmd-editable {
  position: absolute;
  top: 0;
  top: calc(
    var(--terminal-y, var(--cmd-y, 0)) + var(--terminal-scroll, 0) * 1px
  );
  right: 0;
  left: 0;
  bottom: 0;
  bottom: calc(var(--terminal-scroll, 0) * -1px);
  z-index: 500;
  color: transparent;
  background: transparent;
  opacity: 0.01;
}
.terminal-scroller::-webkit-scrollbar {
  width: calc(6px / var(--pixel-density, 1));
  height: calc(6px / var(--pixel-density, 1));
  background: var(--background, #000);
}
.terminal-scroller::-webkit-scrollbar-thumb {
  background: var(--color, #aaa);
}
.terminal-scroller::-webkit-scrollbar-thumb:hover {
  background: var(--color, #aaa);
}
.terminal-scroller {
  scrollbar-color: #aaa #000;
  scrollbar-color: var(--color, #aaa) var(--background, #000);
  scrollbar-width: thin;
}
.cmd .token {
  --original-color: var(--color);
}
.terminal .terminal-blink,
.cmd .terminal-blink {
  animation: terminal-ansi-blink 1s steps(2, start) infinite;
  -webkit-animation: terminal-ansi-blink 1s steps(2, start) infinite;
}
@keyframes terminal-ansi-blink {
  to {
    color: var(--background);
  }
}
@-webkit-keyframes terminal-ansi-blink {
  to {
    color: var(--background);
  }
}
@media (prefers-reduced-motion) {
  :root {
    --animation: terminal-none;
  }
}
