:root {
  --auth-bg: radial-gradient(circle at top, rgba(255, 223, 0, 0.3), transparent 55%),
              radial-gradient(circle at 20% 80%, rgba(255, 235, 59, 0.25), transparent 60%),
              radial-gradient(circle at 80% 30%, rgba(255, 249, 196, 0.35), transparent 60%),
              radial-gradient(ellipse at 10% 20%, rgba(255, 193, 7, 0.15), transparent 40%),
              radial-gradient(ellipse at 90% 70%, rgba(255, 152, 0, 0.12), transparent 45%),
              conic-gradient(from 45deg at 25% 75%, rgba(255, 235, 59, 0.08), transparent 120deg),
              conic-gradient(from 225deg at 75% 25%, rgba(255, 193, 7, 0.06), transparent 120deg),
              #fef9e7;
}

body.auth {
  margin: 0;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--auth-bg);
  font-family: 'Inter', system-ui, sans-serif;
  color: #5a4a00;
  overflow: hidden;
}

.auth::before,
.auth::after {
  content: '';
  position: fixed;
  width: 140vmax;
  height: 140vmax;
  background: radial-gradient(circle, rgba(255, 223, 0, 0.3), transparent 55%);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(0deg);
  animation: halo 24s linear infinite;
  opacity: 0.4;
  pointer-events: none;
}

.auth::after {
  animation-duration: 36s;
  opacity: 0.3;
  background: radial-gradient(circle, rgba(255, 235, 59, 0.25), transparent 55%);
}

@keyframes halo {
  0% { transform: translate(-50%, -50%) rotate(0deg); }
  100% { transform: translate(-50%, -50%) rotate(360deg); }
}

.auth__container {
  position: relative;
  z-index: 10;
  width: min(420px, calc(100vw - 32px));
  background: rgba(255, 255, 255, 0.85);
  border-radius: 28px;
  border: 1px solid rgba(255, 223, 0, 0.3);
  box-shadow: 0 35px 65px rgba(255, 193, 7, 0.15);
  overflow: hidden;
  backdrop-filter: blur(18px);
}

.auth__header {
  padding: 2.75rem 2.5rem 2rem;
  text-align: center;
  background: linear-gradient(180deg, rgba(255, 223, 0, 0.15), transparent);
  border-bottom: 1px solid rgba(255, 223, 0, 0.2);
}


.auth__logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 68px;
  height: 68px;
  border-radius: 22px;
  background: rgba(255, 223, 0, 0.2);
  margin-bottom: 1.25rem;
  box-shadow: inset 0 0 0 1px rgba(255, 235, 59, 0.4);
}

.auth__logo img,
.auth__logo svg {
  width: 36px;
  height: 36px;
}


.auth__title {
  margin: 0;
  font-size: 1.65rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #5a4a00;
}

.auth__subtitle {
  margin-top: 0.5rem;
  font-size: 0.95rem;
  color: rgba(90, 74, 0, 0.76);
}

.auth__body {
  padding: 2rem 2.5rem 2.5rem;
  display: grid;
  gap: 1.5rem;
}

.auth-form__group {
  display: grid;
  gap: 0.5rem;
}

.auth-form__label {
  font-size: 0.85rem;
  font-weight: 600;
  color: rgba(90, 74, 0, 0.78);
}

.auth-form__control {
  width: 100%;
  border-radius: 14px;
  border: 1px solid rgba(255, 223, 0, 0.3);
  background: rgba(255, 255, 255, 0.7);
  padding: 0.75rem 1rem;
  color: #5a4a00;
  font-size: 1rem;
  transition: border 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.auth-form__control:focus {
  outline: none;
  border-color: rgba(255, 193, 7, 0.8);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 0 3px rgba(255, 223, 0, 0.25);
}

.auth-form__control::placeholder {
  color: rgba(90, 74, 0, 0.5);
}

.auth-form__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  font-size: 0.85rem;
  color: rgba(90, 74, 0, 0.76);
}

.auth-form__actions a {
  color: rgba(255, 193, 7, 0.9);
}

.auth-form__submit {
  margin-top: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 48px;
  border-radius: 16px;
  border: 0;
  background: linear-gradient(135deg, #ffc107, #ffb300);
  color: #5a4a00;
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
  transition: transform 160ms ease, box-shadow 200ms ease;
  box-shadow: 0 18px 32px rgba(255, 193, 7, 0.35);
}

.auth-form__submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 24px 40px rgba(255, 193, 7, 0.45);
}

.auth-form__submit:active {
  transform: translateY(1px);
}

.auth__footer {
  padding: 1.5rem 2.5rem 2.2rem;
  background: rgba(255, 255, 255, 0.6);
  border-top: 1px solid rgba(255, 223, 0, 0.2);
  font-size: 0.82rem;
  color: rgba(90, 74, 0, 0.72);
  text-align: center;
}

.auth__footer a {
  color: rgba(255, 193, 7, 0.9);
}

.form-errors {
  border-radius: 16px;
  padding: 0.85rem 1rem;
  background: rgba(255, 193, 7, 0.15);
  border: 1px solid rgba(255, 193, 7, 0.35);
  color: rgba(255, 152, 0, 0.9);
  font-size: 0.85rem;
  display: grid;
  gap: 0.35rem;
}

.background-orbs {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.background-orbs span {
  position: absolute;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  filter: blur(40px);
  opacity: 0.22;
  animation: float 12s ease-in-out infinite;
}

.background-orbs span:nth-child(1) {
  background: #ffc107;
  top: -60px;
  right: -60px;
}

.background-orbs span:nth-child(2) {
  background: #ffeb3b;
  bottom: -80px;
  left: -40px;
  animation-delay: 2.5s;
}

.background-orbs span:nth-child(3) {
  background: #fff59d;
  top: 40%;
  left: -70px;
  animation-delay: 4s;
}

@keyframes float {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-18px) scale(1.04); }
}

/* Additional Abstract Elements */
.auth::before {
  background: radial-gradient(circle, rgba(255, 193, 7, 0.4), transparent 55%);
}

.auth::after {
  background: radial-gradient(circle, rgba(255, 235, 59, 0.35), transparent 55%);
}

/* Abstract Shapes Container */
.auth__abstract-shapes {
  position: fixed;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 1;
}

/* Circular Abstract Elements */
.auth__abstract-shapes .circle-1 {
  position: absolute;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 193, 7, 0.25), rgba(255, 235, 59, 0.1), transparent);
  top: -100px;
  left: -100px;
  animation: pulse-rotate 20s ease-in-out infinite;
}

.auth__abstract-shapes .circle-2 {
  position: absolute;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 152, 0, 0.2), transparent);
  bottom: -50px;
  right: -50px;
  animation: pulse-rotate 15s ease-in-out infinite reverse;
}

.auth__abstract-shapes .circle-3 {
  position: absolute;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: conic-gradient(from 0deg, rgba(255, 235, 59, 0.15), rgba(255, 193, 7, 0.05), transparent);
  top: 50%;
  left: 20%;
  animation: float-spin 25s ease-in-out infinite;
}

/* Abstract Lines */
.auth__abstract-shapes .line-1 {
  position: absolute;
  width: 2px;
  height: 400px;
  background: linear-gradient(to bottom, transparent, rgba(255, 193, 7, 0.3), transparent);
  top: -100px;
  right: 15%;
  transform: rotate(25deg);
  animation: line-fade 18s ease-in-out infinite;
}

.auth__abstract-shapes .line-2 {
  position: absolute;
  width: 3px;
  height: 300px;
  background: linear-gradient(to bottom, transparent, rgba(255, 235, 59, 0.25), transparent);
  bottom: -50px;
  left: 10%;
  transform: rotate(-15deg);
  animation: line-fade 22s ease-in-out infinite reverse;
}

.auth__abstract-shapes .line-3 {
  position: absolute;
  width: 1px;
  height: 250px;
  background: linear-gradient(to right, transparent, rgba(255, 249, 196, 0.2), transparent);
  top: 30%;
  right: 5%;
  transform: rotate(60deg);
  animation: line-fade 16s ease-in-out infinite;
}

/* Abstract Blob Shapes */
.auth__abstract-shapes .blob-1 {
  position: absolute;
  width: 180px;
  height: 180px;
  background: radial-gradient(ellipse, rgba(255, 193, 7, 0.18), rgba(255, 235, 59, 0.08));
  border-radius: 70% 30% 50% 50% / 50% 60% 40% 50%;
  top: 20%;
  right: 10%;
  animation: blob-morph 30s ease-in-out infinite;
}

.auth__abstract-shapes .blob-2 {
  position: absolute;
  width: 120px;
  height: 120px;
  background: radial-gradient(ellipse, rgba(255, 152, 0, 0.15), rgba(255, 193, 7, 0.05));
  border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
  bottom: 25%;
  left: 5%;
  animation: blob-morph 25s ease-in-out infinite reverse;
}

.auth__abstract-shapes .blob-3 {
  position: absolute;
  width: 100px;
  height: 100px;
  background: conic-gradient(from 45deg, rgba(255, 235, 59, 0.12), transparent, rgba(255, 249, 196, 0.08));
  border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
  top: 60%;
  right: 25%;
  animation: blob-morph 20s ease-in-out infinite;
}

/* Abstract Triangles */
.auth__abstract-shapes .triangle-1 {
  position: absolute;
  width: 0;
  height: 0;
  border-left: 60px solid transparent;
  border-right: 60px solid transparent;
  border-bottom: 100px solid rgba(255, 193, 7, 0.1);
  top: 15%;
  left: 8%;
  transform: rotate(30deg);
  animation: triangle-float 18s ease-in-out infinite;
}

.auth__abstract-shapes .triangle-2 {
  position: absolute;
  width: 0;
  height: 0;
  border-left: 40px solid transparent;
  border-right: 40px solid transparent;
  border-bottom: 70px solid rgba(255, 235, 59, 0.08);
  bottom: 15%;
  right: 12%;
  transform: rotate(-45deg);
  animation: triangle-float 22s ease-in-out infinite reverse;
}

/* Abstract Dots Pattern */
.auth__abstract-shapes .dots-1 {
  position: absolute;
  width: 200px;
  height: 200px;
  top: 10%;
  right: 20%;
  opacity: 0.15;
  animation: dot-pulse 15s ease-in-out infinite;
}

.auth__abstract-shapes .dots-1::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255, 193, 7, 0.8) 1px, transparent 1px);
  background-size: 20px 20px;
}

.auth__abstract-shapes .dots-2 {
  position: absolute;
  width: 150px;
  height: 150px;
  bottom: 20%;
  left: 15%;
  opacity: 0.12;
  animation: dot-pulse 18s ease-in-out infinite reverse;
}

.auth__abstract-shapes .dots-2::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255, 235, 59, 0.6) 2px, transparent 2px);
  background-size: 25px 25px;
}

/* Abstract Wave Lines */
.auth__abstract-shapes .wave-1 {
  position: absolute;
  width: 300px;
  height: 150px;
  top: 5%;
  left: -50px;
  opacity: 0.1;
  animation: wave-motion 20s ease-in-out infinite;
}

.auth__abstract-shapes .wave-1::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255, 193, 7, 0.3), transparent);
  border-radius: 50%;
  transform: skewY(-10deg);
}

.auth__abstract-shapes .wave-2 {
  position: absolute;
  width: 250px;
  height: 100px;
  bottom: 10%;
  right: -30px;
  opacity: 0.08;
  animation: wave-motion 25s ease-in-out infinite reverse;
}

.auth__abstract-shapes .wave-2::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255, 235, 59, 0.25), transparent);
  border-radius: 50%;
  transform: skewY(15deg);
}

/* Animations */
@keyframes pulse-rotate {
  0%, 100% {
    transform: rotate(0deg) scale(1);
    opacity: 0.6;
  }
  25% {
    transform: rotate(90deg) scale(1.1);
    opacity: 0.8;
  }
  50% {
    transform: rotate(180deg) scale(0.95);
    opacity: 0.4;
  }
  75% {
    transform: rotate(270deg) scale(1.05);
    opacity: 0.7;
  }
}

@keyframes float-spin {
  0%, 100% {
    transform: translateY(0) rotate(0deg) scale(1);
  }
  33% {
    transform: translateY(-20px) rotate(120deg) scale(1.1);
  }
  66% {
    transform: translateY(15px) rotate(240deg) scale(0.9);
  }
}

@keyframes blob-morph {
  0%, 100% {
    border-radius: 70% 30% 50% 50% / 50% 60% 40% 50%;
    transform: scale(1) rotate(0deg);
  }
  25% {
    border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
    transform: scale(1.1) rotate(90deg);
  }
  50% {
    border-radius: 50% 50% 30% 70% / 70% 30% 70% 30%;
    transform: scale(0.95) rotate(180deg);
  }
  75% {
    border-radius: 60% 40% 70% 30% / 30% 70% 30% 70%;
    transform: scale(1.05) rotate(270deg);
  }
}

@keyframes line-fade {
  0%, 100% {
    opacity: 0;
    transform: rotate(25deg) translateY(0);
  }
  50% {
    opacity: 0.3;
    transform: rotate(25deg) translateY(-10px);
  }
}

@keyframes triangle-float {
  0%, 100% {
    transform: rotate(30deg) translateY(0) scale(1);
    opacity: 0.1;
  }
  50% {
    transform: rotate(30deg) translateY(-15px) scale(1.1);
    opacity: 0.15;
  }
}

@keyframes dot-pulse {
  0%, 100% {
    opacity: 0.12;
    transform: scale(1);
  }
  50% {
    opacity: 0.2;
    transform: scale(1.05);
  }
}

@keyframes wave-motion {
  0%, 100% {
    transform: translateX(0) skewY(-10deg);
    opacity: 0.1;
  }
  50% {
    transform: translateX(30px) skewY(-10deg);
    opacity: 0.15;
  }
}

/* Sparkles and Particle Effects */
.auth__sparkles {
  position: fixed;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 2;
}

.auth__sparkles .sparkle {
  position: absolute;
  width: 4px;
  height: 4px;
  background: radial-gradient(circle, rgba(255, 223, 0, 0.9), transparent);
  border-radius: 50%;
  animation: sparkle-twinkle 3s ease-in-out infinite;
}

.auth__sparkles .sparkle-large {
  width: 6px;
  height: 6px;
  background: radial-gradient(circle, rgba(255, 193, 7, 0.8), transparent);
  animation: sparkle-twinkle-large 4s ease-in-out infinite;
}

.auth__sparkles .sparkle-burst {
  position: absolute;
  width: 8px;
  height: 8px;
  background: radial-gradient(circle, rgba(255, 235, 59, 0.7), transparent);
  border-radius: 50%;
  animation: sparkle-burst 2s ease-out infinite;
}

/* Additional Small Orbs */
.auth__sparkles .mini-orb {
  position: absolute;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 249, 196, 0.6), transparent);
  animation: mini-orb-float 8s ease-in-out infinite;
}

/* Geometric Shapes */
.auth__sparkles .hexagon {
  position: absolute;
  width: 20px;
  height: 20px;
  background: rgba(255, 223, 0, 0.15);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  animation: hexagon-spin 12s linear infinite;
}

.auth__sparkles .diamond {
  position: absolute;
  width: 15px;
  height: 15px;
  background: rgba(255, 193, 7, 0.2);
  transform: rotate(45deg);
  animation: diamond-pulse 6s ease-in-out infinite;
}

.auth__sparkles .star {
  position: absolute;
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 16px solid rgba(255, 235, 59, 0.25);
  animation: star-twinkle 5s ease-in-out infinite;
}

/* Light Rays */
.auth__sparkles .ray-1 {
  position: absolute;
  width: 1px;
  height: 100px;
  background: linear-gradient(to bottom, transparent, rgba(255, 223, 0, 0.4), transparent);
  transform: rotate(45deg);
  animation: ray-sweep 8s ease-in-out infinite;
}

.auth__sparkles .ray-2 {
  position: absolute;
  width: 1px;
  height: 80px;
  background: linear-gradient(to bottom, transparent, rgba(255, 235, 59, 0.3), transparent);
  transform: rotate(-30deg);
  animation: ray-sweep 10s ease-in-out infinite reverse;
}

.auth__sparkles .ray-3 {
  position: absolute;
  width: 1px;
  height: 120px;
  background: linear-gradient(to bottom, transparent, rgba(255, 249, 196, 0.35), transparent);
  transform: rotate(60deg);
  animation: ray-sweep 12s ease-in-out infinite;
}

/* Floating Particles */
.auth__sparkles .particle {
  position: absolute;
  width: 2px;
  height: 2px;
  background: rgba(255, 193, 7, 0.6);
  border-radius: 50%;
  animation: particle-float 15s linear infinite;
}

.auth__sparkles .particle-large {
  width: 3px;
  height: 3px;
  background: rgba(255, 235, 59, 0.5);
  animation: particle-float-large 20s linear infinite;
}

/* Glow Orbs */
.auth__sparkles .glow-orb {
  position: absolute;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 223, 0, 0.3), transparent 70%);
  filter: blur(8px);
  animation: glow-pulse 7s ease-in-out infinite;
}

.auth__sparkles .glow-orb-small {
  width: 40px;
  height: 40px;
  background: radial-gradient(circle, rgba(255, 235, 59, 0.25), transparent 70%);
  filter: blur(6px);
  animation: glow-pulse 9s ease-in-out infinite reverse;
}

/* Animated Dots Swarm */
.auth__sparkles .dot-swarm {
  position: absolute;
  width: 100px;
  height: 100px;
  animation: swarm-move 25s ease-in-out infinite;
}

.auth__sparkles .dot-swarm::before,
.auth__sparkles .dot-swarm::after {
  content: '';
  position: absolute;
  width: 3px;
  height: 3px;
  background: rgba(255, 193, 7, 0.4);
  border-radius: 50%;
}

.auth__sparkles .dot-swarm::before {
  top: 20%;
  left: 30%;
  animation: dot-swarm-particle 3s ease-in-out infinite;
}

.auth__sparkles .dot-swarm::after {
  bottom: 25%;
  right: 35%;
  animation: dot-swarm-particle 3s ease-in-out infinite reverse;
}

/* Energy Lines */
.auth__sparkles .energy-line {
  position: absolute;
  width: 50px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 223, 0, 0.6), transparent);
  animation: energy-flow 6s ease-in-out infinite;
}

.auth__sparkles .energy-line-thick {
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(255, 193, 7, 0.4), transparent);
  animation: energy-flow 8s ease-in-out infinite reverse;
}

/* Additional Animations */
@keyframes sparkle-twinkle {
  0%, 100% {
    opacity: 0;
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes sparkle-twinkle-large {
  0%, 100% {
    opacity: 0;
    transform: scale(0);
  }
  40%, 60% {
    opacity: 0.8;
    transform: scale(1);
  }
}

@keyframes sparkle-burst {
  0% {
    opacity: 0;
    transform: scale(0);
  }
  20% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(2);
  }
}

@keyframes mini-orb-float {
  0%, 100% {
    transform: translateY(0) translateX(0);
    opacity: 0.6;
  }
  33% {
    transform: translateY(-30px) translateX(20px);
    opacity: 0.8;
  }
  66% {
    transform: translateY(20px) translateX(-30px);
    opacity: 0.4;
  }
}

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

@keyframes diamond-pulse {
  0%, 100% {
    transform: rotate(45deg) scale(1);
    opacity: 0.2;
  }
  50% {
    transform: rotate(45deg) scale(1.3);
    opacity: 0.4;
  }
}

@keyframes star-twinkle {
  0%, 100% {
    opacity: 0.1;
    transform: scale(1);
  }
  50% {
    opacity: 0.3;
    transform: scale(1.2);
  }
}

@keyframes ray-sweep {
  0%, 100% {
    opacity: 0;
    transform: rotate(var(--rotation, 45deg)) translateY(0);
  }
  50% {
    opacity: 0.6;
    transform: rotate(var(--rotation, 45deg)) translateY(-20px);
  }
}

@keyframes particle-float {
  0% {
    transform: translateY(100vh) translateX(0);
    opacity: 0;
  }
  10% {
    opacity: 0.6;
  }
  90% {
    opacity: 0.6;
  }
  100% {
    transform: translateY(-100px) translateX(50px);
    opacity: 0;
  }
}

@keyframes particle-float-large {
  0% {
    transform: translateY(100vh) translateX(0);
    opacity: 0;
  }
  15% {
    opacity: 0.5;
  }
  85% {
    opacity: 0.5;
  }
  100% {
    transform: translateY(-150px) translateX(-30px);
    opacity: 0;
  }
}

@keyframes glow-pulse {
  0%, 100% {
    opacity: 0.3;
    transform: scale(1);
  }
  50% {
    opacity: 0.6;
    transform: scale(1.2);
  }
}

@keyframes swarm-move {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg);
  }
  25% {
    transform: translate(50px, -30px) rotate(90deg);
  }
  50% {
    transform: translate(-30px, 40px) rotate(180deg);
  }
  75% {
    transform: translate(40px, 20px) rotate(270deg);
  }
}

@keyframes dot-swarm-particle {
  0%, 100% {
    transform: translate(0, 0);
    opacity: 0.4;
  }
  50% {
    transform: translate(15px, -10px);
    opacity: 0.8;
  }
}

@keyframes energy-flow {
  0%, 100% {
    opacity: 0;
    transform: translateX(-50px);
  }
  50% {
    opacity: 0.6;
    transform: translateX(50px);
  }
}

/* ULTRA CHAOS MODE - Maximum Visual Overload */
.auth__chaos-layer {
  position: fixed;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 3;
}

/* Glitch Effect Elements */
.auth__chaos-layer .glitch-line {
  position: absolute;
  height: 2px;
  background: linear-gradient(90deg,
    transparent,
    rgba(255, 223, 0, 0.3),
    rgba(255, 193, 7, 0.9),
    rgba(255, 235, 59, 0.4),
    transparent);
  animation: glitch-scan 1s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite;
}

.auth__chaos-layer .glitch-block {
  position: absolute;
  width: 8px;
  height: 8px;
  background: rgba(255, 193, 7, 0.8);
  animation: glitch-block 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55) infinite;
}

/* Rapid Fire Elements */
.auth__chaos-layer .rapid-fire {
  position: absolute;
  width: 3px;
  height: 20px;
  background: linear-gradient(to bottom, rgba(255, 235, 59, 0.7), rgba(255, 193, 7, 0.3), transparent);
  animation: rapid-shoot 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite;
}

/* Chaos Orbs - Unpredictable Movement */
.auth__chaos-layer .chaos-orb {
  position: absolute;
  border-radius: 50%;
  animation: chaos-float 8s cubic-bezier(0.42, 0, 0.58, 1) infinite;
}

/* Electric Particles */
.auth__chaos-layer .electric-particle {
  position: absolute;
  width: 1px;
  height: 1px;
  background: rgba(255, 235, 59, 1);
  box-shadow: 0 0 8px rgba(255, 193, 7, 0.6);
  animation: electric-zap 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) infinite;
}

/* Noise Overlay */
.auth__chaos-layer .noise-overlay {
  position: absolute;
  inset: 0;
  opacity: 0.04;
  animation: noise-flicker 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite;
  background-image:
    repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(255, 235, 59, 0.08) 2px, rgba(255, 235, 59, 0.08) 4px),
    repeating-linear-gradient(90deg, transparent, transparent 2px, rgba(255, 193, 7, 0.06) 2px, rgba(255, 193, 7, 0.06) 4px);
}

/* Rotating Chaos Rings */
.auth__chaos-layer .chaos-ring {
  position: absolute;
  border: 2px solid rgba(255, 193, 7, 0.25);
  border-radius: 50%;
  animation: chaos-ring-spin 4s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite;
}

/* Lightning Strikes */
.auth__chaos-layer .lightning {
  position: absolute;
  width: 1px;
  background: linear-gradient(to bottom, transparent, rgba(255, 235, 59, 0.7), rgba(255, 193, 7, 0.9), rgba(255, 235, 59, 0.3), transparent);
  animation: lightning-strike 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite;
  filter: blur(0.5px);
}

/* Plasma Blobs */
.auth__chaos-layer .plasma-blob {
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 235, 59, 0.5), rgba(255, 193, 7, 0.2), transparent);
  animation: plasma-morph 3s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite;
  filter: blur(3px);
}

/* Matrix Rain Effect */
.auth__chaos-layer .matrix-rain {
  position: absolute;
  width: 1px;
  height: 8px;
  background: rgba(255, 235, 59, 0.7);
  animation: matrix-fall 4s cubic-bezier(0.23, 1, 0.32, 1) infinite;
}

/* Fractal Elements */
.auth__chaos-layer .fractal-dot {
  position: absolute;
  width: 2px;
  height: 2px;
  background: rgba(255, 193, 7, 0.6);
  animation: fractal-expand 2s cubic-bezier(0.175, 0.885, 0.32, 1.275) infinite;
}

/* Pulse Waves */
.auth__chaos-layer .pulse-wave {
  position: absolute;
  border: 1px solid rgba(255, 235, 59, 0.35);
  border-radius: 50%;
  animation: pulse-expand 4s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite;
}

/* Comet Trails */
.auth__chaos-layer .comet {
  position: absolute;
  width: 4px;
  height: 4px;
  background: rgba(255, 193, 7, 0.8);
  border-radius: 50%;
  animation: comet-fly 6s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite;
}

.auth__chaos-layer .comet::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 1px;
  background: linear-gradient(90deg, rgba(255, 235, 59, 0.5), transparent);
  transform: translateX(-40px) translateY(1.5px);
}

/* Spiral Elements */
.auth__chaos-layer .spiral {
  position: absolute;
  width: 20px;
  height: 20px;
  border: 1px solid rgba(255, 193, 7, 0.4);
  border-radius: 50%;
  animation: spiral-spin 2s cubic-bezier(0.68, -0.55, 0.265, 1.55) infinite;
}

/* Quantum Particles */
.auth__chaos-layer .quantum {
  position: absolute;
  width: 1px;
  height: 1px;
  background: rgba(255, 235, 59, 1);
  box-shadow: 0 0 12px rgba(255, 193, 7, 0.7);
  animation: quantum-jump 1s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite;
}

/* Chaos Animations */
@keyframes glitch-scan {
  0% { transform: translateY(-100vh); }
  100% { transform: translateY(100vh); }
}

@keyframes glitch-block {
  0%, 100% {
    opacity: 0;
    transform: scale(0) rotate(0deg);
  }
  50% {
    opacity: 1;
    transform: scale(1.5) rotate(180deg);
  }
}

@keyframes rapid-shoot {
  0% {
    opacity: 0;
    transform: translateX(-100px) scaleY(0);
  }
  10% {
    opacity: 1;
    transform: translateX(0) scaleY(1);
  }
  90% {
    opacity: 1;
    transform: translateX(100px) scaleY(1);
  }
  100% {
    opacity: 0;
    transform: translateX(200px) scaleY(0);
  }
}

@keyframes chaos-float {
  0% {
    transform: translate(0, 0) scale(1) rotate(0deg);
  }
  17% {
    transform: translate(120px, -180px) scale(1.3) rotate(72deg);
  }
  33% {
    transform: translate(-180px, 120px) scale(0.7) rotate(144deg);
  }
  50% {
    transform: translate(90px, 240px) scale(1.1) rotate(216deg);
  }
  67% {
    transform: translate(-240px, -90px) scale(1.4) rotate(288deg);
  }
  83% {
    transform: translate(60px, 60px) scale(0.9) rotate(324deg);
  }
  100% {
    transform: translate(0, 0) scale(1) rotate(360deg);
  }
}

@keyframes electric-zap {
  0%, 100% {
    opacity: 0;
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: scale(3);
  }
}

@keyframes noise-flicker {
  0%, 100% { opacity: 0.02; }
  50% { opacity: 0.08; }
}

@keyframes chaos-ring-spin {
  0% {
    transform: rotate(0deg) scale(1);
    opacity: 0.6;
  }
  50% {
    transform: rotate(180deg) scale(1.5);
    opacity: 0.3;
  }
  100% {
    transform: rotate(360deg) scale(1);
    opacity: 0.6;
  }
}

@keyframes lightning-strike {
  0%, 90%, 100% {
    opacity: 0;
    transform: scaleY(0);
  }
  5% {
    opacity: 1;
    transform: scaleY(1);
  }
  10% {
    opacity: 0.8;
    transform: scaleY(0.8);
  }
}

@keyframes plasma-morph {
  0%, 100% {
    transform: scale(1) translate(0, 0);
    border-radius: 50%;
  }
  20% {
    transform: scale(1.2) translate(25px, -15px);
    border-radius: 35% 65% 65% 35%;
  }
  40% {
    transform: scale(0.8) translate(-20px, 20px);
    border-radius: 65% 35% 35% 65%;
  }
  60% {
    transform: scale(1.15) translate(15px, 12px);
    border-radius: 45% 55% 25% 75%;
  }
  80% {
    transform: scale(0.9) translate(-10px, -8px);
    border-radius: 60% 40% 40% 60%;
  }
}

@keyframes matrix-fall {
  0% {
    opacity: 0;
    transform: translateY(-30px) translateX(0);
  }
  5% {
    opacity: 0.8;
    transform: translateY(50px) translateX(5px);
  }
  15% {
    opacity: 1;
    transform: translateY(150px) translateX(-8px);
  }
  75% {
    opacity: 1;
    transform: translateY(60vh) translateX(12px);
  }
  95% {
    opacity: 0.6;
    transform: translateY(85vh) translateX(-5px);
  }
  100% {
    opacity: 0;
    transform: translateY(100vh) translateX(0);
  }
}

@keyframes fractal-expand {
  0% {
    opacity: 0;
    transform: scale(0) rotate(0deg);
  }
  20% {
    opacity: 0.6;
    transform: scale(1.2) rotate(72deg);
  }
  40% {
    opacity: 1;
    transform: scale(1.8) rotate(144deg);
  }
  60% {
    opacity: 0.8;
    transform: scale(2.5) rotate(216deg);
  }
  80% {
    opacity: 0.4;
    transform: scale(3.2) rotate(288deg);
  }
  100% {
    opacity: 0;
    transform: scale(4) rotate(360deg);
  }
}

@keyframes pulse-expand {
  0% {
    transform: scale(0);
    opacity: 0.8;
  }
  25% {
    transform: scale(1.5);
    opacity: 0.6;
  }
  50% {
    transform: scale(3);
    opacity: 0.4;
  }
  75% {
    transform: scale(5.5);
    opacity: 0.2;
  }
  100% {
    transform: scale(8);
    opacity: 0;
  }
}

@keyframes comet-fly {
  0% {
    transform: translate(-150px, -120px) rotate(0deg);
    opacity: 0;
  }
  8% {
    opacity: 0.8;
    transform: translate(50px, 30px) rotate(45deg);
  }
  25% {
    opacity: 1;
    transform: translate(25vw, 20vh) rotate(90deg);
  }
  50% {
    opacity: 1;
    transform: translate(50vw, 45vh) rotate(180deg);
  }
  75% {
    opacity: 0.9;
    transform: translate(75vw, 65vh) rotate(270deg);
  }
  92% {
    opacity: 0.6;
    transform: translate(calc(100vw + 50px), calc(100vh + 30px)) rotate(315deg);
  }
  100% {
    transform: translate(calc(100vw + 150px), calc(100vh + 120px)) rotate(360deg);
    opacity: 0;
  }
}

@keyframes spiral-spin {
  0% {
    transform: rotate(0deg) scale(1) translate(0, 0);
    opacity: 0.8;
  }
  20% {
    transform: rotate(72deg) scale(1.3) translate(5px, -3px);
    opacity: 0.7;
  }
  40% {
    transform: rotate(144deg) scale(1.7) translate(-4px, 6px);
    opacity: 0.5;
  }
  60% {
    transform: rotate(216deg) scale(1.5) translate(7px, 4px);
    opacity: 0.6;
  }
  80% {
    transform: rotate(288deg) scale(1.2) translate(-2px, -5px);
    opacity: 0.7;
  }
  100% {
    transform: rotate(360deg) scale(1) translate(0, 0);
    opacity: 0.8;
  }
}

@keyframes quantum-jump {
  0%, 100% {
    opacity: 0;
    transform: scale(0) translate(0, 0) rotate(0deg);
  }
  15% {
    opacity: 0.8;
    transform: scale(0.8) translate(15px, -25px) rotate(45deg);
  }
  30% {
    opacity: 1;
    transform: scale(1.2) translate(25px, -35px) rotate(90deg);
  }
  45% {
    opacity: 0.6;
    transform: scale(0.6) translate(-35px, 15px) rotate(135deg);
  }
  60% {
    opacity: 0.9;
    transform: scale(1.4) translate(-45px, 25px) rotate(180deg);
  }
  75% {
    opacity: 0.7;
    transform: scale(1.1) translate(35px, 45px) rotate(225deg);
  }
  85% {
    opacity: 1;
    transform: scale(1.3) translate(20px, 30px) rotate(270deg);
  }
  92% {
    opacity: 0.8;
    transform: scale(0.9) translate(10px, 15px) rotate(315deg);
  }
}

/* Enhance existing animations for more chaos */
@keyframes float {
  0%, 100% {
    transform: translateY(0) scale(1) rotate(0deg);
    opacity: 0.22;
  }
  25% {
    transform: translateY(-30px) scale(1.2) rotate(90deg);
    opacity: 0.4;
  }
  50% {
    transform: translateY(-10px) scale(0.8) rotate(180deg);
    opacity: 0.3;
  }
  75% {
    transform: translateY(-25px) scale(1.1) rotate(270deg);
    opacity: 0.35;
  }
}

@keyframes halo {
  0% {
    transform: translate(-50%, -50%) rotate(0deg) scale(1);
    opacity: 0.35;
  }
  25% {
    transform: translate(-50%, -50%) rotate(90deg) scale(1.2);
    opacity: 0.5;
  }
  50% {
    transform: translate(-50%, -50%) rotate(180deg) scale(0.8);
    opacity: 0.25;
  }
  75% {
    transform: translate(-50%, -50%) rotate(270deg) scale(1.1);
    opacity: 0.4;
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg) scale(1);
    opacity: 0.35;
  }
}

@media (max-width: 520px) {
  .auth__container {
    border-radius: 20px;
  }

  .auth__header {
    padding: 2.25rem 1.75rem 1.65rem;
  }

  .auth__body {
    padding: 1.65rem 1.75rem 2rem;
  }

  .auth__footer {
    padding: 1.25rem 1.75rem 1.75rem;
  }
}

/* Dark Theme Styles */
[data-theme="dark"] {
  --auth-bg: radial-gradient(circle at top, rgba(255, 193, 7, 0.15), transparent 55%),
              radial-gradient(circle at 20% 80%, rgba(255, 152, 0, 0.12), transparent 60%),
              radial-gradient(circle at 80% 30%, rgba(255, 223, 0, 0.18), transparent 60%),
              radial-gradient(ellipse at 10% 20%, rgba(255, 235, 59, 0.08), transparent 40%),
              radial-gradient(ellipse at 90% 70%, rgba(255, 193, 7, 0.06), transparent 45%),
              conic-gradient(from 45deg at 25% 75%, rgba(255, 223, 0, 0.04), transparent 120deg),
              conic-gradient(from 225deg at 75% 25%, rgba(255, 152, 0, 0.03), transparent 120deg),
              #1a1a1a;
}

[data-theme="dark"] body.auth {
  background: var(--auth-bg);
  color: rgba(255, 223, 0, 0.9);
}

[data-theme="dark"] .auth__container {
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 223, 0, 0.15);
  box-shadow: 0 35px 65px rgba(0, 0, 0, 0.6);
}

[data-theme="dark"] .auth__header {
  background: linear-gradient(180deg, rgba(255, 193, 7, 0.1), transparent);
  border-bottom: 1px solid rgba(255, 223, 0, 0.15);
}

[data-theme="dark"] .auth__logo {
  background: rgba(255, 193, 7, 0.12);
  box-shadow: inset 0 0 0 1px rgba(255, 223, 0, 0.2);
}

[data-theme="dark"] .auth__title {
  color: rgba(255, 223, 0, 0.95);
}

[data-theme="dark"] .auth__subtitle {
  color: rgba(255, 193, 7, 0.7);
}

[data-theme="dark"] .auth-form__control {
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(255, 223, 0, 0.2);
  color: rgba(255, 223, 0, 0.9);
}

[data-theme="dark"] .auth-form__control:focus {
  border-color: rgba(255, 223, 0, 0.6);
  box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.15);
}

[data-theme="dark"] .auth-form__control::placeholder {
  color: rgba(255, 193, 7, 0.4);
}

[data-theme="dark"] .auth-form__submit {
  background: linear-gradient(135deg, rgba(255, 193, 7, 0.8), rgba(255, 152, 0, 0.7));
  color: #1a1a1a;
  border: 1px solid rgba(255, 223, 0, 0.3);
}

[data-theme="dark"] .auth-form__submit:hover {
  background: linear-gradient(135deg, rgba(255, 223, 0, 0.85), rgba(255, 193, 7, 0.75));
  box-shadow: 0 24px 40px rgba(255, 193, 7, 0.25);
}

[data-theme="dark"] .auth-form__submit:active {
  background: linear-gradient(135deg, rgba(255, 235, 59, 0.8), rgba(255, 223, 0, 0.7));
}

[data-theme="dark"] .auth-form__actions {
  background: rgba(0, 0, 0, 0.15);
  border-top: 1px solid rgba(255, 223, 0, 0.15);
}

[data-theme="dark"] .auth-form__actions label {
  color: rgba(255, 193, 7, 0.8);
}

[data-theme="dark"] .auth-form__actions a {
  color: rgba(255, 223, 0, 0.9);
}

[data-theme="dark"] .auth-form__actions a:hover {
  color: rgba(255, 235, 59, 1);
}

[data-theme="dark"] .auth__footer {
  color: rgba(255, 193, 7, 0.7);
  border-top: 1px solid rgba(255, 223, 0, 0.15);
}

[data-theme="dark"] .auth__footer a {
  color: rgba(255, 223, 0, 0.9);
}

[data-theme="dark"] .auth__footer a:hover {
  color: rgba(255, 235, 59, 1);
}

[data-theme="dark"] .form-errors {
  background: rgba(255, 152, 0, 0.15);
  border: 1px solid rgba(255, 152, 0, 0.3);
  color: rgba(255, 235, 59, 0.9);
}
