/* =====================================================================
   Blog posts: one column, typeset like the homepage's main column.
   Each post's index.html renders its text.md into .post-body.
   ===================================================================== */

/* running head: back link and theme toggle */
.post-bar {
  position: sticky; top: 0; z-index: 20;
  background: var(--head-bg);
  -webkit-backdrop-filter: saturate(1.2) blur(6px);
  backdrop-filter: saturate(1.2) blur(6px);
  border-bottom: .5px solid var(--ink);
}
.post-bar-in {
  max-width: calc(var(--measure) + 4rem);
  margin: 0 auto; padding: .7rem 2rem .45rem;
  display: flex; justify-content: space-between; align-items: baseline; gap: 1rem;
  font-size: .88rem;
}
.post-bar .home { color: var(--ref); }
.post-bar .home .arr { color: var(--faint); margin-right: .3em; }

.post {
  max-width: calc(var(--measure) + 4rem);
  margin: 0 auto; padding: 0 2rem 2rem;
}

/* title block */
.post-head { margin: 3.6rem 0 2.4rem; text-align: center; }
.post-kicker {
  font-variant-caps: all-small-caps; letter-spacing: .14em;
  font-size: .9rem; color: var(--faint); margin-bottom: .7rem;
}
.post-title {
  font-size: 1.85em; font-weight: 500; line-height: 1.18;
  letter-spacing: -.005em;
  margin: 0 auto; max-width: 34rem;
  text-wrap: balance;
}
/* authors and affiliations, as under a paper's title */
.post-authors { margin: 1.2rem auto 0; max-width: 34rem; font-size: 1.05em; color: var(--ink); }
.post-affil {
  margin: .45rem auto 0; max-width: 34rem;
  font-size: .86rem; font-style: italic; color: var(--muted);
  display: flex; flex-wrap: wrap; justify-content: center; gap: 0 1.1em;
}
.post-authors .au, .post-affil .au { white-space: nowrap; }
.post-head sup {
  font-size: .62em; line-height: 0; margin-left: .08em;
  font-style: normal; font-variant-numeric: lining-nums;
}
.post-affil sup { margin: 0 .12em 0 0; }
.post-head .star { font-size: 1.5em; }
.post-date { margin-top: .6rem; font-size: .86rem; color: var(--muted); font-variant-numeric: lining-nums; }
.post-related { margin-top: .35rem; font-size: .9rem; font-style: italic; color: var(--muted); }
.post-related a { font-style: normal; }

/* body: paper paragraphs */
.post-body { border-top: .5px solid var(--rule); padding-top: 1.8rem; }
.post-body p {
  margin: 0;
  text-align: justify; hyphens: auto; -webkit-hyphens: auto;
  hyphenate-limit-chars: 7 3 3;
}
.post-body p + p { margin-top: 1lh; }   /* one blank line between paragraphs */
.post-body h2, .post-body h3 {
  font-size: 1.12em; font-weight: 700; line-height: 1.3;
  margin: 2.2rem 0 .7rem;
}
.post-body h3 { font-size: 1em; font-style: italic; font-weight: 400; }
.post-body ul, .post-body ol { margin: .8rem 0; padding-left: 1.5em; }
.post-body li + li { margin-top: .25rem; }
.post-body blockquote {
  margin: 1.2rem 0; padding: 0 0 0 1.1rem;
  border-left: .5px solid var(--ink); color: var(--ink-2);
}
.post-body code { font-family: var(--mono); font-size: .82em; }
.post-body pre {
  margin: 1.2rem 0; padding: .75rem .9rem;
  background: var(--box); border: .5px solid var(--box-rule); border-radius: 2px;
  font-size: .9rem; line-height: 1.55; overflow-x: auto;
}
.post-body pre code { font-size: .8rem; }
.post-body .katex { font-size: 1.08em; }
.post-body .katex-display {
  margin: 0; padding: .3rem 0;
  overflow-x: auto; overflow-y: hidden;   /* long equations scroll on phones */
}
.post-body hr { border: 0; border-top: .5px solid var(--rule); margin: 2rem 0; }

/* figures: the same width as the text */
.post-body figure { margin: 2rem 0; }
.post-body figure img, .post-body figure video {
  display: block; width: 100%; height: auto;
  border-radius: 2px;
}
/* White-ground figures blend into the paper and invert for dark mode.
   Figures with a *_light.* / *_dark.* pair are swapped by post.js and shown as-is. */
.post-body figure img:not([src*="_dark."]):not([src*="_light."]) {
  filter: var(--fig-filter);
  mix-blend-mode: var(--fig-blend);
}
.post-body figcaption {
  margin-top: .7rem;
  font-size: .84rem; line-height: 1.45; color: var(--muted);
  text-align: justify; hyphens: auto; -webkit-hyphens: auto;
}
.post-body figcaption .lbl { color: var(--ink); }

.post-error { font-style: italic; color: var(--muted); }

/* text set in the page colour, so it blends into the background */
.post-body .paper-ink { color: var(--paper); }

.colophon {
  margin: 4.5rem 0 0; padding: .6rem 0 1.5rem;
  border-top: .5px solid var(--ink);
  font-size: .8rem; color: var(--muted);
  display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap;
}

@media (max-width: 560px) {
  .post-body .katex-display { font-size: .86em; }
}

@media (max-width: 899.98px) {
  .post-bar-in, .post { padding-left: 18px; padding-right: 18px; }
  .post-head { margin-top: 2.6rem; }
  .post-title { font-size: 1.55em; }
}

@media print {
  .post-bar, .skip-link { display: none !important; }
  body { background: #fff; color: #000; }
}
