/* ============================================================
   小橙资源站 · 文章正文通用样式（白天/夜间双模式自适应）
   原文来自 xc.sosop.cn，适配 AeroCorePro：
     - 容器：.xc-a 原样保留
     - 没有 .xc-a 包裹的文章，用 .single-article__content 承载同一套规则
     - 深色：body.dark-theme → :is([data-theme="dark"], body.dark-theme)
   注意：数值全部保持原文，不做任何改动
   ============================================================ */

/* ---------- 1. 变量（浅色）---------- */
.xc-a,
.single-article__content {
    --xc-text: #26313f;
    --xc-head: #1b2230;
    --xc-h3: #3d4859;
    --xc-accent: #e06711;
    --xc-muted: #7a8798;
    --xc-line: #e6ecf3;
    --xc-strong: #1b2230;
    --xc-marker: #9aa5b4;
    --xc-box-bg: #f7f8fa;
    --xc-box-line: #e6eaf0;
    --xc-box-strong: #1b2230;
    --xc-quote-bg: #fafafa;
    --xc-quote-line: #d8dee8;
    --xc-quote-fg: #5b6472;
    --xc-warn-bg: #fdf6f5;
    --xc-warn-line: #f2ddd9;
    --xc-th-bg: #f5f7fa;
    --xc-th-fg: #1b2230;
    --xc-code-bg: #fff;
    --xc-dl-bg: #fafbfc;
    --xc-dl-line: #e4e9f0;
    --xc-dl-head: #1b2230;
    --xc-dl-fg: #4a5567;
    --xc-cta-line: transparent;
    font-size: 16px;
    line-height: 1.85;
    color: var(--xc-text);
}

/* ---------- 2. 变量（深色）---------- */
:is(body.dark-theme, [data-theme="dark"]) .xc-a,
:is(body.dark-theme, [data-theme="dark"]) .single-article__content {
    --xc-text: #ced6e3;
    --xc-head: #fff;
    --xc-h3: #e2e8f2;
    --xc-accent: #ff9f45;
    --xc-muted: #94a1b5;
    --xc-line: rgba(255, 255, 255, .13);
    --xc-strong: #fff;
    --xc-marker: #7c8798;
    --xc-box-bg: rgba(255, 255, 255, .05);
    --xc-box-line: rgba(255, 255, 255, .11);
    --xc-box-strong: #fff;
    --xc-quote-bg: rgba(255, 255, 255, .045);
    --xc-quote-line: rgba(255, 255, 255, .18);
    --xc-quote-fg: #aeb9cb;
    --xc-warn-bg: rgba(255, 92, 80, .11);
    --xc-warn-line: rgba(255, 120, 110, .28);
    --xc-th-bg: rgba(255, 255, 255, .06);
    --xc-th-fg: #fff;
    --xc-code-bg: rgba(255, 255, 255, .08);
    --xc-dl-bg: rgba(255, 255, 255, .045);
    --xc-dl-line: rgba(255, 255, 255, .12);
    --xc-dl-head: #fff;
    --xc-dl-fg: #b8c2d4;
    --xc-cta-line: rgba(255, 255, 255, .10);
}

/* ---------- 3. 标题 ---------- */
.xc-a h2,
.single-article__content h2 {
    font-size: 21px;
    line-height: 1.5;
    margin: 46px 0 16px;
    padding: 0 0 10px 13px;
    color: var(--xc-head) !important;
    border-left: 4px solid var(--xc-accent);
    border-bottom: 1px solid var(--xc-line);
}

.xc-a h3,
.single-article__content h3 {
    font-size: 17px;
    line-height: 1.6;
    margin: 28px 0 10px;
    padding: 0 0 0 14px;
    position: relative;
    color: var(--xc-h3) !important;
}

.xc-a h3::before,
.single-article__content h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 6px;
    height: 6px;
    border-radius: 2px;
    background: var(--xc-accent);
}

/* ---------- 4. 正文 ---------- */
.xc-a p,
.single-article__content p {
    margin: 16px 0;
    line-height: 1.9;
}

.xc-a ul,
.xc-a ol,
.single-article__content ul,
.single-article__content ol {
    padding-left: 22px;
    margin: 14px 0;
}

.xc-a li,
.single-article__content li {
    margin: 9px 0;
    line-height: 1.85;
}

.xc-a li::marker,
.single-article__content li::marker {
    color: var(--xc-accent);
    font-weight: 700;
}

.xc-a b,
.xc-a strong,
.single-article__content b,
.single-article__content strong {
    color: var(--xc-strong) !important;
    font-weight: 700;
}

.xc-a code,
.single-article__content code {
    font-size: 13.5px;
    padding: 1px 6px;
    border-radius: 4px;
    background: var(--xc-code-bg);
    border: 1px solid var(--xc-line);
    word-break: break-all;
}

.xc-a .k,
.single-article__content .k {
    color: var(--xc-accent);
    font-weight: 700;
}

.xc-a a,
.single-article__content a {
    color: var(--xc-accent);
    text-decoration: none;
    border-bottom: 1px solid rgba(224, 103, 17, .35);
}

.xc-a a:hover,
.single-article__content a:hover {
    border-bottom-color: var(--xc-accent);
}

.xc-a img,
.single-article__content img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    margin: 22px auto;
    border: 1px solid var(--xc-line);
    box-shadow: 0 8px 26px rgba(16, 24, 40, .08);
}

/* ---------- 5. 组件：box / note / dl ---------- */
.xc-a .box,
.single-article__content .box {
    background: var(--xc-box-bg);
    border: 1px solid var(--xc-box-line);
    border-radius: 12px;
    padding: 16px 20px;
    margin: 20px 0;
    color: var(--xc-text);
}

.xc-a .note,
.single-article__content .note {
    background: var(--xc-quote-bg);
    border-left: 3px solid var(--xc-accent);
    border-radius: 8px;
    padding: 14px 18px;
    margin: 20px 0;
    color: var(--xc-quote-fg);
}

.xc-a .dl,
.single-article__content .dl {
    margin: 24px 0;
    padding: 24px 20px;
    border-radius: 14px;
    background: var(--xc-dl-bg);
    border: 1px solid var(--xc-dl-line);
    text-align: center;
}

.xc-a .dl .hd,
.single-article__content .dl .hd {
    font-size: 16px;
    font-weight: 700;
    color: var(--xc-dl-head);
    margin-bottom: 12px;
}

.xc-a .dl .row,
.single-article__content .dl .row {
    margin: 8px 0;
    font-size: 14px;
    color: var(--xc-dl-fg);
    word-break: break-all;
    line-height: 1.75;
}

.xc-a .dl .code,
.single-article__content .dl .code {
    display: inline-block;
    padding: 2px 12px;
    border-radius: 6px;
    background: var(--xc-code-bg);
    border: 1px solid var(--xc-line);
    color: var(--xc-accent);
    font-weight: 700;
    letter-spacing: 3px;
}

.xc-a .dl .btn,
.single-article__content .dl .btn {
    display: inline-block;
    margin-top: 14px;
    padding: 11px 26px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ff8a3d, #e06711);
    color: #fff !important;
    text-decoration: none;
    font-weight: 700;
    font-size: 16px;
    box-shadow: 0 5px 16px rgba(224, 103, 17, .32);
}

.xc-a .dl .btn-off,
.single-article__content .dl .btn-off {
    display: inline-block;
    margin-top: 14px;
    padding: 13px 26px;
    border-radius: 999px;
    background: #fff1e6 !important;
    border: 2px solid #e06711 !important;
    color: #a53f00 !important;
    text-decoration: none !important;
    font-weight: 700;
    font-size: 16px;
    box-shadow: 0 4px 14px rgba(224, 103, 17, .18);
}

/* ---------- 6. 组件库：steps / stats / compare / faq / tag / cta ---------- */
.xc-a .steps,
.single-article__content .steps {
    margin: 18px 0;
    padding: 0;
    list-style: none;
    counter-reset: st;
}

.xc-a .steps > li,
.single-article__content .steps > li {
    position: relative;
    padding: 0 0 0 40px;
    margin: 16px 0;
    line-height: 1.85;
    list-style: none;
}

.xc-a .steps > li::before,
.single-article__content .steps > li::before {
    counter-increment: st;
    content: counter(st);
    position: absolute;
    left: 0;
    top: 1px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--xc-accent);
    color: #fff !important;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    line-height: 26px;
}

.xc-a .stats,
.single-article__content .stats {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 20px 0;
}

.xc-a .stats > div,
.single-article__content .stats > div {
    flex: 1 1 110px;
    background: var(--xc-box-bg);
    border: 1px solid var(--xc-box-line);
    border-radius: 12px;
    padding: 14px 10px;
    text-align: center;
}

.xc-a .stats b,
.single-article__content .stats b {
    display: block;
    font-size: 24px;
    line-height: 1.25;
    color: var(--xc-accent) !important;
}

.xc-a .stats span,
.single-article__content .stats span {
    display: block;
    margin-top: 4px;
    font-size: 13px;
    color: var(--xc-muted) !important;
}

.xc-a .compare,
.single-article__content .compare {
    display: flex;
    gap: 12px;
    margin: 20px 0;
}

.xc-a .compare > div,
.single-article__content .compare > div {
    flex: 1;
    border: 1px solid var(--xc-box-line);
    border-radius: 12px;
    padding: 14px 16px;
    background: var(--xc-box-bg);
}

.xc-a .compare h4,
.single-article__content .compare h4 {
    margin: 0 0 8px;
    font-size: 15px;
    color: var(--xc-head) !important;
}

.xc-a .compare p,
.single-article__content .compare p {
    margin: 6px 0;
    font-size: 14px;
}

.xc-a .faq,
.single-article__content .faq {
    margin: 8px 0;
}

.xc-a .faq .q,
.single-article__content .faq .q {
    position: relative;
    margin: 20px 0 6px;
    padding-left: 24px;
    font-weight: 700;
    color: var(--xc-head) !important;
    line-height: 1.7;
}

.xc-a .faq .q::before,
.single-article__content .faq .q::before {
    content: "Q";
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 800;
    color: var(--xc-accent);
}

.xc-a .faq .a,
.single-article__content .faq .a {
    position: relative;
    margin: 0;
    padding-left: 24px;
    color: var(--xc-text) !important;
    line-height: 1.85;
}

.xc-a .faq .a::before,
.single-article__content .faq .a::before {
    content: "A";
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 800;
    color: var(--xc-muted);
}

.xc-a .tag,
.single-article__content .tag {
    display: inline-block;
    margin: 0 6px 6px 0;
    padding: 3px 10px;
    border-radius: 999px;
    background: var(--xc-box-bg);
    border: 1px solid var(--xc-box-line);
    font-size: 13px;
    color: var(--xc-text) !important;
}

.xc-a .cta,
.single-article__content .cta {
    margin: 32px 0 8px;
    padding: 20px 22px;
    border-radius: 14px;
    background: linear-gradient(135deg, #1c2a44, #3a2a46);
    border: 1px solid var(--xc-cta-line);
}

.xc-a .cta p,
.single-article__content .cta p {
    color: #fff !important;
    margin: 6px 0;
}

.xc-a .cta b,
.single-article__content .cta b {
    color: #ffb45c !important;
}

/* ---------- 7. 设备切换 ---------- */
.xc-a .pc-only,
.single-article__content .pc-only {
    display: inline-block;
}

.xc-a .mb-only,
.single-article__content .mb-only {
    display: none !important;
}

/* ---------- 8. 正文色强制 ---------- */
.xc-a,
.xc-a p,
.xc-a li,
.xc-a td,
.single-article__content,
.single-article__content p,
.single-article__content li,
.single-article__content td {
    color: var(--xc-text) !important;
}

/* ---------- 9. 橙色警示框（固定浅底深字）---------- */
.xc-a .warnbox,
.single-article__content .warnbox {
    background: #fff7ef !important;
    border: 2px solid #e06711 !important;
    border-radius: 10px !important;
    padding: 14px 18px !important;
    margin: 16px 0 !important;
}

.xc-a .warnbox p,
.xc-a .warnbox p *,
.xc-a .warnbox b,
.single-article__content .warnbox p,
.single-article__content .warnbox p *,
.single-article__content .warnbox b {
    color: #4a2c0f !important;
}

.xc-a .warnbox .t,
.xc-a .warnbox .t b,
.single-article__content .warnbox .t,
.single-article__content .warnbox .t b {
    color: #b34700 !important;
}

.xc-a .warnbox a,
.xc-a .warnbox a b,
.single-article__content .warnbox a,
.single-article__content .warnbox a b {
    color: #c2410c !important;
    text-decoration: underline !important;
}

/* ---------- 10. 表格（原文只有移动端，补桌面端）---------- */
.xc-a table,
.single-article__content table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--xc-line);
    border-radius: 12px;
    overflow: hidden;
    font-size: 14.5px;
    margin: 20px 0;
    background: var(--xc-code-bg);
}

.xc-a th,
.single-article__content th {
    background: var(--xc-th-bg);
    color: var(--xc-th-fg) !important;
    font-weight: 700;
    padding: 11px 14px;
    text-align: left;
    border-bottom: 1px solid var(--xc-line);
}

.xc-a td,
.single-article__content td {
    padding: 11px 14px;
    color: var(--xc-text) !important;
    border-bottom: 1px solid var(--xc-line);
    line-height: 1.7;
    vertical-align: top;
}

.xc-a tr:last-child td,
.single-article__content tr:last-child td {
    border-bottom: none;
}

/* ---------- 11. 移动端 ---------- */
@media (max-width: 600px) {
    .xc-a,
    .single-article__content {
        font-size: 16.5px;
    }

    .xc-a .pc-only,
    .single-article__content .pc-only {
        display: none !important;
    }

    .xc-a .mb-only,
    .single-article__content .mb-only {
        display: inline-block !important;
    }

    .xc-a h2,
    .single-article__content h2 {
        font-size: 20px;
        margin: 36px 0 12px;
    }

    .xc-a h3,
    .single-article__content h3 {
        font-size: 16.5px;
        margin: 24px 0 8px;
    }

    .xc-a p,
    .single-article__content p {
        margin: 15px 0;
    }

    .xc-a .dl,
    .single-article__content .dl {
        padding: 20px 14px;
    }

    .xc-a table,
    .single-article__content table {
        font-size: 12.5px;
    }

    .xc-a th,
    .xc-a td,
    .single-article__content th,
    .single-article__content td {
        padding: 7px 8px;
    }
}

/* ============================================================
   12. AeroCorePro 主题干扰修正（只改主题叠加的部分，不动原文数值）
   ============================================================ */

/* 主题的 .single-article h3 带 padding-bottom:10px，原文是 0 */
.single-article .single-article__content h3,
.single-article h3 {
    padding-bottom: 0 !important;
}

/* 正文限宽到 834px，与源站 .article-content 一致，避免图片被放大 */
.single-article .single-article__content,
.single-article__content {
    max-width: 834px;
    margin-left: auto;
    margin-right: auto;
}



/* ============================================================
   补充组件：xc-tip / xc-warn / xc-guide / xc-code / xc-details
             xc-related / xc-list / xc-meta / xc-tool-tag 等
   这些 class 不在 .xc-a 通用样式原文里，但文章实际用到
   取自 xc.sosop.cn/301 的完整版本
   ============================================================ */

.single-article__content .xc-guide {
    background:#f8fafc!important;border:1px solid #e3eaf5!important;border-left:4px solid #e06711!important;border-radius:16px;padding:22px 26px;margin:0 0 20px;
}
.single-article__content .xc-guide-warm {
    background:#fff8f1!important;border-color:#f7e3cd!important;border-left-color:#e06711!important;
}
.single-article__content .xc-guide-blue {
    background:#f4f9ff!important;border-color:#d9e8fb!important;border-left-color:#3b82c4!important;
}
.single-article__content .xc-guide h4 {
    margin:0 0 10px;font-size:16.5px;color:#10305e!important;font-weight:800;
}
.single-article__content .xc-guide h4:before {
    content:"";display:inline-block;width:4px;height:15px;border-radius:2px;background:#e06711;margin-right:9px;vertical-align:-2px;
}
.single-article__content .xc-guide p {
    margin:0 0 6px;font-size:14.8px;line-height:1.9;color:#3b4457!important;
}
.single-article__content .xc-list {
    margin:0 0 0 20px;
}
.single-article__content .xc-list li {
    margin:7px 0;font-size:14.5px;line-height:1.8;color:#3b4457!important;
}
.single-article__content .xc-dim {
    color:#7a8798!important;font-size:13px;
}
.single-article__content .xc-meta {
    font-size:12.5px;color:#7a8798!important;letter-spacing:.3px;margin:-6px 0 24px;padding-bottom:14px;border-bottom:1px dashed #e6ebf3;
}
.single-article__content details.xc-details {
    background:#f7f9fc!important;border:1px solid #e1e9f5!important;border-radius:14px;margin:20px 0;overflow:hidden;
}
.single-article__content details.xc-details>summary {
    cursor:pointer;padding:14px 20px;font-weight:700;font-size:15px;color:#1b2230!important;background:#f5f7fa!important;list-style:none;
}
.single-article__content details.xc-details>summary::-webkit-details-marker {
    display:none;
}
.single-article__content details.xc-details>summary:before {
    content:"\25B8";color:#e06711;font-weight:900;margin-right:9px;display:inline-block;transition:transform .2s;
}
.single-article__content details.xc-details[open]>summary:before {
    transform:rotate(90deg);
}
.single-article__content details.xc-details .xc-prompt {
    padding:18px 20px;max-height:560px;overflow:auto;font-size:13.5px;line-height:2;color:#3b4457!important;white-space:pre-wrap;word-break:break-word;background:#fff!important;
}
.single-article__content details.xc-details .xc-prompt code {
    background:#eef2f8!important;padding:1px 6px;border-radius:4px;font-size:12.5px;color:#c2410c!important;
}
.single-article__content .xc-jump {
    display:inline-block;margin-top:4px;font-weight:700;
}
.single-article__content .xc-shot-run img {
    border-radius:8px;box-shadow:none;
}
:is([data-theme="dark"],
body.dark-theme) .single-article__content .xc-guide {
    background:#151d2c!important;border-color:#26314a!important;border-left-color:#e06711!important;
}
:is([data-theme="dark"],
body.dark-theme) .single-article__content .xc-guide-warm {
    background:#1f1a14!important;border-color:#3d3021!important;border-left-color:#e06711!important;
}
:is([data-theme="dark"],
body.dark-theme) .single-article__content .xc-guide-blue {
    background:#141d29!important;border-color:#26314a!important;border-left-color:#3b82c4!important;
}
:is([data-theme="dark"],
body.dark-theme) .single-article__content .xc-guide h4 {
    color:#eaf0fb!important;
}
:is([data-theme="dark"],
body.dark-theme) .single-article__content .xc-guide p {
    color:#c4cddd!important;
}
:is([data-theme="dark"],
body.dark-theme) .single-article__content .xc-list li {
    color:#c4cddd!important;
}
:is([data-theme="dark"],
body.dark-theme) .single-article__content .xc-dim {
    color:#94a1b5!important;
}
:is([data-theme="dark"],
body.dark-theme) .single-article__content .xc-meta {
    color:#94a1b5!important;border-bottom-color:#2a3446!important;
}
:is([data-theme="dark"],
body.dark-theme) .single-article__content details.xc-details {
    background:#151d2c!important;border-color:#26314a!important;
}
:is([data-theme="dark"],
body.dark-theme) .single-article__content details.xc-details>summary {
    color:#eaf0fb!important;background:#1d2636!important;
}
:is([data-theme="dark"],
body.dark-theme) .single-article__content details.xc-details .xc-prompt {
    background:#131a29!important;color:#c4cddd!important;
}
:is([data-theme="dark"],
body.dark-theme) .single-article__content details.xc-details .xc-prompt code {
    background:#22304a!important;color:#f0b48a!important;
}
.single-article__content .xc-tool-tag {
    display:inline-block;background:linear-gradient(135deg,#1f4f8f,#e06711);color:#fff!important;font-size:12px;font-weight:700;padding:2px 10px;border-radius:20px;margin-left:8px;vertical-align:2px;letter-spacing:.5px;
}
.single-article__content .xc-core-tag {
    display:inline-block;background:linear-gradient(135deg,#e06711,#f59e0b);color:#fff!important;font-size:12px;font-weight:700;padding:2px 10px;border-radius:20px;margin-left:8px;vertical-align:2px;letter-spacing:.5px;
}
.single-article__content .xc-warn {
    background:#fff7ed!important;border:1px solid #fdba74!important;border-left:4px solid #e06711!important;border-radius:12px;padding:14px 18px;margin:16px 0;font-size:14.5px;line-height:1.9;color:#7c2d12!important;
}
.single-article__content .xc-warn strong {
    color:#c2410c!important;
}
:is([data-theme="dark"],
body.dark-theme) .single-article__content .xc-warn {
    background:#2a1d10!important;border-color:#7c4a1e!important;color:#f5c89a!important;
}
:is([data-theme="dark"],
body.dark-theme) .single-article__content .xc-warn strong {
    color:#fdba74!important;
}
.single-article__content .xc-tip {
    background:#f0fdf4!important;border:1px solid #bbf7d0!important;border-left:4px solid #16a34a!important;border-radius:12px;padding:14px 18px;margin:16px 0;font-size:14.5px;line-height:1.9;color:#14532d!important;
}
.single-article__content .xc-tip strong {
    color:#15803d!important;
}
:is([data-theme="dark"],
body.dark-theme) .single-article__content .xc-tip {
    background:#10231a!important;border-color:#1f4a33!important;color:#a7e3c0!important;
}
:is([data-theme="dark"],
body.dark-theme) .single-article__content .xc-tip strong {
    color:#6ee7a8!important;
}
.single-article__content .xc-code {
    background:#eef2f8;border:1px solid #dbe4f0;border-radius:10px;padding:12px 16px;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:2;color:#334155;margin:16px 0;white-space:pre-wrap;word-break:break-word;
}
:is([data-theme="dark"],
body.dark-theme) .single-article__content .xc-code {
    background:#131a29;border-color:#26314a;color:#cbd5e1;
}
.single-article__content .xc-related {
    background:#f8fafc!important;border:1px dashed #cbd5e1!important;border-radius:14px;padding:18px 22px;margin:24px 0 8px;
}
:is([data-theme="dark"],
body.dark-theme) .single-article__content .xc-related {
    background:#151d2c!important;border-color:#33415a!important;
}
.single-article__content .xc-related h4 {
    margin:0 0 10px;font-size:15.5px;color:#10305e!important;font-weight:800;
}
:is([data-theme="dark"],
body.dark-theme) .single-article__content .xc-related h4 {
    color:#eaf0fb!important;
}
.single-article__content .xc-tool-tag,
.single-article__content .xc-core-tag {
    font-size:11.5px;
}