/* ===== .mk15 - 机器学习数学公式专用样式 ===== */
/* 版本：1.0.0 */
/* 设计目标：为 ml_*.html 文档中的数学公式和表格提供独立样式
 * 核心特点：
 *   1. 完全独立于 .mk12/.mk13/.mk14，避免样式冲突
 *   2. 针对 KaTeX 渲染的数学公式深度优化
 *   3. 优化的表格样式，支持参数说明、API 文档等
 *   4. 支持代码块和表格混合布局
 */

/* ==================== .mk15 容器基础样式 ==================== */
.mk15 {
    background-color: #1a1b26;
    border: 1px solid #414868;
    border-radius: 12px;
    padding: 24px;
    margin: 18px 0;
    font-family: 'JetBrains Mono', 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Source Code Pro', 'Microsoft YaHei', sans-serif;
    font-size: 15px;
    line-height: 1.8;
    overflow-x: auto;
    color: #a9b1d6;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
    word-wrap: break-word;
}

/* ==================== 标题样式 ==================== */
.mk15 h1, .mk15 h2, .mk15 h3, .mk15 h4, .mk15 h5, .mk15 h6 {
    margin-top: 20px;
    margin-bottom: 14px;
    font-weight: 600;
    color: #c0caf5;
    line-height: 1.4;
}

.mk15 h1 {
    font-size: 1.8em;
    border-bottom: 2px solid #7aa2f7;
    padding-bottom: 12px;
    margin-top: 30px;
}

.mk15 h2 {
    font-size: 1.5em;
    border-bottom: 1px solid #567b9f;
    padding-bottom: 10px;
    margin-top: 26px;
}

.mk15 h3 {
    font-size: 1.3em;
    color: #7aa2f7;
    margin-top: 22px;
}

.mk15 h4 {
    font-size: 1.2em;
    color: #89b4fa;
}

.mk15 h5 {
    font-size: 1.1em;
    color: #9d7cd8;
}

.mk15 h6 {
    font-size: 1em;
    color: #bb9af7;
}

/* ==================== 段落与文本样式 ==================== */
.mk15 p {
    margin: 14px 0;
    line-height: 1.8;
    text-align: justify;
    color: #a9b1d6;
}

.mk15 strong, .mk15 b {
    font-weight: 700;
    color: #c0caf5;
}

.mk15 em, .mk15 i {
    font-style: italic;
    color: #a9b1d6;
}

.mk15 hr {
    border: none;
    border-top: 1px solid #414868;
    margin: 20px 0;
}

/* ==================== 列表样式 ==================== */
.mk15 ul, .mk15 ol {
    margin: 12px 0;
    padding-left: 28px;
    color: #a9b1d6;
}

.mk15 ul {
    list-style-type: disc;
}

.mk15 ol {
    list-style-type: decimal;
}

.mk15 li {
    margin: 8px 0;
    line-height: 1.7;
    padding-left: 6px;
}

.mk15 ul ul {
    list-style-type: circle;
    margin: 8px 0;
    padding-left: 24px;
}

.mk15 ol ol {
    list-style-type: lower-alpha;
    margin: 8px 0;
    padding-left: 24px;
}

/* ==================== 引用样式 ==================== */
.mk15 blockquote {
    border-left: 4px solid #7aa2f7;
    margin: 16px 0;
    padding: 12px 20px;
    background-color: rgba(122, 162, 247, 0.08);
    color: #9aa5ce;
    font-style: italic;
    border-radius: 0 10px 10px 0;
}

.mk15 blockquote p {
    margin-bottom: 0;
}

/* ==================== 链接样式 ==================== */
.mk15 a {
    color: #7aa2f7;
    text-decoration: none;
    border-bottom: 1px dotted #7aa2f7;
    transition: all 0.2s ease;
}

.mk15 a:hover {
    color: #89b4fa;
    border-bottom-style: solid;
}

/* ==================== 图片样式 ==================== */
.mk15 img {
    max-width: 100%;
    height: auto;
    margin: 16px 0;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* ==================== 代码块样式 ==================== */
.mk15 pre {
    background: linear-gradient(135deg, #16161e 0%, #1a1b2e 100%);
    border: 1px solid rgba(122, 162, 247, 0.3);
    border-radius: 12px;
    padding: 20px;
    margin: 18px 0;
    overflow-x: auto;
    font-size: 0.95em;
    line-height: 1.7;
    box-shadow: 0 4px 16px rgba(122, 162, 247, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.05);
    font-family: 'JetBrains Mono', 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Source Code Pro', monospace;
    color: #a9b1d6;
}

.mk15 pre code {
    background-color: transparent;
    border: none;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
    font-size: 0.95em;
    color: #a9b1d6;
    font-family: 'JetBrains Mono', 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Source Code Pro', monospace;
    display: block;
    white-space: pre;
}

/* 行内代码 */
.mk15 :not(pre) > code,
.mk15 p > code,
.mk15 li > code,
.mk15 td > code,
.mk15 th > code {
    background: linear-gradient(135deg, #1f2335 0%, #2a2f4a 100%);
    border: 1px solid rgba(122, 162, 247, 0.25);
    padding: 3px 8px;
    border-radius: 6px;
    font-family: 'JetBrains Mono', 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', monospace;
    font-size: 0.85em;
    color: #9ece6a;
    display: inline;
    white-space: nowrap;
}

/* ==================== 表格样式（重点优化）==================== */
.mk15 table {
    border-collapse: collapse;
    width: 100%;
    margin: 16px 0;
    font-size: 0.95em;
    background-color: #1a1b26;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
    border: 1px solid #414868;
    display: table;
}

.mk15 thead {
    background-color: #24283b;
    border-bottom: 2px solid #7aa2f7;
    display: table-header-group;
}

.mk15 th {
    border: 1px solid #414868;
    padding: 14px 16px;
    text-align: left;
    background: linear-gradient(135deg, #24283b 0%, #2f344d 100%);
    font-weight: 600;
    color: #c0caf5;
    font-size: 0.95em;
}

.mk15 td {
    border: 1px solid #414868;
    padding: 12px 14px;
    text-align: left;
    background-color: #1a1b26;
    color: #a9b1d6;
    line-height: 1.7;
    vertical-align: top;
}

.mk15 tbody {
    display: table-row-group;
}

.mk15 tr {
    display: table-row;
}

.mk15 tbody tr:nth-child(even) {
    background-color: #1f2335;
}

.mk15 tbody tr:hover {
    background-color: #292e42;
    transition: background-color 0.2s ease;
}

/* 表格内的代码样式 */
.mk15 td code, .mk15 th code {
    background-color: #24283b;
    border: 1px solid #414868;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 0.9em;
    color: #9ece6a;
}

/* 表格内的链接样式 */
.mk15 td a, .mk15 th a {
    color: #7aa2f7;
    text-decoration: none;
    border-bottom: 1px dotted #7aa2f7;
}

.mk15 td a:hover, .mk15 th a:hover {
    color: #89b4fa;
    border-bottom-style: solid;
}

/* ==================== KaTeX 数学公式核心样式 ==================== */
/* 行内公式基础 */
.mk15 .katex {
    font: 1.15em KaTeX_Main, 'Times New Roman', 'Computer Modern Latin', 'Microsoft YaHei', serif;
    line-height: 1.3;
    text-indent: 0;
    text-rendering: auto;
    display: inline-block;
    margin: 0 4px;
    color: #c0caf5;
    vertical-align: middle;
    white-space: nowrap;
}

.mk15 p .katex {
    margin: 0 4px;
    vertical-align: baseline;
}

.mk15 h1 .katex, .mk15 h2 .katex, .mk15 h3 .katex,
.mk15 h4 .katex, .mk15 h5 .katex, .mk15 h6 .katex {
    font-size: 1em;
    color: #c0caf5;
    margin: 0 4px;
}

.mk15 code .katex, .mk15 pre .katex {
    font-family: KaTeX_Main, 'Times New Roman', 'Computer Modern Latin', 'Microsoft YaHei', serif;
    background: transparent;
    border: none;
    padding: 0;
    box-shadow: none;
    color: #c0caf5;
}

/* 块级公式容器 */
.mk15 .katex-display {
    display: block;
    margin: 24px 0;
    padding: 20px 18px;
    background: linear-gradient(135deg, rgba(26, 27, 38, 0.8) 0%, rgba(36, 40, 59, 0.6) 100%);
    border-radius: 12px;
    border: 1px solid rgba(122, 162, 247, 0.3);
    border-left: 4px solid #7aa2f7;
    overflow-x: auto;
    overflow-y: hidden;
    text-align: center;
    box-shadow: 0 2px 14px rgba(0, 0, 0, 0.3);
}

.mk15 .katex-display > .katex {
    display: block;
    margin: 0 auto;
    text-align: center;
    font-size: 1.2em;
    color: #c0caf5;
}

/* KaTeX 隐藏辅助元素 */
.mk15 .katex-mathml {
    position: absolute;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0;
    border: 0;
    height: 1px;
    width: 1px;
    overflow: hidden;
}

.mk15 .katex-html {
    color: #c0caf5;
    white-space: nowrap;
}

.mk15 .katex .base {
    position: relative;
    display: inline-block;
    white-space: nowrap;
    width: min-content;
}

.mk15 .katex .strut {
    display: inline-block;
}

/* 文本样式类 */
.mk15 .katex .textbf {
    font-weight: 700;
    color: #c0caf5;
}

.mk15 .katex .textit {
    font-style: italic;
    color: #c0caf5;
}

.mk15 .katex .textrm {
    font-family: KaTeX_Main, 'Microsoft YaHei', serif;
}

.mk15 .katex .textsf {
    font-family: KaTeX_SansSerif, 'Microsoft YaHei', sans-serif;
}

.mk15 .katex .texttt {
    font-family: KaTeX_Typewriter, 'JetBrains Mono', monospace;
}

/* 数学字体族 */
.mk15 .katex .mathnormal {
    font-family: KaTeX_Math, 'Times New Roman', 'Computer Modern Latin', serif;
    font-style: italic;
    color: #c0caf5;
}

.mk15 .katex .mathit {
    font-family: KaTeX_Main, 'Times New Roman', 'Computer Modern Latin', serif;
    font-style: italic;
}

.mk15 .katex .mathrm {
    font-style: normal;
}

.mk15 .katex .mathbf {
    font-family: KaTeX_Main, 'Microsoft YaHei', serif;
    font-weight: 700;
    color: #e0af68;
}

.mk15 .katex .boldsymbol {
    font-family: KaTeX_Math, 'Times New Roman', 'Computer Modern Latin', serif;
    font-weight: 700;
    font-style: italic;
    color: #e0af68;
}

.mk15 .katex .amsrm, .mk15 .katex .mathbb, .mk15 .katex .textbb {
    font-family: KaTeX_AMS, 'Microsoft YaHei', serif;
    color: #f7768e;
}

.mk15 .katex .mathcal {
    font-family: KaTeX_Caligraphic;
    color: #bb9af7;
}

.mk15 .katex .mathfrak, .mk15 .katex .textfrak {
    font-family: KaTeX_Fraktur;
}

.mk15 .katex .mathboldfrank, .mk15 .katex .textboldfrank {
    font-family: KaTeX_Fraktur;
    font-weight: 700;
}

.mk15 .katex .mathtt {
    font-family: KaTeX_Typewriter, monospace;
    color: #73daca;
}

.mk15 .katex .mathscr, .mk15 .katex .textscr {
    font-family: KaTeX_Script;
}

.mk15 .katex .mathsf, .mk15 .katex .textsf {
    font-family: KaTeX_SansSerif, 'Microsoft YaHei', sans-serif;
}

.mk15 .katex .mathboldsf, .mk15 .katex .textboldsf {
    font-family: KaTeX_SansSerif, 'Microsoft YaHei', sans-serif;
    font-weight: 700;
}

.mk15 .katex .mathsfit, .mk15 .katex .textitsfit {
    font-family: KaTeX_SansSerif, 'Microsoft YaHei', sans-serif;
    font-style: italic;
}

.mk15 .katex .mainit {
    font-family: KaTeX_Main, 'Times New Roman', 'Computer Modern Latin', serif;
    font-style: italic;
}

.mk15 .katex .mainrm {
    font-family: KaTeX_Main, 'Times New Roman', 'Computer Modern Latin', serif;
    font-style: normal;
}

/* ==================== 数学符号颜色（机器学习专用）==================== */
/* 基础符号 */
.mk15 .katex .mord {
    color: #c0caf5;
}

/* 希腊字母 - 蓝色系 */
.mk15 .katex .mord + .mord.greek,
.mk15 .katex .mord.greek {
    color: #7dcfff;
}

/* 运算符 - 紫色系 */
.mk15 .katex .mop {
    color: #bb9af7;
}

/* 关系符号 - 青色系 */
.mk15 .katex .mrel {
    color: #7dcfff;
}

/* 二元运算符 - 黄色系 */
.mk15 .katex .mbin {
    color: #e0af68;
}

/* 数字 - 白色 */
.mk15 .katex .mnum {
    color: #c0caf5;
}

/* 括号 - 浅紫色 */
.mk15 .katex .mopen, .mk15 .katex .mclose {
    color: #9d7cd8;
}

/* 标点符号 - 灰色 */
.mk15 .katex .mpunct {
    color: #565f89;
}

/* 内部元素 */
.mk15 .katex .minner {
    color: #c0caf5;
}

/* 分数 - 保持颜色 */
.mk15 .katex .mfrac {
    color: #c0caf5;
}

/* 上下标 - 保持颜色 */
.mk15 .katex .msup, .mk15 .katex .msub, .mk15 .katex .msubsup {
    color: #c0caf5;
}

/* 矩阵与数组 */
.mk15 .katex .marray {
    color: #c0caf5;
}

/* 分数样式 */
.mk15 .katex .mfrac {
    display: inline-block;
    vertical-align: middle;
    text-align: center;
}

.mk15 .katex .mfrac > span {
    display: block;
}

.mk15 .katex .mfrac .frac-line {
    border-bottom: 1px solid #7aa2f7;
    margin: 0.1em 0;
}

/* 根号样式 */
.mk15 .katex .sqrt > .root {
    margin-left: 0.27em;
    margin-right: -0.55em;
}

.mk15 .katex .sqrt > .sqrt-sign {
    color: #7aa2f7;
}

/* 上下标 */
.mk15 .katex .msupsub {
    display: inline-block;
    vertical-align: middle;
}

.mk15 .katex .msup {
    display: inline-block;
    vertical-align: middle;
}

.mk15 .katex .msub {
    display: inline-block;
    vertical-align: middle;
}

/* 矩阵与表格 */
.mk15 .katex .mtable {
    display: inline-table;
    vertical-align: middle;
}

.mk15 .katex .mtable .col-align-c {
    text-align: center;
}

.mk15 .katex .mtable .col-align-l {
    text-align: left;
}

.mk15 .katex .mtable .col-align-r {
    text-align: right;
}

.mk15 .katex .arraycolsep {
    display: inline-block;
    width: 0.5em;
}

/* 括号与定界符 */
.mk15 .katex .delimsizing {
    display: inline-block;
}

.mk15 .katex .delim-size1 {
    font-size: 1em;
}

.mk15 .katex .delim-size2 {
    font-size: 1.2em;
}

.mk15 .katex .delim-size3 {
    font-size: 1.4em;
}

.mk15 .katex .delim-size4 {
    font-size: 1.7em;
}

/* ==================== 常用数学符号特殊处理 ==================== */
/* 求和符号 */
.mk15 .katex .mop.nulldelimspace + .mop + .mord.op-symbol {
    color: #bb9af7;
}

/* 积分符号 */
.mk15 .katex .mop.int-symbol {
    color: #bb9af7;
}

/* 极限符号 */
.mk15 .katex .mop.lim {
    color: #bb9af7;
}

/* 函数名（sin, cos, log, etc.） */
.mk15 .katex .mop.mlim-it {
    color: #bb9af7;
}

/* 特殊算子 arg, max, min */
.mk15 .katex .mop.op-name {
    color: #f7768e;
}

/* ==================== 数学公式字号 ==================== */
.mk15 .katex .tiny {
    font-size: 50%;
}

.mk15 .katex .scriptsize {
    font-size: 70%;
}

.mk15 .katex .footnotesize {
    font-size: 80%;
}

.mk15 .katex .small {
    font-size: 85%;
}

.mk15 .katex .normalsize {
    font-size: 100%;
}

.mk15 .katex .large {
    font-size: 115%;
}

.mk15 .katex .Large {
    font-size: 130%;
}

.mk15 .katex .LARGE {
    font-size: 145%;
}

.mk15 .katex .huge {
    font-size: 175%;
}

.mk15 .katex .Huge {
    font-size: 200%;
}

/* ==================== 特殊上下文样式 ==================== */
.mk15 strong .katex, .mk15 b .katex {
    color: #c0caf5;
}

.mk15 em .katex, .mk15 i .katex {
    font-style: italic;
}

.mk15 a .katex {
    color: #7aa2f7;
}

.mk15 li .katex {
    display: inline-block;
    vertical-align: baseline;
}

.mk15 td .katex, .mk15 th .katex {
    display: inline-block;
    vertical-align: middle;
}

.mk15 pre .katex, .mk15 code .katex {
    color: #c0caf5;
}

.mk15 blockquote .katex {
    color: #c0caf5;
}

/* 块级公式分页保护 */
.mk15 .katex-display {
    break-inside: avoid;
    page-break-inside: avoid;
}

/* ==================== 响应式设计 ==================== */
@media (max-width: 768px) {
    .mk15 {
        padding: 18px;
        font-size: 14px;
    }

    .mk15 table {
        font-size: 0.85em;
    }

    .mk15 th, .mk15 td {
        padding: 10px 12px;
    }

    .mk15 .katex-display {
        padding: 16px 14px;
        margin: 18px 0;
        font-size: 1em;
    }

    .mk15 .katex {
        font-size: 1em;
    }
}

/* ==================== 打印样式 ==================== */
@media print {
    .mk15 {
        background-color: #ffffff !important;
        color: #000000 !important;
        border-color: #000000 !important;
        box-shadow: none !important;
    }

    .mk15 table {
        page-break-inside: avoid !important;
    }

    .mk15 .katex, .mk15 .katex-display {
        color: #000000 !important;
        background-color: transparent !important;
        border-color: #000000 !important;
    }

    .mk15 .katex-display {
        border-left: 3px solid #000000 !important;
    }
}
