:root {
  --blue: #080a1c;
  --lightblue: #212f78;
  --verylightblue: #b1eef9;
  --green: #709b3a;
  --lightgreen: #7dae41;
  --brown: #855726;
  --yellow: #f0c420;
  --lightyellow: #f0dd80;
  --white: #ffffff;
}

html {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;

  font-family: "Hi Melody", sans-serif;
}

body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

.app {
  position: relative;
  overflow: hidden;

  width: 100%;
  height: 100%;

  background: linear-gradient(var(--blue), var(--lightblue));
}

.content {
  width: 100%;
  height: 100%;
}

@keyframes message-animation {
  100% {
    opacity: 1;
    filter: blur(0);
  }
}

.message {
  position: absolute;
  text-align: center;

  top: 30px;
  left: 0;
  width: 100%;
  font-size: 36px;
  color: #c2e2e9;
  text-shadow: 0 0 8px var(--verylightblue);

  opacity: 0;
  filter: blur(5px);
  animation: message-animation 3.6s 1s linear forwards;
}

@keyframes star-animation {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

.star {
  position: absolute;

  border-radius: 50%;

  background-color: var(--white);
  box-shadow: 0 0 6px var(--verylightblue);
  opacity: 0;

  animation: star-animation 8s infinite;
}

@keyframes comet-area-animation {
  100% {
    opacity: 1;
    filter: blur(0);
  }
}

.comet-area {
  position: absolute;
  display: flex;
  flex-direction: row;
  align-items: center;

  top: calc(50% + 100px);
  left: calc(50% + 100px);
  transform-origin: right;
  transform: translateX(-100%) rotateZ(45deg);

  opacity: 0;
  filter: blur(10px);
  animation: comet-area-animation 5s linear forwards;
}

.comet {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: var(--white);
  box-shadow: 0 0 2px 1px var(--white), 0 0 6px 4px var(--verylightblue),
    0 0 8px 4px #60b2c6, 0 0 12px 8px #4b96af, 0 0 20px 8px #40859a;
}

.comet-tail-area {
  position: relative;
  z-index: 3;

  width: 320px;
}

.comet-tail1 {
  position: absolute;

  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  height: 16px;
  border-top-left-radius: 50%;
  border-bottom-left-radius: 50%;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  background: linear-gradient(to right, #4fa5be33, var(--verylightblue));
  filter: blur(5px);
}

.comet-tail2 {
  position: absolute;

  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  height: 24px;
  border-top-left-radius: 50%;
  border-bottom-left-radius: 50%;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  background: linear-gradient(to right, #6596b533, #6a9ebeee);
  filter: blur(12px);
}
