body {
    margin: 0;
    font-family: 'Trebuchet MS', sans-serif;
    background: #ffffff;
    color: #000000;
}

header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #ddd;
}
h2 {
    text-align: center;
    margin-left:10px;
}

nav a {
    margin-left: 20px;
    text-decoration: none;
    color: #000;
    font-weight: 500;
}

.hero {
    padding: 100px 20px;
    text-align: center;
}

.content {
    padding: 40px 20px;
    max-width: 800px;
    margin: auto;
}

footer {
    text-align: center;
    padding: 20px;
    margin-top: 50px;
    border-top: 1px solid #ddd;
    font-size: 14px;
}

@keyframes bounceDown {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(10px);
  }
}

.signup-row {
  display: flex;
  justify-content: center;
  gap: 16px;
  max-width: 700px;
  margin: 0 auto;
  flex-wrap: nowrap; /* mobile stack */
}
.signup-column {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 160px;
}
/* Mobile: still 2 columns, just smaller */
@media (max-width: 600px) {
  .signup-column {
    width: 45%;   /* ⬅️ THIS keeps two columns */
  }
}

/* INPUT */
.signup-column input {
  width: 100%;
  padding: 8px 12px;
  font-size: 14px;
  margin-bottom: 10px;
  box-sizing: border-box;
}
/* BUTTON */
.signup-column button {
  width: 100%;
  padding: 8px 12px;
  font-size: 13px;
  cursor: pointer;
}
.signup-column img {
  width: 50px;
  margin-top: 14px;
  animation: bounceDown 1.5s infinite ease-in-out;
}
.signup-column:nth-child(2) img {
  animation-delay: 0.3s;
}
50% {
  transform: translateY(16px);
}
input::placeholder {
  font-size: 10px;
}
/* MOBILE */
@media (max-width: 600px) {
  .signup-row {
    gap: 25px;
  }

  .signup-column {
    width: 90%;
    max-width: 280px;
  }
}

@media (max-width: 600px) {
  .email-input::placeholder {
    font-size: 12px;
  }
}
.app-container {
    width: 100%;
    max-width: 720px;
    aspect-ratio: 9 / 16;
    margin: 40px auto;
}

.app-container iframe {
  width: 100%;
  height: 100%;
  border: none;
}

iframe,
canvas {
    touch-action: pan-y;
}

@media (max-width: 768px) {
  header h1 {
    font-size: 20px;
    text-align: center;
    padding: 0 10px;
  }

  .content p {
    padding: 0 15px;
  }
}

/* Error visuals */
.input-error {
  border: 2px solid #e74c3c;
}

.error-msg {
  color: #e74c3c;
  font-size: 12px;
  margin-top: 6px;
  display: none;
}

/* Shake animation */
@keyframes shake {
  0%   { transform: translateX(0); }
  20%  { transform: translateX(-6px); }
  40%  { transform: translateX(6px); }
  60%  { transform: translateX(-6px); }
  80%  { transform: translateX(6px); }
  100% { transform: translateX(0); }
}

.shake {
  animation: shake 0.4s;
}




