/**
 * Vditor 编辑器插件 — 样式
 *
 * 硬约束（踩过的坑，别改）：
 *   1. **只用真实存在的 `--mn-*` 变量**（`--c-*` 在 modern.css 里几乎没有；
 *      `--mn-danger` / `--mn-spectrum-*` 不存在）。变量清单见 `assets/css/modern.css` 的 `:root`。
 *   2. **不覆盖核心类**（`.mn-input` / `.mn-btn` / `.form-input` / `.admin-table`）：
 *      本文件在 `main.php:59` 的 `yield('css')` 输出，**早于** `modern.css`（`:60`），
 *      同权重时核心赢 → 想覆盖必须提权（`input.vd-xxx`）。本文件只定义 `.vd-*` 自有类，绕开这个坑。
 *   3. 暗色主题（`modern-night.css`）是**同一批变量换值**，所以只要全用变量就自动适配，
 *      不写任何 `[data-theme]` 特例。
 *
 * @file plugins/vditor/assets/style.css
 */

/* ==========================================================================
   一、后台设置页
   ========================================================================== */

.vd-card {
    margin-bottom: 16px;
}

/* 状态徽章 */
.vd-state {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1.6;
    border: 1px solid transparent;
}
.vd-state-on {
    background: var(--mn-alert-success-bg);
    color: var(--mn-alert-success-text);
    border-color: var(--mn-alert-success-border);
}
.vd-state-off {
    background: var(--mn-alert-error-bg);
    color: var(--mn-alert-error-text);
    border-color: var(--mn-alert-error-border);
}

/* 提示条 */
.vd-notice {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px 14px;
    margin-bottom: 16px;
    border-radius: 8px;
    border: 1px solid transparent;
    font-size: 14px;
}
.vd-notice-warn {
    background: var(--mn-comp-alert-warning-bg);
    border-color: var(--mn-comp-alert-warning-border);
    color: var(--mn-comp-alert-warning-text);
}
.vd-notice-error {
    background: var(--mn-alert-error-bg);
    border-color: var(--mn-alert-error-border);
    color: var(--mn-alert-error-text);
}
.vd-notice-ic {
    flex: 0 0 auto;
    line-height: 1.4;
}

.vd-missing-list {
    margin: 6px 0 0;
    padding-left: 18px;
    font-size: 12px;
}
.vd-missing-list code {
    background: var(--mn-code-bg);
    color: var(--mn-code-text);
    padding: 1px 6px;
    border-radius: 4px;
    font-size: 12px;
}

/* 开关 */
.vd-switch {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    user-select: none;
    margin-bottom: 4px;
}
.vd-switch input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    cursor: pointer;
    accent-color: var(--mn-primary);
}
.vd-switch-label {
    font-size: 14px;
    color: var(--mn-text);
}

/* 两列开关网格 */
.vd-switch-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 20px;
    margin-top: 8px;
}
.vd-switch-item {
    padding: 10px 12px;
    border: 1px solid var(--mn-border);
    border-radius: 8px;
    background: var(--mn-bg-card);
}

/* 表单两列网格 */
.vd-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 20px;
    margin-top: 8px;
}

.vd-hint {
    margin-top: 4px;
    font-size: 12px;
    line-height: 1.6;
    color: var(--mn-text-muted);
}
.vd-indent {
    padding-left: 24px;
}
.vd-fs-12 {
    font-size: 12px;
}
.vd-mt-4 {
    margin-top: 4px;
}
.vd-mt-6 {
    margin-top: 6px;
}

.vd-hr {
    border: 0;
    border-top: 1px solid var(--mn-divider);
    margin: 18px 0 14px;
}

.vd-actions {
    margin: 4px 0 20px;
}

/* 小标签 */
.vd-tag {
    display: inline-block;
    padding: 1px 8px;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1.7;
}
.vd-tag-ok {
    background: var(--mn-alert-success-bg);
    color: var(--mn-alert-success-text);
}
.vd-tag-bad {
    background: var(--mn-alert-error-bg);
    color: var(--mn-alert-error-text);
}

/* 取舍说明列表 */
.vd-tradeoff {
    margin: 8px 0 0;
    padding-left: 20px;
    font-size: 13px;
    line-height: 1.9;
    color: var(--mn-text-secondary);
}
.vd-tradeoff li {
    margin-bottom: 2px;
}

@media (max-width: 768px) {
    .vd-grid,
    .vd-switch-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* ==========================================================================
   二、前台编辑器容器
   ========================================================================== */

/* 挂载宿主：boot.js 创建，Vditor 把编辑器 append 进 .vd-mount
   ⚠️ 不能给 .vd-host 加 overflow:hidden —— Vditor 的工具栏下拉面板是
   .vditor 内部的绝对定位子元素，裁掉就点不开「更多」里的任何一项。 */
.vd-host {
    margin-bottom: 12px;
}

/* 让 Vditor 的边框/圆角跟随站点主题（不出现两层描边） */
.vd-host .vditor {
    border: 1px solid var(--mn-border);
    border-radius: 8px;
    background: var(--mn-bg-card);
}

/* 内容区文字色跟随主题（Vditor 自己有 --textarea-text-color，这里只兜底） */
.vd-host .vditor-reset {
    color: var(--mn-text);
    font-size: 15px;
    line-height: 1.75;
}

/* 隐藏原 textarea（name 已交给隐藏域，提交由 boot.js 在 submit 时写入 base64） */
.vd-orig-hidden {
    position: absolute !important;
    left: -9999px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

/* 往返损失提示条（决策②：差异超阈值时出现） */
.vd-lossy {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 10px 14px;
    margin-bottom: 10px;
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.7;
    background: var(--mn-comp-alert-warning-bg);
    border: 1px solid var(--mn-comp-alert-warning-border);
    color: var(--mn-comp-alert-warning-text);
}
.vd-lossy-txt {
    flex: 1 1 auto;
}
.vd-lossy-btn {
    flex: 0 0 auto;
    border: 1px solid currentColor;
    background: transparent;
    color: inherit;
    border-radius: 6px;
    padding: 2px 10px;
    font-size: 12px;
    cursor: pointer;
    white-space: nowrap;
}
.vd-lossy-btn:hover {
    background: rgba(0, 0, 0, 0.06);
}

/* HTML 源码模式（真无损出口） */
.vd-src-wrap {
    margin-bottom: 12px;
}
.vd-src-tip {
    padding: 8px 12px;
    margin-bottom: 8px;
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.7;
    background: var(--mn-alert-success-bg);
    border: 1px solid var(--mn-alert-success-border);
    color: var(--mn-alert-success-text);
}
.vd-src {
    display: block;
    width: 100%;
    min-height: 420px;
    box-sizing: border-box;
    padding: 12px 14px;
    margin-bottom: 8px;
    border: 1px solid var(--mn-border);
    border-radius: 8px;
    background: var(--mn-code-bg);
    color: var(--mn-code-text);
    font-family: Consolas, Monaco, 'Courier New', monospace;
    font-size: 13px;
    line-height: 1.7;
    resize: vertical;
    outline: none;
}

/* 隐藏类（零内联规范：显隐一律走 class） */
.vd-hidden {
    display: none !important;
}
