.auth-submit {
  position: relative;
  transition: transform 120ms ease, box-shadow 180ms ease, opacity 180ms ease;
}

.auth-submit:active {
  transform: scale(.96);
  box-shadow: 0 2px 8px rgba(18, 61, 52, .2);
}

.auth-submit.is-loading {
  pointer-events: none;
  opacity: .82;
  transform: scale(.98);
}

.auth-submit.is-loading::before {
  content: '';
  width: 17px;
  height: 17px;
  display: inline-block;
  margin-left: 9px;
  vertical-align: middle;
  border: 2px solid rgba(255,255,255,.4);
  border-top-color: #fff;
  border-radius: 50%;
  animation: auth-spin .7s linear infinite;
}

@keyframes auth-spin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
  .auth-submit { transition: none; }
  .auth-submit.is-loading::before { animation-duration: 1.4s; }
}

.connection-popup{position:fixed;inset:0;z-index:9999;background:rgba(10,24,21,.62);backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px}.connection-popup section{width:min(100%,390px);background:var(--card,#fff);color:var(--ink,#17201e);border-radius:24px;padding:24px;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.24);animation:popup-in .2s ease-out}.connection-icon{display:grid;place-items:center;width:50px;height:50px;margin:0 auto 12px;border-radius:16px;background:#fee9e7;color:#b33d34;font-size:27px;font-weight:800}.connection-popup h2{font-size:19px;margin:0 0 8px}.connection-popup p{color:var(--muted,#64736f);font-size:12px;line-height:1.8}.connection-popup dl{background:var(--bg,#f5f8f7);border-radius:15px;padding:5px 13px;text-align:right;margin:16px 0}.connection-popup dl div{padding:10px 0;border-bottom:1px solid var(--line,#e5ebe8)}.connection-popup dl div:last-child{border:0}.connection-popup dt{font-weight:800;font-size:11px}.connection-popup dd{margin:4px 0 0;color:var(--muted,#64736f);font-size:10px;direction:ltr;text-align:right}.connection-popup .primary{width:100%;height:48px}.connection-popup .link{margin-top:12px}@keyframes popup-in{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
