/* DawnIn 阅读体验 —— 前台正文版式
   作用域全部挂在 body[class*="dn-read-"] 上，只在单页加载 */

/* ============ 基础排版（四套共用） ============ */

body[class*="dn-read-"] .wp-posts-content,
body[class*="dn-read-"] .article-content {
    font-family: "Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: var(--dn-fs);
    line-height: var(--dn-lh);
    color: var(--dn-ink);
    letter-spacing: .012em;
    -webkit-font-smoothing: antialiased;
    word-break: break-word;
}

body[class*="dn-read-"] .wp-posts-content > *:first-child {
    margin-top: 0;
}

body[class*="dn-read-"] .wp-posts-content p {
    margin: 0 0 var(--dn-gap);
    text-align: justify;
    text-justify: inter-ideograph;
}

body[class*="dn-read-"] .wp-posts-content h2 {
    margin: 2.35em 0 .85em;
    padding: 0 0 0 12px;
    border-left: 3px solid var(--dn-accent);
    font-family: "Noto Serif SC", "Songti SC", serif;
    font-size: var(--dn-h2);
    font-weight: 600;
    line-height: 1.55;
    color: var(--dn-head);
    letter-spacing: .01em;
}

/* 主题给 h2 挂了一个 40x3 的金色横条伪元素，与本版式的左边线叠成一个钩子，关掉 */
body[class*="dn-read-"] .wp-posts-content h2::before,
body[class*="dn-read-"] .wp-posts-content h2::after {
    content: none !important;
    display: none !important;
}

body[class*="dn-read-"] .wp-posts-content h3 {
    /* 主题给 h3 塞了自己的 margin，优先级更高，这里必须 !important */
    margin: 2em 0 .7em !important;
    font-family: "Noto Serif SC", "Songti SC", serif;
    font-size: calc(var(--dn-h3) + 1px);
    font-weight: 600;
    line-height: 1.6;
    color: var(--dn-sub);
}

/* 小节里的小标题前面加一个金色菱形，跟 h2 的竖线区分开 */
body[class*="dn-read-"] .wp-posts-content .dn-sec h3::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    margin-right: .6em;
    vertical-align: .3em;
    background: var(--dn-accent);
    transform: rotate(45deg);
}

body[class*="dn-read-"] .wp-posts-content h4 {
    margin: 1.4em 0 .5em;
    font-size: var(--dn-fs);
    font-weight: 700;
    color: var(--dn-head);
}

body[class*="dn-read-"] .wp-posts-content b,
body[class*="dn-read-"] .wp-posts-content strong {
    color: var(--dn-strong);
    font-weight: 600;
}

body[class*="dn-read-"] .wp-posts-content em,
body[class*="dn-read-"] .wp-posts-content i {
    color: var(--dn-strong);
    font-style: normal;
}

body[class*="dn-read-"] .wp-posts-content a {
    color: var(--dn-accent);
    text-decoration: none;
    border-bottom: 1px solid var(--dn-line);
}

body[class*="dn-read-"] .wp-posts-content a:hover {
    color: var(--dn-strong);
}

body[class*="dn-read-"] .wp-posts-content .lead {
    margin: 0 0 1.7em;
    padding: 15px 18px;
    background: var(--dn-soft);
    border-left: 3px solid var(--dn-accent);
    border-radius: 0 6px 6px 0;
    font-size: calc(var(--dn-fs) + 0px);
    line-height: 1.9;
    color: var(--dn-lead);
}

body[class*="dn-read-"] .wp-posts-content .dn-sec {
    margin: 0 0 1.5em;
}

body[class*="dn-read-"] .wp-posts-content .dn-sec h3:first-child {
    /* 组内第一个小标题要跟上面的 h2 拉开，才不像 h2 的续行 */
    margin-top: 1.2em !important;
}

body[class*="dn-read-"] .wp-posts-content blockquote {
    margin: 1.9em 0;
    padding: 15px 18px;
    background: var(--dn-soft);
    border-left: 3px solid var(--dn-accent);
    border-radius: 0 6px 6px 0;
    color: var(--dn-quote);
    font-size: calc(var(--dn-fs) - 1px);
}

body[class*="dn-read-"] .wp-posts-content blockquote p {
    margin: 0 0 .5em;
}

body[class*="dn-read-"] .wp-posts-content blockquote p:last-child {
    margin-bottom: 0;
}

body[class*="dn-read-"] .wp-posts-content ul,
body[class*="dn-read-"] .wp-posts-content ol {
    margin: 0 0 var(--dn-gap);
    padding-left: 1.5em;
}

body[class*="dn-read-"] .wp-posts-content li {
    margin: 0 0 .45em;
}

body[class*="dn-read-"] .wp-posts-content li::marker {
    color: var(--dn-accent);
}

body[class*="dn-read-"] .wp-posts-content img {
    max-width: 100%;
    height: auto;
    border-radius: 6px;
    display: block;
    margin: 1.6em auto;
}

body[class*="dn-read-"] .wp-posts-content hr {
    margin: 2.4em auto;
    width: 40%;
    border: 0;
    border-top: 1px solid var(--dn-line);
}

body[class*="dn-read-"] .wp-posts-content table {
    width: 100%;
    margin: 1.6em 0;
    border-collapse: collapse;
    font-size: calc(var(--dn-fs) - 2px);
}

body[class*="dn-read-"] .wp-posts-content th,
body[class*="dn-read-"] .wp-posts-content td {
    padding: 9px 12px;
    border: 1px solid var(--dn-line);
    text-align: left;
}

body[class*="dn-read-"] .wp-posts-content th {
    background: var(--dn-soft);
    color: var(--dn-head);
    font-weight: 600;
}

body[class*="dn-read-"] .wp-posts-content code {
    padding: 1px 5px;
    border-radius: 3px;
    background: var(--dn-soft);
    font-size: .92em;
    color: var(--dn-strong);
}

body[class*="dn-read-"] .wp-posts-content pre {
    margin: 1.6em 0;
    padding: 14px 16px;
    border-radius: 6px;
    background: rgba(0, 0, 0, .28);
    overflow: auto;
    font-size: .9em;
}

/* ============ 分类 chip ============ */

.dn-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 14px;
}

.dn-chip {
    display: inline-flex;
    align-items: center;
    height: 25px;
    padding: 0 11px;
    border: 1px solid rgba(201, 169, 110, .42);
    border-radius: 4px;
    background: rgba(201, 169, 110, .07);
    color: #c9a96e;
    font-size: 12px;
    letter-spacing: .07em;
    line-height: 1;
    text-decoration: none;
    transition: background .18s, color .18s;
}

.dn-chip:hover {
    background: rgba(201, 169, 110, .16);
    color: #e0c088;
}

.dn-chip-tag {
    border-color: rgba(255, 255, 255, .14);
    background: rgba(255, 255, 255, .04);
    color: #a9b3bf;
}

.dn-chip-tag:hover {
    background: rgba(255, 255, 255, .08);
    color: #d5dde6;
}

/* ============ 一、夜金（默认） ============ */

body.dn-read-yejin {
    --dn-fs: 17px;
    --dn-lh: 1.95;
    --dn-gap: 1.15em;
    --dn-h2: 22px;
    --dn-h3: 18px;
    --dn-ink: #dfe7f0;
    --dn-head: #f2e8d5;
    --dn-sub: #dcc9a6;
    --dn-strong: #e0c088;
    --dn-accent: #c9a96e;
    --dn-soft: rgba(201, 169, 110, .07);
    --dn-line: rgba(201, 169, 110, .18);
    --dn-quote: #c6d0db;
    --dn-lead: #d3dbe5;
}

/* ============ 二、素读 ============ */

body.dn-read-sudu {
    --dn-fs: 17px;
    --dn-lh: 2.05;
    --dn-gap: 1.35em;
    --dn-h2: 21px;
    --dn-h3: 17px;
    --dn-ink: #e3e9f0;
    --dn-head: #ffffff;
    --dn-sub: #eef2f6;
    --dn-strong: #ffffff;
    --dn-accent: #9aa4b0;
    --dn-soft: rgba(255, 255, 255, .035);
    --dn-line: rgba(255, 255, 255, .12);
    --dn-quote: #b9c3ce;
    --dn-lead: #ced8e2;
}

body.dn-read-sudu .wp-posts-content h2 {
    border-left: 0;
    padding-left: 0;
    letter-spacing: .02em;
}

body.dn-read-sudu .wp-posts-content .lead {
    border-left: 0;
    border-top: 1px solid var(--dn-line);
    border-bottom: 1px solid var(--dn-line);
    border-radius: 0;
    background: none;
    padding: 14px 0;
}

body.dn-read-sudu .wp-posts-content blockquote {
    background: none;
    border-left: 2px solid var(--dn-line);
}

/* ============ 三、书页 ============ */

body.dn-read-shuye {
    --dn-fs: 17.5px;
    --dn-lh: 2.05;
    --dn-gap: 1.05em;
    --dn-h2: 23px;
    --dn-h3: 18px;
    --dn-ink: #e6dfd2;
    --dn-head: #f4ecdc;
    --dn-sub: #ddcaa8;
    --dn-strong: #d9b87e;
    --dn-accent: #a8894f;
    --dn-soft: rgba(201, 169, 110, .05);
    --dn-line: rgba(201, 169, 110, .16);
    --dn-quote: #cbc2b2;
    --dn-lead: #d8d0c2;
}

body.dn-read-shuye .wp-posts-content {
    font-family: "Noto Serif SC", "Songti SC", "SimSun", serif;
}

body.dn-read-shuye .wp-posts-content p {
    text-indent: 2em;
}

body.dn-read-shuye .wp-posts-content h2 {
    border-left: 0;
    padding-left: 0;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--dn-line);
}

body.dn-read-shuye .wp-posts-content .lead,
body.dn-read-shuye .wp-posts-content .dn-sec p.dn-cap,
body.dn-read-shuye .wp-posts-content blockquote p {
    text-indent: 0;
}

/* 小节首字下沉：只认清洗器打过 dn-cap 的段落（段首是裸文本） */
body.dn-read-shuye .wp-posts-content h2 + p.dn-cap::first-letter,
body.dn-read-shuye .wp-posts-content h3 + p.dn-cap::first-letter {
    float: left;
    margin: .06em .12em 0 0;
    font-size: 3em;
    line-height: 1;
    color: var(--dn-accent);
    font-weight: 600;
}

/* 段首若是加粗词组（如「白羊：…」），不做下沉，改成描金的行首引题 */
body.dn-read-shuye .wp-posts-content h2 + p > b:first-child,
body.dn-read-shuye .wp-posts-content h2 + p > strong:first-child,
body.dn-read-shuye .wp-posts-content h3 + p > b:first-child,
body.dn-read-shuye .wp-posts-content h3 + p > strong:first-child,
body.dn-read-shuye .wp-posts-content .dn-sec p > b:first-child,
body.dn-read-shuye .wp-posts-content .dn-sec p > strong:first-child {
    color: var(--dn-accent);
    font-weight: 600;
    letter-spacing: .01em;
}

/* 只有带下沉字的段落才顶格，其余照常缩进两字 */
body.dn-read-shuye .wp-posts-content h2 + p.dn-cap,
body.dn-read-shuye .wp-posts-content h3 + p.dn-cap {
    text-indent: 0;
}

body.dn-read-shuye .wp-posts-content blockquote {
    background: none;
    border-left: 0;
    border-top: 1px solid var(--dn-line);
    border-bottom: 1px solid var(--dn-line);
    border-radius: 0;
    text-align: center;
    font-style: italic;
    padding: 16px 10px;
}

/* ============ 四、卡片 ============ */

body.dn-read-kapian {
    --dn-fs: 16.5px;
    --dn-lh: 1.9;
    --dn-gap: 1em;
    --dn-h2: 21px;
    --dn-h3: 16px;
    --dn-ink: #dde5ef;
    --dn-head: #eaf1f9;
    --dn-sub: #9fc0e0;
    --dn-strong: #a8cbe8;
    --dn-accent: #8fb3d9;
    --dn-soft: rgba(143, 179, 217, .07);
    --dn-line: rgba(255, 255, 255, .10);
    --dn-quote: #c3cdd9;
    --dn-lead: #d0dae6;
    --dn-card: rgba(255, 255, 255, .028);
}

body.dn-read-kapian .wp-posts-content .dn-sec {
    padding: 18px 18px 4px;
    margin: 0 0 16px;
    background: var(--dn-card);
    border: 1px solid var(--dn-line);
    border-radius: 10px;
}

body.dn-read-kapian .wp-posts-content .dn-sec h3 {
    margin: .1em 0 .8em;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--dn-line);
    color: var(--dn-sub);
    font-size: 16px;
    letter-spacing: .04em;
}

body.dn-read-kapian .wp-posts-content h2 {
    border-left-width: 2px;
}

body.dn-read-kapian .wp-posts-content blockquote {
    border-radius: 8px;
    background: var(--dn-card);
    border-left-color: var(--dn-accent);
}

/* ============ 窄屏 ============ */

@media (max-width: 640px) {
    body[class*="dn-read-"] .wp-posts-content,
    body[class*="dn-read-"] .article-content {
        font-size: calc(var(--dn-fs) - 0.5px);
        line-height: var(--dn-lh);
    }

    body[class*="dn-read-"] .wp-posts-content h2 {
        font-size: calc(var(--dn-h2) - 2px);
        margin: 2em 0 .7em;
    }

    body[class*="dn-read-"] .wp-posts-content .lead {
        padding: 12px 14px;
    }

    body.dn-read-shuye .wp-posts-content p {
        text-indent: 0;
    }
}
