.main-content a:hover { text-decoration: none !important; }
.main-content {
width: 100% !important;
box-sizing: border-box !important;
padding: 2rem 4rem;
margin: 2rem 0 0 auto;
word-wrap: break-word;
line-height: 1.5;
color: #333;
}

.post-header {
margin: -1rem 0 1.5rem !important;
font-family: var(--reading-serif);
text-align: left;
}

.post-title {
max-width: 52rem;
margin: 0 !important;
color: #222226 !important;
font-family: var(--reading-serif);
font-size: 1.7rem !important;
font-weight: bold !important;
line-height: 1.1;
text-wrap: balance;
}

.post-category-path {
display: inline-block;
margin: 0 0 0.95rem;
font-size: 1rem;
font-weight: 500;
line-height: 1.2;
}

.post-category-link {
display: inline-block;
color: blue !important;
text-decoration: none !important;
}

.main-content .post-category-link:hover {
color: #405ee8 !important;
text-decoration: underline !important;
text-underline-offset: 0.18em;
}

.post-meta {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 0.35rem;
margin: 0;
color: #8b8b90;
font-size: 1rem;
font-weight: 400;
line-height: 1.45;
}

.post-author-name {
color: #66666b;
font-weight: 500;
}

.post-header .post-date {
margin: 0;
color: inherit;
font-size: inherit;
font-weight: inherit;
}

.post-meta-separator {
color: #b0b0b4;
}

.post-header-divider,
.post-body-divider {
border-top-color: #d2d2d4 !important;
}

.post-header-divider {
margin: 0 0 2rem;
}

.post-body-divider {
margin: 3rem 0 0 !important;
}

#comment-section {
margin-top: 2.5rem;
}

.post-body h1, 
.post-body h2, 
.post-body h3, 
.post-body h4, 
.post-body h5, 
.post-body h6 {
color: #333 !important; 
font-weight: bold;
margin-top: 2.5rem;
margin-bottom: 0 rem;
}
.post-body { 
  max-width: none !important ;
  font-weight: 400;
  line-height: 1.4;
}

.post-body.math-scroll {
  font-size: 1.035em;
}

.post-body a:not(.math-ref-link) {
color: blue !important;
text-decoration: none !important;
}

.post-body a:not(.math-ref-link):hover {
color: blue !important;
text-decoration: underline !important;
}

.post-body h1:first-child, 
.post-body h2:first-child, 
.post-body h3:first-child { 
margin-top: 0 !important;
}

.post-body h2 + h3,
.post-body h3 + h4,
.post-body h2 + h4 {
margin-top: 0 !important;
}

.post-body hr + h2 {
margin-top: 1.5rem !important;
}

.post-body hr {
margin-top: 3.5rem !important;
}

.post-body ul {
--ul-marker-gap-adjust: 0.1rem;
list-style-position: outside;
list-style-type: disc !important;
padding-left: 1em ;
margin-top: -0.5rem !important;
margin-left: calc(var(--ul-marker-gap-adjust) + 1em);
}

.post-body ul > li::marker {
color: #333;
font-size: 0.85em;
line-height: 1;
}

.post-body ul li p {
margin-top: 0 !important;
margin-bottom: 0 !important;
display: inline; 
}


.post-body ul > li {
padding-left: var(--ul-marker-gap-adjust);
line-height: 1.6;
}

.post-body ul > li::before {
content: none;
}

.post-body ul ul, 
.post-body ul ol {
margin-top: 0 !important;
margin-bottom: 0 !important;
}

.post-body ul ul {
  margin-left: 0;
}

.post-body img, .post-body canvas, .post-body svg {
max-width: 100%;
}

.post-body .commutative-diagram {
display: block;
max-width: 100%;
margin: -0.3rem 0;
padding: 0;
overflow-x: auto;
overflow-y: hidden;
text-align: center;
}

.post-body .commutative-diagram__svg {
display: block;
width: auto;
max-width: none;
height: auto;
margin: 0 auto;
}

/* dvisvgm turns TeX glyphs into paths, so CSS font-weight cannot affect them. */
.post-body .commutative-diagram__svg use {
fill: currentColor;
stroke: currentColor;
stroke-width: 0.25px;
paint-order: stroke fill;
}

.post-body .commutative-diagram__svg path[fill="none"] {
stroke-width: 0.33px;
}

@media (max-width: 768px), (pointer: coarse) {
  .post-body .commutative-diagram__svg use {
  stroke-width: 0.08px;
  }
}

hr { 
border-top: 0.4px solid #b7b7b7ca !important;
background-color: #ffffff00 !important;
}

.post-body ol {
--ol-left-indent: 1em;
--ol-marker-gap: 0.8rem;
--ol-marker-width: 2rem;
list-style: none;
margin-top: -0.5rem !important;
padding-left: calc(var(--ol-left-indent) + var(--ol-marker-width) + var(--ol-marker-gap));
}

.post-body ol > li {
position: relative;
line-height: 1.6;
}

.post-body ol > li::marker {
content: "";
}

.post-body ol > li.list-item-display-math::marker {
content: "";
}

.post-body ol > li::before {
content: attr(data-marker-text);
position: absolute;
left: calc(-1 * (var(--ol-marker-width) + var(--ol-marker-gap)));
width: var(--ol-marker-width);
color: #333;
font-size: 0.95em;
font-style: normal;
text-align: left;
}

.post-body li.list-item-display-math {
margin-top: 0.35rem;
margin-bottom: 0.55rem;
}

.post-body li.list-item-display-math > p {
margin-top: 0;
margin-bottom: 0.25rem;
}

.post-body li.list-item-display-math mjx-container[display="true"] {
margin-top: 0.2rem !important;
margin-bottom: 0.2rem !important;
}

.post-body li.list-item-display-math mjx-container[display="true"] > svg {
display: block;
margin-left: auto;
margin-right: auto;
}

.post-body li.list-item-display-math-only mjx-container[display="true"] {
display: inline-block;
width: 100%;
max-width: 100%;
margin: 0 !important;
padding: 0;
box-sizing: border-box;
text-align: center;
vertical-align: middle;
}

.post-body li.list-item-display-math-only mjx-container[display="true"] > svg {
margin-left: auto;
margin-right: auto;
}

.post-body ol ul {
list-style-position: outside;
list-style-type: disc !important;
padding-left: 1em;
margin-bottom: 0px !important;
margin-left: 0;
}

.post-body ol > li > ul:first-child { 
margin-top: 0px !important;
}

.post-body ol ul > li {
position: static;
}

.post-body ol ul > li::before {
content: none;
}

main.main-content > article.main-content {
max-width: none !important;
}

main.main-content {
max-width: 57.5rem !important;
width: 100% !important;
box-sizing: border-box !important;
margin-left: auto !important;
margin-right: auto !important;
}

main.main-content > article.main-content {
max-width: none !important;
width: 100% !important;
box-sizing: border-box !important;
margin: 0 !important;
padding: 0 !important;
}

.post-body {
max-width: none !important;
width: 100% !important;
box-sizing: border-box !important;
overflow-x: clip;
}

@supports not (overflow: clip) {
  .post-body {
    overflow-x: hidden;
  }
}

html.mathjax-loading .post-body {
visibility: hidden;
}

.post-body p {
text-align: justify;
text-align-last: left;
text-justify: inter-word;
hyphens: auto;
-webkit-hyphens: auto;
overflow-wrap: break-word;
word-break: normal;
}

.post-body .qed {
float: right;
margin-left: 1rem;
}

.post-body .math-label-anchor {
margin-right: 0.3em;
scroll-margin-top: 1.25rem;
}

.post-body .math-statement-italic {
font-style: italic;
}

.post-body .math-statement-italic .math-label-anchor,
.post-body .math-statement-italic em,
.post-body .math-statement-italic i {
font-style: normal;
}

.post-body a.math-ref-link {
color: inherit;
text-decoration: none !important;
}

.post-body a.math-ref-link:visited {
color: inherit;
}

.post-body a.math-ref-link:hover {
text-decoration: none !important;
}

.post-body a.math-ref-link .math-ref-number {
display: inline-block;
position: relative;
padding: 0 0.12em;
line-height: 1.08;
}

.post-body a.math-ref-link .math-ref-number::after {
content: "";
position: absolute;
top: -0.09em;
right: 0;
bottom: 0.09em;
left: 0;
border: 0.7px solid red;
pointer-events: none;
}

.math-scroll {
max-width: 100%;
}

.post-body mjx-container {
contain: paint;
overflow: clip;
}

.post-body mjx-assistive-mml {
-webkit-user-select: none;
user-select: none;
}

@supports not (overflow: clip) {
  .post-body mjx-container {
    overflow: hidden;
  }
}

.math-scroll mjx-container[display="true"],
.math-scroll .MathJax_Display {
display: block;
max-width: 100%;
overflow-x: hidden;
overflow-y: hidden;
margin: 0.4em 0;
padding: 0.15rem 0;
box-sizing: border-box;
}

.post-body > p:has(+ mjx-container[display="true"]),
.post-body > p:has(+ .MathJax_Display) {
margin-bottom: 0.75em;
}

.post-body > mjx-container[display="true"] + p,
.post-body > .MathJax_Display + p {
margin-top: 0.75em;
}

.math-scroll mjx-container[display="true"].math-overflowing,
.math-scroll .MathJax_Display.math-overflowing {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}

.math-scroll mjx-container[display="true"][width="full"] {
width: 100%;
min-width: 0 !important;
justify-content: flex-start;
}

.math-scroll mjx-container[display="true"] > *,
.math-scroll .MathJax_Display > * {
max-width: 100%;
}

@media (max-width: 768px), (pointer: coarse) {
  .math-scroll mjx-container[display="true"],
  .math-scroll .MathJax_Display {
    width: 100%;
    max-width: 100%;
    overflow-y: hidden;
  }

  .math-scroll mjx-container[display="true"] > svg,
  .math-scroll .MathJax_Display > svg {
    width: auto;
    max-width: none !important;
  }

  .math-scroll mjx-container[display="true"][width="full"] > svg {
    width: 100% !important;
  }
}

figure {
  text-align: center;
  margin: 1.5rem auto;
}

figure img {
  max-width: 100%;
  height: auto;
}

figcaption {
  margin-top: 0.4rem;
  font-size: 0.9rem;
  font-weight: bold;
}
