$neon-pink: #ff2a6d;
$neon-blue: #05d9e8;
$neon-purple: #d300c5;
$neon-yellow: #f7f500;
$dark-bg: #0d0221;
$cyber-black: #1a1a1a;
.App {
  font-family: sans-serif;
  text-align: center;
}

@import url("https://fonts.googleapis.com/css?family=Montserrat:400,800");

// Animations for cyberpunk effects
@keyframes flicker {
  0%,
  19.999%,
  22%,
  62.999%,
  64%,
  64.999%,
  70%,
  100% {
    opacity: 0.99;
  }
  20%,
  21.999%,
  63%,
  63.999%,
  65%,
  69.999% {
    opacity: 0.4;
  }
}

@keyframes scanline {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(100%);
  }
}

@keyframes grid-movement {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 25px;
  }
}

@keyframes glitch {
  0% {
    transform: translate(0);
  }
  20% {
    transform: translate(-2px, 2px);
  }
  40% {
    transform: translate(-2px, -2px);
  }
  60% {
    transform: translate(2px, 2px);
  }
  80% {
    transform: translate(2px, -2px);
  }
  100% {
    transform: translate(0);
  }
}

.login-page{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
}

.container {
  background-color: rgba($cyber-black, 0.7);
  border-radius: 8px;
  border: 1px solid $neon-blue;
  box-shadow: 0 0 20px rgba($neon-blue, 0.4), 0 0 40px rgba($neon-purple, 0.2);
  position: relative;
  overflow: hidden;
  width: 768px;
  max-width: 100%;
  min-height: 480px;

  &::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, $neon-pink, transparent);
    box-shadow: 0 0 10px $neon-pink;
    z-index: 10;
  }

  &::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, $neon-blue, transparent);
    box-shadow: 0 0 10px $neon-blue;
    z-index: 10;
  }
}

.form-container {
  position: absolute;
  top: 0;
  height: 100%;
  transition: all 0.6s ease-in-out;
  will-change: transform, opacity;
}

.sign-in-container {
  left: 0;
  width: 50%;
  z-index: 2;
}

.container.right-panel-active .sign-in-container {
  transform: translateX(100%);
}

.sign-up-container {
  left: 0;
  width: 50%;
  opacity: 0;
  z-index: 1;
}

.container.right-panel-active .sign-up-container {
  transform: translateX(100%);
  opacity: 1;
  z-index: 5;
  animation: show 0.6s;
}

@keyframes show {
  0%,
  49.99% {
    opacity: 0;
    z-index: 1;
  }

  50%,
  100% {
    opacity: 1;
    z-index: 5;
  }
}

.overlay-container {
  position: absolute;
  top: 0;
  left: 50%;
  width: 50%;
  height: 100%;
  overflow: hidden;
  transition: transform 0.6s ease-in-out;
  z-index: 100;
  will-change: transform;
}

.container.right-panel-active .overlay-container {
  transform: translateX(-100%);
}

.overlay {
  background: $dark-bg;
  background: linear-gradient(135deg, $cyber-black, $dark-bg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 0 0;
  color: #ffffff;
  position: relative;
  left: -100%;
  height: 100%;
  width: 200%;
  transform: translateX(0);
  transition: transform 0.6s ease-in-out;
  overflow: hidden;
  will-change: transform;

  /* Cyberpunk grid background as an independent element to avoid animation conflicts */
  .grid-background {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(
        rgba($neon-blue, 0.1) 1px,
        transparent 1px
      ),
      linear-gradient(90deg, rgba($neon-blue, 0.1) 1px, transparent 1px);
    background-size: 25px 25px;
    z-index: 1;
    animation: grid-movement 5s linear infinite;
    opacity: 0.3;
    pointer-events: none;
  }

  /* Scanline effect as an independent element */
  .scanline {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: rgba($neon-pink, 0.5);
    box-shadow: 0 0 10px rgba($neon-pink, 0.8);
    animation: scanline 3s linear infinite;
    z-index: 2;
    pointer-events: none;
  }
}

.container.right-panel-active .overlay {
  transform: translateX(50%);
}

.overlay-panel {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 0 40px;
  text-align: center;
  top: 0;
  height: 100%;
  width: 50%;
  transform: translateX(0);
  transition: transform 0.6s ease-in-out;
}

.overlay-left {
  transform: translateX(-20%);
}

.container.right-panel-active .overlay-left {
  transform: translateX(0);
}

.overlay-right {
  right: 0;
  transform: translateX(0);
}

.container.right-panel-active .overlay-right {
  transform: translateX(20%);
}

.social-container {
  margin: 20px 0;
  position: relative;
}

.social-container a {
  border: 2px solid $neon-blue;
  border-radius: 50%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin: 0 5px;
  height: 60px;
  width: 60px;
  color: $neon-blue;
  background-color: rgba($dark-bg, 0.6);
  box-shadow: 0 0 8px rgba($neon-blue, 0.5);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  
  /* Google icon specific styling */
  &.google-signin {
    i, .fab {
      font-size: 1.8rem;
      color: $neon-blue;
      text-shadow: 0 0 5px rgba($neon-blue, 0.8);
      transition: all 0.3s ease;
    }
    
    &::before {
      content: "";
      position: absolute;
      top: -50%;
      left: -50%;
      width: 200%;
      height: 200%;
      background: conic-gradient(
        transparent, 
        rgba($neon-blue, 0.3), 
        transparent 30%
      );
      animation: rotate 4s linear infinite;
      opacity: 0;
      transition: opacity 0.3s ease;
    }
    
    &:hover {
      background-color: rgba($dark-bg, 0.8);
      border-color: $neon-pink;
      box-shadow: 0 0 15px rgba($neon-pink, 0.7), inset 0 0 10px rgba($neon-pink, 0.4);
      transform: scale(1.05);
      
      &::before {
        opacity: 1;
      }
      
      i, .fab {
        color: $neon-pink;
        text-shadow: 0 0 8px rgba($neon-pink, 1);
      }
    }
  }
}

@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

footer {
  background-color: #222;
  color: #fff;
  font-size: 14px;
  bottom: 0;
  position: fixed;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 999;
}

footer p {
  margin: 10px 0;
}

footer i {
  color: red;
}

footer a {
  color: #3c97bf;
  text-decoration: none;
}


.login-container {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background-color: #f5f5f5;

  .login-card {
    width: 100%;
    max-width: 400px;
    padding: 2rem;
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);

    h2 {
      text-align: center;
      margin-bottom: 1.5rem;
      color: #333;
    }

    .error-message {
      background-color: #ffecec;
      color: #d63031;
      padding: 0.75rem;
      border-radius: 4px;
      margin-bottom: 1rem;
      text-align: center;
    }

    .form-group {
      margin-bottom: 1rem;

      label {
        display: block;
        margin-bottom: 0.5rem;
        font-weight: 500;
      }

      input {
        width: 100%;
        padding: 0.75rem;
        border: 1px solid #ddd;
        border-radius: 4px;
        font-size: 1rem;

        &:focus {
          outline: none;
          border-color: #4a90e2;
        }
      }
    }

    .login-button {
      width: 100%;
      padding: 0.75rem;
      background-color: #4a90e2;
      color: white;
      border: none;
      border-radius: 4px;
      font-size: 1rem;
      cursor: pointer;
      transition: background-color 0.3s;

      &:hover {
        background-color: #3a7bc8;
      }
    }

    .login-footer {
      margin-top: 1.5rem;
      text-align: center;

      p {
        margin-bottom: 0.5rem;
      }

      a {
        color: #4a90e2;
        text-decoration: none;

        &:hover {
          text-decoration: underline;
        }
      }
    }
  }
}