* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  display: grid;
  place-items: center;
  font-family: system-ui, "Segoe UI", sans-serif;
  color: #fff;
  background: linear-gradient(135deg, #1b1464, #7b2ff7 50%, #f107a3);
  background-size: 200% 200%;
  animation: flow 12s ease infinite;
  overflow: hidden;
}
@keyframes flow { 50% { background-position: 100% 100%; } }

.bubble {
  position: fixed;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  animation: float 9s ease-in-out infinite;
}
.bubble:nth-child(1) { width: 220px; height: 220px; top: 8%; left: 6%; }
.bubble:nth-child(2) { width: 140px; height: 140px; bottom: 10%; right: 10%; animation-delay: -3s; }
.bubble:nth-child(3) { width: 90px; height: 90px; top: 60%; left: 20%; animation-delay: -6s; }
@keyframes float { 50% { transform: translateY(-30px); } }

.card {
  position: relative;
  width: min(92vw, 380px);
  padding: 32px 28px;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.35);
  backdrop-filter: blur(18px);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
  text-align: center;
  animation: pop 0.6s cubic-bezier(0.2, 1.4, 0.4, 1);
}
@keyframes pop { from { transform: scale(0.8); opacity: 0; } }

.logo {
  width: 84px;
  height: 84px;
  margin: 0 auto 12px;
  display: grid;
  place-items: center;
  font-size: 44px;
  border-radius: 26px;
  background: linear-gradient(135deg, #00e5a0, #00b4ff);
  box-shadow: 0 8px 24px rgba(0, 229, 160, 0.5);
  animation: ring 2.5s ease-in-out infinite;
}
@keyframes ring {
  0%, 60%, 100% { transform: rotate(0); }
  10%, 30% { transform: rotate(-14deg); }
  20%, 40% { transform: rotate(14deg); }
}

h1 { margin: 0 0 6px; font-size: 2rem; letter-spacing: 1px; }
.hint { margin: 0 0 22px; opacity: 0.9; line-height: 1.4; }

input, select, button {
  width: 100%;
  font: inherit;
  border: 0;
  border-radius: 16px;
  padding: 14px 16px;
  margin-bottom: 12px;
}
input, select { background: rgba(255, 255, 255, 0.92); color: #222; }
input:focus, select:focus { outline: 3px solid #00e5a0; }

button {
  font-weight: 700;
  color: #0b1b3a;
  cursor: pointer;
  background: linear-gradient(135deg, #00e5a0, #00b4ff);
  box-shadow: 0 6px 18px rgba(0, 180, 255, 0.45);
  transition: transform 0.15s;
}
button:hover { transform: translateY(-2px) scale(1.02); }
button:active { transform: scale(0.97); }

.lang { width: auto; margin: 0 0 16px; padding: 8px 12px; font-size: 0.9rem; }

.email {
  margin: 8px 0 16px;
  padding: 14px;
  border-radius: 16px;
  background: rgba(0, 0, 0, 0.25);
  font-weight: 700;
  word-break: break-all;
}
