:root {
  --bg-color: #e0e5ec;
  --box-shadow-color: #bebebe;
  --box-shadow-color-invert: #ffffff;
  --text-color: #000;
  --text-color-invert: #fff;
  --dots-color: #000;
  --text-highlight-color: #0077ff;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg-color: #1a1a1a;
    --box-shadow-color: #000;
    --box-shadow-color-invert: #1a1a1a;
    --text-color: #fff;
    --text-color-invert: #000;
    --dots-color: #fff;
    --text-highlight-color: #ff9900;
  }
}

body {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  overflow: hidden;
  color: var(--text-color);
  /* Animated background with dots */
  background: var(--bg-color);
  background-image: radial-gradient(var(--dots-color) 1px, transparent 1px), radial-gradient(var(--dots-color) 1px, transparent 1px);
  background-position: 0 0, 25px 25px;
  background-size: 50px 50px;
}

.container {
  background: var(--bg-color);
  border-radius: 50px;
  box-shadow: 20px 20px 60px var(--box-shadow-color),
    -20px -20px 60px var(--box-shadow-color-invert);
  padding: 20px;
  width: 500px;
  height: 500px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.img-container {
  width: 200px;
  height: 200px;
}

.img-container img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

h1 {
  font-size: 3rem;
  margin-bottom: 20px;
}

p {
  font-size: 1.5rem;
  margin-bottom: 20px;
}

input {
  border: none;
  border-radius: 50px;
  padding: 10px 20px;
  font-size: 1.5rem;
  margin-bottom: 20px;
  box-shadow: 20px 20px 60px var(--box-shadow-color),
    -20px -20px 60px var(--box-shadow-color-invert);
}

button {
  border: none;
  border-radius: 50px;
  padding: 10px 20px;
  font-size: 1.5rem;
  margin-bottom: 20px;
  box-shadow: 20px 20px 60px var(--box-shadow-color),
    -20px -20px 60px var(--box-shadow-color-invert);
}

#ttl {
  font-size: 1.5rem;
  margin-bottom: 20px;
}

/* Info popup */
.text-container {
  position: relative;
}

#info-popup {
  color: var(--text-highlight-color);
}

#info-popup .popup {
  color: var(--text-color);
}

.popup {
  position: absolute;
  top: -10px;
  right: 0;
  background: var(--bg-color);
  border-radius: 50px;
  box-shadow: 20px 20px 60px var(--box-shadow-color),
    -20px -20px 60px var(--box-shadow-color-invert);
  padding: 10px 20px;
  font-size: 1rem;
  margin-bottom: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 500px) {
  .container {
    width: 100%;
    height: 100%;
    border-radius: 0;
    background: rgba(0, 0, 0, 0.5);
  }

  form {
    display: flex;
    flex-direction: column;
    width: 100%;
  }
}