.topic-map { margin: 1.5rem 0; }
.topic-map-art { max-width: 420px; margin: 0 auto; background: white; border-radius: 12px; }
.topic-map svg { display: block; width: 100%; height: auto; }
.topic-map figcaption { margin-top: .75rem; }
.topic-downloads a { display: inline-block; padding: .6rem .25rem; }
.topic-outline-box, .topic-answer { margin: .8rem 0; padding: .8rem; border: 1px solid var(--cx-border, #718096); border-radius: 8px; }
.topic-outline-box summary, .topic-answer summary { cursor: pointer; font-weight: 600; }
.topic-outline { columns: 2; padding-top: 1rem; }
.topic-outline > li { break-inside: avoid; }
.topic-citation { font-size: .8em; }
.topic-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 1rem; list-style: none; padding: 0; }
.topic-grid a { display: block; height: 100%; padding: 1rem; border: 1px solid var(--cx-border, #718096); border-radius: 8px; }
@media (max-width: 480px) { .topic-outline { columns: 1; } }
@media print {
  @page { size: A4 portrait; margin: 12mm; }
  header, footer, .seo-toc, .seo-summary, .seo-meta, .seo-final-cta, .seo-author, .seo-related, .topic-downloads, .topic-outline-box, .cx-consent, .seo-tool > p { display: none !important; }
  body, .seo-body { background: #fff !important; color: #111 !important; }
  .container, .seo-article { width: 100% !important; max-width: none !important; padding: 0 !important; }
  .seo-article h1, .seo-article h2, .seo-article h3, .seo-article p, .seo-article li, .seo-article summary, .seo-article figcaption { color: #111 !important; }
  .topic-map { break-inside: avoid; break-after: page; }
  .topic-map-art { width: 88mm; max-width: 100%; }
  .topic-map svg { max-height: 230mm; }
  .topic-answer { break-inside: avoid; }
  .topic-answer p { display: block !important; }
  a { color: #111 !important; }
}
