/* Only wiki articles use this wider canvas; forms and other page types keep
   their own layouts. Tables and maps can use more space than running prose. */
main:has(> .wiki-article) {
  width: 100%;
  max-width: 2100px;
  padding: clamp(28px, 3vw, 52px) clamp(24px, 3vw, 64px) 80px;
}

.wiki-article { min-width: 0; }
.wiki-article .article-heading {
  padding-bottom: 24px;
  margin-bottom: 32px;
  border-bottom: 1px solid var(--line);
}
.wiki-article .article-heading h1 {
  max-width: 30ch;
  margin: 14px 0 18px;
  font-size: clamp(36px, 3.2vw, 64px);
  line-height: 1.12;
  text-wrap: balance;
}
.wiki-article .article-heading .actions { margin: 18px 0 0; }
.wiki-article .article-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; align-items: start; }
.wiki-article .article-content { min-width: 0; }
.wiki-article .article-content > .prose { max-width: none; font-size: 17px; line-height: 1.8; }
.wiki-article .prose > p,
.wiki-article .prose > ul,
.wiki-article .prose > ol,
.wiki-article .prose > blockquote { max-width: 90ch; }
.wiki-article .prose > p { margin-top: 0; margin-bottom: 1.15em; }
.wiki-article .prose li { margin: .3em 0; padding-left: .15em; }
.wiki-article .prose h1,
.wiki-article .prose h2,
.wiki-article .prose h3,
.wiki-article .sources h2 { scroll-margin-top: 28px; }
.wiki-article .prose h1 { margin: 1.25em 0 .6em; font-size: clamp(29px, 2.3vw, 38px); }
.wiki-article .prose h2 { margin: 1.9em 0 .65em; font-size: clamp(26px, 2vw, 32px); padding-bottom: .28em; border-bottom: 1px solid var(--line); }
.wiki-article .prose h3 { margin: 1.4em 0 .55em; font-size: 24px; }
.wiki-article .prose > :first-child { margin-top: 0; }
.wiki-article .prose table { clear: both; width: 100%; max-width: 100%; margin: 1.5rem 0; line-height: 1.65; }
.wiki-article .prose th { font-weight: 600; }
.wiki-article .prose tbody tr:nth-child(even) { background: #83d5cc06; }
.wiki-article .prose pre { overflow: auto; padding: 16px; background: #080f14; border: 1px solid var(--line); }
.wiki-article .prose pre code { white-space: pre; overflow-wrap: normal; }

/* Opening art spans the article above its prose/contents layout. Preserve the
   entire composition; later Detail images still sit alongside the text. */
.wiki-article .article-lead-figure {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto 36px;
}
.wiki-article .article-lead-figure p { margin: 0; }
.wiki-article .article-lead-figure.prose img { width: auto; height: auto; max-width: 100%; max-height: min(76vh, 760px); margin: 0 auto 12px; object-fit: contain; }
.wiki-article .article-lead-figure figcaption { color: var(--muted); font-size: 12px; line-height: 1.6; }
.wiki-article .article-lead-figure figcaption p { color: inherit; }
.wiki-article .article-lead-figure figcaption { text-align: center; }
.wiki-article .article-diagram {
  float: none;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 36px;
}
.wiki-article .article-lead-figure.article-diagram img { max-height: min(68vh, 680px); }
.wiki-article .article-diagram figcaption { text-align: center; }
.wiki-article .prose > p:has(> img),
.wiki-article .prose > p:has(> a > img) { max-width: none; }
.wiki-article .prose > p img { max-height: min(65vh, 640px); }
.wiki-article .prose p img:is([title="Detail"], [title="Graphic Detail"]) { max-height: 320px; }
.wiki-article .house-profile > p:has(img[src^="/media/house-logo-"]) { max-width: none; }
.wiki-article .house-profile img[src^="/media/house-logo-"] { max-height: 330px; }
.wiki-article .sources { clear: both; max-width: none; margin-top: 48px; font-size: 13px; line-height: 1.7; }
.wiki-article .sources li { margin: .7em 0; }
.wiki-article .dm-notes { clear: both; max-width: none; margin-top: 40px; }

.wiki-article .section-anchor { margin-left: .45em; color: var(--muted); font: 400 .62em var(--sans); opacity: 0; text-decoration: none; }
.wiki-article :is(h1, h2, h3):hover > .section-anchor,
.wiki-article .section-anchor:focus-visible { opacity: 1; }
.wiki-article .article-toc[hidden] { display: none; }
.wiki-article .article-toc { min-width: 0; border: 1px solid var(--line); border-radius: 4px; background: var(--panel); }
.wiki-article .article-toc summary { padding: 13px 16px; color: var(--brass); font-size: 13px; font-weight: 600; cursor: pointer; }
.wiki-article .article-toc nav { padding: 0 16px 14px; }
.wiki-article .article-toc ol { list-style: none; margin: 0; padding: 0; }
.wiki-article .article-toc li { margin: 0; }
.wiki-article .article-toc a { display: block; padding: 6px 0; font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.wiki-article .article-toc li[data-heading-level="3"] { margin-left: 14px; }
.wiki-article .article-toc li[data-heading-level="3"] a { color: var(--muted); font-size: 12px; }
.wiki-article .article-toc { grid-row: 1; }
.catalog-reference .article-toc[hidden] { display: none; }
.catalog-reference .article-toc { margin: 0 0 28px; max-width: 85ch; border: 1px solid var(--line); border-radius: 4px; background: var(--panel); }
.catalog-reference .article-toc summary { padding: 13px 16px; color: var(--brass); font-size: 13px; font-weight: 600; cursor: pointer; }
.catalog-reference .article-toc nav { padding: 0 16px 14px; max-height: 320px; overflow: auto; }
.catalog-reference .article-toc ol { list-style: none; margin: 0; padding: 0; }
.catalog-reference .article-toc li { margin: 0; }
.catalog-reference .article-toc a { display: block; padding: 6px 0; font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.catalog-reference .article-toc li[data-heading-level="3"] { margin-left: 14px; }
.catalog-reference .section-anchor { margin-left: .45em; color: var(--muted); font: 400 .62em var(--sans); text-decoration: none; opacity: 0; }
.catalog-reference :is(h1,h2,h3):hover > .section-anchor, .catalog-reference .section-anchor:focus-visible { opacity: 1; }
.catalog-reference .catalog-description :is(h2,h3) { scroll-margin-top: 24px; }
.wiki-article .article-content { grid-row: 2; }

@media(min-width: 1250px) {
  .wiki-article .article-layout { grid-template-columns: minmax(0, 1fr) 240px; column-gap: clamp(28px, 3vw, 60px); }
  .wiki-article .article-content { grid-row: 1; grid-column: 1; }
  .wiki-article .article-toc { grid-row: 1; grid-column: 2; position: sticky; top: 24px; max-height: calc(100vh - 48px); overflow: auto; scrollbar-width: thin; }
}

@media(min-width: 1900px) {
  .wiki-article .article-layout { grid-template-columns: minmax(0, 1fr) 280px; }
  .wiki-article .article-content > .prose { font-size: 18px; }
}

@media(max-width: 700px) {
  main:has(> .wiki-article) { padding: 28px 20px 60px; }
  .wiki-article .article-heading { padding-bottom: 18px; margin-bottom: 22px; }
  .wiki-article .article-heading h1 { font-size: 36px; }
  .wiki-article .article-layout { gap: 22px; }
  .wiki-article .article-content > .prose { font-size: 16px; line-height: 1.8; }
  .wiki-article .article-lead-figure { margin: 0 auto 26px; }
  .wiki-article .article-lead-figure.prose img { max-height: none; }
  .wiki-article .article-lead-figure.article-diagram img { max-height: none; }
  .wiki-article .article-heading .actions { flex-wrap: wrap; }
  .wiki-article .dm-notes { padding: 18px; }
  .wiki-article .section-anchor { opacity: 1; }
}
