/* Estedad Persian Typography */
@font-face {
  font-family: 'Estedad';
  src: url('/assets/fonts/Estedad-Regular.woff2') format('woff2'),
       url('https://files.imeow.ir/dl/default/Estedad-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Estedad';
  src: url('/assets/fonts/Estedad-Medium.woff2') format('woff2'),
       url('https://files.imeow.ir/dl/default/Estedad-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Estedad';
  src: url('/assets/fonts/Estedad-SemiBold.woff2') format('woff2'),
       url('https://files.imeow.ir/dl/default/Estedad-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Estedad';
  src: url('/assets/fonts/Estedad-Bold.woff2') format('woff2'),
       url('https://files.imeow.ir/dl/default/Estedad-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Estedad';
  src: url('/assets/fonts/Estedad-ExtraBold.woff2') format('woff2'),
       url('https://files.imeow.ir/dl/default/Estedad-ExtraBold.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

*, body {
  font-family: 'Estedad', system-ui, -apple-system, sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

/* Hardware accelerated high-performance Shimmer Skeleton */
.skeleton {
  background: linear-gradient(
    90deg,
    rgba(226, 232, 240, 0.6) 0%,
    rgba(241, 245, 249, 0.9) 50%,
    rgba(226, 232, 240, 0.6) 100%
  );
  background-size: 200% 100%;
  animation: skeleton-shimmer 1.4s ease-in-out infinite;
  border-radius: 12px;
  will-change: background-position;
}

.dark .skeleton {
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.03) 0%,
    rgba(255, 255, 255, 0.08) 50%,
    rgba(255, 255, 255, 0.03) 100%
  );
  background-size: 200% 100%;
}

@keyframes skeleton-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

.skeleton-text {
  height: 14px;
  border-radius: 6px;
  margin-bottom: 6px;
}

.skeleton-title {
  height: 22px;
  border-radius: 8px;
  margin-bottom: 12px;
}

.skeleton-circle {
  border-radius: 9999px;
}

.fade-in {
  animation: fadeIn 0.22s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: rgba(120, 119, 198, 0.2);
  border-radius: 99px;
}
.dark ::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.1);
}
.theme-icon-rotate {
  transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.theme-btn-hover:hover .theme-icon-rotate {
  transform: rotate(180deg);
}
