@charset "utf-8";
/****** 系统核心样式 ******/
body,dl,dd,h1,h2,h3,h4,h5,h6,p,form,ul,ol,blockquote,input,textarea,select{margin:0;padding:0px;outline:none}
label{height:24px; line-height:24px; cursor:pointer}

/**
 *文件上传样式
 */

/**
 *普通表单样式
 */

/**
 *地图表单样式
 */


/**
 *视频表单样式
 */


/**
 *附件表单样式
 */


/**
 *安全证书表单样式
 */


/* ============================================================================
 * 编辑器内容通用展示样式
 * 覆盖：CKEditor / UEditor / UMEditor / Markdown(Vditor) 插入内容的正确渲染
 * 同时适用于 .contents（zhuangshi主题）和 .wp_articlecontent（h5_default主题）
 * 以及 .markdown-body（Markdown渲染内容）
 * ============================================================================ */

/* ---- 基础排版 ---- */
.markdown-body,
.contents,
.wp_articlecontent {
    font-size: 15px;
    line-height: 1.7;
    color: #333;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.markdown-body p,
.contents p,
.wp_articlecontent p {
    margin-top: 0;
    margin-bottom: 1em;
}

.markdown-body a,
.contents a,
.wp_articlecontent a {
    color: #0366d6;
    text-decoration: none;
}
.markdown-body a:hover,
.contents a:hover,
.wp_articlecontent a:hover {
    text-decoration: underline;
}

/* ---- 标题 ---- */
.markdown-body h1, .markdown-body h2, .markdown-body h3,
.markdown-body h4, .markdown-body h5, .markdown-body h6,
.contents h1, .contents h2, .contents h3,
.contents h4, .contents h5, .contents h6,
.wp_articlecontent h1, .wp_articlecontent h2, .wp_articlecontent h3,
.wp_articlecontent h4, .wp_articlecontent h5, .wp_articlecontent h6 {
    margin-top: 1.2em;
    margin-bottom: 0.6em;
    font-weight: 600;
    line-height: 1.4;
}
.markdown-body h1, .contents h1, .wp_articlecontent h1 { font-size: 1.8em; border-bottom: 2px solid #eee; padding-bottom: 0.3em; }
.markdown-body h2, .contents h2, .wp_articlecontent h2 { font-size: 1.5em; border-bottom: 1px solid #eee; padding-bottom: 0.3em; }
.markdown-body h3, .contents h3, .wp_articlecontent h3 { font-size: 1.25em; }
.markdown-body h4, .contents h4, .wp_articlecontent h4 { font-size: 1.1em; }
.markdown-body h5, .contents h5, .wp_articlecontent h5 { font-size: 1em; }
.markdown-body h6, .contents h6, .wp_articlecontent h6 { font-size: 0.9em; color: #666; }

/* ---- 引用 ---- */
.markdown-body blockquote,
.contents blockquote,
.wp_articlecontent blockquote {
    margin: 0 0 1em 0;
    padding: 0.5em 1em;
    border-left: 4px solid #ddd;
    color: #666;
    background: #f9f9f9;
    font-style: normal;
}
.markdown-body blockquote p:last-child,
.contents blockquote p:last-child,
.wp_articlecontent blockquote p:last-child {
    margin-bottom: 0;
}
/* CKEditor RTL引用 */
.cke_contents_rtl blockquote {
    padding-left: 8px;
    padding-right: 20px;
    border-left-width: 0;
    border-right: 5px solid #ddd;
}

/* ---- 行内代码 ---- */
.markdown-body code,
.contents code,
.wp_articlecontent code {
    padding: 0.2em 0.4em;
    margin: 0;
    font-size: 85%;
    background-color: rgba(27, 31, 35, 0.05);
    border-radius: 3px;
    font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
}

/* ---- 代码块 ---- */
.markdown-body pre,
.contents pre,
.wp_articlecontent pre {
    margin: 0 0 1em 0;
    padding: 1em;
    overflow: auto;
    font-size: 85%;
    line-height: 1.45;
    background-color: #f6f8fa;
    border-radius: 3px;
    white-space: pre-wrap;
    word-wrap: break-word;
    -moz-tab-size: 4;
    tab-size: 4;
}
.markdown-body pre code,
.contents pre code,
.wp_articlecontent pre code {
    padding: 0;
    margin: 0;
    font-size: 100%;
    background-color: transparent;
    border-radius: 0;
}

/* UEditor SyntaxHighlighter 代码块容器 */
.markdown-body .syntaxhighlighter,
.contents .syntaxhighlighter,
.wp_articlecontent .syntaxhighlighter {
    width: 100% !important;
    margin: 0.3em 0 !important;
    overflow: auto !important;
    background-color: #f5f5f5 !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
}

/* ---- 表格 ---- */
.markdown-body table,
.contents table,
.wp_articlecontent table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 1em;
    overflow: auto;
}
.markdown-body table th,
.markdown-body table td,
.contents table th,
.contents table td,
.wp_articlecontent table th,
.wp_articlecontent table td {
    padding: 6px 13px;
    border: 1px solid #ddd;
}
.markdown-body table th,
.contents table th,
.wp_articlecontent table th {
    background-color: #f6f8fa;
    font-weight: 600;
}
.markdown-body table tr,
.contents table tr,
.wp_articlecontent table tr {
    background-color: #fff;
    border-top: 1px solid #c6cbd1;
}
.markdown-body table tr:nth-child(2n),
.contents table tr:nth-child(2n),
.wp_articlecontent table tr:nth-child(2n) {
    background-color: #f6f8fa;
}

/* ---- 列表 ---- */
.markdown-body ul,
.markdown-body ol,
.contents ul,
.contents ol,
.wp_articlecontent ul,
.wp_articlecontent ol {
    margin-top: 0;
    margin-bottom: 1em;
    padding-left: 2em;
}
.markdown-body ul ul, .markdown-body ul ol, .markdown-body ol ol, .markdown-body ol ul,
.contents ul ul, .contents ul ol, .contents ol ol, .contents ol ul,
.wp_articlecontent ul ul, .wp_articlecontent ul ol, .wp_articlecontent ol ol, .wp_articlecontent ol ul {
    margin-top: 0;
    margin-bottom: 0;
}
.markdown-body li,
.contents li,
.wp_articlecontent li {
    margin-bottom: 0.25em;
}
.markdown-body li > p,
.contents li > p,
.wp_articlecontent li > p {
    margin-top: 0.5em;
}

/* ---- 图片 ---- */
.markdown-body img,
.contents img,
.wp_articlecontent img {
    max-width: 100%;
    height: auto;
    border-style: none;
}
/* CKEditor 图片浮动 */
.markdown-body img.right, .contents img.right, .wp_articlecontent img.right {
    border: 1px solid #ccc;
    float: right;
    margin-left: 15px;
    padding: 5px;
}
.markdown-body img.left, .contents img.left, .wp_articlecontent img.left {
    border: 1px solid #ccc;
    float: left;
    margin-right: 15px;
    padding: 5px;
}
/* 链接内图片边框（CKEditor） */
.markdown-body a > img, .contents a > img, .wp_articlecontent a > img {
    padding: 1px;
    margin: 1px;
    border: none;
    outline: 1px solid #0782C1;
}

/* ---- CKEditor figure/figcaption ---- */
.markdown-body figure,
.contents figure,
.wp_articlecontent figure {
    text-align: center;
    outline: solid 1px #ccc;
    background: rgba(0,0,0,0.05);
    padding: 10px;
    margin: 10px 20px;
    display: inline-block;
}
.markdown-body figure > figcaption,
.contents figure > figcaption,
.wp_articlecontent figure > figcaption {
    text-align: center;
    display: block;
    font-size: 0.9em;
    color: #666;
}
/* CKEditor 图片特殊样式 */
.markdown-body .image-clean, .contents .image-clean, .wp_articlecontent .image-clean {
    border: 0;
    background: none;
    padding: 0;
}
.markdown-body .image-clean > figcaption, .contents .image-clean > figcaption, .wp_articlecontent .image-clean > figcaption {
    font-size: .9em;
    text-align: right;
}
.markdown-body .image-grayscale, .contents .image-grayscale, .wp_articlecontent .image-grayscale {
    background-color: white;
    color: #666;
}
.markdown-body .image-grayscale img, .contents .image-grayscale img, .wp_articlecontent .image-grayscale img,
.markdown-body img.image-grayscale, .contents img.image-grayscale, .wp_articlecontent img.image-grayscale {
    filter: grayscale(100%);
}

/* ---- CKEditor 嵌入视频尺寸 ---- */
.markdown-body .embed-240p, .contents .embed-240p, .wp_articlecontent .embed-240p {
    max-width: 426px;
    max-height: 240px;
    margin: 0 auto;
}
.markdown-body .embed-360p, .contents .embed-360p, .wp_articlecontent .embed-360p {
    max-width: 640px;
    max-height: 360px;
    margin: 0 auto;
}
.markdown-body .embed-480p, .contents .embed-480p, .wp_articlecontent .embed-480p {
    max-width: 854px;
    max-height: 480px;
    margin: 0 auto;
}
.markdown-body .embed-720p, .contents .embed-720p, .wp_articlecontent .embed-720p {
    max-width: 1280px;
    max-height: 720px;
    margin: 0 auto;
}
.markdown-body .embed-1080p, .contents .embed-1080p, .wp_articlecontent .embed-1080p {
    max-width: 1920px;
    max-height: 1080px;
    margin: 0 auto;
}

/* ---- CKEditor 特殊标记 ---- */
.markdown-body .marker, .contents .marker, .wp_articlecontent .marker {
    background-color: Yellow;
}
.markdown-body .code-featured, .contents .code-featured, .wp_articlecontent .code-featured {
    border: 5px solid red;
}
.markdown-body .math-featured, .contents .math-featured, .wp_articlecontent .math-featured {
    padding: 20px;
    box-shadow: 0 0 2px rgba(200, 0, 0, 1);
    background-color: rgba(255, 0, 0, 0.05);
    margin: 10px;
}

/* ---- 分隔线 ---- */
.markdown-body hr,
.contents hr,
.wp_articlecontent hr {
    height: 0;
    margin: 1.5em 0;
    border: 0;
    border-top: 1px solid #ccc;
}

/* ---- Markdown 任务列表 ---- */
.markdown-body .task-list-item {
    list-style-type: none;
}
.markdown-body .task-list-item input {
    margin: 0 0.35em 0.25em -1.6em;
    vertical-align: middle;
}

/* ---- UEditor 分页符 ---- */
.markdown-body .pagebreak, .contents .pagebreak, .wp_articlecontent .pagebreak {
    clear: both;
    margin: 1em 0;
    border-top: 2px dashed #ccc;
    padding-top: 5px;
    text-align: center;
    color: #999;
    font-size: 12px;
}

/* ---- UEditor 视频占位 ---- */
.markdown-body .edui-faked-video, .contents .edui-faked-video, .wp_articlecontent .edui-faked-video,
.markdown-body .edui-faked-music, .contents .edui-faked-music, .wp_articlecontent .edui-faked-music {
    display: block;
    max-width: 100%;
    margin: 0 auto;
    background: #f0f0f0;
    text-align: center;
    padding: 20px;
    border: 1px dashed #ccc;
}

/* ---- 视频自适应 ---- */
.markdown-body video, .contents video, .wp_articlecontent video {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0.5em auto;
    background: #000;
    border-radius: 4px;
}
/* iframe 视频嵌入响应式容器（16:9） */
.markdown-body .video-container, .contents .video-container, .wp_articlecontent .video-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
    margin: 1em 0;
    background: #000;
    border-radius: 4px;
}
.markdown-body .video-container iframe, .contents .video-container iframe, .wp_articlecontent .video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}
/* 非 .video-container 内的直接 iframe（如编辑器直插入） */
.markdown-body iframe, .contents iframe, .wp_articlecontent iframe {
    max-width: 100%;
    border: none;
    min-height: 200px;
}
/* audio 自适应 */
.markdown-body audio, .contents audio, .wp_articlecontent audio {
    max-width: 100%;
    display: block;
    margin: 0.5em auto;
}

/* ============================================================================
 * 移动端适配
 * ============================================================================ */
@media screen and (max-width: 768px) {
    .markdown-body,
    .contents,
    .wp_articlecontent {
        font-size: 14px;
        line-height: 1.6;
    }
    .markdown-body h1, .contents h1, .wp_articlecontent h1 { font-size: 1.5em; }
    .markdown-body h2, .contents h2, .wp_articlecontent h2 { font-size: 1.3em; }
    .markdown-body h3, .contents h3, .wp_articlecontent h3 { font-size: 1.15em; }
    .markdown-body pre, .contents pre, .wp_articlecontent pre {
        padding: 0.7em;
        font-size: 80%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .markdown-body table, .contents table, .wp_articlecontent table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .markdown-body blockquote, .contents blockquote, .wp_articlecontent blockquote {
        margin: 0 0 0.8em 0;
        padding: 0.4em 0.8em;
    }
    .markdown-body ul, .markdown-body ol,
    .contents ul, .contents ol,
    .wp_articlecontent ul, .wp_articlecontent ol {
        padding-left: 1.5em;
    }
}

/* ============================================================================
 * 编辑器容器自适应
 * ============================================================================ */
.vditor {
    border: 1px solid #d1d5da;
    border-radius: 3px;
}
@media screen and (max-width: 768px) {
    .vditor {
        border-radius: 0;
        border-left: none;
        border-right: none;
    }
    .vditor .vditor-toolbar {
        flex-wrap: wrap;
    }
}
