/* C++ 章节正文样式（由 45天教程抽取，已去掉广告/目录） */
.cpp-chapter{

    --primary: #4db8a4;
    --primary-dark: #3a9e8c;
    --primary-light: #6fcfbe;
    --accent: #45a899;
    --accent-light: #a8e6db;
    --gradient-main: linear-gradient(135deg, #4db8a4, #5ec6b4);
    --gradient-soft: linear-gradient(135deg, #4db8a4 0%, #5ec6b4 50%, #7dd4c6 100%);
    --gradient-header: linear-gradient(135deg, #4db8a4, #62c9b8, #7dd4c6);
    --gradient-header-dark: linear-gradient(135deg, #2a7d6e, #358f7f, #4db8a4);
    --bg-page: #f6f8fa;
    --bg-white: #ffffff;
    --bg-gray-50: #f8f9fb;
    --bg-gray-100: #f0f2f5;
    --bg-green-50: #edf9f5;
    --bg-teal-50: #f0faf7;
    --text-primary: #1f2937;
    --text-secondary: #4b5563;
    --text-muted: #9ca3af;
    --border-light: #e5e7eb;
    --border-default: #d1d5db;
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.04);
    --shadow-card: 0 1px 3px rgba(0,0,0,0.05), 0 1px 2px rgba(0,0,0,0.03);
    --shadow-card-hover: 0 4px 12px rgba(77,184,164,0.12), 0 2px 4px rgba(0,0,0,0.04);
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 12px;
    --radius-xl: 16px;
}
.cpp-chapter /* ━━━ 章节内容页 ━━━ */
.chapter-container{ max-width: 880px; margin: 0 auto; padding: 48px 40px; background: var(--bg-white); }
.cpp-chapter .chapter-header{
    background: var(--gradient-header); border-radius: var(--radius-lg);
    padding: 28px 32px; margin-bottom: 32px; position: relative; overflow: hidden;
}
.cpp-chapter .chapter-header::before{
    content: ''; position: absolute; top: -60%; right: -15%;
    width: 220px; height: 220px;
    background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
    border-radius: 50%;
}
.cpp-chapter .chapter-header h2{ color: #fff; font-size: 22px; font-weight: 700; letter-spacing: 0.5px; position: relative; z-index: 1; }
.cpp-chapter /* ── 导读卡片 ── */
.chapter-guide{
    background: var(--bg-white); border: 1px solid var(--border-light);
    border-radius: var(--radius-lg); overflow: hidden;
    margin-bottom: 28px; box-shadow: var(--shadow-card);
}
.cpp-chapter .guide-meta{
    display: flex; align-items: center; flex-wrap: wrap;
    background: var(--bg-gray-50); border-bottom: 1px solid var(--border-light); padding: 0;
}
.cpp-chapter .guide-meta-item{
    display: flex; align-items: center; gap: 6px;
    padding: 11px 18px; font-size: 13px; color: var(--text-secondary);
    border-right: 1px solid var(--border-light); white-space: nowrap; line-height: 1;
}
.cpp-chapter .guide-meta-item:last-child{ border-right: none; }
.cpp-chapter .guide-meta-item .meta-icon{ font-size: 14px; flex-shrink: 0; }
.cpp-chapter .guide-learn{ margin-bottom: 14px; }
.cpp-chapter .guide-learn-label{
    font-size: 13px; font-weight: 700; color: var(--primary);
    letter-spacing: 1.5px; margin-bottom: 8px; display: block;
}
.cpp-chapter .guide-learn-label::before{
    content: ''; display: inline-block; width: 7px; height: 7px;
    border-radius: 50%; background: var(--primary); margin-right: 8px; vertical-align: middle;
}
.cpp-chapter .guide-learn ul{ list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 4px 24px; }
.cpp-chapter .guide-learn li{ font-size: 14px; color: var(--text-secondary); line-height: 1.7; padding-left: 16px; position: relative; }
.cpp-chapter .guide-learn li::before{ content: '▸'; position: absolute; left: 0; color: var(--accent-light); font-weight: 700; font-size: 14px; }
.cpp-chapter .guide-concepts{ display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.cpp-chapter .guide-concepts-label{
    font-size: 13px; font-weight: 700; color: var(--primary);
    letter-spacing: 1.5px; margin-right: 4px;
}
.cpp-chapter .guide-concepts-label::before{
    content: ''; display: inline-block; width: 7px; height: 7px;
    border-radius: 50%; background: var(--primary); margin-right: 8px; vertical-align: middle;
}
.cpp-chapter .guide-concept-tag{
    display: inline-block; background: var(--bg-green-50);
    border: 1px solid rgba(77,184,164,0.2);
    color: var(--primary-dark); padding: 3px 12px; border-radius: 14px;
    font-size: 13px; font-weight: 500;
}
.cpp-chapter .chapter-content{ padding: 0; }
.cpp-chapter .chapter-content h3{
    color: var(--text-primary); font-size: 17px; font-weight: 700;
    margin: 32px 0 14px 0; padding: 10px 16px;
    background: var(--bg-green-50); border-left: 3px solid var(--primary);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}
.cpp-chapter .chapter-content h4{
    color: var(--text-primary); font-size: 15px; font-weight: 600;
    margin: 22px 0 10px 0; padding-bottom: 6px; border-bottom: 1px solid var(--border-light);
}
.cpp-chapter .chapter-content p{ color: var(--text-secondary); line-height: 1.85; margin-bottom: 14px; text-align: justify; }
.cpp-chapter .chapter-content ul, .cpp-chapter .chapter-content ol{ margin: 12px 0 16px 0; padding-left: 22px; color: var(--text-secondary); }
.cpp-chapter .chapter-content li{ margin-bottom: 6px; line-height: 1.7; padding-left: 4px; }
.cpp-chapter .chapter-content li::marker{ color: var(--primary); font-weight: 600; }
.cpp-chapter /* ── 核心概念 / 重点知识 ── */
.concept-block{
    background: var(--bg-green-50); border: 1px solid rgba(77,184,164,0.15);
    border-radius: var(--radius-md); padding: 18px 22px; margin: 18px 0;
}
.cpp-chapter .concept-block h4{ color: var(--primary-dark); border-bottom: none; margin-top: 0; padding-bottom: 4px; }
.cpp-chapter /* ── 提示框 ── */
.tip-box{
    background: var(--bg-gray-50); border: 1px solid var(--border-light);
    border-left: 3px solid var(--primary);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    padding: 14px 18px; margin: 18px 0;
}
.cpp-chapter .tip-box::before{
    content: 'TIP'; display: inline-block; font-weight: 700; color: var(--primary);
    font-size: 11px; letter-spacing: 2px; margin-bottom: 5px;
    padding: 1px 7px; background: var(--bg-green-50); border-radius: 3px;
}
.cpp-chapter .tip-box.warning{ border-left-color: #f59e0b; background: #fffbeb; }
.cpp-chapter .tip-box.warning::before{ content: 'CAUTION'; color: #d97706; background: #fef3c7; }
.cpp-chapter .tip-box.important{ border-left-color: #ef4444; background: #fef2f2; }
.cpp-chapter .tip-box.important::before{ content: 'IMPORTANT'; color: #dc2626; background: #fee2e2; }
.cpp-chapter /* ── 代码块 + 语法高亮 ── */
pre{
    background: #1a2332; border-radius: var(--radius-md); margin: 18px 0;
    overflow: hidden; border: 1px solid #243447;
}
.cpp-chapter pre .code-header{
    background: #243447; padding: 7px 14px; font-size: 12px; color: #8ba4b8;
    font-family: 'JetBrains Mono', monospace; border-bottom: 1px solid #2d4052;
}
.cpp-chapter pre code{
    display: block; padding: 16px 20px;
    font-family: 'JetBrains Mono', 'Consolas', monospace;
    font-size: 13px; line-height: 1.6; color: #e2e8f0; overflow-x: auto;
}
.cpp-chapter pre code .kw{ color: #c792ea; }
.cpp-chapter pre code .str{ color: #c3e88d; }
.cpp-chapter pre code .cmt{ color: #546e7a; font-style: italic; }
.cpp-chapter pre code .num{ color: #f78c6c; }
.cpp-chapter pre code .func{ color: #82aaff; }
.cpp-chapter /* ── 表格 ── */
table{
    width: 100%; border-collapse: separate; border-spacing: 0;
    margin: 20px 0; border-radius: var(--radius-md); overflow: hidden;
    border: 1px solid var(--border-light); font-size: 14px;
}
.cpp-chapter /* ── 小结框 ── */
.summary-box{
    background: var(--bg-white); border: 1px solid var(--border-light);
    border-radius: var(--radius-lg); padding: 22px 26px; margin-top: 36px;
    position: relative; box-shadow: var(--shadow-sm);
}
.cpp-chapter .summary-box::before{
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: var(--gradient-soft); border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
.cpp-chapter .summary-box h3{ color: var(--primary-dark) !important; border-left: none !important; background: none !important; padding: 0 !important; margin: 0 0 12px 0 !important; font-size: 15px !important; }
.cpp-chapter .summary-box ul{ list-style: none; padding-left: 0; margin-left: 0; }
.cpp-chapter .summary-box li{ padding-left: 20px; position: relative; color: var(--text-secondary); margin-bottom: 6px; }
.cpp-chapter .summary-box li::before{ content: '→'; position: absolute; left: 0; color: var(--primary); font-weight: 600; }
.cpp-chapter /* ── 架构图（分层/分支结构） ── */
.arch-diagram{
    display: flex; flex-direction: column; align-items: center; gap: 4px;
    padding: 20px; background: var(--bg-white);
    border: 1px solid var(--border-light); border-radius: var(--radius-md); margin: 20px 0;
}
.cpp-chapter .arch-row{ display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; }
.cpp-chapter .arch-node{
    padding: 8px 18px; border-radius: var(--radius-sm);
    font-size: 13px; font-weight: 600; text-align: center; min-width: 90px; line-height: 1.4;
}
.cpp-chapter .arch-node.primary{ background: var(--bg-green-50); border: 2px solid var(--primary); color: var(--primary-dark); }
.cpp-chapter .arch-node.secondary{ background: #fff7ed; border: 2px solid #f59e0b; color: #b45309; }
.cpp-chapter .arch-node.accent{ background: #eff6ff; border: 2px solid #3b82f6; color: #1e40af; }
.cpp-chapter .arch-connector{ color: var(--text-muted); font-size: 20px; font-weight: 700; flex-shrink: 0; }
.cpp-chapter /* ── 多场景卡片 ── */
.scenario-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 20px 0; }
.cpp-chapter .scenario-card{ padding: 16px 18px; border-radius: var(--radius-md); border-left: 4px solid; }
.cpp-chapter .scenario-card h4{ margin-top: 0; font-size: 14px; padding-bottom: 4px; border-bottom: none; }
.cpp-chapter .scenario-card ul{ margin: 6px 0 0 0; padding-left: 16px; }
.cpp-chapter .scenario-card li{ font-size: 13px; color: var(--text-secondary); margin-bottom: 4px; line-height: 1.5; }
.cpp-chapter .scenario-card.blue{ border-color: #3b82f6; background: #eff6ff; }
.cpp-chapter .scenario-card.blue h4{ color: #1e40af; }
.cpp-chapter .scenario-card.green{ border-color: var(--primary); background: var(--bg-green-50); }
.cpp-chapter .scenario-card.green h4{ color: var(--primary-dark); }
.cpp-chapter .scenario-card.purple{ border-color: #8b5cf6; background: #f5f3ff; }
.cpp-chapter .scenario-card.purple h4{ color: #6d28d9; }
.cpp-chapter .scenario-card.orange{ border-color: #f59e0b; background: #fffbeb; }
.cpp-chapter .scenario-card.orange h4{ color: #b45309; }
.cpp-chapter /* ── 动手试一试 ── */
.practice-box{
    background: linear-gradient(135deg, var(--bg-teal-50) 0%, var(--bg-green-50) 100%);
    border: 1px solid rgba(77,184,164,0.25);
    border-left: 4px solid var(--primary);
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    padding: 20px 22px; margin: 24px 0;
}
.cpp-chapter .practice-box::before{
    content: '\1F527  动手试一试'; display: block; font-weight: 700;
    color: var(--primary-dark); font-size: 15px; margin-bottom: 10px;
    padding-bottom: 8px; border-bottom: 1px dashed rgba(77,184,164,0.25);
}
.cpp-chapter .practice-box h4{ display: none; }
.cpp-chapter .practice-box ol, .cpp-chapter .practice-box ul{ margin: 8px 0 0 0; padding-left: 20px; }
.cpp-chapter .practice-box li{ color: var(--text-secondary); margin-bottom: 6px; line-height: 1.7; }
.cpp-chapter .practice-box p{ color: var(--text-secondary); margin-bottom: 8px; }
.cpp-chapter .practice-box code{
    background: rgba(77,184,164,0.1); padding: 1px 6px; border-radius: 3px;
    font-family: 'JetBrains Mono', monospace; font-size: 13px; color: var(--primary-dark);
}
.cpp-chapter /* ── 检验你的理解 ── */
.self-check{
    background: #fefce8; border: 1px solid rgba(245,158,11,0.2);
    border-left: 4px solid #f59e0b;
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    padding: 20px 22px; margin: 24px 0;
}
.cpp-chapter .self-check::before{
    content: '\2753  检验你的理解'; display: block; font-weight: 700;
    color: #b45309; font-size: 15px; margin-bottom: 10px;
    padding-bottom: 8px; border-bottom: 1px dashed rgba(245,158,11,0.3);
}
.cpp-chapter .self-check h4{ display: none; }
.cpp-chapter .self-check ol{ margin: 8px 0 0 0; padding-left: 20px; counter-reset: check-counter; list-style: none; }
.cpp-chapter .self-check ol li{ counter-increment: check-counter; position: relative; padding-left: 8px; color: var(--text-secondary); margin-bottom: 10px; line-height: 1.7; }
.cpp-chapter .self-check ol li::before{ content: 'Q' counter(check-counter); position: absolute; left: -20px; color: #d97706; font-weight: 700; font-size: 13px; }
.cpp-chapter .self-check p{ color: var(--text-secondary); margin-bottom: 6px; }
.cpp-chapter .self-check .check-answer{ color: var(--text-muted); font-size: 13px; font-style: italic; margin-top: 4px; }
.cpp-chapter /* ── 编者提示 ── */
.editor-note{
    background: linear-gradient(135deg, #eff6ff, #f0f7ff);
    border: 1px solid rgba(59,130,246,0.15);
    border-left: 3px solid #3b82f6;
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    padding: 12px 16px; margin: 18px 0; font-size: 14px; color: #1e40af; line-height: 1.7;
}
.cpp-chapter .editor-note::before{
    content: '\1f4d6  编者提示'; display: inline-block; font-weight: 700;
    font-size: 11px; letter-spacing: 1.5px; margin-right: 8px;
    padding: 1px 7px; background: rgba(59,130,246,0.1); border-radius: 3px; color: #2563eb;
}
.cpp-chapter /* ── 难度标签 ── */
.difficulty-tag{ display: inline-block; padding: 2px 10px; border-radius: 12px; font-size: 13px; font-weight: 600; letter-spacing: 0.5px; }

.cpp-chapter{max-width:100%;margin:0;padding:0;font-size:15px;line-height:1.8;color:#1f2937}
.cpp-chapter .chapter-container{max-width:100%;padding:0;background:transparent;box-shadow:none}
.cpp-chapter .chapter-header{margin-bottom:18px}
.cpp-chapter img{max-width:100%;height:auto}
