/* ACCOUNT EXPERIENCE — isolated from the existing page */
.auth-dialog {
  width:min(1040px,calc(100% - 36px));
  max-height:calc(100dvh - 36px);
  padding:0;
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
  background:#0e1319;
  color:var(--text);
  box-shadow:0 40px 120px #0009;
  overflow:auto
}

.auth-dialog::backdrop {
  background:rgba(3,6,10,.84);
  backdrop-filter:blur(14px)
}
.email-verification-dialog{position:fixed;inset:0;width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:40px 34px 30px;overflow:auto;border:1px solid rgba(37,99,235,.18);border-radius:26px;background:#fffaf2;color:#28262d;box-shadow:0 30px 100px rgba(36,45,68,.3);text-align:center}
.email-verification-dialog::backdrop{background:rgba(28,29,36,.62);backdrop-filter:blur(10px)}.email-verification-dialog>img{width:min(250px,70%);height:auto;margin:0 auto 16px}.email-verification-icon{display:grid;place-items:center;width:58px;height:58px;margin:5px auto 15px;border-radius:50%;background:#eaf2ff;color:#2867e8;font-size:1.55rem}.email-verification-dialog h2{margin:0 0 10px;font-family:ui-rounded,"SF Pro Rounded","Arial Rounded MT Bold",system-ui,sans-serif}.email-verification-dialog>p{color:#5f6470;line-height:1.6}.email-verification-dialog>strong{display:block;margin:12px 0 20px;color:#173b78;overflow-wrap:anywhere}.email-verification-dialog form{display:grid;gap:10px}.email-verification-dialog input{min-height:46px;border-radius:13px}.email-verification-dialog .btn{width:100%;margin-top:8px}

.auth-layout {
  display:grid;
  grid-template-columns:.95fr 1fr;
  min-height:650px
}

.auth-story {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:24px;
  padding:44px;
  background:radial-gradient(ellipse at 50% 50%,#16324755,transparent 70%),#0b1117;
  border-right:1px solid var(--line)
}

.auth-logo {
  width:230px;
  max-width:100%;
  height:auto
}

.auth-tagline {
  margin:0;
  color:#90a1af;
  font-size:.72rem;
  letter-spacing:.26em;
  text-align:center
}

.auth-content {
  position:relative;
  padding:54px 44px 32px;
  display:flex;
  flex-direction:column;
  justify-content:center
}

.auth-close {
  position:absolute;
  top:18px;
  right:20px;
  width:34px;
  height:34px;
  border-radius:50%;
  border:1px solid var(--line);
  background:transparent;
  color:#aab6c1;
  font-size:22px
}

#accountModal > #closeModal {
  position:absolute;
  z-index:3;
}

.auth-close:hover {
  background:#ffffff0a;
  color:#fff
}

.auth-switch {
  display:flex;
  gap:4px;
  background:#080d12;
  padding:5px;
  border:1px solid var(--line);
  border-radius:13px;
  margin:0 0 30px
}

.auth-switch button {
  flex:1;
  border:0;
  border-radius:9px;
  padding:10px;
  background:none;
  color:#8b9ba9;
  font-size:.8rem;
  font-weight:800
}

.auth-switch button[aria-pressed="true"] {
  background:#202b36;
  color:#f3f7fa;
  box-shadow:0 2px 8px #0003
}

.auth-content h2 {
  font-size:2rem;
  letter-spacing:-.045em;
  margin:0 0 10px
}

.auth-intro {
  color:#91a0ae;
  font-size:.87rem;
  line-height:1.65;
  margin:0 0 7px
}

.auth-form {
  gap:17px;
  margin-top:22px
}

.auth-form label {
  display:grid;
  gap:8px;
  font-size:.74rem;
  font-weight:700;
  color:#c1ccd6
}

.auth-form input {
  font-weight:400;
  background:#0a1016;
  border-color:#27313c;
  min-height:48px
}

.auth-form input:focus {
  border-color:var(--blue);
  box-shadow:0 0 0 3px #69d7ff12
}

.auth-password {
  position:relative;
  display:block
}

.auth-password input {
  padding-right:65px
}

.auth-password button {
  position:absolute;
  right:4px;
  top:0;
  width:44px;
  height:100%;
  padding:0;
  border:0;
  background:none;
  color:#9bb1c1;
  display:grid;
  place-items:center;
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none
}

.auth-password button:hover,.auth-password button.revealing {
  color:var(--blue)
}

.auth-form .auth-password.is-invalid input {
  border-color:#c83e48;
  background:#fff2f2;
  box-shadow:0 0 0 3px rgba(200,62,72,.13);
}

.auth-form .auth-password.is-invalid input:focus {
  border-color:#b72f3a;
  box-shadow:0 0 0 4px rgba(200,62,72,.16);
}

.auth-status.is-error {
  color:#b32935 !important;
  font-weight:750;
}

.auth-password.shake-once {
  animation:wobli-login-shake .38s ease-in-out both;
}

@keyframes wobli-login-shake {
  0%,100% { transform:translateX(0); }
  22% { transform:translateX(-7px); }
  45% { transform:translateX(6px); }
  66% { transform:translateX(-4px); }
  84% { transform:translateX(2px); }
}

@media (prefers-reduced-motion:reduce) {
  .auth-password.shake-once { animation:none; }
}

.auth-eye {
  position:relative;
  width:20px;
  height:13px;
  border:1.5px solid currentColor;
  border-radius:70% 30%;
  transform:rotate(0deg);
  pointer-events:none
}

.auth-eye::after {
  content:"";
  position:absolute;
  left:6px;
  top:2px;
  width:5px;
  height:5px;
  border:1.5px solid currentColor;
  border-radius:50%
}

.auth-password-hint {
  font-size:.69rem;
  font-weight:400;
  line-height:1.5;
  color:#8293a2
}

.auth-forgot {
  justify-self:end;
  border:0;
  background:none;
  padding:0;
  color:var(--blue);
  font-size:.73rem
}

.auth-submit {
  width:100%;
  margin-top:3px;
  display:flex;
  justify-content:space-between;
  align-items:center
}

.auth-form [hidden],.auth-content [hidden] {
  display:none!important
}

.auth-divider {
  border-top:1px solid var(--line);
  margin-top:26px;
  padding-top:17px
}

.auth-preview {
  margin:0;
  color:#7f909e;
  font-size:.69rem;
  line-height:1.7
}

.auth-preview strong {
  font-weight:600;
  color:#aabac6
}

.auth-status {
  font-size:.8rem;
  line-height:1.6;
  color:var(--green);
  margin:0;
  min-height:2.6em
}

.auth-dialog button:focus-visible {
  outline:2px solid var(--blue);
  outline-offset:4px
}

@media(max-width:740px) {
  .auth-dialog {
    width:calc(100% - 24px);
    max-height:calc(100dvh - 24px);
    border-radius:22px
  }
  .auth-layout {
    grid-template-columns:1fr;
    min-height:0
  }
  .auth-story {
    padding:24px 28px;
    border-right:0;
    border-bottom:1px solid var(--line)
  }
  .auth-logo {
    width:140px
  }
  .auth-story {
    gap:12px
  }
  .auth-tagline {
    font-size:.6rem
  }
  .auth-content {
    padding:52px 28px 28px
  }
  .auth-switch {
    margin-bottom:24px
  }
}

@media(prefers-reduced-motion:reduce) {
  .auth-dialog * {
    transition:none!important
  }
}
.mfa-auth,.mfa-recovery{display:grid;gap:16px}
.mfa-auth[hidden],.mfa-recovery[hidden]{display:none}
.mfa-auth form{display:grid;gap:14px}
.mfa-auth label{display:grid;gap:8px;font-weight:800;color:var(--ink)}
.mfa-auth input{width:100%;padding:14px 16px;border:1px solid rgba(45,41,45,.2);border-radius:16px;background:#fffdf9;color:var(--ink);font:inherit;font-size:1.1rem;letter-spacing:.08em}
.mfa-qr{display:block;width:min(230px,80%);aspect-ratio:1;margin:10px auto;padding:10px;border:1px solid rgba(45,41,45,.14);border-radius:20px;background:#fff}
.mfa-manual{margin-bottom:6px;font-size:.9rem;color:var(--muted)}
.mfa-secret{display:block;padding:12px;border-radius:14px;background:rgba(42,102,232,.08);color:#173f82;font:800 .96rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-align:center;overflow-wrap:anywhere;user-select:all}
.mfa-recovery-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}
.mfa-recovery-codes code{padding:9px 10px;border:1px solid rgba(45,41,45,.13);border-radius:10px;background:#fffdf9;color:var(--ink);font:750 .9rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;text-align:center;user-select:all}
@media(max-width:560px){.mfa-recovery-codes{grid-template-columns:1fr}}
