* { font-family: 'Vazirmatn', sans-serif; }
.font-amiri { font-family: 'Amiri', 'Vazirmatn', serif; }

html, body { background: #0a0a0f; margin: 0; overflow-x: hidden; }

.text-glow-ice  { text-shadow: 0 0 18px rgba(165,216,255,.55); }
.text-glow-gold { text-shadow: 0 0 18px rgba(212,175,55,.5); }

.ambient-bg::before {
  content:''; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(circle at 18% 15%, rgba(124,196,240,.10), transparent 45%),
    radial-gradient(circle at 82% 72%, rgba(212,175,55,.10), transparent 48%),
    linear-gradient(180deg, #0a0a0f 0%, #101018 100%);
}

@keyframes floaty { 0%,100%{ transform: translateY(0); } 50%{ transform: translateY(-8px); } }
.floaty { animation: floaty 4s ease-in-out infinite; }

@keyframes pulseSoft { 0%,100%{ opacity:.55; transform: scale(1); } 50%{ opacity:1; transform: scale(1.08); } }
.pulse-soft { animation: pulseSoft 4s ease-in-out infinite; }

@keyframes fadeUp { from{ opacity:0; transform: translateY(16px); } to{ opacity:1; transform: translateY(0); } }
.fade-up { animation: fadeUp .55s ease both; }

@keyframes drift { from{ transform: translateY(0); } to{ transform: translateY(-102vh); } }

::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #0a0a0f; }
::-webkit-scrollbar-thumb { background: #c9a22755; border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: #c9a22799; }

button { cursor: pointer; -webkit-tap-highlight-color: transparent; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; }
}