/* QRece — Custom styles (Tailwind handles the rest) */

/* Glassmorphism */
.glass {
  background: rgba(255,255,255,0.7);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.3);
}
.glass-dark {
  background: rgba(15,23,42,0.75);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.08);
}

/* QR Scanner */
#reader { width: 100%; min-height: 280px; border-radius: 16px; overflow: hidden; }
#reader video { border-radius: 16px; }

/* Toast */
.toast-msg {
  position: fixed; top: 80px; right: 20px;
  padding: 14px 24px; border-radius: 12px;
  color: white; font-weight: 600; z-index: 2000;
  transform: translateX(150%); transition: all 0.3s ease;
  max-width: 400px; font-size: 0.95rem;
}
.toast-msg.show { transform: translateX(0); }

/* Animations */
@keyframes fadeInUp { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
@keyframes pop { 0%{transform:scale(0)} 70%{transform:scale(1.15)} 100%{transform:scale(1)} }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
.anim-fade { animation: fadeInUp 0.5s ease forwards; }
.anim-pop { animation: pop 0.4s ease; }
.anim-float { animation: float 3s ease-in-out infinite; }

/* Gradient text */
.grad-text {
  background: linear-gradient(135deg, #818cf8, #c084fc, #fb7185);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Stamp */
.stamp-cell {
  aspect-ratio: 1; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem; transition: all 0.3s ease;
}

/* Modal */
.modal-bg {
  display: none; position: fixed; inset: 0;
  background: rgba(0,0,0,0.5); backdrop-filter: blur(4px);
  z-index: 1000; justify-content: center; align-items: center; padding: 20px;
}
.modal-bg.active { display: flex; }

/* Scrollbar hide */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
