body {
  font-family: 'Inter', sans-serif;
}

/* Markdown / prose content (benchmark pages) */
.site-content h1 {
  font-size: 1.875rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: rgb(15 23 42);
}

.dark .site-content h1 {
  color: rgb(241 245 249);
}

.site-content h2 {
  font-size: 1.5rem;
  font-weight: 700;
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  color: rgb(15 23 42);
}

.dark .site-content h2 {
  color: rgb(241 245 249);
}

.site-content h3 {
  font-size: 1.125rem;
  font-weight: 600;
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
  color: rgb(15 23 42);
}

.dark .site-content h3 {
  color: rgb(241 245 249);
}

.site-content p {
  margin-bottom: 1rem;
  line-height: 1.7;
  color: rgb(71 85 105);
}

.dark .site-content p {
  color: rgb(148 163 184);
}

.site-content strong {
  color: rgb(15 23 42);
  font-weight: 600;
}

.dark .site-content strong {
  color: rgb(241 245 249);
}

.site-content ul {
  list-style: disc;
  padding-left: 1.5rem;
  margin-bottom: 1rem;
}

.site-content li {
  margin-bottom: 0.35rem;
  line-height: 1.6;
  color: rgb(71 85 105);
}

.dark .site-content li {
  color: rgb(148 163 184);
}

.site-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.25rem 0 2rem;
  font-size: 0.8125rem;
  display: block;
  overflow-x: auto;
}

.site-content th,
.site-content td {
  border: 1px solid rgb(226 232 240);
  padding: 0.5rem 0.65rem;
  text-align: left;
  white-space: nowrap;
}

.dark .site-content th,
.dark .site-content td {
  border-color: rgb(51 65 85);
}

.site-content th {
  background: rgb(248 250 252);
  font-weight: 600;
}

.dark .site-content th {
  background: rgb(30 41 59);
}

.site-content code {
  background: rgb(241 245 249);
  padding: 0.1rem 0.35rem;
  border-radius: 0.25rem;
  font-size: 0.875em;
}

.dark .site-content code {
  background: rgb(30 41 59);
}

.site-content a {
  color: rgb(79 70 229);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.dark .site-content a {
  color: rgb(129 140 248);
}

/* Main site utilities */
.scrollbar-hide::-webkit-scrollbar {
  display: none;
}

.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.animate-marquee {
  animation: marquee 40s linear infinite;
}

.animate-marquee:hover {
  animation-play-state: paused;
}

@media print {
  @page {
    margin: 1.5cm;
  }

  body {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}
