/*
 * SpaceSonar 设计令牌 v2.3 正式版（2026-10-12；v1.2 协作台 2026-09-26 冻结，v1.0 随标识“取景框”定稿冻结）
 * 用途：记录已选定方向（A 协作台为主体，报告页借用 C 画布的检查器与手机断点）的颜色、字体、间距、圆角、阴影与标识令牌。
 * 状态：前端副本为 static/research/tokens.css，两处内容保持一致；workspace.css 的旧语义变量已映射到本文件令牌。
 * 规则：浅色为默认，深色在 [data-theme="dark"] 下覆盖同名令牌（v2.2 起只在屏幕上生效，打印一律为浅色）；
 *       .ss-light 子树（演示幻灯与 A4 纸面）重新声明浅色令牌，深色主题下也保持浅色；组件只引用令牌，不写死颜色。
 * 变更：冻结后如需改动，先在 20-design/README.md 记录原因并升版本号，不直接覆盖。
 * v1.1：新增 --ss-primary-text。#3370FF 与白字对比度 4.28:1、在浅蓝底上 3.55:1，不足 4.5:1；
 *       链接、选中文字和按钮底色改用 --ss-primary-text，按钮文字用 --ss-on-primary-text（深色主题为深字）；
 *       #3370FF 保留给标识、选中框、进度条与图形。按 WCAG 公式计算：浅色 5.84:1，深色 6.1–6.69:1。
 * v1.2：浅色 --ss-warn-text #B35C00 在 warn-soft、warn-softer、页面底色上仅 4.03、4.47、4.36:1，
 *       --ss-danger-text #C9302C 在 danger-soft 上 4.35:1；同色相加深为 #A45400、#C12E2A，
 *       在各浅色底上不低于 4.65:1。深色主题原值均高于 6.5:1，不变。
 * v2.0（2026-10-12，正式版，待确认后才上线）：用途改为正式的企业级演示、搜罗和汇报。
 *       令牌名全部保留（图表脚本和旧样式靠它们取色），只换取值：深海军蓝 #13294B 作文字主色与主按钮，
 *       声纳青 #0A7F84 作图形主色、标识声纳与选中；状态色收敛为墨绿、赭黄、砖红，计划与研究判断改为石板灰。
 *       新增 --ss-navy*（品牌顶栏与演示封面）、--ss-accent*（引用与链接）、--ss-font-serif（标题与关键数字）。
 *       对比度按 WCAG 公式核算：正文与状态文字在各自底色上不低于 5.3:1，--ss-faint 只用于弱化信息与图形。
 * v2.1（2026-10-12，正式版第 1 轮，待确认后才上线）：外壳改为单条海军蓝顶栏，去掉左侧应用栏与手机底部导航。
 *       --ss-topbar-height 48px → 54px；新增海军蓝底上的半透明白 --ss-on-navy-line / --ss-on-navy-fill / --ss-on-navy-fill-hover
 *       （顶栏搜索框、头像描边与品牌分隔线）；新增报告版式令牌 --ss-report-label、--ss-report-rail-narrow。
 *       --ss-rail-width 与 --ss-rail 不再有组件使用，名称保留（已废弃）。
 * v2.2（2026-10-12，正式版第 2 轮“演示与 A4 汇报版”，待确认后才上线）：浅色块改为 :root, .ss-light（幻灯与纸面在深色主题下仍为浅色）；
 *       深色块包进 @media screen，所有打印都用浅色令牌；新增 --ss-desk（A4 预览的桌面底色）与 --ss-scrim-strong（演示证据层的深遮罩）。
 * v2.3（2026-10-15，产品化第 5 步“灵动与设计感”，待确认后才上线）：新增动效令牌 --ss-dur-1/2/3（120 / 200 / 320ms）、
 *       --ss-ease-out（减速进入）、--ss-ease-in-out（往返）与 --ss-rise（进入时的上移距离 6px）；不改任何颜色。
 *       动效只在 prefers-reduced-motion: no-preference 下生效（static/research/motion.css），减弱动效时全部关闭。
 */

:root, .ss-light {
  /* 中性色：页面底色、表面、分隔线与文字层级 */
  --ss-bg: #F5F7FA;
  --ss-surface: #FFFFFF;
  --ss-surface-2: #F8F9FB;
  --ss-rail: #EEF1F5;
  --ss-line: #DDE2E8;
  --ss-line-2: #EBEEF2;
  --ss-ink: #0F1B2D;
  --ss-ink-2: #2E3B4E;
  --ss-muted: #5A6779;
  --ss-faint: #8A95A5;

  /* 主色：操作、链接、选中 */
  --ss-primary: #0A7F84;
  --ss-primary-text: #13294B;
  --ss-primary-hover: #1D3A63;
  --ss-primary-soft: #E8EDF4;
  --ss-primary-softer: #F3F6FA;
  --ss-on-primary: #FFFFFF;
  --ss-on-primary-text: #FFFFFF;

  /* 事实状态：已核验 / 待核验与候选 / 已拒绝 / 研究判断 / 计划 */
  --ss-ok: #2F7D57;
  --ss-ok-text: #1E6A45;
  --ss-ok-soft: #E3F1E8;
  --ss-warn: #B07A1E;
  --ss-warn-text: #7D4F00;
  --ss-warn-soft: #FBF0DC;
  --ss-warn-border: #E0C891;
  --ss-warn-softer: #FDF7EC;
  --ss-danger: #C0392B;
  --ss-danger-text: #A12B1F;
  --ss-danger-soft: #FBE9E6;
  --ss-judge: #5A6779;
  --ss-judge-text: #34465F;
  --ss-judge-soft: #EEF1F5;
  --ss-plan: #7F8DA3;
  --ss-plan-text: #34465F;
  --ss-plan-soft: #EEF1F5;

  /* 证据强度条：全文支持 / 仅摘要 / 研究判断 / 无来源 */
  --ss-ev-full: #2F7D57;
  --ss-ev-summary: #C9A24B;
  --ss-ev-judge: #7F8DA3;
  --ss-ev-none: #C5CDD7;

  /* 标识：四角随文字色；声纳固定为声纳青，深浅主题都不变；24px 以下改用小尺寸版 */
  --ss-brand-mark: var(--ss-ink);
  --ss-brand-signal: #0A7F84;
  --ss-brand-small-max: 24px;

  /* 品牌栏：深海军蓝，用于顶栏、主按钮与演示封面（v2.0 新增） */
  --ss-navy: #13294B;
  --ss-navy-2: #1D3A63;
  --ss-navy-3: #0C1C35;
  --ss-on-navy: #FFFFFF;
  --ss-on-navy-muted: #B9C6D8;
  /* 海军蓝底上的半透明白：分隔线与描边 / 输入框底 / 悬停底（v2.1 新增） */
  --ss-on-navy-line: rgba(255, 255, 255, .22);
  --ss-on-navy-fill: rgba(255, 255, 255, .08);
  --ss-on-navy-fill-hover: rgba(255, 255, 255, .14);

  /* 强调色：声纳青，只用于引用、链接、选中与“新”（v2.0 新增） */
  --ss-accent: #0A7F84;
  --ss-accent-text: #07696D;
  --ss-accent-soft: #E6F3F3;
  --ss-accent-on-navy: #5CCBCF;

  /* 原文引句高亮 */
  --ss-highlight: #D7ECEC;

  /* 字体：正文与界面用黑体，标题与关键数字用宋体（自托管），等宽只用于极小编号与快捷键 */
  --ss-font: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  --ss-font-serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", serif;
  --ss-font-mono: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;
  --ss-text-xs: 12px;
  --ss-text-sm: 13px;
  --ss-text-md: 14px;
  --ss-text-lg: 16px;
  --ss-text-xl: 20px;
  --ss-text-2xl: 24px;
  --ss-text-3xl: 30px;
  --ss-leading: 1.57;
  --ss-leading-read: 1.75;

  /* 间距：4px 基准 */
  --ss-space-1: 4px;
  --ss-space-2: 8px;
  --ss-space-3: 12px;
  --ss-space-4: 16px;
  --ss-space-5: 20px;
  --ss-space-6: 24px;
  --ss-space-8: 32px;
  --ss-space-10: 40px;

  /* 圆角：标签 / 控件 / 卡片 / 面板 / 胶囊 */
  --ss-radius-tag: 4px;
  --ss-radius-control: 6px;
  --ss-radius-card: 8px;
  --ss-radius-panel: 10px;
  --ss-radius-pill: 999px;

  /* 阴影：卡片 / 浮层 / 抽屉 */
  --ss-shadow-card: 0 1px 2px rgba(15, 27, 45, .05);
  --ss-shadow-pop: 0 8px 24px rgba(15, 27, 45, .12);
  --ss-shadow-drawer: -12px 0 28px -18px rgba(15, 27, 45, .35);
  --ss-scrim: rgba(12, 28, 53, .45);
  /* 演示证据层的深遮罩（v2.2 新增）：比 --ss-scrim 更深，压暗整张幻灯，只突出被点亮的元素 */
  --ss-scrim-strong: rgba(8, 18, 33, .74);
  /* A4 汇报版预览的桌面底色（v2.2 新增）：纸面以外的区域，白纸在其上可辨 */
  --ss-desk: #E9ECF0;

  /* 布局：顶栏、侧栏、报告版式与验收断点 */
  /* --ss-rail-width 已废弃（v2.1 起没有左侧应用栏），名称保留 */
  --ss-rail-width: 72px;
  --ss-topbar-height: 54px;
  --ss-side-panel: 380px;
  --ss-record-panel: 440px;
  /* 报告版式（v2.1 新增）：章节左侧窄标签栏宽度；1101–1279px 窗口下报告来源侧栏的收窄宽度 */
  --ss-report-label: 88px;
  --ss-report-rail-narrow: 320px;
  --ss-bp-desktop: 1440px;
  --ss-bp-laptop: 1280px;
  --ss-bp-tablet: 768px;
  --ss-bp-phone: 390px;

  /* 动效（v2.3 新增）：短 / 中 / 长三档时长与两条缓动；只在 motion.css 中、且未要求减弱动效时使用 */
  --ss-dur-1: 120ms;
  --ss-dur-2: 200ms;
  --ss-dur-3: 320ms;
  --ss-ease-out: cubic-bezier(.2, .7, .2, 1);
  --ss-ease-in-out: cubic-bezier(.45, 0, .2, 1);
  --ss-rise: 6px;
}

/* 深色主题：只覆盖颜色与阴影令牌；只在屏幕上生效（v2.2），打印时回到浅色令牌 */
@media screen {
[data-theme="dark"] {
  color-scheme: dark;
  --ss-bg: #0D1524;
  --ss-surface: #131D2E;
  --ss-surface-2: #18243A;
  --ss-rail: #101A2B;
  --ss-line: #27354C;
  --ss-line-2: #1F2B40;
  --ss-ink: #E8EDF3;
  --ss-ink-2: #CBD4E0;
  --ss-muted: #98A4B6;
  --ss-faint: #6E7A8D;
  --ss-primary: #5CCBCF;
  --ss-primary-text: #A9C1E6;
  --ss-on-primary-text: #0D1524;
  --ss-primary-hover: #C2D4EE;
  --ss-primary-soft: #1C2B44;
  --ss-primary-softer: #17233A;
  --ss-ok: #5FBF8A;
  --ss-ok-text: #86D3A8;
  --ss-ok-soft: #17321F;
  --ss-warn: #E0A64A;
  --ss-warn-text: #EBBE6E;
  --ss-warn-soft: #3A2C16;
  --ss-warn-border: #7A5A22;
  --ss-warn-softer: #2A2213;
  --ss-danger: #E8796C;
  --ss-danger-text: #F29A8F;
  --ss-danger-soft: #3A1E1C;
  --ss-judge: #98A4B6;
  --ss-judge-text: #BAC6D6;
  --ss-judge-soft: #1E2A3E;
  --ss-plan: #8796AD;
  --ss-plan-text: #BAC6D6;
  --ss-plan-soft: #1E2A3E;
  --ss-ev-full: #5FBF8A;
  --ss-ev-summary: #D6AE5C;
  --ss-ev-judge: #8796AD;
  --ss-ev-none: #3A4659;
  --ss-brand-mark: var(--ss-ink);
  --ss-navy: #0A1220;
  --ss-navy-2: #14213A;
  --ss-navy-3: #060C17;
  --ss-on-navy: #E8EDF3;
  --ss-on-navy-muted: #98A4B6;
  --ss-on-navy-line: rgba(232, 237, 243, .2);
  --ss-on-navy-fill: rgba(232, 237, 243, .06);
  --ss-on-navy-fill-hover: rgba(232, 237, 243, .12);
  --ss-accent: #5CCBCF;
  --ss-accent-text: #6ED3D6;
  --ss-accent-soft: #143238;
  --ss-accent-on-navy: #5CCBCF;
  --ss-highlight: #1F4446;
  --ss-shadow-card: 0 1px 2px rgba(0, 0, 0, .3);
  --ss-shadow-pop: 0 8px 24px rgba(0, 0, 0, .45);
  --ss-shadow-drawer: -12px 0 28px -18px rgba(0, 0, 0, .6);
  --ss-scrim: rgba(0, 0, 0, .55);
  --ss-scrim-strong: rgba(0, 0, 0, .74);
  --ss-desk: #0A111D;
}
}
