/* ============================================================
   Foundry Docs — Gold Anvil Theme
   Brand: gold (#C5A55A) on dark (#1a1a1a)

   Per-page styling uses body.page-paper and body.page-constitution
   classes added by javascripts/page-classes.js at load time.
   This avoids <div markdown> wrappers that break footnotes.
   ============================================================ */

/* --- Brand colors override Material theme --- */

:root {
  --md-primary-fg-color: #2c2418;
  --md-primary-fg-color--light: #3d3225;
  --md-primary-fg-color--dark: #1a1810;
  --md-primary-bg-color: #f5f0e6;
  --md-accent-fg-color: #C5A55A;
  --md-accent-fg-color--transparent: #C5A55A33;
}

[data-md-color-scheme="slate"] {
  --md-primary-fg-color: #1a1810;
  --md-primary-fg-color--light: #2c2418;
  --md-primary-fg-color--dark: #0d0c08;
  --md-primary-bg-color: #e8dcc8;
  --md-accent-fg-color: #C5A55A;
  --md-accent-fg-color--transparent: #C5A55A33;
  --md-default-fg-color: #e0d8c8;
  --md-default-fg-color--light: #c8bda8;
  --md-default-fg-color--lighter: #a89878;
  --md-default-bg-color: #1a1a1a;
  --md-default-bg-color--light: #222222;
  --md-code-bg-color: #252520;
  --md-typeset-color: #e0d8c8;
  --md-typeset-a-color: #C5A55A;
}

/* Logo sizing */
.md-header__button.md-logo img {
  height: 3rem;
  width: auto;
}

/* Header bar */
.md-header {
  background: #1a1810;
}

[data-md-color-scheme="slate"] .md-header {
  background: #0d0c08;
}

.md-header__title {
  color: #C5A55A;
}

/* Tabs */
.md-tabs {
  background: #2c2418;
}

[data-md-color-scheme="slate"] .md-tabs {
  background: #1a1810;
}

.md-tabs__link--active, .md-tabs__link:hover {
  color: #C5A55A;
}

/* Links */
.md-typeset a {
  color: #9a7d3a;
}

[data-md-color-scheme="slate"] .md-typeset a {
  color: #C5A55A;
}

[data-md-color-scheme="slate"] .md-typeset a:hover {
  color: #d4b86a;
}

/* Tables */
[data-md-color-scheme="slate"] .md-typeset table:not([class]) th {
  background: #2a2520;
  color: #C5A55A;
}

[data-md-color-scheme="slate"] .md-typeset table:not([class]) td {
  border-color: #3a3530;
}

/* Nav sidebar */
[data-md-color-scheme="slate"] .md-nav__link:hover {
  color: #C5A55A;
}

[data-md-color-scheme="slate"] .md-nav__link--active {
  color: #C5A55A;
}

/* ============================================================
   Paper page — body.page-paper (set by page-classes.js)
   Distill/ar5iv scholarly typography
   ============================================================ */

body.page-paper .md-content__inner {
  max-width: 740px;
  margin: 0 auto;
}

body.page-paper .md-typeset,
body.page-paper .md-typeset p,
body.page-paper .md-typeset li {
  font-family: "Georgia", "Times New Roman", serif !important;
  font-size: 1.05rem;
  line-height: 1.78;
}

body.page-paper .md-typeset h1 {
  font-family: "Georgia", "Times New Roman", serif !important;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 0.25em;
  letter-spacing: -0.02em;
}

body.page-paper .md-typeset h2 {
  font-family: "Georgia", "Times New Roman", serif !important;
  font-size: 1.4rem;
  font-weight: 700;
  margin-top: 2.5em;
  padding-bottom: 0.3em;
  border-bottom: 1px solid var(--md-default-fg-color--lighter);
}

body.page-paper .md-typeset h3 {
  font-family: "Georgia", "Times New Roman", serif !important;
  font-size: 1.15rem;
  font-weight: 600;
  margin-top: 1.8em;
}

body.page-paper .md-typeset h4 {
  font-family: "Georgia", "Times New Roman", serif !important;
  font-size: 1.05rem;
  font-weight: 600;
  margin-top: 1.5em;
}

body.page-paper .md-typeset p {
  text-align: justify;
  hyphens: auto;
  margin-bottom: 1em;
}

body.page-paper .md-typeset blockquote {
  border-left: 3px solid #C5A55A;
  padding-left: 1em;
  font-style: italic;
  opacity: 0.9;
}

body.page-paper .md-typeset table {
  font-family: "Helvetica Neue", Arial, sans-serif !important;
  font-size: 0.88rem;
  margin: 1.5em auto;
}

body.page-paper .md-typeset hr {
  border: none;
  border-top: 1px solid var(--md-default-fg-color--lighter);
  margin: 2em 0;
}

/* Footnote citation links — gold */
body.page-paper .md-typeset a[href^="#fn:"] {
  color: #C5A55A;
  font-weight: 600;
}

body.page-paper .md-typeset a[href^="#fn:"]:hover {
  color: #d4b86a;
}

/* Footnote list */
body.page-paper .md-typeset .footnote {
  font-size: 0.9rem;
  border-top: 1px solid var(--md-default-fg-color--lighter);
  margin-top: 2em;
  padding-top: 1em;
}

/* ============================================================
   Constitution page — body.page-constitution (set by page-classes.js)
   Historical document styling with period typography
   ============================================================ */

body.page-constitution .md-content__inner {
  max-width: 680px;
  margin: 0 auto;
}

body.page-constitution .md-typeset,
body.page-constitution .md-typeset p,
body.page-constitution .md-typeset li {
  font-family: "Georgia", "Palatino Linotype", "Book Antiqua", serif !important;
  font-size: 1.08rem;
  line-height: 1.85;
}

body.page-constitution .md-typeset h1 {
  font-family: "Palatino Linotype", "Book Antiqua", Georgia, serif !important;
  font-size: 2.2rem;
  font-weight: 400;
  text-align: center;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.5em;
  padding-bottom: 0.5em;
  border-bottom: 2px double #8b7355;
}

[data-md-color-scheme="slate"] body.page-constitution .md-typeset h1 {
  border-bottom-color: #C5A55A;
}

body.page-constitution .md-typeset h2 {
  font-family: "Palatino Linotype", "Book Antiqua", Georgia, serif !important;
  font-size: 1.3rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #5c4a32;
  margin-top: 2.5em;
  border-bottom: 1px solid #d4c5a9;
  padding-bottom: 0.3em;
}

[data-md-color-scheme="slate"] body.page-constitution .md-typeset h2 {
  color: #C5A55A;
  border-bottom-color: #5c4a32;
}

body.page-constitution .md-typeset h3 {
  font-family: "Palatino Linotype", "Book Antiqua", Georgia, serif !important;
  font-size: 1.1rem;
  font-weight: 600;
  color: #6b5b45;
  margin-top: 1.5em;
}

[data-md-color-scheme="slate"] body.page-constitution .md-typeset h3 {
  color: #b89a5a;
}

body.page-constitution .md-typeset p {
  text-align: justify;
  text-indent: 1.5em;
  hyphens: auto;
}

body.page-constitution .md-typeset h1 + p,
body.page-constitution .md-typeset h2 + p,
body.page-constitution .md-typeset h3 + p,
body.page-constitution .md-typeset hr + p {
  text-indent: 0;
}

body.page-constitution .md-typeset blockquote {
  border-left: 3px solid #C5A55A;
  padding-left: 1.25em;
  font-style: italic;
}

/* ============================================================
   Home page card grid
   ============================================================ */

.doc-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5em;
  margin: 2em 0;
}

.doc-card {
  padding: 1.5em;
  border-radius: 8px;
  transition: box-shadow 0.2s, transform 0.2s;
  border: 1px solid #e0d5c0;
  background: #faf8f2;
}

[data-md-color-scheme="slate"] .doc-card {
  border-color: #3a3528;
  background: #222018;
}

.doc-card:hover {
  box-shadow: 0 4px 12px rgba(197, 165, 90, 0.2);
  transform: translateY(-2px);
}

.doc-card h3 {
  margin-top: 0;
  font-size: 1.15rem;
}

.doc-card h3 a {
  text-decoration: none;
}

.doc-card p {
  font-size: 0.92rem;
  margin-bottom: 0;
  opacity: 0.85;
}

/* ============================================================
   Permalink anchors — subtle, only visible on hover
   ============================================================ */

.md-typeset .headerlink {
  opacity: 0;
  transition: opacity 0.2s;
  font-size: 0.7em;
  margin-left: 0.3em;
  color: #C5A55A;
}

.md-typeset h1:hover .headerlink,
.md-typeset h2:hover .headerlink,
.md-typeset h3:hover .headerlink,
.md-typeset h4:hover .headerlink {
  opacity: 0.5;
}

.md-typeset .headerlink:hover {
  opacity: 1;
}

/* ============================================================
   General dark mode readability
   ============================================================ */

[data-md-color-scheme="slate"] .md-typeset {
  color: #e0d8c8;
}

[data-md-color-scheme="slate"] .md-typeset h1,
[data-md-color-scheme="slate"] .md-typeset h2,
[data-md-color-scheme="slate"] .md-typeset h3,
[data-md-color-scheme="slate"] .md-typeset h4 {
  color: #f0e8d8;
}

[data-md-color-scheme="slate"] .md-typeset strong {
  color: #f0e8d8;
}

[data-md-color-scheme="slate"] .md-content {
  background: #1a1a1a;
}

[data-md-color-scheme="slate"] .md-sidebar {
  background: #1a1a1a;
}

[data-md-color-scheme="slate"] .md-footer {
  background: #0d0c08;
}

[data-md-color-scheme="slate"] .md-typeset code {
  background: #2a2820;
  color: #d4c8a8;
}

[data-md-color-scheme="slate"] .md-typeset pre > code {
  background: #1e1e18;
}
