/* Performance helpers — content-visibility, image defaults, reduced motion */
img, picture img, video {
  max-width: 100%;
  height: auto;
}
img[loading="lazy"],
img:not([fetchpriority="high"]):not([loading="eager"]) {
  content-visibility: auto;
}

/* Long lists: skip layout/paint for offscreen rows */
.launch-card,
.product-card,
.maker-card,
.cats-card,
.course-card-featured,
.tool-card,
.roadmap-card,
.library-card,
.series-card,
.author-card,
.story-card,
.article-row,
.changelog-entry,
.glossary-term,
.glossary-item,
.weekly-item,
.digest-item,
.search-result-item {
  content-visibility: auto;
  contain-intrinsic-size: auto 88px;
}

/* Avoid layout thrash on hover transforms when redesign disables them */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* System font stack as immediate fallback while Geist loads */
body {
  font-family: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
