.pikurn-article {
  max-width: 1120px;
  margin-inline: auto;
  font-size: .95rem;
  line-height: 1.65;
}
.pikurn-article > :is(p, h2, h3, ul, ol, .table-frame, details, .katex-display, blockquote, .expressive-code) {
  width: 100%;
  max-width: 41rem;
  margin-inline: auto;
}
.pikurn-article > p { margin-block: 1rem; }
.pikurn-article > h2 {
  font-size: 1.45rem;
  line-height: 1.3;
  margin-block: 2.7rem 1rem;
  padding-top: 1.1rem;
  border-top: 1px solid var(--wow-border);
  letter-spacing: -.035em;
}
.pikurn-article > h3 { font-size: 1.1rem; margin-block: 1.8rem .7rem; }
.pikurn-article > :is(ul, ol) { padding-left: 1.3rem; margin-block: 1rem; }
.pikurn-article > :is(ul, ol) > li { margin-block: .4rem; }
.pikurn-article > .table-frame { margin-block: 1.3rem; }
.pikurn-article > .table-frame table { font-size: .8rem; border-collapse:collapse; }
.pikurn-article > .table-frame table th { white-space: normal; }
.pikurn-article > .table-frame table :is(th, td) { padding: .65rem .8rem; text-align:left; }
.pikurn-article .katex-display { margin-block: 1.1rem; padding-block:.3rem; }
.pikurn-article > .katex-display > .katex { font-size:1.1em; }
.pikurn-article .pikurn-proof { margin-block:1.2rem; border:1px solid var(--wow-border); border-radius:.4rem; padding:.75rem 1rem; background:var(--wow-back-alt); }
.pikurn-article .pikurn-proof summary { cursor:pointer; font-weight:bold; font-size:.85rem; }
.pikurn-article .pikurn-proof p { margin-block:.8rem; }
.pikurn-article .pikurn-proof .katex-display { max-width:100%; }
.pikurn-article .pikurn-source { margin-block:1rem; }
.pikurn-article .pikurn-source summary { cursor:pointer; padding:.8rem 0; font-weight:bold; }
.pikurn-article > .mermaid { max-width:800px; margin:1.5rem auto; }
.pikurn-article .pikurn-note { font-size:.82rem; color:var(--wow-text); line-height:1.6; }
body:has(.pikurn-article) .intro-content { max-width:1000px; margin-inline:auto; padding-inline:1rem; }
body:has(.pikurn-article) .intro-title { font-size:clamp(1.7rem,3.8vw,2.4rem); line-height:1.2; }
body:has(.pikurn-article) .intro-blurb { max-width:60ch; margin:1rem auto; font-size:.95rem; font-style:normal; }
body:has(.pikurn-article) .intro-subtitle { font-size:.8rem; }
body:has(.pikurn-article) .post-files { max-width:1120px; margin-inline:auto; }
body:has(.pikurn-article) > img { object-fit:contain; height:auto; max-height:50vh; }
@media(max-width:650px) {
  .pikurn-article { font-size:.9rem; line-height:1.65; }
  .pikurn-article > h2 { font-size:1.25rem; margin-top:2.1rem; }
  .pikurn-article > .table-frame table { font-size:.76rem; }
  .pikurn-article > .table-frame table :is(th,td) { padding:.55rem; }
  .pikurn-article .pikurn-proof { padding:.65rem .8rem; }
}
