body {
  --dsw-linear-gradient-think: linear-gradient(180deg, #fff 20.19%, rgba(255, 255, 255, 0) 100%);
  --dsw-linear-think-select: linear-gradient(180deg, #f5f6f7 20.19%, rgba(245, 246, 247, 0) 100%);
  /* 阴影 */
  --dsw-shadow-lv1: 0 2px 4px 0 rgba(0, 0, 0, 0.05);
  --dsw-shadow-lv1-blur: 0 4px 12px 0 rgba(0, 0, 0, 0.02);
  --dsw-shadow-lv2: 0 4px 12px 0 rgba(0, 0, 0, 0.02), 0 2px 8px 0 rgba(0, 0, 0, 0.04);
  --dsw-shadow-lv3:
    0 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 4px 0 rgba(0, 0, 0, 0.02), 0 12px 32px 0 rgba(0, 0, 0, 0.08);
  /* blur filter */
  --dsw-mask-blur: blur(2px);
}

body[data-ds-dark-theme] {
  --dsw-linear-gradient-think: linear-gradient(180deg, #151517 20.19%, rgba(21, 21, 23, 0) 100%);
  --dsw-linear-think-select: linear-gradient(180deg, #232325 20.19%, rgba(35, 35, 37, 0) 100%);
}

/* ---------- 字体 ---------- */
/* 由 @deepseek-figma-plugin/custom-variable-name 插件导出 */
/* Markdown 阶梯整体按 0.875（正文 16 → 14）等比缩放，四舍五入到整数像素；
   重新从 Figma 导出时需要保留这一缩放。 */
/* 正文字号调节：--dsh-content-font-size 由主题 bootstrap 与 ThemePresenter
   写在 body 上（整数 px，12–17，默认 14）。标题与正文变体按同一像素增量
   （--dsh-content-font-delta）随动，保持层级。低一档文本（think、工具/bash
   行的标题与摘要、markdown 表格、流内次级说明等）统一读
   --dsh-content-font-size-secondary：设置 ≤14 时为设置值 −1，>14 时为
   设置值 −2（12→11、13→12、14→13、15→13、16→14、17→15）。式中
   max(13px,·) 的作用是让低设置取 −1 而非 −2，不是结果下限——12 设置下
   层级触底 11px。small、code 属于密集次级文本，保持固定。 */
body {
  --dsh-content-font-delta: calc(var(--dsh-content-font-size, 14px) - 14px);
  --dsh-content-font-size-secondary: min(calc(var(--dsh-content-font-size, 14px) - 1px), max(13px, calc(var(--dsh-content-font-size, 14px) - 2px)));
  --dsh-content-font-delta-secondary: calc(var(--dsh-content-font-size-secondary) - 13px);

  --dsw-font-markdown-h1: 700 calc(21px + var(--dsh-content-font-delta)) / calc(30px + var(--dsh-content-font-delta)) var(--dsw-font-family);
  --dsw-font-markdown-h1-font-family: var(--dsw-font-family);
  --dsw-font-markdown-h1-font-weight: 700;
  --dsw-font-markdown-h1-line-height: calc(30px + var(--dsh-content-font-delta));
  --dsw-font-markdown-h1-font-size: calc(21px + var(--dsh-content-font-delta));
  --dsw-font-markdown-h1-font-style: normal;

  --dsw-font-markdown-h2: 700 calc(19px + var(--dsh-content-font-delta)) / calc(28px + var(--dsh-content-font-delta)) var(--dsw-font-family);
  --dsw-font-markdown-h2-font-family: var(--dsw-font-family);
  --dsw-font-markdown-h2-font-weight: 700;
  --dsw-font-markdown-h2-line-height: calc(28px + var(--dsh-content-font-delta));
  --dsw-font-markdown-h2-font-size: calc(19px + var(--dsh-content-font-delta));
  --dsw-font-markdown-h2-font-style: normal;

  --dsw-font-markdown-h3: 700 calc(18px + var(--dsh-content-font-delta)) / calc(26px + var(--dsh-content-font-delta)) var(--dsw-font-family);
  --dsw-font-markdown-h3-font-family: var(--dsw-font-family);
  --dsw-font-markdown-h3-font-weight: 700;
  --dsw-font-markdown-h3-line-height: calc(26px + var(--dsh-content-font-delta));
  --dsw-font-markdown-h3-font-size: calc(18px + var(--dsh-content-font-delta));
  --dsw-font-markdown-h3-font-style: normal;

  --dsw-font-markdown-h4: 600 var(--dsh-content-font-size, 14px) / calc(24px + var(--dsh-content-font-delta)) var(--dsw-font-family);
  --dsw-font-markdown-h4-font-family: var(--dsw-font-family);
  --dsw-font-markdown-h4-font-weight: 600;
  --dsw-font-markdown-h4-line-height: calc(24px + var(--dsh-content-font-delta));
  --dsw-font-markdown-h4-font-size: var(--dsh-content-font-size, 14px);
  --dsw-font-markdown-h4-font-style: normal;

  --dsw-font-markdown-base: var(--dsh-content-font-size, 14px) / calc(24px + var(--dsh-content-font-delta)) var(--dsw-font-family);
  --dsw-font-markdown-base-font-family: var(--dsw-font-family);
  --dsw-font-markdown-base-font-weight: 400;
  --dsw-font-markdown-base-line-height: calc(24px + var(--dsh-content-font-delta));
  --dsw-font-markdown-base-font-size: var(--dsh-content-font-size, 14px);
  --dsw-font-markdown-base-font-style: normal;

  --dsw-font-markdown-base-strong: 600 var(--dsh-content-font-size, 14px) / calc(24px + var(--dsh-content-font-delta)) var(--dsw-font-family);
  --dsw-font-markdown-base-strong-font-family: var(--dsw-font-family);
  --dsw-font-markdown-base-strong-font-weight: 600;
  --dsw-font-markdown-base-strong-line-height: calc(24px + var(--dsh-content-font-delta));
  --dsw-font-markdown-base-strong-font-size: var(--dsh-content-font-size, 14px);
  --dsw-font-markdown-base-strong-font-style: normal;

  --dsw-font-markdown-base-italic: italic var(--dsh-content-font-size, 14px) / calc(24px + var(--dsh-content-font-delta)) var(--dsw-font-family);
  --dsw-font-markdown-base-italic-font-family: var(--dsw-font-family);
  --dsw-font-markdown-base-italic-font-weight: 400;
  --dsw-font-markdown-base-italic-line-height: calc(24px + var(--dsh-content-font-delta));
  --dsw-font-markdown-base-italic-font-size: var(--dsh-content-font-size, 14px);
  --dsw-font-markdown-base-italic-font-style: italic;

  --dsw-font-markdown-base-strong-italic: italic 600 var(--dsh-content-font-size, 14px) / calc(24px + var(--dsh-content-font-delta)) var(--dsw-font-family);
  --dsw-font-markdown-base-strong-italic-font-family: var(--dsw-font-family);
  --dsw-font-markdown-base-strong-italic-font-weight: 600;
  --dsw-font-markdown-base-strong-italic-line-height: calc(24px + var(--dsh-content-font-delta));
  --dsw-font-markdown-base-strong-italic-font-size: var(--dsh-content-font-size, 14px);
  --dsw-font-markdown-base-strong-italic-font-style: italic;

  --dsw-font-markdown-table: var(--dsh-content-font-size-secondary, 13px)/calc(22px + var(--dsh-content-font-delta-secondary, 0px)) var(--dsw-font-family);
  --dsw-font-markdown-table-font-family: var(--dsw-font-family);
  --dsw-font-markdown-table-font-weight: 400;
  --dsw-font-markdown-table-line-height: calc(22px + var(--dsh-content-font-delta-secondary, 0px));
  --dsw-font-markdown-table-font-size: var(--dsh-content-font-size-secondary, 13px);
  --dsw-font-markdown-table-font-style: normal;

  --dsw-font-markdown-table-head: 500 var(--dsh-content-font-size-secondary, 13px)/calc(22px + var(--dsh-content-font-delta-secondary, 0px)) var(--dsw-font-family);
  --dsw-font-markdown-table-head-font-family: var(--dsw-font-family);
  --dsw-font-markdown-table-head-font-weight: 500;
  --dsw-font-markdown-table-head-line-height: calc(22px + var(--dsh-content-font-delta-secondary, 0px));
  --dsw-font-markdown-table-head-font-size: var(--dsh-content-font-size-secondary, 13px);
  --dsw-font-markdown-table-head-font-style: normal;

  --dsw-font-markdown-small: 12px/20px var(--dsw-font-family);
  --dsw-font-markdown-small-font-family: var(--dsw-font-family);
  --dsw-font-markdown-small-font-weight: 400;
  --dsw-font-markdown-small-line-height: 20px;
  --dsw-font-markdown-small-font-size: 12px;
  --dsw-font-markdown-small-font-style: normal;

  --dsw-font-markdown-small-strong: 600 12px/20px var(--dsw-font-family);
  --dsw-font-markdown-small-strong-font-family: var(--dsw-font-family);
  --dsw-font-markdown-small-strong-font-weight: 600;
  --dsw-font-markdown-small-strong-line-height: 20px;
  --dsw-font-markdown-small-strong-font-size: 12px;
  --dsw-font-markdown-small-strong-font-style: normal;

  --dsw-font-markdown-small-italic: italic 12px/20px var(--dsw-font-family);
  --dsw-font-markdown-small-italic-font-family: var(--dsw-font-family);
  --dsw-font-markdown-small-italic-font-weight: 400;
  --dsw-font-markdown-small-italic-line-height: 20px;
  --dsw-font-markdown-small-italic-font-size: 12px;
  --dsw-font-markdown-small-italic-font-style: italic;

  --dsw-font-markdown-small-strong-italic: italic 600 12px/20px var(--dsw-font-family);
  --dsw-font-markdown-small-strong-italic-font-family: var(--dsw-font-family);
  --dsw-font-markdown-small-strong-italic-font-weight: 600;
  --dsw-font-markdown-small-strong-italic-line-height: 20px;
  --dsw-font-markdown-small-strong-italic-font-size: 12px;
  --dsw-font-markdown-small-strong-italic-font-style: italic;

  --dsw-font-markdown-code: 12px/19px var(--ds-font-family-code);
  --dsw-font-markdown-code-font-family: var(--ds-font-family-code);
  --dsw-font-markdown-code-font-weight: 400;
  --dsw-font-markdown-code-line-height: 19px;
  --dsw-font-markdown-code-font-size: 12px;
  --dsw-font-markdown-code-font-style: normal;

  --dsw-font-markdown-code-block: 11px/19px var(--ds-font-family-code);
  --dsw-font-markdown-code-block-font-family: var(--ds-font-family-code);
  --dsw-font-markdown-code-block-font-weight: 400;
  --dsw-font-markdown-code-block-line-height: 19px;
  --dsw-font-markdown-code-block-font-size: 11px;
  --dsw-font-markdown-code-block-font-style: normal;

  /* 手工补充（非插件导出）：tool row 展开卡片内的小号 code 字体。 */
  --dsw-font-markdown-code-block-small: 11px/16px var(--ds-font-family-code);
  --dsw-font-markdown-code-block-small-font-family: var(--ds-font-family-code);
  --dsw-font-markdown-code-block-small-font-weight: 400;
  --dsw-font-markdown-code-block-small-line-height: 16px;
  --dsw-font-markdown-code-block-small-font-size: 11px;
  --dsw-font-markdown-code-block-small-font-style: normal;

  --dsw-font-xl-24: 600 24px/32px var(--dsw-font-family);
  --dsw-font-xl-24-font-family: var(--dsw-font-family);
  --dsw-font-xl-24-font-weight: 600;
  --dsw-font-xl-24-line-height: 32px;
  --dsw-font-xl-24-font-size: 24px;
  --dsw-font-xl-24-font-style: normal;

  --dsw-font-l-20: 500 20px/28px var(--dsw-font-family);
  --dsw-font-l-20-font-family: var(--dsw-font-family);
  --dsw-font-l-20-font-weight: 500;
  --dsw-font-l-20-line-height: 28px;
  --dsw-font-l-20-font-size: 20px;
  --dsw-font-l-20-font-style: normal;

  --dsw-font-m-18: 500 16px/28px var(--dsw-font-family);
  --dsw-font-m-18-font-family: var(--dsw-font-family);
  --dsw-font-m-18-font-weight: 500;
  --dsw-font-m-18-line-height: 28px;
  --dsw-font-m-18-font-size: 16px;
  --dsw-font-m-18-font-style: normal;

  --dsw-font-base-16: 16px/24px var(--dsw-font-family);
  --dsw-font-base-16-font-family: var(--dsw-font-family);
  --dsw-font-base-16-font-weight: 400;
  --dsw-font-base-16-line-height: 24px;
  --dsw-font-base-16-font-size: 16px;
  --dsw-font-base-16-font-style: normal;

  --dsw-font-base-strong-16: 500 16px/24px var(--dsw-font-family);
  --dsw-font-base-strong-16-font-family: var(--dsw-font-family);
  --dsw-font-base-strong-16-font-weight: 500;
  --dsw-font-base-strong-16-line-height: 24px;
  --dsw-font-base-strong-16-font-size: 16px;
  --dsw-font-base-strong-16-font-style: normal;

  --dsw-font-s-14: 14px/22px var(--dsw-font-family);
  --dsw-font-s-14-font-family: var(--dsw-font-family);
  --dsw-font-s-14-font-weight: 400;
  --dsw-font-s-14-line-height: 22px;
  --dsw-font-s-14-font-size: 14px;
  --dsw-font-s-14-font-style: normal;

  --dsw-font-s-strong-14: 500 14px/22px var(--dsw-font-family);
  --dsw-font-s-strong-14-font-family: var(--dsw-font-family);
  --dsw-font-s-strong-14-font-weight: 500;
  --dsw-font-s-strong-14-line-height: 22px;
  --dsw-font-s-strong-14-font-size: 14px;
  --dsw-font-s-strong-14-font-style: normal;

  --dsw-font-xs-13: 13px/20px var(--dsw-font-family);
  --dsw-font-xs-13-font-family: var(--dsw-font-family);
  --dsw-font-xs-13-font-weight: 400;
  --dsw-font-xs-13-line-height: 20px;
  --dsw-font-xs-13-font-size: 13px;
  --dsw-font-xs-13-font-style: normal;

  --dsw-font-xs-strong-13: 500 13px/20px var(--dsw-font-family);
  --dsw-font-xs-strong-13-font-family: var(--dsw-font-family);
  --dsw-font-xs-strong-13-font-weight: 500;
  --dsw-font-xs-strong-13-line-height: 20px;
  --dsw-font-xs-strong-13-font-size: 13px;
  --dsw-font-xs-strong-13-font-style: normal;

  --dsw-font-xxs-12: 12px/18px var(--dsw-font-family);
  --dsw-font-xxs-12-font-family: var(--dsw-font-family);
  --dsw-font-xxs-12-font-weight: 400;
  --dsw-font-xxs-12-line-height: 18px;
  --dsw-font-xxs-12-font-size: 12px;
  --dsw-font-xxs-12-font-style: normal;

  --dsw-font-xxs-strong-12: 500 12px/18px var(--dsw-font-family);
  --dsw-font-xxs-strong-12-font-family: var(--dsw-font-family);
  --dsw-font-xxs-strong-12-font-weight: 500;
  --dsw-font-xxs-strong-12-line-height: 18px;
  --dsw-font-xxs-strong-12-font-size: 12px;
  --dsw-font-xxs-strong-12-font-style: normal;

  --dsw-font-xxxs-11: 11px/14px var(--dsw-font-family);
  --dsw-font-xxxs-11-font-family: var(--dsw-font-family);
  --dsw-font-xxxs-11-font-weight: 400;
  --dsw-font-xxxs-11-line-height: 14px;
  --dsw-font-xxxs-11-font-size: 11px;
  --dsw-font-xxxs-11-font-style: normal;

  --dsw-font-xxxs-strong-11: 500 11px/14px var(--dsw-font-family);
  --dsw-font-xxxs-strong-11-font-family: var(--dsw-font-family);
  --dsw-font-xxxs-strong-11-font-weight: 500;
  --dsw-font-xxxs-strong-11-line-height: 14px;
  --dsw-font-xxxs-strong-11-font-size: 11px;
  --dsw-font-xxxs-strong-11-font-style: normal;
}
