body { scroll-behavior: smooth; overflow-x: hidden; }

.theme-grid {
  background-size: 50px 50px;
  background-image:
    linear-gradient(to right, rgba(0, 0, 0, 0.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0, 0, 0, 0.04) 1px, transparent 1px);
  mask-image: linear-gradient(to bottom, black 40%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, black 40%, transparent 100%);
}

.dark .theme-grid {
  background-image:
    linear-gradient(to right, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
}

.text-gradient-animated {
  background-size: 200% auto;
  animation: textShine 5s linear infinite;
}

@keyframes textShine {
  to { background-position: 200% center; }
}

[dir="rtl"] body {
  font-family: 'Outfit', 'Noto Sans Arabic', 'Noto Sans SC', sans-serif;
}

[dir="rtl"] #langSwitcher {
  padding-left: 2rem;
  padding-right: 1rem;
}
