* {
  box-sizing: border-box;
}

:root {
  color-scheme: dark;
}

body {
  margin: 0;
  min-height: 100vh;

  font-family:
    Inter,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;

  color: #f5f7ff;

  background:
    radial-gradient(
      circle at 50% -10%,
      #253b70 0%,
      #111827 35%,
      #080b12 75%
    );

  padding: 50px 20px;
}


.container {
  width: 100%;
  max-width: 760px;
  margin: auto;
}


.hero {
  text-align: center;
  margin-bottom: 35px;
}


.badge {
  display: inline-block;

  padding: 7px 13px;

  border: 1px solid rgba(120, 170, 255, 0.35);
  border-radius: 100px;

  background: rgba(80, 130, 255, 0.1);

  color: #8eb6ff;

  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.5px;

  margin-bottom: 15px;
}


h1 {
  margin: 0;

  font-size: clamp(38px, 8vw, 62px);
  line-height: 1;

  letter-spacing: -2px;
}


.subtitle {
  margin-top: 18px;
  margin-bottom: 7px;

  font-size: 20px;
  font-weight: 600;
}


.description {
  max-width: 560px;

  margin:
    0
    auto;

  color: #aeb8cb;

  line-height: 1.6;
}


.feedback-card {
  padding: 32px;

  background: rgba(17, 24, 39, 0.75);

  border:
    1px solid
    rgba(255, 255, 255, 0.09);

  border-radius: 22px;

  backdrop-filter: blur(20px);

  box-shadow:
    0 25px 80px
    rgba(0, 0, 0, 0.35);
}


.section {
  margin-bottom: 27px;
}


label,
.main-label {
  display: block;

  margin-bottom: 10px;

  font-weight: 600;
}


label span {
  margin-left: 6px;

  color: #768196;

  font-size: 12px;
  font-weight: 500;
}


input,
textarea {
  width: 100%;

  padding: 14px 15px;

  border:
    1px solid
    #2a3445;

  border-radius: 11px;

  outline: none;

  background: #0d1420;

  color: white;

  font-family: inherit;
  font-size: 15px;

  transition:
    border-color 0.2s,
    box-shadow 0.2s;
}


textarea {
  min-height: 120px;
  resize: vertical;
}


input:focus,
textarea:focus {
  border-color: #588bff;

  box-shadow:
    0 0 0 3px
    rgba(88, 139, 255, 0.12);
}


input::placeholder,
textarea::placeholder {
  color: #5f6b80;
}


.rating {
  display: flex;
  gap: 7px;
}


.rating button {
  border: none;

  background: transparent;

  color: #394457;

  font-size: 36px;

  padding: 0 2px;

  cursor: pointer;

  transition:
    color 0.15s,
    transform 0.15s;
}


.rating button:hover {
  transform: scale(1.12);
}


.rating button.active {
  color: #ffcb45;
}


.submit-button {
  width: 100%;

  padding: 15px;

  border: none;
  border-radius: 12px;

  background:
    linear-gradient(
      135deg,
      #4f7cff,
      #7657ff
    );

  color: white;

  font-size: 16px;
  font-weight: 700;

  cursor: pointer;

  transition:
    transform 0.15s,
    opacity 0.15s;
}


.submit-button:hover {
  transform: translateY(-1px);
}


.submit-button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
}


.status {
  display: none;

  margin-top: 17px;

  padding: 13px;

  border-radius: 10px;

  text-align: center;

  font-size: 14px;
}


.status.success {
  display: block;

  color: #9df0bc;

  background: rgba(45, 190, 100, 0.1);

  border:
    1px solid
    rgba(45, 190, 100, 0.25);
}


.status.error {
  display: block;

  color: #ffaaaa;

  background: rgba(255, 80, 80, 0.1);

  border:
    1px solid
    rgba(255, 80, 80, 0.25);
}


footer {
  padding: 25px;

  text-align: center;

  color: #606b7c;

  font-size: 13px;
}


@media (max-width: 600px) {

  body {
    padding: 30px 14px;
  }

  .feedback-card {
    padding: 22px;
  }

  .rating button {
    font-size: 32px;
  }

}
