* { box-sizing: border-box; }
body {
  margin: 0; min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px;
  background:
    radial-gradient(900px 500px at 85% -10%, rgba(185, 246, 65, 0.12), transparent 60%),
    radial-gradient(700px 420px at -10% 110%, rgba(185, 246, 65, 0.07), transparent 60%),
    #050505;
  color: #f2f2f2; font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}
.card {
  width: 100%; max-width: 420px; padding: 36px 32px 28px; text-align: center;
  background: #0e0f0d; border: 1px solid #1f221b; border-radius: 20px;
  box-shadow: 0 0 0 1px rgba(185, 246, 65, 0.04), 0 24px 70px rgba(0, 0, 0, 0.65);
}
.logo svg { display: block; margin: 0 auto; }
.badge {
  display: inline-block; margin-top: 14px; padding: 5px 11px; border-radius: 999px;
  font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
  color: #b9f641; background: rgba(185, 246, 65, 0.14);
}
h1 { font-size: 22px; margin: 22px 0 10px; }
p { font-size: 14px; line-height: 1.55; color: #8b8f86; margin: 0 0 22px; }
a { color: #b9f641; text-decoration: none; }
.widget { min-height: 48px; display: flex; justify-content: center; margin-bottom: 18px; }
.err { color: #f6465d; font-size: 13px; }
.small { font-size: 12px; color: #5d6257; margin: 0; }
.tg-btn {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  width: 100%; padding: 14px; margin-bottom: 14px; border-radius: 12px;
  background: #b9f641; color: #0a0a0a; font-weight: 700; font-size: 15px; text-decoration: none;
  transition: background 0.15s, box-shadow 0.15s;
}
.tg-btn:hover { background: #cbff63; box-shadow: 0 6px 24px rgba(185, 246, 65, 0.25); }
.tg-btn.loading { opacity: 0.5; pointer-events: none; }
.wait { color: #f2f2f2; font-size: 13.5px; margin: 0 0 18px; }
.or { display: flex; align-items: center; gap: 10px; color: #5d6257; font-size: 12px; margin: 4px 0 14px; }
.or::before, .or::after { content: ''; flex: 1; height: 1px; background: #1f221b; }
