/* Shared reading surface. The editor preview and the published page use this file. */
.cf-article { --article-accent: #ddff00; color: #e2e5e9; font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Microsoft YaHei', sans-serif; font-size: 16px; line-height: 1.9; overflow-wrap: anywhere; min-width: 0; }
.cf-article > :first-child { margin-top: 0; }
.cf-article > :last-child { margin-bottom: 0; }
.cf-article p { margin: 1em 0; }
.cf-article .cf-text-highlight { background: rgb(221 255 0 / 19%); color: inherit; border-radius: .18em; padding: .05em .12em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.cf-article .cf-text-underline { text-decoration: underline; text-underline-offset: .18em; }
:root[data-reading-theme=paper] .cf-article { --article-accent:#245e50; color:#222; background:#fff; }
:root[data-reading-theme=paper] .cf-article:not(.cf-article .cf-article) { padding:clamp(18px,3vw,32px); border-radius:10px; }
:root[data-reading-theme=paper] .cf-article .cf-article { background:transparent; padding:0; }
:root[data-reading-theme=paper] .cf-article th,:root[data-reading-theme=paper] .cf-article td { border-color:#cbd2ce; }
:root[data-reading-theme=paper] .cf-article th { background:#f1f5f2; }
:root[data-reading-theme=paper] .cf-article blockquote { background:#f2f6f3; color:#35413b; }
:root[data-reading-theme=paper] .cf-article pre { background:#f3f5f4; color:#24342c; border-color:#d9dfdc; }
:root[data-reading-theme=paper] .cf-article :not(pre)>code { background:#edf2ef; color:#245e50; }
:root[data-reading-theme=paper] .cf-article hr { border-color:#ccd5cf; }
:root[data-reading-theme=paper] .cf-article .cf-image-caption { color:#555f59; }
:root[data-reading-theme=paper] .cf-article .cf-text-highlight { background:#fff1a4; }
:root[data-reading-theme=paper] .cf-article .cf-text-blue { color:#064e8c; }:root[data-reading-theme=paper] .cf-article .cf-text-green { color:#225b21; }:root[data-reading-theme=paper] .cf-article .cf-text-orange { color:#854600; }:root[data-reading-theme=paper] .cf-article .cf-text-red { color:#8e2020; }:root[data-reading-theme=paper] .cf-article .cf-text-purple { color:#663493; }
.cf-article .cf-text-blue { color: #80c9ff; }.cf-article .cf-text-green { color: #a4df99; }.cf-article .cf-text-orange { color: #ffcb8e; }.cf-article .cf-text-red { color: #ffa5a5; }.cf-article .cf-text-purple { color: #cfb2ff; }
.cf-article h1,.cf-article h2,.cf-article h3,.cf-article h4,.cf-article h5,.cf-article h6 { color: inherit; font-family: 'Space Grotesk', Inter, 'Microsoft YaHei', sans-serif; font-weight: 700; letter-spacing: -.025em; line-height: 1.4; margin: 1.6em 0 .65em; scroll-margin-top: 5rem; overflow-wrap: anywhere; }
.cf-article h1 { font-size: 1.9em; }.cf-article h2 { font-size: 1.55em; }.cf-article h3 { font-size: 1.25em; }
.cf-article h4,.cf-article h5,.cf-article h6 { font-size: 1.05em; }
.cf-article h2 { border-left: 4px solid var(--article-accent); padding-left: 16px; }
.cf-article a { color: var(--article-accent); text-decoration: underline; text-underline-offset: .22em; }
.cf-article a:focus-visible,.cf-article [tabindex]:focus-visible { outline: 2px solid var(--article-accent); outline-offset: 4px; border-radius: 3px; }
.cf-article ul,.cf-article ol { padding-left: 1.7em; margin: 1em 0; }
.cf-article li { margin: .2em 0; padding-left: 3px; }.cf-article li > p { margin: .4em 0; }.cf-article li::marker { color: var(--article-accent); }
.cf-article .cf-task-marker { display: inline-block; min-width: 1.15em; color: var(--article-accent); font-size: 1.1em; line-height: 1; }
.cf-article blockquote { padding: .2em 1.1em; margin: 1.4em 0; border-left: 3px solid var(--article-accent); background: rgb(176 237 131 / 4%); color: inherit; }
.cf-article hr { margin: 2em 0; border: 0; border-top: 1px solid rgb(255 255 255 / 15%); }
.cf-article pre { max-width: 100%; overflow-x: auto; padding: 1.1em 1.25em; border: 1px solid rgb(255 255 255 / 10%); border-radius: 10px; background: #0b1015; color: #dce6ec; white-space: pre; font-size: .88em; line-height: 1.65; tab-size: 2; }
.cf-article code { font-family: 'JetBrains Mono', ui-monospace, monospace; }
.cf-article :not(pre) > code { padding: .12em .35em; border-radius: 4px; background: rgb(160 180 190 / 10%); color: var(--article-accent); font-size: .88em; white-space: break-spaces; }
.cf-article pre code { padding: 0; background: transparent; color: inherit; border: 0; font-size: inherit; }
.cf-article table { display: block; width: max-content; max-width: 100%; overflow-x: auto; margin: 1.4em 0; border-collapse: collapse; font-size: .94em; }
.cf-article th,.cf-article td { min-width: 80px; padding: .65em .9em; border: 1px solid rgb(255 255 255 / 13%); text-align: left; vertical-align: top; }
.cf-article th { background: rgb(176 237 131 / 6%); font-weight: 600; }
.cf-article .cf-image { box-sizing: border-box; max-width: 100%; border: 0; background: transparent; }
.cf-article .cf-image > img { display: block; max-width: 100%; height: auto; margin: 0; padding: 0; border: 0; border-radius: 6px; object-fit: contain; }
.cf-article .cf-image-block { display: block; width: fit-content; margin-top: 1.7em; margin-bottom: 1.7em; }
.cf-article .cf-image-block[data-cf-width] > img { width: 100%; }
.cf-article .cf-image-align-left { margin-left: 0; margin-right: auto; }
.cf-article .cf-image-align-center { margin-left: auto; margin-right: auto; }
.cf-article .cf-image-align-right { margin-left: auto; margin-right: 0; }
.cf-article .cf-image-inline { display: inline-block; width: 24px; margin: 0 .15em; line-height: 1; vertical-align: baseline; }
.cf-article .cf-image-inline > img { width: 100%; max-width: 100%; border-radius: 2px; vertical-align: inherit; }
.cf-article .cf-image-align-middle { vertical-align: middle; }
.cf-article .cf-image-align-baseline { vertical-align: baseline; }
.cf-article .cf-image-caption { display: block; margin: .65em 0 0; color: #9ca7a2; font-size: .83em; line-height: 1.6; text-align: center; white-space: pre-wrap; overflow-wrap: anywhere; }
.cf-article .cf-math { color: inherit; overflow-wrap: normal; text-indent: 0; }
.cf-article .cf-math-inline { white-space: nowrap; }
.cf-article .cf-math-inline > .katex { white-space: normal; }
.cf-article .cf-math-block { display: block; max-width: 100%; margin: 1.45em 0; padding: .35em .15em; overflow-x: auto; overflow-y: hidden; text-align: center; overscroll-behavior-inline: contain; }
.cf-article .cf-math-block > .katex-display { margin: 0; }
.cf-article .cf-math .katex { font-size: 1.1em; }
.cf-article .cf-math .katex-display > .katex { white-space: nowrap; }
.cf-article .cf-math-error,.cf-article .cf-image-error { display: inline-block; max-width: 100%; padding: .45em .7em; border: 1px dashed #f0ad72; border-radius: 5px; background: rgb(240 173 114 / 6%); color: #f4bb8a; white-space: pre-wrap; overflow-wrap: anywhere; font-family: ui-monospace, monospace; font-size: .9em; }
.cf-article .cf-math-error.cf-math-block { display: block; text-align: left; }
@media (max-width: 600px) {
  .cf-article { font-size: 15px; }
  .cf-article pre { padding: .9em; border-radius: 7px; }
  .cf-article th,.cf-article td { padding: .55em .7em; }
  .cf-article .cf-math .katex { font-size: 1.04em; }
}
@media print {
  .cf-article { color: #111; --article-accent: #235429; }
  .cf-article pre,.cf-article blockquote { background: #f5f5f5; color: #111; }
  .cf-article .cf-image-caption { color: #555; }
  .cf-article .cf-text-blue { color: #064e8c; }.cf-article .cf-text-green { color: #225b21; }.cf-article .cf-text-orange { color: #854600; }.cf-article .cf-text-red { color: #8e2020; }.cf-article .cf-text-purple { color: #663493; }
}
