:root { --ink: #e2e8f0; }
* { box-sizing: border-box; }
body { margin: 0; font-family: 'Vazirmatn', Tahoma, sans-serif; background: #070b18; color: var(--ink); }
.font-display { font-family: 'Bricolage Grotesque', 'Vazirmatn', sans-serif; }

/* Atmospheric animated aurora background */
.aurora {
  background:
    radial-gradient(60% 60% at 15% 10%, rgba(99,102,241,0.28), transparent 60%),
    radial-gradient(55% 55% at 90% 15%, rgba(236,72,153,0.20), transparent 60%),
    radial-gradient(70% 70% at 50% 100%, rgba(34,211,238,0.16), transparent 60%),
    #070b18;
  background-attachment: fixed;
  animation: hue 22s ease-in-out infinite alternate;
}
@keyframes hue { from { filter: hue-rotate(0deg); } to { filter: hue-rotate(24deg); } }

/* Form controls */
.inp {
  width: 100%;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 0.9rem;
  padding: 0.6rem 0.9rem;
  color: #fff;
  font-family: inherit;
  font-size: 0.9rem;
  margin-bottom: 0.6rem;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
}
.inp:focus { border-color: #6366f1; box-shadow: 0 0 0 3px rgba(99,102,241,0.25); }
.inp::placeholder { color: #64748b; }
select.inp option { background: #0f172a; }
.lbl { display:block; font-size: 0.72rem; color:#94a3b8; margin: 0.4rem 0 0.25rem; font-weight:500; }

/* Animations */
.card-in { animation: cardIn .45s cubic-bezier(.2,.8,.2,1) both; }
@keyframes cardIn { from { opacity:0; transform: translateY(14px) scale(.98);} to {opacity:1; transform:none;} }
.modal-in { animation: modalIn .28s cubic-bezier(.2,.8,.2,1) both; }
@keyframes modalIn { from { opacity:0; transform: scale(.94) translateY(10px);} to {opacity:1; transform:none;} }
.toast-in { animation: toastIn .3s ease both; }
@keyframes toastIn { from { opacity:0; transform: translateY(-12px);} to {opacity:1; transform:none;} }
.float { animation: float 3.5s ease-in-out infinite; }
@keyframes float { 0%,100% { transform: translateY(0);} 50% { transform: translateY(-10px);} }

.no-scrollbar::-webkit-scrollbar { height: 0; }
.no-scrollbar { scrollbar-width: none; }

/* Stagger cards a bit */
.grid > .card-in:nth-child(2) { animation-delay: .05s; }
.grid > .card-in:nth-child(3) { animation-delay: .1s; }
.grid > .card-in:nth-child(4) { animation-delay: .15s; }
.grid > .card-in:nth-child(5) { animation-delay: .2s; }
.grid > .card-in:nth-child(6) { animation-delay: .25s; }