/* ============================================================================
   LaTeX ⇄ Word · Workbench — 瑞士网格 · 无彩色主题层 (theme-swiss)
   ----------------------------------------------------------------------------
   加载顺序：style(v3).css → workspace.css → workspace-ui.css → 本文件(终层换肤)。
   只覆写变量与组件视觉，不动 workspace.css 的网格骨架 / data-mode / data-rail
   逻辑，也不触碰任何功能元素 id / handler。

   色值清单（无彩色体系，仅靠明度差分层级）：
     页面底层背景（奶油米白）  #F7F6F1   RGB(247,246,241)
     右侧卡片画布（纯白）      #FFFFFF   RGB(255,255,255)
     大标题/实心几何块（哑光炭黑）#121212  RGB(18,18,18)
     正文说明文字（中灰）      #444444   RGB(68,68,68)
     辅助小字标签（浅灰）      #666666   RGB(102,102,102)

   使用规则：
     1) 无彩色体系，明度差 = 页面层级，瑞士网格极简。
     2) 页面底用暖米白，不用高亮纯白，降长时间浏览疲劳。
     3) 标题/图标/几何统一 #121212，禁 #000 纯黑。
     4) 次要文字灰度逐级降低；强调只靠字号/字重/留白，不靠彩色。
     5) 卡片分层靠底色微弱明度差 + 1px 发丝线，无厚重投影、无彩色渐变。
   ============================================================================ */

:root {
    /* ================= 无彩色主轴（全站唯一色带） ================= */
    --sw-paper:           #F7F6F1;   /* 页面底：奶油米白 */
    --sw-card:            #FFFFFF;   /* 卡片画布：纯白 */
    --sw-well:            #F1F0EA;   /* 白卡上的内嵌洼地（输入框/预览井/统计片） */
    --sw-well-hover:      #EBEAE2;   /* 洼地 hover/按压 */
    --sw-ink:             #121212;   /* 哑光炭黑：标题/图标/实心几何块/主按钮 */
    --sw-ink-hover:       #2E2E2E;   /* 炭黑 hover 档（不用 #000） */
    --sw-text:            #444444;   /* 正文说明 */
    --sw-mute:            #666666;   /* 辅助小字标签 */
    --sw-faint:           #8C8B85;   /* 占位/禁用（同族更浅一档） */
    --sw-hairline:        #E5E3DC;   /* 1px 发丝分隔线 */
    --sw-hairline-strong: #D2D0C7;   /* 强分隔线 */

    /* —— g 系 token 全量重映射（workspace-ui 的蓝色轴 → 无彩色轴） —— */
    --g-navy:        #121212;
    --g-blue:        #121212;                    /* 原品牌蓝 → 炭黑（主按钮/选中/图标） */
    --g-blue-bright: #2E2E2E;                    /* hover 档 */
    --g-blue-sky:    #D2D0C7;                    /* 原浅蓝 → 强分隔灰 */
    --g-blue-tint:   rgba(18, 18, 18, .04);      /* 选区雾底 */
    --g-blue-glow:   rgba(18, 18, 18, .14);      /* 聚焦环 */

    /* —— 文字四阶 —— */
    --g-ink:         #121212;
    --g-graphite:    #121212;
    --g-slate:       #444444;
    --g-mute:        #666666;

    /* —— 面层：米白底 < 纯白卡 < 米白洼地（层次靠明度差而非阴影） —— */
    --g-canvas:      #F7F6F1;
    --g-glass:       #FFFFFF;
    --g-glass-soft:  rgba(255, 255, 255, .92);
    --g-panel:       #F1F0EA;
    --g-panel-deep:  #EBEAE2;
    --g-glass-line:  #FFFFFF;
    --g-rim:         rgba(18, 18, 18, .10);
    --g-rim-strong:  rgba(18, 18, 18, .22);

    /* 阴影：几乎归零，只留弹窗一枚克制的深影 */
    --g-shadow:      0 1px 2px rgba(18, 18, 18, .04);
    --g-shadow-deep: 0 24px 64px rgba(18, 18, 18, .16);
    --g-shadow-tiny: 0 1px 0 rgba(18, 18, 18, .03);
    --g-shadow-blue: 0 2px 8px rgba(18, 18, 18, .12);

    /* 圆角语言：全站统一 2px（瑞士直角化，仅去锐边） */
    --g-radius:      2px;
    --g-radius-md:   2px;
    --g-radius-pill: 2px;

    /* 动效：去弹簧感，瑞士式直线运动 */
    --g-ease-spring: cubic-bezier(.3, .7, .4, 1);
    --g-ease-out:    cubic-bezier(.25, .8, .3, 1);

    /* —— 字体：衬线退场 → 格罗特斯克无衬线（瑞士网格正统） —— */
    --font-display: 'Helvetica Neue', Helvetica, Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif;
    --font-body:    'Helvetica Neue', Helvetica, Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif;

    /* —— 旧「学术色板」token 重映射（残留 var() 引用自动跟随） —— */
    --ink:          #121212;
    --ink-light:    #666666;
    --paper:        #F7F6F1;
    --paper-dark:   #EBEAE2;
    --navy:         #121212;
    --navy-light:   #444444;
    --gold:         #121212;
    --gold-light:   #666666;
    --border:       #E5E3DC;
    --border-dark:  #D2D0C7;
    --success:      #444444;
    --error:        #121212;
    --warning:      #444444;
    --shadow-sm:    0 1px 2px rgba(18, 18, 18, .04);
    --shadow-md:    0 2px 8px rgba(18, 18, 18, .05);
    --shadow-lg:    0 24px 64px rgba(18, 18, 18, .16);
    --shadow-glow:  0 0 0 3px rgba(18, 18, 18, .10);
    --radius:       2px;
    --radius-sm:    2px;
    --radius-lg:    2px;
    --radius-xl:    2px;
    --glass-bg:     rgba(255, 255, 255, .94);
    --glass-border: rgba(18, 18, 18, .08);
    --glass-shadow: 0 8px 32px rgba(18, 18, 18, .06);

    /* —— workspace.css 亮白/暗金 token 重映射（暗金 → 炭黑） —— */
    --ws-bright:        #F7F6F1;
    --ws-surface:       #FFFFFF;
    --ws-surface-dim:   #F1F0EA;
    --ws-gold:          #121212;
    --ws-gold-deep:     #2E2E2E;
    --ws-gold-line:     #121212;
    --ws-ink:           #121212;
    --ws-graphite:      #121212;
    --ws-steel:         #444444;
    --ws-slate:         #444444;
    --ws-mute:          #666666;
    --ws-demoted:       #8C8B85;
    --ws-hairline:      #E5E3DC;
    --ws-hairline-strong: #D2D0C7;
    --ws-blackline:     #121212;
    --ws-ok:            #444444;
    --ws-warn:          #444444;
    --ws-err:           #121212;

    /* —— 语义/信息条（无彩色版） —— */
    --announce-bg:      #FFFFFF;
    --announce-border:  #121212;
    --announce-text:    #121212;
    --warn-bg:          #F7F6F1;
    --warn-border:      #D2D0C7;
    --link:             #121212;
    --link-visited:     #121212;

    color-scheme: light;
}

/* ============================================================================
   画布与氛围：平涂奶油米白，彩色光场/粒子全部退场
   ============================================================================ */
body, .ws-shell, .ws-app {
    background: var(--sw-paper) !important;
    color: var(--sw-text);
}

/* 彩色渐变光场（.ws-app::before）与 three.js 粒子画布 → 直接退场 */
.ws-app::before { content: none !important; }
#ws-bg { display: none !important; }

::selection { background: #121212; color: #FFFFFF; }

a { color: var(--link); }
a:visited { color: var(--link-visited); }
.ws-nav a, .ws-nav a:visited { color: inherit; }

/* 表单控件 accent 统一炭黑（checkbox/radio/进度） */
input[type="checkbox"], input[type="radio"], progress { accent-color: #121212; }

/* ============================================================================
   SVG 图标尺寸体系（原 cyber-light 层承担的功能样式，随换肤迁入本层）
   ============================================================================ */
svg.ico {
    width: 15px; height: 15px;
    flex: 0 0 15px;
    fill: currentColor;
    display: inline-block;
    vertical-align: -2px;
}
svg.ico.stroke { fill: none; stroke: currentColor; }
svg.ico.big { width: 30px; height: 30px; flex-basis: 30px; }
svg.ico.sm { width: 13px; height: 13px; flex-basis: 13px; }

/* 上传大图标（原 📂 位） */
.ws-drop__icon, .ws-drop__icon.ico-big {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px; height: 40px;
    font-size: 0;                 /* 兼容残留文本节点 */
}
.ws-drop__icon svg, .ws-drop__icon.ico-big svg { width: 22px; height: 22px; }

/* 文件徽标（MathType 面板等） */
.file-icon { display: inline-flex; align-items: center; justify-content: center; }
.file-icon svg { width: 26px; height: 26px; }

/* 示例卡片折叠箭头（▶/▼ 文本 → chevron SVG） */
.demo-arrow { display: inline-flex; align-items: center; }
.demo-arrow svg { transition: transform .15s; }
.demo-arrow:not(.open) svg { transform: rotate(-90deg); }

/* 齿轮（工具箱）图标微调 */
.ws-tools__head svg.ico { color: var(--g-slate); }
.gear { font-size: 0; }

/* 滚动条：无彩色细杆 */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: rgba(18, 18, 18, .22); border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: rgba(18, 18, 18, .38); }
::-webkit-scrollbar-track { background: transparent; }

/* ============================================================================
   LAYER 1 · 导航栏 —— 白卡 + 发丝线；品牌块/选中态 = 实心炭黑几何块
   ============================================================================ */
.ws-nav {
    background: rgba(255, 255, 255, .94) !important;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--sw-hairline) !important;
    box-shadow: none !important;
}

/* 品牌 Logo：实心炭黑几何块（哑光，无渐变无辉光） */
.ws-nav__logo {
    background: #121212 !important;
    color: #FFFFFF !important;
    border-radius: 2px;
    box-shadow: none !important;
}
.ws-nav__name { color: #121212; font-weight: 700; letter-spacing: -0.01em; }
.ws-nav__version { color: #666666; }

/* 顶部介绍副标题条 */
.ws-nav-subtitle {
    border-bottom: 1px solid var(--sw-hairline) !important;
    color: var(--sw-text);
}

/* 分组分段条：白底 + 发丝线（去掉玻璃凹槽） */
.ws-nav__controls {
    background: #FFFFFF !important;
    border: 1px solid var(--sw-hairline) !important;
    box-shadow: none !important;
    border-radius: 2px;
}
.ws-nav__controls .ws-meta { border-left: 1px solid var(--sw-hairline); }
.ws-nav__controls .ws-meta__label { color: #666666; }

/* 模式切换滑块：实心炭黑块 + 白字（选中态的唯一强调语言） */
.ws-mode__opt {
    border-radius: 2px;
    color: #666666;
    font-weight: 500;
}
.ws-mode__opt.active { color: #FFFFFF; font-weight: 600; }
.ws-mode__thumb {
    background: #121212 !important;
    border: 0 !important;
    border-radius: 2px;
    box-shadow: none !important;
}

/* 公式输出铭牌：未选中=灰字；选中=实心炭黑块 */
.ws-meta__label { letter-spacing: .18em; }
.ws-plate {
    border-radius: 2px;
    color: #666666;
}
.ws-plate:hover {
    border-color: var(--sw-hairline-strong) !important;
    color: #121212 !important;
    transform: none;
}
.ws-plate.active {
    background: #121212 !important;
    color: #FFFFFF !important;
    border-color: #121212 !important;
    box-shadow: none !important;
}

/* 积分面板(2026-09-06 双统计块): 白底发丝线, 数值炭黑大字, 标签中灰 */
.ws-credits {
    color: #444444 !important;
    background: #FFFFFF !important;
    border: 1px solid var(--sw-hairline-strong) !important;
    border-radius: 2px;
    font-weight: 600;
}
.ws-credits__dot {
    background: #121212 !important;
    box-shadow: none !important;
}
.ws-credits__num { color: #121212 !important; }
.ws-credits__lab { color: #666666 !important; letter-spacing: 2.5px; }
.ws-credits__sep { background: #121212 !important; opacity: .14 !important; }
/* 变动徽标: 瑞士风去底色, 纯文字色 */
.ws-credits__delta { background: none !important; padding: 2px 4px; }
.ws-credits__delta.is-use { color: #a63a2e !important; }
.ws-credits__delta.is-add { color: #2c6e49 !important; }
.ws-credits__guest { color: #666666 !important; }

/* 注册提示行：虚线彩边 → 发丝实线；文字按钮 = 炭黑描边小方块 */
.ws-auth-hint {
    border-top: 1px solid var(--sw-hairline) !important;
    color: var(--sw-text) !important;
}
.ws-auth-hint .ico { color: #121212 !important; }
.ws-auth-hint b { color: #121212 !important; font-weight: 700; }
.ws-auth-hint__btn {
    border: 1px solid var(--sw-hairline-strong);
    background: #FFFFFF !important;
    color: #121212 !important;
    border-radius: 2px;
    font-weight: 600;
}
.ws-auth-hint__btn:hover {
    background: #F1F0EA !important;
    border-color: #121212;
}

/* ============================================================================
   按钮家族 —— 主按钮=实心炭黑；次按钮=白底发丝线；去悬浮弹跳与彩影
   ============================================================================ */
.btn, .btn-sm, .btn-xs { border-radius: 2px; }
.btn:hover, .btn-primary:hover, .btn-secondary:hover, .btn-outline:hover {
    transform: none;
    box-shadow: none;
}
.btn:active, .btn-primary:active, .btn-secondary:active, .btn-outline:active {
    transform: none;
    box-shadow: none;
}

/* 聚焦可见环：2px 炭黑（无障碍，瑞士式精确） */
.btn:focus-visible, .ws-plate:focus-visible, .ws-go:focus-visible,
.ws-mode__opt:focus-visible, .ws-demote:focus-visible, .ws-drop:focus-visible,
.ws-rail-toggle:focus-visible, .ws-tools__head:focus-visible,
a:focus-visible, button:focus-visible {
    outline: 2px solid #121212 !important;
    outline-offset: 2px;
}

/* 普通 / 次 / 描边按钮：白底 + 发丝线 + 中灰字 */
.btn, .btn-secondary, .btn-outline {
    background: #FFFFFF !important;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    color: #444444 !important;
    border-color: var(--sw-hairline-strong) !important;
    box-shadow: none !important;
}
.btn-secondary:hover, .btn-outline:hover {
    background: #F1F0EA !important;
    border-color: #121212 !important;
    color: #121212 !important;
}
.btn.btn-secondary { color: #444444 !important; }

/* 主按钮：实心炭黑块 + 白字 */
.btn-primary {
    background: #121212 !important;
    color: #FFFFFF !important;
    border-color: #121212 !important;
    box-shadow: none !important;
}
.btn-primary:hover {
    background: #2E2E2E !important;
    border-color: #2E2E2E !important;
    box-shadow: none !important;
}
.btn-primary:disabled { background: #D2D0C7 !important; border-color: #D2D0C7 !important; color: #FFFFFF !important; }

/* 加载态可见性修正（2026-08-29 用户反馈「点击转换没有待机转圈」）：
   style-v3 的 is-loading spinner 是白描边，而上面 disabled 态把底色改成
   浅灰 #D2D0C7——白圈在浅灰上不可见；disabled 的 color:#FFF 也盖掉了
   is-loading 的文字隐藏。统一为：加载中文字隐藏 + 深炭色 spinner。 */
.btn.is-loading { color: transparent !important; }
.btn.is-loading::before {
    border-color: rgba(18, 18, 18, .18);
    border-top-color: #121212;
}
.btn-primary.is-loading::after, .btn.is-loading::after {
    border-color: rgba(255, 255, 255, .35);
    border-top-color: #FFFFFF;
}

/* 主按钮加载态 spinner（白描边在炭黑底上） */
.btn.is-loading::after, .btn-primary.is-loading::after {
    border-color: rgba(255, 255, 255, .35);
    border-top-color: #FFFFFF;
}

/* 顶部「购买积分」：与主按钮同一实心炭黑语言 */
.ws-buy-top {
    background: #121212 !important;
    border-color: #121212 !important;
    color: #FFFFFF !important;
    box-shadow: none !important;
    border-radius: 2px;
}
.ws-buy-top:hover { background: #2E2E2E !important; box-shadow: none !important; }

/* 降级文本链（PDF 工具箱等）：浅灰 → hover 炭黑 */
.ws-demote { color: #666666 !important; }
.ws-demote:hover { color: #121212 !important; }
a.ws-demote { border-color: var(--sw-hairline-strong) !important; }

/* ============================================================================
   LAYER 2 · 工作台 —— 左输入（白卡） / 右结果侧栏（纯白卡片画布）
   ============================================================================ */
.ws-input, .ws-console { box-shadow: none !important; }

/* 源码输入区：白卡上的米白洼地 */
.ws-input__title { color: #666666; }
.ws-input__textarea {
    background: #F7F6F1 !important;
    border-color: var(--sw-hairline) !important;
    color: #121212;
    border-radius: 2px;
}
.ws-input__textarea:focus {
    border-color: #121212 !important;
    box-shadow: 0 0 0 3px rgba(18, 18, 18, .08) !important;
}
.ws-input__textarea::placeholder { color: #8C8B85; }
.ws-input__meta { color: #666666; }
.ws-input__meta span { color: #666666; }

/* 通用输入件聚焦（textarea/input/select） */
.ws-input__textarea:focus, textarea:focus, input[type="text"]:focus,
input[type="password"]:focus, select:focus {
    border-color: #121212 !important;
    box-shadow: 0 0 0 3px rgba(18, 18, 18, .08) !important;
}

/* 文件拖拽区：米白洼地 + 炭黑虚线 */
.ws-drop, .file-drop-zone {
    background: #F7F6F1 !important;
    border-color: var(--sw-hairline-strong) !important;
    border-radius: 2px;
}
.ws-drop:hover, .ws-drop.drag-over, .file-drop-zone:hover {
    border-color: #121212 !important;
    background: #F1F0EA !important;
}
.ws-drop__icon, .ws-drop__icon.ico-big {
    color: #121212 !important;
    background: #FFFFFF !important;
    border: 1px solid var(--sw-hairline-strong) !important;
    border-radius: 2px;
}
.ws-drop__hint { color: #121212; }
.ws-drop__sub { color: #666666; }
.ws-drop__status {
    color: #121212 !important;
    background: #F1F0EA !important;
    border: 1px solid var(--sw-hairline-strong) !important;
    border-radius: 2px;
}
.ws-spinner { border-color: rgba(18, 18, 18, .15); border-top-color: #121212; }

/* 上传/处理中的spinner（全局兜底） */
[class*="spinner"] {
    border-color: rgba(18, 18, 18, .15);
    border-top-color: #121212;
}

/* —— 右侧结果侧栏：纯白卡片，仅靠发丝线与米白洼地分层 —— */
.ws-console__head { border-bottom: 1px solid var(--sw-hairline); }
.ws-console__title { color: #121212; font-weight: 700; letter-spacing: -0.01em; }
.ws-rail-toggle {
    color: #666666 !important;
    border-color: var(--sw-hairline-strong) !important;
    background: #FFFFFF !important;
    border-radius: 2px;
}
.ws-rail-toggle:hover { color: #121212 !important; border-color: #121212 !important; }
.ws-rail-reopen {
    background: #FFFFFF !important;
    border: 1px solid var(--sw-hairline-strong) !important;
    color: #444444 !important;
    border-radius: 2px;
    box-shadow: none !important;
}
.ws-rail-reopen:hover { color: #121212; border-color: #121212 !important; }

/* 统计参数片：米白洼地，标签浅灰大写字距，数值炭黑 */
.ws-param li {
    background: #F1F0EA;
    border: 1px solid transparent;
    border-radius: 2px;
}
.ws-param dt { color: #666666; }
.ws-param dd { color: #121212; }
.ws-param__empty { color: #666666; }

/* 提示卡：去彩底彩边；b 一律炭黑加重（字号/字重做强调） */
.ws-console__hint {
    background: #FFFFFF;
    border: 1px solid var(--sw-hairline);
    border-radius: 2px;
    color: #666666;
}
.ws-console__hint strong { color: #121212; }
.ws-console__hint b { color: #121212 !important; font-weight: 700; }
.ws-console__hint.ws-console__ar {
    background: #F7F6F1 !important;
    border-left: 3px solid #121212 !important;
}

/* 「下载 HTML 预览」：免费二级动作 = 白底描边 */
.ws-console__live .ws-download-btn {
    background: #FFFFFF !important;
    color: #121212 !important;
    border: 1px solid var(--sw-hairline-strong) !important;
    border-radius: 2px;
    box-shadow: none !important;
}
.ws-console__live .ws-download-btn:hover {
    background: #F1F0EA !important;
    border-color: #121212 !important;
}
.ws-console__live .ws-download-btn:disabled { color: #8C8B85 !important; }

/* 主行动按钮：整块实心炭黑几何（全页唯一的大色块） */
.ws-go {
    background: #121212 !important;
    border: 1px solid #121212 !important;
    color: #FFFFFF !important;
    border-radius: 2px;
    box-shadow: none !important;
}
.ws-go::before { content: none !important; }
.ws-go:hover {
    background: #2E2E2E !important;
    transform: none !important;
    box-shadow: none !important;
}
.ws-go:disabled { opacity: .45; filter: none; }
.ws-go__main { color: #FFFFFF !important; font-weight: 700; }
.ws-go__sub { color: rgba(255, 255, 255, .72) !important; }
.ws-go.is-loading::after { border-color: rgba(255, 255, 255, .35); border-top-color: #FFFFFF; }

/* 报告区：白卡 + 发丝线；标签浅灰大写 */
.ws-console__report .report-section {
    background: #FFFFFF !important;
    border: 1px solid var(--sw-hairline) !important;
    box-shadow: none !important;
    border-radius: 2px;
}
.ws-console__report .preview-label { color: #666666 !important; }
.report-content { color: #444444; }
.report-content b, .report-content strong { color: #121212; }

/* 空状态：米白洼地 + 炭黑虚线框 */
.ws-console__empty {
    border-color: rgba(18, 18, 18, .25) !important;
    background: #F7F6F1 !important;
    border-radius: 2px;
}
.ws-console__empty svg { color: #666666 !important; }
.ws-console__empty-title { color: #121212 !important; }
.ws-console__empty-desc { color: #666666 !important; }

/* ============================================================================
   LAYER 2 附属 · 工具抽屉（PDF 工具箱 / MathType / AI 文本）
   ============================================================================ */
.ws-tools {
    background: #FFFFFF !important;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    border: 1px solid var(--sw-hairline) !important;
    box-shadow: none !important;
    border-radius: 2px;
}
.ws-tools__head:hover { background: #F1F0EA; }
.ws-tools__head .ws-tools__title { color: #444444; }
.ws-tools__chevron { color: #666666; }
.ws-tools__body { border-top: 1px solid var(--sw-hairline) !important; }

/* 工具页签：白底灰字；active=实心炭黑 */
.tab-btn, .ws-tools .tab-btn.ws-demote {
    background: #FFFFFF !important;
    color: #666666 !important;
    border: 1px solid var(--sw-hairline-strong) !important;
    border-radius: 2px;
    box-shadow: none !important;
}
.tab-btn:hover { color: #121212 !important; border-color: #121212 !important; }
.tab-btn.active {
    background: #121212 !important;
    color: #FFFFFF !important;
    border-color: #121212 !important;
}

/* PDF 工具卡 / 表单 */
.pdf-card {
    background: #FFFFFF !important;
    border: 1px solid var(--sw-hairline) !important;
    box-shadow: none !important;
    border-radius: 2px;
}
.pdf-card h4 { color: #121212 !important; }
.pdf-desc { color: #666666 !important; }
.file-info, .file-list { background: #F7F6F1 !important; border-color: var(--sw-hairline) !important; }
.file-list-header { color: #121212; }
.input-label { color: #121212; }
.char-count { color: #666666; }
.demo-section-desc { color: #666666; }
textarea, input[type="text"], input[type="password"], select {
    background: #FFFFFF;
    border-color: var(--sw-hairline-strong);
    color: #121212;
    border-radius: 2px;
}
textarea::placeholder, input::placeholder { color: #8C8B85; }
/* style-v3 用 ID 选择器给三个主输入框定了暖棕斜体占位符，这里同权重压回 */
textarea#latexInput::placeholder, textarea#aiTextInput::placeholder, textarea#mtLatexInput::placeholder {
    color: #8C8B85 !important;
    font-style: normal;
}

/* ============================================================================
   LAYER 3 · 状态栏 / 极简开关
   ============================================================================ */
.ws-status {
    background: rgba(255, 255, 255, .92) !important;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border-top: 1px solid var(--sw-hairline) !important;
    box-shadow: none !important;
}
.ws-minswitch__track { background: var(--sw-hairline-strong); border-radius: 999px; }
.ws-minswitch__thumb { background: #FFFFFF; }
.ws-minswitch input:checked + .ws-minswitch__track { background: #121212; }
.ws-minswitch__text { color: #666666; }

/* ============================================================================
   弹窗 / Toast / 公告 / 语法警告 —— 全部无彩色
   ============================================================================ */
.modal-overlay { background: rgba(18, 18, 18, .44) !important; }
.modal-card, .dropdown-menu {
    background: #FFFFFF !important;
    border: 1px solid var(--sw-hairline-strong) !important;
    border-radius: 2px !important;
    box-shadow: 0 24px 64px rgba(18, 18, 18, .16) !important;
}
.modal-title { color: #121212; }
.modal-close { color: #666666; }
.modal-close:hover { color: #121212; }
.modal-error { color: #121212; font-weight: 600; }
.dropdown-item { color: #444444; }
.dropdown-item:hover { background: #F1F0EA; }

.toast {
    background: #FFFFFF !important;
    color: #444444 !important;
    border: 1px solid var(--sw-hairline-strong) !important;
    border-left: 3px solid #121212 !important;
    border-radius: 2px !important;
    box-shadow: 0 12px 32px rgba(18, 18, 18, .12) !important;
}
.toast.success { border-left: 3px solid #121212 !important; }
.toast.warning { border-left: 3px solid #444444 !important; }
.toast.info    { border-left: 3px solid #666666 !important; }
.toast b, .toast strong { color: #121212; }

/* —— 错误态：无彩色体系内的最高警示级 = 实心炭黑反白块 —— */
.toast.error {
    background: #121212 !important;
    color: #FFFFFF !important;
    border: 1px solid #121212 !important;
    border-left: 4px solid #FFFFFF !important;
    box-shadow: 0 12px 32px rgba(18, 18, 18, .28) !important;
}
.toast.error b, .toast.error strong, .toast.error .toast-icon { color: #FFFFFF !important; }

/* 弹窗内错误行（登录/注册/反馈校验失败）：白卡上的炭黑反白条 */
.modal-error {
    background: #121212 !important;
    color: #FFFFFF !important;
    font-weight: 600;
    padding: 9px 14px;
    border-radius: 2px;
    text-align: left;
    box-shadow: none;
}
.modal-error b, .modal-error strong { color: #FFFFFF !important; }

/* 反向转换错误面板（HTML 内联红底 → 炭黑反白，错误输出保持可读） */
#w2lErrorPanel {
    background: #121212 !important;
    border: 1px solid #121212 !important;
    color: #FFFFFF !important;
}

/* 公告条 / 语法警告条 / 批量详情 / 预览井（HTML 内联色 → 主题色） */
#siteAnnounce {
    background: #FFFFFF !important;
    border-bottom: 2px solid #121212 !important;
    color: #121212 !important;
}
#syntaxWarnings {
    background: #F7F6F1 !important;
    border: 1px solid var(--sw-hairline-strong) !important;
    border-left: 3px solid #121212 !important;
    color: #444444;
}
#batchDetail {
    background: #F7F6F1 !important;
    border-color: var(--sw-hairline) !important;
    color: #444444 !important;
}
#mtPreview { background: #F7F6F1 !important; border-color: var(--sw-hairline) !important; }

/* ============================================================================
   预览文档区（docx-preview 渲染纸面）
   ============================================================================ */
.wsdoc { background: #E9E7E0 !important; }
.wsdoc .docx-wrapper { background: transparent; }
.ws-preview-page__body .latex-table th { background: #F1F0EA; color: #121212; }

/* ============================================================================
   示例卡片区（快速体验 / 参考案例）
   ============================================================================ */
.ws-shell .demo-cards-section {
    background: #F1F0EA !important;
    border-color: var(--sw-hairline) !important;
}
.ws-shell .demo-card {
    background: #FFFFFF !important;
    border-color: var(--sw-hairline) !important;
    border-radius: 2px;
}
.demo-card:hover {
    border-color: #121212 !important;
    box-shadow: none !important;
    transform: none;
}
.demo-category-label { color: #121212; }
.demo-category-hint { color: #666666; }
.demo-card-name { color: #121212 !important; }
.demo-card-desc, .demo-card-meta { color: #666666 !important; }
.demo-card-btn { color: #121212 !important; font-weight: 700; }
/* 等级/免费徽标（JS 内联金色/绿色 → 一律无彩色） */
.demo-card-level { background: #121212 !important; color: #FFFFFF !important; }
.demo-card-free, .ws-shell .demo-card-free,
.demo-card-ref .demo-card-free {
    background: #F1F0EA !important;
    color: #444444 !important;
    border: 1px solid var(--sw-hairline);
}
/* 参考案例卡：金/蓝渐变 → 2px 炭黑描边白卡（页面唯一的加重卡） */
.ws-shell .demo-card-ref {
    border: 2px solid #121212 !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
}
.ws-shell .demo-card-ref:hover {
    border-color: #121212 !important;
    box-shadow: none !important;
}
.demo-card-ref .demo-card-dl-btn {
    background: #121212 !important;
    color: #FFFFFF !important;
}
.demo-card-ref .demo-card-dl-btn:hover { background: #2E2E2E !important; }

/* 预览文档内的展示公式井/引用色（蓝灰 → 米白洼地/炭黑） */
.ws-preview-page__body .latex-display-math {
    background: #F7F6F1 !important;
    border-color: var(--sw-hairline) !important;
}
.demo-section-header { color: #444444; }
.demo-section-title { color: #121212; font-weight: 600; }
.demo-section-badge {
    color: #666666 !important;
    background: #F1F0EA !important;
    border: 1px solid var(--sw-hairline) !important;
    border-radius: 2px;
}
.demo-card-skeleton { background: #F1F0EA; }
.skeleton-line { background: var(--sw-hairline-strong); }
