/* Stable stylesheet for crawlable prompt HTML. */
@import url("/seo/theme.css?v=20261020-5");
@import url("/seo/seo-shell.css?v=20261020-5");
@import url("/seo/prompt-library.css?v=20261020-6");

/* SEO documents do not load the application's Tailwind preflight. Keep this
 * reset local to crawlable pages so it cannot override React utilities on the
 * home page and image workspace. */
:where(.seo-page,
.seo-page *,
.seo-page *::before,
.seo-page *::after) {
  box-sizing: border-box;
  border: 0 solid;
  margin: 0;
  padding: 0;
}

html {
  min-width: 320px;
  -webkit-text-size-adjust: 100%;
}

.seo-page {
  margin: 0;
  background: var(--background);
  color: var(--foreground);
  font-family: var(--font-sans);
  line-height: 1.5;
}

.seo-page a {
  text-decoration: inherit;
}

:where(
  .seo-page h1,
  .seo-page h2,
  .seo-page h3,
  .seo-page h4,
  .seo-page h5,
  .seo-page h6
) {
  font-size: inherit;
  font-weight: inherit;
}

.seo-page ul,
.seo-page ol {
  list-style: none;
}

.seo-page summary {
  display: list-item;
}

.seo-page button,
.seo-page input,
.seo-page textarea,
.seo-page select {
  font: inherit;
  letter-spacing: inherit;
  color: inherit;
  background-color: transparent;
  border-radius: 0;
}

.seo-page button {
  cursor: pointer;
}

.seo-page img {
  display: block;
  max-width: 100%;
  height: auto;
}

.topic-page { padding: 2.5rem 0 4rem; }
.topic-page__container { max-width: 72rem; margin: 0 auto; padding: 0 1rem; }
.topic-page__header { max-width: 54rem; margin-bottom: 2.25rem; }
.topic-page__eyebrow { color: var(--muted-foreground); font-size: .75rem; font-weight: 700; }
.topic-page__title { margin-top: .5rem; color: var(--foreground); font-size: 2.75rem; font-weight: 700; line-height: 1.08; }
.topic-page__intro { max-width: 52rem; margin-top: 1rem; color: var(--muted-foreground); font-size: 1.05rem; }
.topic-page__section { margin-top: 2rem; }
.topic-page__section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.topic-page__section-heading h2 { color: var(--foreground); font-size: 1.35rem; font-weight: 700; }
.topic-page__section-heading p, .topic-page__count { color: var(--muted-foreground); font-size: .9rem; }
.topic-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.topic-card { overflow: hidden; border: 1px solid var(--border); border-radius: .5rem; background: var(--card); }
.topic-card__media { background: var(--muted); }
.topic-card__media--empty { aspect-ratio: 16 / 9; background: var(--muted); }
.topic-card__media img { width: 100%; height: auto; object-fit: contain; }
.topic-card__body { padding: 1rem; }
.topic-card__title { font-size: 1.05rem; font-weight: 700; line-height: 1.3; }
.topic-card__title a { color: var(--foreground); }
.topic-card__title a:hover, .topic-card__link:hover { color: var(--primary); }
.topic-card__description { display: -webkit-box; overflow: hidden; margin-top: .5rem; color: var(--muted-foreground); font-size: .9rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.topic-card__count { margin-top: .75rem; color: var(--muted-foreground); font-size: .8rem; }
.topic-card__link { display: inline-block; margin-top: .75rem; color: var(--primary); font-size: .9rem; font-weight: 600; }
.topic-page__breadcrumb { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.5rem; color: var(--muted-foreground); font-size: .9rem; }
.topic-page__breadcrumb a { color: var(--primary); }
.topic-page__empty { padding: 2rem; border: 1px dashed var(--border); color: var(--muted-foreground); text-align: center; }
@media (max-width: 800px) { .topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .topic-page__title { font-size: 2rem; } .topic-grid { grid-template-columns: 1fr; } .topic-page__section-heading { align-items: flex-start; flex-direction: column; gap: .25rem; } }
