
/* ═══ TOAST ═══ */
#toast{position:fixed;bottom:86px;left:50%;transform:translateX(-50%) translateY(16px);background:var(--card);border:1px solid var(--border);color:var(--text);padding:9px 16px;border-radius:11px;font-size:.78rem;font-weight:600;opacity:0;transition:opacity .28s,transform .28s;z-index:9000;white-space:nowrap;max-width:88vw;pointer-events:none;box-shadow:0 6px 20px var(--shadow)}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* CONFETTI */
#confetti{position:fixed;inset:0;pointer-events:none;z-index:9998}

.modal-submit::after{
  content:'';
  position:absolute;
  width:200%;
  height:200%;
  background:rgba(255,255,255,.12);
  top:-50%;
  left:-120%;
  transform:rotate(25deg);
  transition:.7s;
}

.auth-btn:hover::after,
.add-ex-btn:hover::after,
.chat-send-btn:hover::after,
.steps-btn:hover::after,
.modal-submit:hover::after{
  left:120%;
}

.ring-wrap{
  animation:ringFloat 4s ease-in-out infinite;
  filter:drop-shadow(0 0 20px #7c6fff88);
}

@keyframes ringFloat{
  0%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
  100%{transform:translateY(0)}
}

.sp-skull{
  animation:skullAura 2s infinite alternate;
}

@keyframes skullAura{
  from{transform:scale(1)   opacity(.9)}
  to  {transform:scale(1.12) opacity(1)}
}

.chat-msg{
  animation:chatPop .35s cubic-bezier(.2,.8,.2,1);
}

@keyframes chatPop{
  from{
    opacity:0;
    transform:translateY(25px) scale(.9);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

::-webkit-scrollbar{
  width:8px;
}

::-webkit-scrollbar-thumb{
  background:linear-gradient(#7c6fff,#4ade80);
  border-radius:20px;
}

/* position relative for shimmer effects */
.auth-btn,.add-ex-btn,.chat-send-btn,.steps-btn,.modal-submit{position:relative;overflow:hidden}

/* ══════════════════════════════════════════════════════════
