* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  &::-webkit-scrollbar {
    background-color: transparent;
  }
  &::-webkit-scrollbar-thumb {
    background-color: var(--highlight);
    border: none;
    border-radius: 0.5rem;
    cursor: pointer;
  }
}

body {
  font-family: 'Courier New', Courier, monospace;
  font-size: 1.10rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--color-bg-dark);
  color: var(--color-text-muted);
  overflow: hidden;
}

ul,
li {
  list-style: none;
}

h1, h2, h3 {
  color: var(--color-text);
  margin-bottom: 0.5rem;
}


a {
  text-decoration: none;

  &:hover {
    animation: none;
    color: var(--color-pink);
    cursor: pointer;
  }
}

header {
  margin-bottom: 2rem;
  position: absolute;
  top: 2rem;
  left: 2rem;
  right: 2rem;
}

button {
  background-color: var(--color-bg-light);
  border-radius: 0.5em;
  padding: 0.6rem;
  border: none;
  cursor: pointer;
  transition: background-color 0.3s ease-in-out;
  width: 100%;
  &:hover {
    background-color: hsl(240, 50%, 50%);
  }

  &:active {
    transform: scale(0.98);
  }
}

input {
  border: none;
  border-radius: 8px;
  padding: 0.5em;
  outline: none;
}

input, textarea, button {
  background-color: var(--color-bg-light);
  color: var(--color-text);
  font-size: 1.10rem;
  box-shadow: var(--shadow);
}

textarea {
  resize: none;
  border: none;
  border-radius: 0.5rem;
  padding: 0.5rem;
  width: 100%;
}

fieldset {
  border-radius: 0.5rem;
  background-color: var(--color-bg-mid);
  border: none;
  padding: 1rem;
  margin-bottom: 0.5rem;
}

strong {
  color: var(--color-text);
}

.outline {
  &:focus {
    outline: solid 1px var(--border);
    outline-offset: 2px;
  }
}

.outline-danger {
  outline: solid 1px var(--danger);
  outline-offset: 2px;
}

.shake-animation {
  animation: shake 0.2s ease-in-out;
}

@keyframes shake {
    0% {
      transform: translateX(0);
    }
    25% {
      transform: translateX(5px);
    }
    50% {
      transform: translateX(-5px);
    }
    75% {
      transform: translateX(5px);
    }
    100% {
      transform: translateX(0);
    }
}

@media (min-width: 700px) {
  body {
    font-size: 1.15rem;
  }

  button {
    width: fit-content;
  }
}

:root {
  --color-bg-dark: hsl(220 100% 2%);
  --color-bg-mid: hsla(220 100% 5%);
  --color-bg-light: hsl(220 86% 8%);
  --color-text: hsl(220 100% 95%);
  --color-text-muted: hsl(220 59% 69%);
  --highlight: hsl(220 46% 38%);
  --border: hsl(220 69% 26%);
  --border-muted: hsl(220 100% 14%);
  --warning: hsl(20, 50%, 50%);
  --danger:  hsl(335, 50%, 50%);
  --color-shadow: hsla(250, 50%, 0%, 0.074);
  --shadow: 0 2px 2px var(--color-shadow);
  --info: hsl(217 46% 66%);
}