@import url('https://fonts.googleapis.com/css?family=Roboto&display=swap');
@import url('https://fonts.googleapis.com/css?family=Roboto+Mono&display=swap');
@import url('https://fonts.googleapis.com/css?family=Roboto+Condensed&display=swap');

:root {
  --white: #fff8e7;
  --black: #100f20;
  --colorsep1: rgba(0,30,255,0.5);
  --colorsep2: rgba(255,0,80,0.5);
}

html {
  scroll-behavior: smooth;
}

body {
  background-color: var(--black);
  color: var(--white);
  font-family: "Roboto Condensed";
  font-size: 15px;
  text-align: center;
  overscroll-behavior-y: contain;
}

canvas {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  -webkit-transform3d: translate(0,0,0);
  -moz-transform3d: translate(0,0,0);
  transform: translate(0,0,0);
}

div.box {
  position: relative;
  background-color: #11111150;
  border: 1px solid var(--white);
  padding: 24px;
  margin: 24px calc(15vw);
}

div.centerbox {
  background-color: #11111150;
  border: 1px solid var(--white);
  padding: 24px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
}

p {
  transition: text-indent 0.2s ease-out;
}

pre {
  font-family: "Roboto Mono", "Courier New", Courier, monospace;
}

kbd {
  background-color: var(--white);
  border-radius: 3px;
  border: 1px solid #b4b4b4;
  box-shadow: 0 1px 1px rgba(0, 0, 0, .2), 0 2px 0 0 rgba(255, 255, 255, .7) inset;
  color: #333;
  display: inline-block;
  font-family: "Roboto Mono";
  font-size: 0.85em;
  font-weight: 600;
  line-height: 1;
  padding: 2px 4px;
  white-space: nowrap;
}

.scanlines::before {
  content: " ";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: -10000px;
  right: -10000px;
  background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.25) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.06), rgba(0, 255, 0, 0.02), rgba(0, 0, 255, 0.06));
  z-index: 2;
  background-size: 100% 5px, 3px 100%;
  pointer-events: none;
  animation: scanlines 1s infinite;
}

@keyframes scanlines {
  0% { background-position: 0px 0px; }
  20% { background-position: 0px 1px; }
  40% { background-position: 0px 2px; }
  60% { background-position: 0px 3px; }
  80% { background-position: 0px 4px; }
  100% { background-position: 0px 5px; }
}

.flickerfast::after {
  content: " ";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: -10000px;
  right: -10000px;
  background: rgba(18, 16, 16, 0.1);
  opacity: 0;
  z-index: 2;
  pointer-events: none;
  animation: flicker 0.5s infinite;
}

.flicker::after {
  content: " ";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: -10000px;
  right: -10000px;
  background: rgba(18, 16, 16, 0.1);
  opacity: 0;
  z-index: 2;
  pointer-events: none;
  animation: flicker 3s infinite;
}

.flickerbig::after {
  content: " ";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: -10000px;
  right: -10000px;
  background: rgba(18, 16, 16, 0.5);
  opacity: 0;
  z-index: 2;
  pointer-events: none;
  animation: flicker 3s infinite;
}

@keyframes flicker {
  0% {opacity: 0.27861;}
  5% {opacity: 0.34769;}
  10% {opacity: 0.23604;}
  15% {opacity: 0.90626;}
  20% {opacity: 0.18128;}
  25% {opacity: 0.83891;}
  30% {opacity: 0.65583;}
  35% {opacity: 0.67807;}
  40% {opacity: 0.26559;}
  45% {opacity: 0.84693;}
  50% {opacity: 0.96019;}
  55% {opacity: 0.08594;}
  60% {opacity: 0.20313;}
  65% {opacity: 0.71988;}
  70% {opacity: 0.53455;}
  75% {opacity: 0.37288;}
  80% {opacity: 0.71428;}
  85% {opacity: 0.70419;}
  90% {opacity: 0.7003;}
  95% {opacity: 0.36108;}
  100% {opacity: 0.24387;}
}

.colorsep {
  animation: colorsep 1.6s infinite;
}

@keyframes colorsep {
  0% {text-shadow: 0.4389924193300864px 0 1px var(--colorsep1), -0.4389924193300864px 0 1px var(--colorsep2), 0 0 3px;}
  5% {text-shadow: 2.7928974010788217px 0 1px var(--colorsep1), -2.7928974010788217px 0 1px var(--colorsep2), 0 0 3px;}
  10% {text-shadow: 0.02956275843481219px 0 1px var(--colorsep1), -0.02956275843481219px 0 1px var(--colorsep2), 0 0 3px;}
  15% {text-shadow: 0.40218538552878136px 0 1px var(--colorsep1), -0.40218538552878136px 0 1px var(--colorsep2), 0 0 3px;}
  20% {text-shadow: 3.4794037899852017px 0 1px var(--colorsep1), -3.4794037899852017px 0 1px var(--colorsep2), 0 0 3px;}
  25% {text-shadow: 1.6125630401149584px 0 1px var(--colorsep1), -1.6125630401149584px 0 1px var(--colorsep2), 0 0 3px;}
  30% {text-shadow: 0.7015590085143956px 0 1px var(--colorsep1), -0.7015590085143956px 0 1px var(--colorsep2), 0 0 3px;}
  35% {text-shadow: 3.896914047650351px 0 1px var(--colorsep1), -3.896914047650351px 0 1px var(--colorsep2), 0 0 3px;}
  40% {text-shadow: 3.870905614848819px 0 1px var(--colorsep1), -3.870905614848819px 0 1px var(--colorsep2), 0 0 3px;}
  45% {text-shadow: 2.231056963361899px 0 1px var(--colorsep1), -2.231056963361899px 0 1px var(--colorsep2), 0 0 3px;}
  50% {text-shadow: 0.08084290417898504px 0 1px var(--colorsep1), -0.08084290417898504px 0 1px var(--colorsep2), 0 0 3px;}
  55% {text-shadow: 2.3758461067427543px 0 1px var(--colorsep1), -2.3758461067427543px 0 1px var(--colorsep2), 0 0 3px;}
  60% {text-shadow: 2.202193051050636px 0 1px var(--colorsep1), -2.202193051050636px 0 1px var(--colorsep2), 0 0 3px;}
  65% {text-shadow: 2.8638780614874975px 0 1px var(--colorsep1), -2.8638780614874975px 0 1px var(--colorsep2), 0 0 3px;}
  70% {text-shadow: 0.48874025155497314px 0 1px var(--colorsep1), -0.48874025155497314px 0 1px var(--colorsep2), 0 0 3px;}
  75% {text-shadow: 1.8948491305757957px 0 1px var(--colorsep1), -1.8948491305757957px 0 1px var(--colorsep2), 0 0 3px;}
  80% {text-shadow: 0.0833037308038857px 0 1px var(--colorsep1), -0.0833037308038857px 0 1px var(--colorsep2), 0 0 3px;}
  85% {text-shadow: 0.09769827255241735px 0 1px var(--colorsep1), -0.09769827255241735px 0 1px var(--colorsep2), 0 0 3px;}
  90% {text-shadow: 3.443339761481782px 0 1px var(--colorsep1), -3.443339761481782px 0 1px var(--colorsep2), 0 0 3px;}
  95% {text-shadow: 2.1841838852799786px 0 1px var(--colorsep1), -2.1841838852799786px 0 1px var(--colorsep2), 0 0 3px;}
  100% {text-shadow: 2.6208764473832513px 0 1px var(--colorsep1), -2.6208764473832513px 0 1px var(--colorsep2), 0 0 3px;}
}