
@font-face {
  font-family: 'DisketMono';
  src: url(//caer-ivango.ru/fonts/DisketMono/Disket-Mono-Regular.ttf);
}

@keyframes blink {
  0%,
  49% {
    border-right-color: transparent;
  }
  50%,
  100% {
    border-right-color: currentColor;
  }
}
@keyframes scan {
  0% {
    background-position: 0 -100vh;
  }
  35%,
  100% {
    background-position: 0 100vh;
  }
}

html {
  background-color: black;
  padding: 1em;
}

p.news {
  border-radius: 1em;
  background-color: #131;
  background-image: radial-gradient(ellipse 500% 100% at 50% 90%, transparent, #121);
  background-position: center;
  display: block;
  height: 70vh;
  padding: 2em;
  box-shadow: inset 0 0 10em 1em rgba(0, 0, 0, 0.5);
  overflow: auto;
  font-family: monospace;
  color: rgba(128, 255, 128, 0.8);
  position: relative;
}

label.news {
  font-family: "DisketMono";
  color: rgba(128, 255, 128, 0.8);
}

p.news::before {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  background-image: linear-gradient(0deg, transparent 0%, rgba(32, 128, 32, 0.2) 2%, rgba(32, 128, 32, 0.8) 3%, rgba(32, 128, 32, 0.2) 3%, transparent 100%);
  background-repeat: no-repeat;
  animation: scan 7.5s linear 0s infinite;
}

p.news::after {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  background-image: radial-gradient(ellipse 50% 15% at 50% 15%, rgba(255, 255, 255, 0.05), transparent),
					radial-gradient(ellipse 50% 10% at 50% 12%, rgba(255, 255, 255, 0.1), transparent),
					radial-gradient(ellipse 50% 5% at 50% 10%, rgba(255, 255, 255, 0.1), transparent),
					radial-gradient(ellipse 50% 3% at 50% 9%, rgba(255, 255, 255, 0.1), transparent),
					radial-gradient(ellipse 200% 20% at 50% 0%, rgba(0, 0, 0, 0.5), transparent),
					linear-gradient(0deg, rgba(0, 0, 0, 0.2) 50%, transparent 50%);
  background-size: 100%, 100%, 100%, 100%, 100%, 100% 0.25ch;
}

p.news q {
  border-right: 0 solid currentColor;
  animation: blink 500ms linear 0s infinite;
  text-shadow: 0 0 1ex #3f3, 0 0 2px rgba(255, 255, 255, 0.8);
  margin-bottom: 1em;
  line-height: 150%;
}

p.news q::before {
  content: "> ";
}

p.news q:last-child {
  border-right-width: 1ch;
}

output.news  {
  border-radius: 1em;
  background-color: #131;
  background-image: radial-gradient(ellipse 500% 100% at 50% 90%, transparent, #121);
  background-position: center;
  display: block;
  height: 70vh;
  padding: 2em;
  box-shadow: inset 0 0 10em 1em rgba(0, 0, 0, 0.5);
  overflow: auto;
  font-family: monospace;
  color: rgba(128, 255, 128, 0.8);
  position: relative;
}

output.news::before {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  background-image: linear-gradient(0deg, transparent 0%, rgba(32, 128, 32, 0.2) 2%, rgba(32, 128, 32, 0.8) 3%, rgba(32, 128, 32, 0.2) 3%, transparent 100%);
  background-repeat: no-repeat;
  animation: scan 7.5s linear 0s infinite;
}

output.news::after {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  background-image: radial-gradient(ellipse 50% 15% at 50% 15%, rgba(255, 255, 255, 0.05), transparent),
					radial-gradient(ellipse 50% 10% at 50% 12%, rgba(255, 255, 255, 0.1), transparent),
					radial-gradient(ellipse 50% 5% at 50% 10%, rgba(255, 255, 255, 0.1), transparent),
					radial-gradient(ellipse 50% 3% at 50% 9%, rgba(255, 255, 255, 0.1), transparent),
					radial-gradient(ellipse 200% 20% at 50% 0%, rgba(0, 0, 0, 0.5), transparent),
					linear-gradient(0deg, rgba(0, 0, 0, 0.2) 50%, transparent 50%);
  background-size: 100%, 100%, 100%, 100%, 100%, 100% 0.25ch;
}

output.news q {
  border-right: 0 solid currentColor;
  animation: blink 500ms linear 0s infinite;
  text-shadow: 0 0 1ex #3f3, 0 0 2px rgba(255, 255, 255, 0.8);
  margin-bottom: 1em;
  line-height: 150%;
}

output.news q::before {
  content: "> ";
}

output.news q:last-child {
  border-right-width: 1ch;
}
