* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: Arial, Helvetica, sans-serif;
}

body {
  background: #0f0f0f;
  color: white;

  min-height: 100vh;

  display: flex;
  justify-content: center;
  align-items: center;

  padding: 20px;
}

.container {
  width: 100%;
  max-width: 500px;

  background: #181818;
  border: 1px solid #2b2b2b;

  border-radius: 24px;

  padding: 32px 24px;

  box-shadow:
    0 0 25px rgba(0, 0, 0, 0.6),
    0 0 5px rgba(255, 255, 255, 0.03);

  display: flex;
  flex-direction: column;
  gap: 24px;
}

.contador {
  background: #111;
  border: 1px solid #2a2a2a;

  border-radius: 18px;

  padding: 22px;

  display: flex;
  flex-direction: column;
  align-items: center;

  gap: 18px;

  transition: 0.2s ease;
}

.contador:hover {
  transform: translateY(-2px);
  border-color: #3d3d3d;
}

.contador h2 {
  font-size: 1.5rem;
  font-weight: bold;
}

.acoes {
  display: flex;
  align-items: center;
  gap: 18px;
}

span {
  font-size: 2rem;
  min-width: 60px;

  text-align: center;
  font-weight: bold;
}

button {
  width: 52px;
  height: 52px;

  border: none;
  border-radius: 14px;

  background: #242424;
  color: white;

  font-size: 1.5rem;
  font-weight: bold;

  cursor: pointer;

  transition: 0.2s ease;
}

button:hover {
  background: #353535;
  transform: scale(1.05);
}

button:active {
  transform: scale(0.95);
}

.mais {
  background: #1f8f4d;
}

.mais:hover {
  background: #26a85b;
}

.menos {
  background: #a32626;
}

.menos:hover {
  background: #c53030;
}

#resultado {
  text-align: center;
  font-size: 1.2rem;
  color: #cfcfcf;

  margin-top: 10px;
}

@media (max-width: 500px) {
  .container {
    padding: 24px 18px;
  }

  h1 {
    font-size: 1.6rem;
  }

  .contador h2 {
    font-size: 1.2rem;
  }

  span {
    font-size: 1.7rem;
  }

  button {
    width: 46px;
    height: 46px;
  }
}