/* Login motion v6: production port of the approved 80-particle preview. */
body.auth-mode #auth-view {
  isolation: isolate;
  min-height: 100svh;
  overflow: hidden;
  padding-bottom: 90px !important;
}

body.auth-mode .auth-bg {
  animation: none !important;
  transform: scale(1.012) translate3d(0,0,0) !important;
  transform-origin: 74% 46%;
  filter: none !important;
  will-change: transform !important;
}

body.auth-mode #auth-view::after {
  display: none !important;
  animation: none !important;
  background: none !important;
  will-change: auto !important;
}

body.auth-mode #auth-atmosphere {
  position: fixed;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

body.auth-mode .auth-motion-layer,
body.auth-mode .auth-scan-beam,
body.auth-mode .ambient-aura {
  display: none !important;
  animation: none !important;
  background: none !important;
}

body.auth-mode .auth-panel {
  animation: authPanelArrive 1.1s cubic-bezier(.2,.8,.2,1) both;
}

body.auth-mode .auth-shell {
  position: relative;
  z-index: 5;
}

body.auth-mode .auth-card {
  transition: box-shadow .6s !important;
}

body.auth-mode .auth-card:focus-within {
  box-shadow: 0 22px 65px rgba(23,60,53,.17), 0 0 0 1px #a0c2ad !important;
}

body.auth-mode .auth-card input {
  transition: border-color .25s, box-shadow .25s !important;
}

body.auth-mode .auth-card input:focus {
  border-color: #4c8d76 !important;
  box-shadow: 0 0 0 3px rgba(76,141,118,.11) !important;
}

body.auth-mode .auth-card .form-btn {
  position: relative;
  overflow: hidden;
  transition: transform .2s !important;
}

body.auth-mode .auth-card .form-btn:hover {
  transform: translateY(-2px);
}

body.auth-mode .auth-card .form-btn::after {
  content: '';
  position: absolute;
  top: -100%;
  bottom: -100%;
  left: -60%;
  width: 30%;
  pointer-events: none;
  transform: rotate(25deg);
  background: linear-gradient(90deg, transparent, rgba(213,245,220,.23), transparent);
  animation: authButtonSweep 9s ease-in-out infinite;
}

.auth-stone-stage {
  position: fixed;
  right: 7%;
  bottom: 13%;
  width: 300px;
  height: 160px;
  z-index: 2;
  pointer-events: none;
}

.auth-stone,
.auth-stone-orbit {
  position: absolute;
  border-radius: 50%;
}

.auth-stone {
  width: 50px;
  height: 44px;
  box-shadow: 0 16px 18px rgba(0,0,0,.47);
}

.auth-stone-black {
  left: 58px;
  top: 46px;
  background: radial-gradient(ellipse at 32% 23%,#6e7d75,#1a2520 42%,#040806 77%);
}

.auth-stone-white {
  right: 48px;
  top: 30px;
  background: radial-gradient(ellipse at 30% 20%,#fffffa,#f0f0dd 45%,#aebbb0 78%);
}

.auth-stone-orbit {
  width: 285px;
  height: 72px;
  bottom: 20px;
  border: 1px solid rgba(157,229,199,.48);
  transform: rotate(-12deg);
}

.auth-stone-orbit::after {
  content: '';
  position: absolute;
  inset: 9px 23px;
  border: 1px dashed rgba(162,228,201,.30);
  border-radius: 50%;
}

.auth-stone-caption {
  position: absolute;
  right: 12px;
  bottom: -10px;
  color: rgba(191,228,211,.78);
  font: 10px 'Segoe UI', sans-serif;
  letter-spacing: 4px;
}

@keyframes authPanelArrive {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes authButtonSweep {
  0%, 68% { left: -60%; }
  85%, 100% { left: 150%; }
}

@media (max-width: 700px) {
  body.auth-mode .auth-motion-layer,
  body.auth-mode .ambient-aura,
  body.auth-mode .auth-stone-stage {
    display: none !important;
  }

  body.auth-mode #auth-view::after {
    display: none !important;
    animation: none !important;
    background: none !important;
  }

  body.auth-mode .auth-bg {
    animation: none !important;
    filter: none !important;
    transform: none !important;
    will-change: auto !important;
  }

  body.auth-mode #auth-view { padding-bottom: 85px !important; }
}

@media (prefers-reduced-motion: reduce) {
  body.auth-mode .auth-bg { transform: none !important; will-change: auto !important; }
  body.auth-mode #auth-atmosphere,
  body.auth-mode .auth-stone-stage { display: none !important; }
  body.auth-mode .auth-panel,
  body.auth-mode .auth-card .form-btn::after { animation: none !important; }
}
