:root {
  color-scheme: dark;
  font-family:
    Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: #050b0a;
  color: #eef8f4;
}

* {
  box-sizing: border-box;
}

body {
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 50% -10%, rgba(75, 190, 150, 0.2), transparent 38rem),
    linear-gradient(180deg, #07110f, #030706);
}

.shell {
  width: min(100% - 28px, 560px);
  margin: 0 auto;
  padding: max(24px, env(safe-area-inset-top)) 0 max(28px, env(safe-area-inset-bottom));
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 4px 4px 22px;
}

.brand div {
  display: flex;
  flex-direction: column;
}

.brand strong {
  font-size: 17px;
}

.brand span:not(.logo) {
  margin-top: 2px;
  color: #7f9b91;
  font-size: 12px;
}

.logo {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(127, 224, 188, 0.24);
  border-radius: 13px;
  background: rgba(83, 183, 147, 0.12);
  color: #8be0c0;
  font-weight: 700;
}

.card {
  padding: 24px;
  border: 1px solid rgba(151, 184, 172, 0.13);
  border-radius: 24px;
  background: rgba(12, 22, 19, 0.92);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.34);
}

.eyebrow {
  margin: 0 0 8px;
  color: #79d7b5;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

h1 {
  margin: 0;
  font-size: clamp(25px, 7vw, 34px);
  line-height: 1.08;
}

.lead {
  margin: 14px 0 0;
  color: #a5b9b2;
  font-size: 14px;
  line-height: 1.55;
}

.referral {
  margin-top: 16px;
  padding: 9px 11px;
  border: 1px solid rgba(121, 215, 181, 0.22);
  border-radius: 10px;
  background: rgba(83, 183, 147, 0.1);
  color: #99e5c8;
  font-size: 12px;
}

.steps {
  display: grid;
  gap: 18px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.steps li {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 12px;
}

.step-number {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 10px;
  background: #183d31;
  color: #91e7c7;
  font-size: 13px;
  font-weight: 700;
}

.step-content h2 {
  margin: 3px 0 5px;
  font-size: 16px;
}

.step-content p {
  margin: 0 0 12px;
  color: #7f9b91;
  font-size: 12px;
  line-height: 1.45;
}

.button {
  display: flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  margin-top: 9px;
  border-radius: 13px;
  color: white;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition:
    transform 0.15s ease,
    opacity 0.15s ease;
}

.button:active {
  transform: scale(0.985);
}

.button.primary {
  background: linear-gradient(135deg, #55bf98, #3d8d72);
  color: #03100c;
}

.button.secondary {
  border: 1px solid #30443d;
  background: #111d19;
  color: #c5d6d0;
}

.button.telegram {
  background: #269ed8;
}

.button.disabled {
  pointer-events: none;
  opacity: 0.4;
}

.hint {
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(244, 191, 88, 0.23);
  border-radius: 11px;
  background: rgba(244, 191, 88, 0.08);
  color: #e8cea0;
  font-size: 12px;
  line-height: 1.5;
}

.copy {
  width: 100%;
  margin-top: 8px;
  padding: 8px;
  border: 0;
  background: transparent;
  color: #79d7b5;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}

.status {
  margin-top: 22px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #111d19;
  color: #91a69e;
  font-size: 12px;
  line-height: 1.45;
}

.status.success {
  background: rgba(83, 183, 147, 0.12);
  color: #9ee9cc;
}

.status.error {
  background: rgba(224, 83, 83, 0.12);
  color: #efaaaa;
}

.footnote {
  margin: 14px;
  color: #52665f;
  text-align: center;
  font-size: 11px;
}

@media (max-width: 420px) {
  .card {
    padding: 20px 17px;
    border-radius: 20px;
  }
}
