/* Paperline — Typora/GitHub-inspired reading rules. Scope all prose styles to markdown-body. */
.markdown-body {
  color:var(--text);
  font-family:var(--sans);
  font-size:var(--reader-font-size);
  font-weight:400;
  line-height:1.78;
  letter-spacing:.004em;
  overflow-wrap:break-word;
  -webkit-text-size-adjust:100%;
}
.markdown-body > :first-child { margin-top:0!important; }
.markdown-body > :last-child { margin-bottom:0!important; }
.markdown-body p { margin:0 0 1.15em; font-size:inherit; line-height:inherit; }
.markdown-body strong,.markdown-body b { font-weight:700; color:var(--heading); }
.markdown-body em { font-style:italic; }
.markdown-body a { color:var(--accent); text-decoration:underline; text-decoration-color:rgba(var(--accent-rgb),.35); text-underline-offset:3px; overflow-wrap:anywhere; }
.markdown-body a:hover { text-decoration-color:var(--accent); }
.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6 {
  color:var(--heading); font-weight:720; line-height:1.37; margin:1.9em 0 .75em;
  letter-spacing:-.025em; overflow-wrap:anywhere; word-break:normal; scroll-margin-top:96px;
}
.markdown-body h1 { font-size:2em; padding-bottom:.32em; border-bottom:1px solid var(--line-strong); margin-top:1.5em; }
.markdown-body h2 { font-size:1.56em; padding-bottom:.3em; border-bottom:1px solid var(--line); }
.markdown-body h3 { font-size:1.31em; }.markdown-body h4 { font-size:1.14em; }
.markdown-body h5 { font-size:1.04em; }.markdown-body h6 { font-size:.95em; color:var(--muted); }
.markdown-body h1 + p,.markdown-body h2 + p,.markdown-body h3 + p { margin-top:.1em; }
/* Lists: never disable markers or set a smaller font than body. */
.markdown-body ul,.markdown-body ol { margin:.15em 0 1.1em; padding-left:1.8em; font-size:inherit; line-height:inherit; }
.markdown-body ul { list-style-type:disc; }.markdown-body ol { list-style-type:decimal; }
.markdown-body ul ul { list-style-type:circle; }.markdown-body ul ul ul { list-style-type:square; }
.markdown-body ol ol { list-style-type:lower-alpha; }.markdown-body ol ol ol { list-style-type:lower-roman; }
.markdown-body li { display:list-item; list-style-position:outside; font-size:inherit; line-height:inherit; padding-left:.12em; margin:.22em 0; }
.markdown-body li::marker { color:var(--muted); font-size:.96em; }
.markdown-body li > p { margin:.4em 0; }
.markdown-body li > ul,.markdown-body li > ol { margin:.25em 0 .5em; }
.markdown-body ul.task-list,.markdown-body ol.task-list { list-style:none; padding-left:1.55em; }
.markdown-body .task-list-item { list-style:none; }
.markdown-body .task-list-item > input[type="checkbox"] { margin:0 .46em 0 -1.45em; vertical-align:middle; width:1em; height:1em; accent-color:var(--accent); }
.markdown-body li:has(> input[type="checkbox"]) { list-style:none; }
.markdown-body li > input[type="checkbox"] { margin-left:-1.35em; margin-right:.35em; accent-color:var(--accent); }
.markdown-body blockquote { margin:1.4em 0; padding:.45em 1.1em .45em 1.15em; border-left:3px solid var(--accent); background:rgba(var(--accent-rgb),.045); border-radius:0 7px 7px 0; color:var(--muted); }
.markdown-body blockquote p { margin:.4em 0; }.markdown-body blockquote blockquote { background:transparent; }
.markdown-body hr { border:0; border-top:1px solid var(--line-strong); margin:2.15em 0; height:0; }
.markdown-body code,.markdown-body pre,.markdown-body kbd,.markdown-body samp { font-family:var(--mono); }
.markdown-body :not(pre)>code { padding:.16em .36em; border-radius:5px; background:rgba(var(--accent-rgb),.08); font-size:.86em; color:var(--heading); word-break:break-word; }
.markdown-body pre { position:relative; overflow:auto; background:var(--soft); border:1px solid var(--line); border-radius:10px; margin:1.2em 0 1.5em; padding:17px 19px; color:var(--heading); font-size:.84em; line-height:1.62; letter-spacing:0; tab-size:4; white-space:pre; scrollbar-width:thin; }
.markdown-body pre code { font-size:1em; line-height:inherit; color:inherit; background:transparent!important; padding:0!important; border:0; white-space:inherit; word-break:normal; }
.markdown-body .code-copy { position:absolute; top:9px; right:9px; z-index:1; background:var(--paper); border:1px solid var(--line-strong); color:var(--muted); border-radius:5px; padding:4px 9px; font-family:var(--sans); font-size:11px; opacity:0; transition:opacity .15s; }
.markdown-body pre:hover .code-copy,.markdown-body pre:focus-within .code-copy { opacity:1; }
.markdown-body pre code[class*="language-"] { display:block; padding-right:14px!important; }
.markdown-body kbd { background:var(--soft); border:1px solid var(--line-strong); border-bottom-width:2px; border-radius:5px; padding:.12em .42em; font-size:.78em; }
.markdown-body img,.markdown-body video,.markdown-body svg { max-width:100%; height:auto; }
.markdown-body img { display:block; margin:1.45em auto; border-radius:6px; }
.markdown-body a img { display:inline-block; }
.markdown-body figure { margin:1.5em 0; text-align:center; }
.markdown-body figure img { margin:0 auto; }.markdown-body figcaption { margin-top:.55em; color:var(--muted); font-size:.78em; }
.markdown-body table { display:block; width:max-content; max-width:100%; overflow-x:auto; margin:1.4em 0; border-spacing:0; border-collapse:collapse; font-size:.89em; line-height:1.6; scrollbar-width:thin; }
.markdown-body th,.markdown-body td { padding:9px 13px; border:1px solid var(--line-strong); text-align:left; vertical-align:top; min-width:48px; }
.markdown-body th { background:var(--soft); color:var(--heading); font-weight:700; }
.markdown-body tr:nth-child(even) td { background:rgba(var(--accent-rgb),.018); }
.markdown-body table code { white-space:nowrap; }
.markdown-body del { color:var(--muted); }.markdown-body mark { background:#f8e7a0; color:#3d3521; border-radius:3px; padding:0 .12em; }
.markdown-body sup,.markdown-body sub { font-size:.73em; line-height:0; position:relative; }
.markdown-body sup { top:-.45em; }.markdown-body sub { bottom:-.24em; }
.markdown-body .footnotes { border-top:1px solid var(--line); margin-top:2em; padding-top:1em; font-size:.87em; }
.markdown-body .footnotes ol { font-size:inherit; }.markdown-body .footnotes li { color:var(--muted); }
.markdown-body .footnote-ref { font-size:.8em; text-decoration:none; }
.markdown-body .footnote-backref { text-decoration:none; margin-left:.25em; }
.markdown-body .math,.markdown-body .katex-display,.markdown-body .MathJax_Display { max-width:100%; overflow-x:auto; overflow-y:hidden; }
.markdown-body details { margin:1.2em 0; background:var(--soft); border:1px solid var(--line); padding:10px 16px; border-radius:8px; }
.markdown-body details summary { cursor:pointer; font-weight:680; }.markdown-body details[open] summary { margin-bottom:10px; }
/* Support popular syntax highlighters without depending on remote scripts. */
.markdown-body .token.comment,.markdown-body .hljs-comment { color:#758995; }
.markdown-body .token.keyword,.markdown-body .hljs-keyword { color:#a45c98; }
.markdown-body .token.string,.markdown-body .hljs-string { color:#46816a; }
.markdown-body .token.function,.markdown-body .hljs-title { color:#487ab3; }
.markdown-body .token.number,.markdown-body .hljs-number { color:#ba7740; }
@media (max-width:640px) {
  .markdown-body { line-height:1.72; }
  .markdown-body h1 { font-size:1.82em; }.markdown-body h2 { font-size:1.45em; }
  .markdown-body h3 { font-size:1.25em; }
  .markdown-body ul,.markdown-body ol { padding-left:1.52em; }
  .markdown-body pre { margin-inline:-2px; padding:13px 14px; font-size:.81em; }
  .markdown-body .code-copy { opacity:1; }
  .markdown-body th,.markdown-body td { padding:7px 10px; }
}
@media print { .markdown-body { color:#111; font-size:12pt; line-height:1.6; } .markdown-body pre { white-space:pre-wrap; } .markdown-body .code-copy { display:none; } }
