@font-face {
  font-family: IBMVGA8;
  src: url(/fonts/IBM_BIOS.ttf) format('truetype');
}

:root {
  --cover-width: 400px;
  --border-width: 5px;
  --default-padding-small: 0.5em;
  --default-padding-medium: 1em;
  --default-padding-medium-large: 1.5em;
  --default-padding-large: 2em;
  --default-padding-xl: 4em;
  --default-section-padding-top: 25px;

  --faded-background: rgba(0, 0, 0, 0.5);
  --faded-background-dark: rgba(0, 0, 0, 0.8);

  --color-primary: rgba(255, 255, 255, 1);
  --color-secondary: rgba(255, 128, 70, 1);
  --color0: rgba(255, 0, 0, 1);
  --color1: rgba(255, 128, 70, 1);
  --color2: rgba(48, 225, 155, 1);


  --blue-link-color: rgb(105, 205, 255);
  --border-color: rgb(143, 99, 231);
}

/* CRT effect begin */
@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;
  }
}

@keyframes textShadow {
  0% {
    text-shadow: 0.4389924193300864px 0 1px rgba(0, 30, 255, 0.6), -0.4389924193300864px 0 1px rgba(255, 0, 80, 0.6), 0 0 3px;
  }

  5% {
    text-shadow: 2.7928974010788217px 0 1px rgba(0, 30, 255, 0.6), -2.7928974010788217px 0 1px rgba(255, 0, 80, 0.6), 0 0 3px;
  }

  10% {
    text-shadow: 0.02956275843481219px 0 1px rgba(0, 30, 255, 0.6), -0.02956275843481219px 0 1px rgba(255, 0, 80, 0.6), 0 0 3px;
  }

  15% {
    text-shadow: 0.40218538552878136px 0 1px rgba(0, 30, 255, 0.6), -0.40218538552878136px 0 1px rgba(255, 0, 80, 0.6), 0 0 3px;
  }

  20% {
    text-shadow: 3.4794037899852017px 0 1px rgba(0, 30, 255, 0.6), -3.4794037899852017px 0 1px rgba(255, 0, 80, 0.6), 0 0 3px;
  }

  25% {
    text-shadow: 1.6125630401149584px 0 1px rgba(0, 30, 255, 0.6), -1.6125630401149584px 0 1px rgba(255, 0, 80, 0.6), 0 0 3px;
  }

  30% {
    text-shadow: 0.7015590085143956px 0 1px rgba(0, 30, 255, 0.6), -0.7015590085143956px 0 1px rgba(255, 0, 80, 0.6), 0 0 3px;
  }

  35% {
    text-shadow: 3.896914047650351px 0 1px rgba(0, 30, 255, 0.6), -3.896914047650351px 0 1px rgba(255, 0, 80, 0.6), 0 0 3px;
  }

  40% {
    text-shadow: 3.870905614848819px 0 1px rgba(0, 30, 255, 0.6), -3.870905614848819px 0 1px rgba(255, 0, 80, 0.6), 0 0 3px;
  }

  45% {
    text-shadow: 2.231056963361899px 0 1px rgba(0, 30, 255, 0.6), -2.231056963361899px 0 1px rgba(255, 0, 80, 0.6), 0 0 3px;
  }

  50% {
    text-shadow: 0.08084290417898504px 0 1px rgba(0, 30, 255, 0.6), -0.08084290417898504px 0 1px rgba(255, 0, 80, 0.6), 0 0 3px;
  }

  55% {
    text-shadow: 2.3758461067427543px 0 1px rgba(0, 30, 255, 0.6), -2.3758461067427543px 0 1px rgba(255, 0, 80, 0.6), 0 0 3px;
  }

  60% {
    text-shadow: 2.202193051050636px 0 1px rgba(0, 30, 255, 0.6), -2.202193051050636px 0 1px rgba(255, 0, 80, 0.6), 0 0 3px;
  }

  65% {
    text-shadow: 2.8638780614874975px 0 1px rgba(0, 30, 255, 0.6), -2.8638780614874975px 0 1px rgba(255, 0, 80, 0.6), 0 0 3px;
  }

  70% {
    text-shadow: 0.48874025155497314px 0 1px rgba(0, 30, 255, 0.6), -0.48874025155497314px 0 1px rgba(255, 0, 80, 0.6), 0 0 3px;
  }

  75% {
    text-shadow: 1.8948491305757957px 0 1px rgba(0, 30, 255, 0.6), -1.8948491305757957px 0 1px rgba(255, 0, 80, 0.6), 0 0 3px;
  }

  80% {
    text-shadow: 0.0833037308038857px 0 1px rgba(0, 30, 255, 0.6), -0.0833037308038857px 0 1px rgba(255, 0, 80, 0.6), 0 0 3px;
  }

  85% {
    text-shadow: 0.09769827255241735px 0 1px rgba(0, 30, 255, 0.6), -0.09769827255241735px 0 1px rgba(255, 0, 80, 0.6), 0 0 3px;
  }

  90% {
    text-shadow: 3.443339761481782px 0 1px rgba(0, 30, 255, 0.6), -3.443339761481782px 0 1px rgba(255, 0, 80, 0.6), 0 0 3px;
  }

  95% {
    text-shadow: 2.1841838852799786px 0 1px rgba(0, 30, 255, 0.6), -2.1841838852799786px 0 1px rgba(255, 0, 80, 0.6), 0 0 3px;
  }

  100% {
    text-shadow: 2.6208764473832513px 0 1px rgba(0, 30, 255, 0.6), -2.6208764473832513px 0 1px rgba(255, 0, 80, 0.6), 0 0 3px;
  }
}

@keyframes glow {
  0% {
    text-shadow: var(--color-primary) 0 0 7px;
  }

  50% {
    text-shadow: var(--color-primary) 0 0 5px;
  }

  100% {
    text-shadow: var(--color-primary) 0 0 7px;
  }
}

* {
  color: var(--color-primary)
}


*::selection {
  color: var(--color-secondary);
  background-color: var(--faded-background-dark);
}

input {
  background-color: var(--faded-background);
  border-width: 0px;
  outline: none;
  /* min-height: 1.5em; */
  padding: 0.5em;
}

a {
  text-decoration: none;
  color: var(--color-secondary);
}

html::after {
  content: " ";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: rgba(18, 16, 16, 0.15);
  opacity: 0;
  z-index: 10;
  pointer-events: none;
  animation: flicker 0.15s infinite;
}

html::before {
  content: " ";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: linear-gradient(rgba(0, 0, 0, 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: 10;
  background-size: 100% 2px, 3px 100%;
  pointer-events: none;
}

html {
  animation: textShadow 1.6s infinite;
}

* {
  font-family: IBMVGA8;
}

.has-tooltip {
  position: relative;

  * {
    cursor: pointer;
  }
}

.tooltip-box {
  background: var(--faded-background-dark);
  position: absolute;
  bottom: 120%;
  left: 50%;
  transform: translateX(-50%);
  width: 400px;
  display: none;
  padding: var(--default-padding-medium);
}

/* .has-tooltip:hover .tooltip-box { */
/*   display: inline; */
/* } */

.float {
  position: absolute;
  overflow: visible;
  z-index: 1;
  pointer-events: none;
}

@keyframes bloom {
  0% {
    backdrop-filter: blur(0.7px);
  }

  5% {
    backdrop-filter: blur(0.5px);
  }

  10% {
    backdrop-filter: blur(0.3px);
  }

  15% {
    backdrop-filter: blur(0.3px);
  }

  20% {
    backdrop-filter: blur(0.6px);
  }

  25% {
    backdrop-filter: blur(0.1px);
  }

  30% {
    backdrop-filter: blur(0.7px);
  }

  35% {
    backdrop-filter: blur(0.0px);
  }

  40% {
    backdrop-filter: blur(0.1px);
  }

  45% {
    backdrop-filter: blur(0.2px);
  }

  50% {
    backdrop-filter: blur(0.7px);
  }

  55% {
    backdrop-filter: blur(0.6px);
  }

  60% {
    backdrop-filter: blur(0.5px);
  }

  65% {
    backdrop-filter: blur(0.1px);
  }

  70% {
    backdrop-filter: blur(0.6px);
  }

  75% {
    backdrop-filter: blur(0.3px);
  }

  80% {
    backdrop-filter: blur(0.3px);
  }

  85% {
    backdrop-filter: blur(0.6px)
  }

  90% {
    backdrop-filter: blur(0.1px);
  }

  95% {
    backdrop-filter: blur(0.7px);
  }

  100% {
    backdrop-filter: blur(0.1px);
  }
}

#glare {
  position: fixed;
  width: 100vw;
  height: 100vh;
  left: 0;
  top: 0;
  pointer-events: none;
  z-index: 999;
  animation: bloom 2s infinite;
}

.z10 {
  z-index: 10;
}

.z5 {
  z-index: 5;
}

.z2 {
  z-index: 2;
}

.playing {
  text-align: center;
}

#playing-box {
  padding: 10px;
  margin-top: var(--default-padding-medium);
  border: 3px solid var(--border-color);
  background: rgba(18, 16, 16, 0.8);
  overflow: hidden;
  position: relative;
  width: 35em;
}