* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: black;
  margin: 0 10px;
}

.container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: aqua;
  padding: 50px;
  border-radius: 20px;
  background-color: black; /* isi se andar ka area solid black rahega */
}

/* ===========================
   RAINBOW BORDER WRAPPER
   =========================== */

.border-wrap {
  padding: 4px; /* yahi thickness hai border ki */
  border-radius: 24px;

  background: linear-gradient(
    270deg,
    #ff0000,
    #ff9900,
    #fff700,
    #33ff00,
    #00fffb,
    #0055ff,
    #aa00ff,
    #ff0000
  );
  background-size: 400% 400%;

  animation: rainbowBorder 6s ease infinite;
}

@keyframes rainbowBorder {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

.title {
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 50px;
  text-shadow: 0 0 5px cyan;
}

#temp {
  background-color: black;
  color: cyan;
  font-weight: 600;
  border: 3px solid cyan;
  border-radius: 8px;
  padding: 10px 15px;
  font-size: 1.7rem;
  outline: none;
  text-align: center;
  transition:
    border-color 0.25s,
    box-shadow 0.25s;
  margin-bottom: 50px;
}

#temp:hover {
  border-color: aqua;
  box-shadow: 0 0 8px cyan;
}

span {
  font-size: 1.6rem;
  font-weight: 600;
}

label:last-of-type {
  margin-bottom: 50px;
}

/* ===========================
   CUSTOM RADIO BUTTON
   =========================== */

label {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  margin-bottom: 22px;
  user-select: none;
}

input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;

  width: 24px;
  height: 24px;

  border: 2px solid cyan;
  border-radius: 50%;

  background-color: black;
  cursor: pointer;
  position: relative;

  transition: all 0.25s ease;
}

input[type="radio"]:hover {
  border-color: aqua;
  box-shadow: 0 0 8px cyan;
}

input[type="radio"]:checked {
  border-color: aqua;
  box-shadow: 0 0 12px cyan;
}

input[type="radio"]::before {
  content: "";
  position: absolute;

  width: 12px;
  height: 12px;

  border-radius: 50%;
  background: cyan;

  top: 50%;
  left: 50%;

  transform: translate(-50%, -50%) scale(0);

  transition: transform 0.2s ease;
  box-shadow: 0 0 10px cyan;
}

input[type="radio"]:checked::before {
  transform: translate(-50%, -50%) scale(1);
}

input[type="radio"]:focus-visible {
  outline: 2px solid aqua;
  outline-offset: 3px;
}

/* ===========================
   SUBMIT BUTTON
   =========================== */

.submit {
  padding: 15px 60px;
  border-radius: 10px;
  font-size: 1.4rem;
  font-weight: 700;
  background-color: black;
  color: cyan;
  border: 2px solid cyan;
  cursor: pointer;
  margin-bottom: 50px;
  transition: all 0.25s;
}

.submit:hover {
  border: 2px solid darkcyan;
  background-color: cyan;
  color: black;
}

p {
  font-size: 3rem;
  text-shadow: 0 0 10px cyan;
}

@media screen and (max-width: 752px) {
  .container {
    padding: 40px 20px;
  }
  .title {
    font-size: 1.4rem;
    margin-bottom: 40px;
  }
  #temp {
    font-size: 1.1rem;
    padding: 10px;
    margin-bottom: 40px;
  }
  span {
    font-size: 1.1rem;
  }
  label:last-of-type {
    margin-bottom: 40px;
  }
  .submit {
    font-size: 0.9rem;
    padding: 12px 50px;
    margin-bottom: 30px;
  }
  p {
    font-size: 2rem;
  }
}
