/* ============================================================
   文章页覆盖样式 —— 用于 Typora 导出的 HTML 文章
   作用：覆盖 Typora 默认白底，使其跟随全站主题并居中阅读
   注意：Typora 内联样式优先级高，必要处用较高特异性。
   ============================================================ */

/* 覆盖 Typora 根背景与文字 */
html,
body {
  background-color: var(--bg) !important;
  color: var(--text) !important;
}

body.typora-export {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* 文章正文容器：居中限宽，留白舒适 */
#write {
  max-width: var(--maxw-prose) !important;
  margin: 0 auto !important;
  padding-top: 48px !important;
  padding-bottom: 96px !important;
  font-size: 16.5px !important;
  line-height: 1.85 !important;
  color: var(--text) !important;
}

/* 标题 */
#write h1,
#write h2,
#write h3,
#write h4,
#write h5,
#write h6 {
  color: var(--text) !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;
  margin-top: 1.8em !important;
  margin-bottom: 0.6em !important;
  line-height: 1.35 !important;
}
#write h1 {
  font-size: 1.9em !important;
  border-bottom: 1px solid var(--border);
  padding-bottom: 0.4em;
}
#write h2 {
  font-size: 1.45em !important;
}
#write h3 {
  font-size: 1.2em !important;
}

#write p {
  color: var(--text) !important;
}
#write strong {
  color: var(--text) !important;
  font-weight: 700;
}

#write a {
  color: var(--accent) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* 列表 */
#write ul,
#write ol {
  padding-left: 1.6em !important;
}
#write li {
  margin: 0.3em 0 !important;
}

/* 引用块 */
#write blockquote {
  border-left: 3px solid var(--accent) !important;
  background: var(--accent-soft) !important;
  color: var(--text-secondary) !important;
  padding: 12px 18px !important;
  margin: 1.2em 0 !important;
  border-radius: 0 8px 8px 0 !important;
}
#write blockquote p {
  color: var(--text-secondary) !important;
}

/* 代码 */
#write code {
  font-family: var(--font-mono) !important;
  font-size: 0.88em !important;
  background: var(--bg-subtle) !important;
  border: 1px solid var(--border) !important;
  padding: 0.15em 0.4em !important;
  border-radius: 5px !important;
  color: var(--accent) !important;
}
/* Typora nests a <pre> for every CodeMirror line inside the outer <pre>. */
#write pre:not(.CodeMirror pre) {
  background: var(--code-bg) !important;
  color: var(--code-text) !important;
  border: 1px solid var(--code-border) !important;
  border-radius: 8px !important;
  padding: 20px 22px !important;
  overflow-x: auto !important;
  margin: 1.2em 0 !important;
  font-family: var(--font-mono) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  white-space: pre !important;
  tab-size: 4;
}
#write pre code {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  color: var(--code-text) !important;
  font: inherit !important;
  white-space: inherit !important;
}

:root {
  --code-bg: #f3f4f6;
  --code-border: #dfe3e8;
  --code-text: #283342;
  --code-comment: #647080;
  --code-keyword: #8250a0;
  --code-function: #0550ae;
  --code-type: #116b65;
  --code-number: #97501b;
  --code-string: #286437;
}
[data-theme="dark"] {
  --code-bg: #161b22;
  --code-border: #303943;
  --code-text: #edf2f7;
  --code-comment: #b5c1d0;
  --code-keyword: #d2a8ff;
  --code-function: #8bc4ff;
  --code-type: #7ed9c4;
  --code-number: #ffc089;
  --code-string: #add99c;
}
#write .CodeMirror {
  background: transparent !important;
  color: var(--code-text) !important;
  font: inherit !important;
  height: auto !important;
  overflow: visible !important;
}
#write .CodeMirror pre {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font: inherit !important;
  color: inherit !important;
  line-height: 1.7 !important;
  min-height: 1.7em;
  white-space: pre !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  overflow: visible !important;
}
#write .CodeMirror-lines {
  padding: 0 !important;
}
#write .CodeMirror-scroll {
  overflow: visible !important;
}
#write .CodeMirror-activeline-background {
  background: transparent !important;
}
#write :is(.CodeMirror, .code-block) .cm-comment,
#write :is(.CodeMirror, .code-block) .cm-meta {
  color: var(--code-comment) !important;
}
#write :is(.CodeMirror, .code-block) .cm-keyword {
  color: var(--code-keyword) !important;
}
#write :is(.CodeMirror, .code-block) .cm-def,
#write :is(.CodeMirror, .code-block) .cm-builtin {
  color: var(--code-function) !important;
}
#write :is(.CodeMirror, .code-block) .cm-variable,
#write :is(.CodeMirror, .code-block) .cm-operator {
  color: var(--code-text) !important;
}
#write :is(.CodeMirror, .code-block) .cm-variable-2,
#write :is(.CodeMirror, .code-block) .cm-variable-3,
#write :is(.CodeMirror, .code-block) .cm-type {
  color: var(--code-type) !important;
}
#write :is(.CodeMirror, .code-block) .cm-number,
#write :is(.CodeMirror, .code-block) .cm-atom {
  color: var(--code-number) !important;
}
#write :is(.CodeMirror, .code-block) .cm-string,
#write :is(.CodeMirror, .code-block) .cm-string-2 {
  color: var(--code-string) !important;
}

/* 表格 */
#write table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 1.2em 0 !important;
  font-size: 0.95em !important;
}
#write th,
#write td {
  border: 1px solid var(--border) !important;
  padding: 8px 12px !important;
  color: var(--text) !important;
}
#write th {
  background: var(--bg-subtle) !important;
  font-weight: 600 !important;
}
#write tr:nth-child(even) td {
  background: var(--bg-subtle) !important;
}

/* 图片 */
#write img {
  border-radius: var(--radius-md) !important;
  margin: 1.2em auto !important;
  box-shadow: var(--shadow-sm) !important;
}

/* 分隔线 */
#write hr {
  border: none !important;
  border-top: 1px solid var(--border) !important;
  margin: 2.5em 0 !important;
}

/* 深色下 mermaid / 导出的白色 SVG 背景适配 */
[data-theme="dark"] #write {
  filter: none;
}

/* Align exported documents with the journal shell. */
body.typora-export {
  font-family: var(--font-sans) !important;
}
#write {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
#write h1:first-child {
  margin-top: 0 !important;
  font-family: var(--font-serif);
  font-weight: 500 !important;
}
#write :is(h1, h2, h3, h4, h5, h6) {
  scroll-margin-top: 110px;
}
#write table {
  display: block;
  overflow-x: auto;
}
#write td,
#write th {
  min-width: 100px;
}
@media (max-width: 540px) {
  body.typora-export {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
  #write {
    padding-top: 28px !important;
    font-size: 16px !important;
  }
  .article-back {
    margin-top: 22px;
  }
  .site-nav__inner {
    line-height: 1.75;
  }
}
