/* MARS ONE 火星1号 · Design Tokens v2.1
 * 唯一真实来源。任何取值须来自本文件，不得硬编码。
 */

:root{
  /* ── 环境色 ── */
  --mo-color-void: #0A0D16;
  --mo-color-void-soft: #1B2030;
  --mo-color-rust: #C25537;
  --mo-color-rust-shadow: #7E3521;

  /* ── 仪表色 · 仅表示状态，不得装饰 ── */
  --mo-color-cyan: #35D6FF;
  --mo-color-nominal: #2FE39A;
  --mo-color-caution: #FFB224;
  --mo-color-warning: #FF3355;

  /* ── 中性色 ── */
  --mo-color-paper: #FFFFFF;
  --mo-color-tint: #F4F5F7;
  --mo-color-rule: #E2E5EA;
  --mo-color-muted: #7C8496;

  /* ── 间距刻度 · 基准 4px，禁止刻度外取值 ── */
  --mo-space-s1: 4px;
  --mo-space-s2: 8px;
  --mo-space-s3: 12px;
  --mo-space-s4: 16px;
  --mo-space-s5: 24px;
  --mo-space-s6: 32px;
  --mo-space-s7: 48px;
  --mo-space-s8: 64px;
  --mo-space-s9: 96px;

  /* ── 圆角刻度 ── */
  --mo-radius-r1: 4px;
  --mo-radius-r2: 8px;
  --mo-radius-r3: 12px;
  --mo-radius-r4: 20px;

  /* ── 描边 · 唯一规格；阴影禁用 ── */
  --mo-border: 1px solid var(--mo-color-rule);
  --mo-shadow: none;

  /* ── 字族 ── */
  --mo-font-display: 'Space Grotesk', 'Noto Sans SC', sans-serif;
  --mo-font-mono: 'IBM Plex Mono', 'Noto Sans SC', monospace;
  --mo-font-body: 'Noto Sans SC', -apple-system, sans-serif;

  /* ── 字阶 ── */
  --mo-type-d1-size: 48px;   /* 封面主标题 */
  --mo-type-d1-weight: 700;
  --mo-type-d1-line: 1.08;
  --mo-type-d1-tracking: -0.03em;
  --mo-type-d2-size: 32px;   /* 章节标题 */
  --mo-type-d2-weight: 700;
  --mo-type-d2-line: 1.15;
  --mo-type-d2-tracking: -0.02em;
  --mo-type-h1-size: 24px;   /* 小节标题 */
  --mo-type-h1-weight: 700;
  --mo-type-h1-line: 1.3;
  --mo-type-h1-tracking: -0.015em;
  --mo-type-h2-size: 19px;   /* 段落标题 */
  --mo-type-h2-weight: 700;
  --mo-type-h2-line: 1.4;
  --mo-type-h2-tracking: 0;
  --mo-type-body-size: 15px;   /* 正文 */
  --mo-type-body-weight: 400;
  --mo-type-body-line: 1.75;
  --mo-type-body-tracking: 0;
  --mo-type-small-size: 13px;   /* 附注 */
  --mo-type-small-weight: 400;
  --mo-type-small-line: 1.6;
  --mo-type-small-tracking: 0;
  --mo-type-caption-size: 11.5px;   /* 标签 · 全大写 */
  --mo-type-caption-weight: 500;
  --mo-type-caption-line: 1.5;
  --mo-type-caption-tracking: 0.12em;
  --mo-type-data-l-size: 40px;   /* 核心读数 · 等宽数字 */
  --mo-type-data-l-weight: 700;
  --mo-type-data-l-line: 1.0;
  --mo-type-data-l-tracking: -0.03em;
  --mo-type-data-m-size: 20px;   /* 指标读数 · 等宽数字 */
  --mo-type-data-m-weight: 700;
  --mo-type-data-m-line: 1.2;
  --mo-type-data-m-tracking: 0;

  /* ── 栅格 ── */
  --mo-grid-columns: 12;
  --mo-grid-gutter: 24px;
  --mo-grid-max: 1120px;
  --mo-page-margin-desktop: 48px;
  --mo-page-margin-mobile: 24px;
}

/* ── 数字必须等宽，逐日播报不得左右跳动 ── */
.mo-num{ font-family: var(--mo-font-mono); font-variant-numeric: tabular-nums; }

/* ── 状态徽章 · 高 24px / 内边距 5px 10px / 圆角 R1 ── */
.mo-badge{
  display:inline-flex; align-items:center; gap:7px;
  font-family: var(--mo-font-mono); font-size:11.5px; font-weight:700;
  letter-spacing:.14em; padding:5px 10px; border-radius: var(--mo-radius-r1); color:#fff;
}
.mo-badge--nominal{ background: var(--mo-color-nominal); color:#052A1C; }
.mo-badge--caution{ background: var(--mo-color-caution); color:#3A2400; }
.mo-badge--warning{ background: var(--mo-color-warning); color:#FFFFFF; }
.mo-badge--burn   { background: var(--mo-color-cyan);    color:#04222C; }
