:root {
  color-scheme: light;
  --ui-bg: #f4f1ea;
  --panel: #fffdf8;
  --panel-2: #f8faf9;
  --line: #d9ded8;
  --muted: #6f7673;
  --text: #1d2523;
  --accent: #166d6b;
  --accent-2: #c85237;
  --accent-3: #315a9f;
  --shadow: 0 18px 55px rgba(27, 39, 35, 0.12);
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  background: var(--ui-bg);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}

button, select, textarea { font: inherit; }
button { cursor: pointer; }
svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.app-shell {
  min-height: 100vh;
  display: grid;
  grid-template-rows: 64px 1fr;
  grid-template-columns: 248px 1fr;
}

.topbar {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 0 20px;
  background: rgba(255, 253, 248, 0.94);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(14px);
  position: sticky;
  top: 0;
  z-index: 10;
}

.brand { display: flex; align-items: center; gap: 12px; min-width: 0; }
.brand-mark {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  background: var(--accent);
  color: white;
  border-radius: 8px;
  font-weight: 800;
  letter-spacing: 0;
}
.brand h1 { margin: 0; font-size: 18px; line-height: 1.1; letter-spacing: 0; }
.brand p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }

.topbar-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.topbar-divider { width: 1px; height: 20px; background: var(--line); margin: 0 2px; }
.nav-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  min-height: 36px;
  border: 1px solid var(--accent);
  border-radius: 8px;
  background: transparent;
  color: var(--accent);
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  text-decoration: none;
}
.nav-button:hover { background: var(--accent); color: #fff; }
.nav-button--highlight { background: var(--accent); color: #fff; }
.nav-button--highlight:hover { opacity: 0.85; }
.icon-button, .primary-button, .ghost-button, .text-button, .module-button {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  border-radius: 8px;
  min-height: 36px;
}
.icon-button {
  width: 38px;
  display: inline-grid;
  place-items: center;
}
.icon-button:hover, .ghost-button:hover, .module-button:hover { border-color: var(--accent); color: var(--accent); }
.file-button input { display: none; }
.primary-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
  font-weight: 700;
}
.primary-button:hover { background: #0f5f5d; }
.primary-button.is-success { background: #198754; border-color: #198754; }
.ghost-button { padding: 0 10px; background: transparent; color: var(--muted); }
.text-button {
  min-height: 0;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--accent);
}

.control-rail {
  grid-row: 2;
  padding: 16px;
  overflow: auto;
  border-right: 1px solid var(--line);
  background: rgba(255, 253, 248, 0.68);
}

.control-group {
  padding: 14px 0;
  border-bottom: 1px solid rgba(217, 222, 216, 0.8);
}
.control-group label, .control-group > span {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
select {
  width: 100%;
  height: 38px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 10px;
  background: #fff;
  color: var(--text);
}
.control-input {
  width: 100%;
  height: 36px;
  margin-top: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 10px;
  background: #fff;
  color: var(--text);
}
.control-input[hidden] { display: none; }
.control-hint {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}
.module-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.module-button {
  height: 34px;
  font-size: 12px;
  background: #fff;
}
.switch-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.switch-row > span { margin: 0; }
.switch {
  width: 42px;
  height: 24px;
  border: 0;
  border-radius: 999px;
  background: #c7ceca;
  padding: 3px;
}
.switch span {
  display: block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  transition: transform .18s ease;
}
.switch.is-on { background: var(--accent); }
.switch.is-on span { transform: translateX(18px); }

.metric-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.metric-list div {
  min-height: 50px;
  display: grid;
  place-items: center;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
}
.metric-list span { font-size: 18px; font-weight: 800; }
.metric-list small { color: var(--muted); font-size: 11px; }

.workspace {
  grid-row: 2;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(360px, 1fr) 260px;
  gap: 12px;
  padding: 12px;
  overflow: hidden;
}

.editor-pane, .preview-pane, .inspector {
  min-height: 0;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(27, 39, 35, 0.06);
  overflow: hidden;
}
.editor-pane, .preview-pane { display: flex; flex-direction: column; }
.pane-head {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 14px;
  border-bottom: 1px solid var(--line);
}
.pane-head strong { font-size: 13px; }
.pane-head span {
  margin-left: 8px;
  color: var(--muted);
  font-size: 12px;
}

#markdownInput {
  flex: 1;
  width: 100%;
  resize: none;
  border: 0;
  outline: 0;
  padding: 20px;
  background: #fbfcfb;
  color: #22302d;
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  font-size: 14px;
  line-height: 1.72;
}

.preview-scroller {
  flex: 1;
  overflow: auto;
  padding: 24px;
  background: #e9ede9;
}
.preview-scroller.mode-phone { display: flex; justify-content: center; }
.preview-scroller.mode-clean { background: #fff; padding: 0; }
.preview-scroller.mode-phone .wechat-article { width: 375px; max-width: 100%; min-height: 100%; }
.preview-scroller.mode-clean .wechat-article { box-shadow: none; border-radius: 0; min-height: 100%; }

.wechat-article {
  width: min(760px, 100%);
  min-height: calc(100vh - 160px);
  margin: 0 auto;
  padding: 34px 38px 56px;
  background: var(--article-bg, #fffdf8);
  border-radius: 8px;
  box-shadow: var(--shadow);
  overflow-wrap: break-word;
}
.wechat-article:empty::before {
  content: "左侧粘贴 Markdown，这里实时预览";
  min-height: 280px;
  display: grid;
  place-items: center;
  color: #9aa39f;
  border: 1px dashed #cfd6d2;
  border-radius: 8px;
}

.wechat-article h1, .wechat-article h2, .wechat-article h3, .wechat-article p,
.wechat-article ul, .wechat-article ol, .wechat-article blockquote, .wechat-article pre,
.wechat-article table, .wechat-article .content-module { margin-top: 0; }
.wechat-article h1 { font-size: 28px; line-height: 1.28; margin-bottom: 20px; }
.wechat-article h2 { font-size: 22px; line-height: 1.35; margin: 34px 0 16px; }
.wechat-article h3 { font-size: 18px; line-height: 1.45; margin: 28px 0 12px; }
.wechat-article h4 { font-size: 16px; margin: 24px 0 10px; }
.wechat-article h1, .wechat-article h2 { color: var(--article-accent); }
.wechat-article h3, .wechat-article h4 { color: var(--article-accent); }
.wechat-article p { margin-bottom: 16px; line-height: 1.82; }
.wechat-article a { color: var(--article-accent); text-decoration: none; border-bottom: 1px solid currentColor; }
.wechat-article strong { color: var(--article-accent); font-weight: 800; }
.wechat-article em { color: var(--article-muted); }
.wechat-article mark { color: inherit; background: var(--article-mark); padding: 0 3px; border-radius: 3px; }
.wechat-article ul, .wechat-article ol { padding-left: 1.4em; margin-bottom: 16px; }
.wechat-article li { margin: 7px 0; line-height: 1.75; }
.wechat-article blockquote, .content-module {
  margin: 22px 0;
  padding: 15px 18px;
  border-left: 4px solid var(--article-accent);
  background: var(--article-soft);
  border-radius: 6px;
}
.content-module-title { display: block; margin-bottom: 8px; font-weight: 800; color: var(--article-accent); }
.module-warning { border-left-color: #c85237; }
.module-action { border-left-color: #315a9f; }
.module-quote { border-left-color: #5f6f68; }
.wechat-article code {
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  font-size: 0.9em;
  background: var(--code-inline-bg);
  color: var(--code-inline-text);
  padding: 2px 5px;
  border-radius: 4px;
}
.wechat-article pre {
  margin: 22px 0;
  padding: 16px;
  overflow-x: auto;
  background: var(--code-bg);
  color: var(--code-text);
  border: 1px solid var(--code-border);
  border-radius: 8px;
}
.wechat-article pre code {
  display: block;
  padding: 0;
  background: transparent;
  color: inherit;
  font-size: 13px;
  line-height: 1.7;
  white-space: pre;
}
.code-lang { display: block; margin-bottom: 10px; color: var(--code-muted); font-size: 12px; }
.token-keyword { color: var(--token-keyword); font-weight: 700; }
.token-string { color: var(--token-string); }
.token-comment { color: var(--token-comment); font-style: italic; }
.token-number { color: var(--token-number); }
.wechat-article table { width: 100%; border-collapse: collapse; margin: 22px 0; font-size: 14px; }
.wechat-article th, .wechat-article td { border: 1px solid var(--article-border); padding: 10px 12px; text-align: left; }
.wechat-article th { background: var(--article-soft); color: var(--article-accent); }
.wechat-article hr { border: 0; border-top: 1px solid var(--article-border); margin: 34px auto; }
.wechat-article img { display: block; max-width: 100%; height: auto; margin: 22px auto 8px; border-radius: 6px; }
.image-caption { display: block; margin: 0 auto 20px; color: var(--article-muted); text-align: center; font-size: 13px; }
.task-box { display: inline-block; width: 14px; height: 14px; margin-right: 7px; border: 1px solid var(--article-accent); border-radius: 3px; vertical-align: -2px; }
.task-box.is-checked { background: var(--article-accent); box-shadow: inset 0 0 0 3px #fff; }
.footnotes { margin-top: 34px; padding-top: 18px; border-top: 1px solid var(--article-border); color: var(--article-muted); font-size: 13px; }

.wechat-article[data-theme="classic"] {
  --article-bg: #fffdf8;
  --article-accent: #166d6b;
  --article-muted: #68736f;
  --article-soft: #eef7f4;
  --article-border: #cdded8;
  --article-mark: #ffe8a8;
  color: #21312e;
  font-size: 16px;
}
.wechat-article[data-theme="editorial"] {
  --article-bg: #fffaf3;
  --article-accent: #9d3f2f;
  --article-muted: #706860;
  --article-soft: #fff1e8;
  --article-border: #ead1c6;
  --article-mark: #f8d7a0;
  color: #302723;
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 16px;
}
.wechat-article[data-theme="tech"] {
  --article-bg: #fbfdff;
  --article-accent: #315a9f;
  --article-muted: #667085;
  --article-soft: #eef4ff;
  --article-border: #c8d7f0;
  --article-mark: #d9f99d;
  color: #172033;
  font-size: 16px;
}
.wechat-article[data-theme="minimal"] {
  --article-bg: #ffffff;
  --article-accent: #202725;
  --article-muted: #777d7a;
  --article-soft: #f4f5f4;
  --article-border: #dedede;
  --article-mark: #e7f0ef;
  color: #202725;
  font-size: 16px;
}
.wechat-article[data-theme="warm"] {
  --article-bg: #fffaf0;
  --article-accent: #b85c38;
  --article-muted: #746b61;
  --article-soft: #fff5df;
  --article-border: #ead8b7;
  --article-mark: #cdebd7;
  color: #322a22;
  font-size: 16px;
}
.wechat-article[data-theme="minimal-orange"] {
  --article-bg: #fffefa; --article-accent: #c86442; --article-muted: #777069; --article-soft: #fff3eb; --article-border: #efd2c3; --article-mark: #ffe6a7;
  color: #262321; font-size: 16px;
}
.wechat-article[data-theme="minimal-red"] {
  --article-bg: #fffdfd; --article-accent: #b4232d; --article-muted: #74686a; --article-soft: #fff0f1; --article-border: #efc7cb; --article-mark: #ffe0e4;
  color: #2d2022; font-size: 16px;
}
.wechat-article[data-theme="minimal-navy"] {
  --article-bg: #fbfcff; --article-accent: #1f3a5f; --article-muted: #687282; --article-soft: #eef4fb; --article-border: #ccd8e8; --article-mark: #dceaff;
  color: #1c2736; font-size: 16px;
}
.wechat-article[data-theme="minimal-gray"] {
  --article-bg: #ffffff; --article-accent: #4b5563; --article-muted: #7b817d; --article-soft: #f5f5f2; --article-border: #deded8; --article-mark: #eceff1;
  color: #202423; font-size: 16px;
}
.wechat-article[data-theme="minimal-sky"] {
  --article-bg: #fbfeff; --article-accent: #1677a6; --article-muted: #677b83; --article-soft: #eaf8fd; --article-border: #c5e3ee; --article-mark: #d8f3ff;
  color: #17303b; font-size: 16px;
}
.wechat-article[data-theme="serif-ink"] {
  --article-bg: #fffdf7; --article-accent: #2d3a32; --article-muted: #68665d; --article-soft: #f3f0e6; --article-border: #d8d1bd; --article-mark: #efe1b7;
  color: #24241f; font-family: "Iowan Old Style", Georgia, "Songti SC", serif; font-size: 17px;
}
.wechat-article[data-theme="poetry"] {
  --article-bg: #fffffb; --article-accent: #6c584c; --article-muted: #8a8178; --article-soft: #f8f5ef; --article-border: #e4ded2; --article-mark: #f2e6c9;
  color: #36312c; font-family: "Songti SC", Georgia, serif; font-size: 17px;
}
.wechat-article[data-theme="business"] {
  --article-bg: #fbfcfd; --article-accent: #224a74; --article-muted: #647181; --article-soft: #edf3f8; --article-border: #cbd7e4; --article-mark: #dbeafe;
  color: #17212b; font-size: 16px;
}
.wechat-article[data-theme="product"] {
  --article-bg: #fbfffd; --article-accent: #007c72; --article-muted: #66736f; --article-soft: #e9f8f4; --article-border: #bdded6; --article-mark: #cdf6e4;
  color: #182724; font-size: 16px;
}
.wechat-article[data-theme="geek-black"] {
  --article-bg: #171a1f; --article-accent: #70e1c8; --article-muted: #a9b2bd; --article-soft: #222832; --article-border: #35404c; --article-mark: rgba(112, 225, 200, .22);
  color: #edf3f7; font-size: 16px;
}
.wechat-article[data-theme="code-green"] {
  --article-bg: #fbfffb; --article-accent: #15803d; --article-muted: #64736a; --article-soft: #ecfdf3; --article-border: #bbdfc7; --article-mark: #d9f99d;
  color: #13291c; font-size: 16px;
}
.wechat-article[data-theme="orange-blue"] {
  --article-bg: #fffefa; --article-accent: #d35f2f; --article-muted: #667085; --article-soft: #eef6ff; --article-border: #c9d9ea; --article-mark: #ffe4bf;
  color: #1f2a37; font-size: 16px;
}
.wechat-article[data-theme="rose"] {
  --article-bg: #fffbff; --article-accent: #8a4f8f; --article-muted: #756b78; --article-soft: #f8effa; --article-border: #e0c9e5; --article-mark: #f4d3ef;
  color: #2f2532; font-size: 16px;
}
.wechat-article[data-theme="fresh-green"] {
  --article-bg: #fbfff8; --article-accent: #3a8b55; --article-muted: #6d7768; --article-soft: #f0fae8; --article-border: #cee6be; --article-mark: #e5f7ba;
  color: #233021; font-size: 16px;
}
.wechat-article[data-theme="sunflower"] {
  --article-bg: #fffdf3; --article-accent: #a96500; --article-muted: #756f5f; --article-soft: #fff7d8; --article-border: #eadb9f; --article-mark: #ffe070;
  color: #2f2a1d; font-size: 16px;
}
.wechat-article[data-theme="wechat-green"] {
  --article-bg: #fbfffc; --article-accent: #07c160; --article-muted: #627168; --article-soft: #ecfff4; --article-border: #bdebd1; --article-mark: #ccf7dc;
  color: #16251d; font-size: 16px;
}
.wechat-article[data-theme="night"] {
  --article-bg: #101418; --article-accent: #f7c873; --article-muted: #aab3bc; --article-soft: #1b2229; --article-border: #303944; --article-mark: rgba(247, 200, 115, .22);
  color: #f3f0e8; font-size: 16px;
}

.wechat-article[data-theme="minimal"] h2,
.wechat-article[data-theme^="minimal-"] h2 {
  padding-bottom: 8px;
  border-bottom: 2px solid var(--article-accent);
}
.wechat-article[data-theme="editorial"] h1,
.wechat-article[data-theme="serif-ink"] h1,
.wechat-article[data-theme="poetry"] h1 {
  text-align: center;
  letter-spacing: 0;
}
.wechat-article[data-theme="business"] h2,
.wechat-article[data-theme="product"] h2,
.wechat-article[data-theme="tech"] h2 {
  padding-left: 12px;
  border-left: 5px solid var(--article-accent);
}
.wechat-article[data-theme="geek-black"] a,
.wechat-article[data-theme="night"] a { color: var(--article-accent); }
.wechat-article[data-theme="geek-black"] img,
.wechat-article[data-theme="night"] img { border: 1px solid var(--article-border); }

.wechat-article[data-code-theme="github"] {
  --code-bg: #f6f8fa; --code-text: #1f2328; --code-border: #d0d7de; --code-muted: #57606a;
  --code-inline-bg: #eef1f4; --code-inline-text: #a23b2a;
  --token-keyword: #cf222e; --token-string: #0a7a43; --token-comment: #6e7781; --token-number: #0550ae;
}
.wechat-article[data-code-theme="atom-light"] {
  --code-bg: #fafafa; --code-text: #383a42; --code-border: #d8dee8; --code-muted: #7f848e;
  --code-inline-bg: #eef2f7; --code-inline-text: #a626a4;
  --token-keyword: #a626a4; --token-string: #50a14f; --token-comment: #8c92a3; --token-number: #986801;
}
.wechat-article[data-code-theme="dark"] {
  --code-bg: #1f2933; --code-text: #eef2f6; --code-border: #3a4654; --code-muted: #a8b3c2;
  --code-inline-bg: #e9edf0; --code-inline-text: #315a9f;
  --token-keyword: #f59e9e; --token-string: #9fe7c1; --token-comment: #8fa1b3; --token-number: #9cc7ff;
}
.wechat-article[data-code-theme="atom-dark"] {
  --code-bg: #282c34; --code-text: #abb2bf; --code-border: #3e4451; --code-muted: #7f848e;
  --code-inline-bg: #edf0f6; --code-inline-text: #4078f2;
  --token-keyword: #c678dd; --token-string: #98c379; --token-comment: #7f848e; --token-number: #d19a66;
}
.wechat-article[data-code-theme="monokai"] {
  --code-bg: #272822; --code-text: #f8f8f2; --code-border: #49483e; --code-muted: #a59f85;
  --code-inline-bg: #f3f1e8; --code-inline-text: #ae4f7a;
  --token-keyword: #f92672; --token-string: #e6db74; --token-comment: #88846f; --token-number: #ae81ff;
}
.wechat-article[data-code-theme="mac"] {
  --code-bg: #2b2d31; --code-text: #f4f4f5; --code-border: #484b52; --code-muted: #d5d7dc;
  --code-inline-bg: #fff0e8; --code-inline-text: #c85237;
  --token-keyword: #ffb86c; --token-string: #b9f18d; --token-comment: #9ca3af; --token-number: #8be9fd;
}
.wechat-article[data-code-theme="xcode"] {
  --code-bg: #ffffff; --code-text: #1f1f24; --code-border: #d7d7de; --code-muted: #7c7c84;
  --code-inline-bg: #edf3ff; --code-inline-text: #315a9f;
  --token-keyword: #aa0d91; --token-string: #c41a16; --token-comment: #007400; --token-number: #1c00cf;
}
.wechat-article[data-code-theme="mono"] {
  --code-bg: #f2f2ef; --code-text: #242424; --code-border: #d8d8d2; --code-muted: #6b6b64;
  --code-inline-bg: #eeeeea; --code-inline-text: #242424;
  --token-keyword: #242424; --token-string: #4f5a55; --token-comment: #7a817d; --token-number: #242424;
}

.inspector {
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow: auto;
}
.inspector-section { padding: 14px; border-bottom: 1px solid var(--line); }
.section-title { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
.section-title strong { font-size: 13px; }
.section-title span { min-width: 0; color: var(--muted); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.outline, .history-list { display: grid; gap: 8px; }
.outline a, .history-item {
  display: block;
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  text-decoration: none;
  padding: 9px 10px;
  font-size: 12px;
}
.outline a:hover, .history-item:hover { border-color: var(--accent); }
.outline .level-2 { padding-left: 18px; }
.outline .level-3 { padding-left: 30px; }
.history-item { text-align: left; }
.history-item small { display: block; color: var(--muted); margin-top: 4px; }
.empty-note { color: var(--muted); font-size: 12px; }

.toast {
  position: fixed;
  left: 50%;
  bottom: 24px;
  transform: translate(-50%, 16px);
  padding: 10px 14px;
  background: #1d2523;
  color: #fff;
  border-radius: 8px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
  z-index: 30;
  font-size: 13px;
}
.toast.show { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 1180px) {
  .workspace { grid-template-columns: minmax(320px, 1fr) minmax(360px, 1fr); }
  .inspector { display: none; }
}

@media (max-width: 860px) {
  .app-shell { grid-template-columns: 1fr; grid-template-rows: auto auto 1fr; }
  .topbar { position: static; align-items: flex-start; padding: 12px; }
  .topbar-actions { width: 100%; }
  .control-rail {
    grid-row: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 14px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
    padding: 8px 12px;
  }
  .workspace {
    grid-row: 3;
    grid-template-columns: 1fr;
    overflow: visible;
  }
  .editor-pane, .preview-pane { min-height: 520px; }
  .preview-scroller { padding: 12px; }
  .wechat-article { padding: 26px 22px 42px; }
}

/* ======= 新增主题 ======= */

.wechat-article[data-theme="notion-clean"] {
  --article-bg: #ffffff;
  --article-accent: #37352f;
  --article-muted: #787774;
  --article-soft: rgba(55, 53, 47, 0.05);
  --article-border: rgba(55, 53, 47, 0.16);
  --article-mark: #fdecc8;
  color: #37352f;
  font-size: 16px;
  line-height: 1.5;
}
.wechat-article[data-theme="notion-clean"] a { color: #2eaadc; border-bottom: 1px solid rgba(46, 170, 220, 0.35); }
.wechat-article[data-theme="notion-clean"] h2 { padding-bottom: 8px; border-bottom: 1px solid rgba(55, 53, 47, 0.16); }

.wechat-article[data-theme="ghibli"] {
  --article-bg: #f7f9f4;
  --article-accent: #68a691;
  --article-muted: #5a6e79;
  --article-soft: rgba(143, 192, 169, 0.12);
  --article-border: #c5d8cf;
  --article-mark: #d9eee7;
  color: #3e5641;
  font-size: 16px;
}
.wechat-article[data-theme="ghibli"] h1 { color: #4d7ea8; }
.wechat-article[data-theme="ghibli"] h3,
.wechat-article[data-theme="ghibli"] h4 { color: #c17e61; }

.wechat-article[data-theme="parchment"] {
  --article-bg: #f8f4e8;
  --article-accent: #5f4934;
  --article-muted: #a89b7a;
  --article-soft: #f2eee2;
  --article-border: #e5dcc6;
  --article-mark: #efe5ca;
  color: #333333;
  font-size: 16px;
  font-family: "Noto Serif SC", "Songti SC", SimSun, Georgia, "Times New Roman", serif;
}

.wechat-article[data-theme="aurora-violet"] {
  --article-bg: #fcfbff;
  --article-accent: #6d28d9;
  --article-muted: #888;
  --article-soft: #f0ebff;
  --article-border: #e0d7ff;
  --article-mark: rgba(196, 168, 255, 0.3);
  color: #333333;
  font-size: 16px;
}

.wechat-article[data-theme="cyberpunk"] {
  --article-bg: #0d0e16;
  --article-accent: #00f2ff;
  --article-muted: #7a8a99;
  --article-soft: rgba(0, 242, 255, 0.07);
  --article-border: rgba(0, 242, 255, 0.35);
  --article-mark: rgba(253, 253, 74, 0.22);
  color: #e0e0e0;
  font-size: 16px;
}
.wechat-article[data-theme="cyberpunk"] h2 { color: #ff2e88; padding-bottom: 8px; border-bottom: 1px solid rgba(255, 46, 136, 0.4); }
.wechat-article[data-theme="cyberpunk"] a { color: #ff2e88; border-bottom: 1px solid rgba(255, 46, 136, 0.4); }
.wechat-article[data-theme="cyberpunk"] strong { color: #fdfd4a; }
.wechat-article[data-theme="cyberpunk"] img { border: 1px solid rgba(0, 242, 255, 0.5); }

.wechat-article[data-theme="pink-rose"] {
  --article-bg: #fff6f6;
  --article-accent: #e64b78;
  --article-muted: #888888;
  --article-soft: #fde8ed;
  --article-border: #ffdee1;
  --article-mark: #ffe0e8;
  color: #333333;
  font-size: 16px;
}
.wechat-article[data-theme="pink-rose"] a { color: #ff698c; border-bottom: 1px solid rgba(255, 105, 140, 0.4); }
