/**
 * markdown 输出样式
 */

.markdown {
    overflow-wrap: break-word;
    text-align: justify
}

/* 正文段落：舒适行高 + 段间距，避免密集成块 */
.markdown p {
    line-height: 1.95;
    margin: 0 0 1.35em;
    letter-spacing: .2px;
}

.markdown h1 {
    font-size: 1.7em;
    margin: 1.6em 0 0.8em;
    font-weight: 800;
    padding: 0 0 0.4em 14px;
    border-bottom: 1px solid var(--borderColor);
    border-left: 4px solid var(--buttonBgColor);
    line-height: 1.35;
}

.markdown h2 {
    font-size: 1.5em;
    margin: 1.9em 0 0.85em;
    font-weight: 800;
    padding: 0 0 0.4em 14px;
    border-bottom: 1px solid var(--borderColor);
    border-left: 4px solid var(--buttonBgColor);
    letter-spacing: .3px;
    line-height: 1.4;
}

.markdown h3 {
    font-size: 1.28em;
    margin: 1.5em 0 0.7em;
    padding-left: 12px;
    border-left: 4px solid var(--buttonBgColor);
    font-weight: 700;
    line-height: 1.45;
}

.markdown h4 {
    font-size: 1.12em;
    margin: 1.3em 0 0.6em;
    font-weight: 700;
    line-height: 1.45;
}

.markdown h5 {
    font-size: 1.02em;
    margin: 1.2em 0 0.6em;
    font-weight: 700;
    line-height: 1.45;
}

.markdown h6 {
    font-size: 1em;
    color: var(--lightColor);
    margin: 1.1em 0 0.6em;
    font-weight: 700;
    line-height: 1.45;
}

.markdown strong {
    font-weight: 700;
    color: var(--fontColor);
    background: linear-gradient(transparent 62%, rgba(255, 210, 63, .5) 62%);
    padding: 0 1px;
    border-radius: 2px;
}

.markdown del {
    text-decoration: line-through
}

.markdown a {
    text-decoration: underline;
}

.markdown blockquote {
    color: var(--fontColor);
    background: var(--bodyBground, #f7f8fa);
    border-left: 4px solid var(--buttonBgColor);
    padding: 14px 18px;
    margin: 1.5em 0;
    border-radius: 0 10px 10px 0;
    font-size: 0.95em;
    line-height: 1.85;
}

.markdown blockquote p:last-child {
    margin-bottom: 0;
}

.markdown ul {
    padding-left: 2em;
    margin-bottom: 16px
}

.markdown ol {
    padding-left: 2em;
    margin-bottom: 16px
}

.markdown li {
    font-size: 1em;
    line-height: 1.9;
}

.markdown hr {
    height: 1px;
    border: none;
    border-top: 1px solid #ddd;
    background: none
}

/* ---------- 代码块 / 行内代码 ---------- */
.markdown code,
.markdown pre,
.markdown pre code {
    font-family: "SFMono-Regular", "JetBrains Mono", "Fira Code", "Cascadia Code", Consolas, Menlo, Monaco, "Courier New", "Microsoft YaHei", monospace;
}

/* 行内代码 */
.markdown code:not(pre > code) {
    padding: 2px 6px;
    margin: 0 2px;
    border-radius: 4px;
    font-size: 13.5px;
    color: #c7254e;
    background: #f5eeef;
    border: 1px solid #ecdfe1;
    word-break: break-word;
}

/* 代码块容器 */
.markdown pre {
    position: relative;
    margin: 1.2em 0;
    padding: 16px 18px;
    border-radius: 8px;
    background: #f6f8fa;
    border: 1px solid #e3e6ea;
    line-height: 1.7;
    color: #24292f;
    overflow-x: auto;
    tab-size: 4;
    -webkit-overflow-scrolling: touch;
}

.markdown pre code {
    display: block;
    padding: 0;
    margin: 0;
    background: transparent;
    border: 0;
    color: inherit;
    font-size: 13.5px;
    line-height: inherit;
    white-space: pre;
    word-break: normal;
    overflow-wrap: normal;
}

/* 让 highlight.js 只负责语法着色，背景/边框/内边距交由 .markdown pre 统一管理 */
.markdown pre code.hljs {
    background: transparent;
    padding: 0;
}

/* 暗色模式代码块 */
[data-theme="dark"] .markdown pre {
    background: #1b2129;
    border-color: rgba(255, 255, 255, 0.12);
    color: #c9d1d9;
}

[data-theme="dark"] .markdown code:not(pre > code) {
    color: #ff7b72;
    background: rgba(255, 123, 114, 0.12);
    border-color: rgba(255, 123, 114, 0.22);
}

.markdown table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow: auto;
    word-break: keep-all;
    border-collapse: collapse;
    margin-bottom: 16px;
    table-layout: auto;
}

.markdown thead tr {
    background-color: var(--bodyBground)
}

.markdown td {
    padding: 6px 13px;
    border: 1px solid var(--borderColor)
}

.markdown th {
    padding: 6px 13px;
    border: 1px solid var(--borderColor)
}

.markdown table tr:nth-child(even) {
    background: var(--bodyBground)
}

/* 行内代码与 .markdown pre 已在上方「代码块 / 行内代码」段落统一定义 */

.markdown img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 1.8em auto;
    box-sizing: border-box;
    border: 0;
    border-radius: 10px;
    box-shadow: 0 4px 18px rgba(15, 23, 42, .08);
  }

.markdown hr {
    margin: 7px 0 7px 0
}

/* 深色模式：弱强调荧光笔与引用块微调 */
[data-theme="dark"] .markdown strong {
    background: linear-gradient(transparent 62%, rgba(255, 210, 63, .28) 62%);
}

[data-theme="dark"] .markdown blockquote {
    background: rgba(255, 255, 255, .04);
}
