/* ============================================================
 * 主题层：设计变量 + 全局重置 + 通用文字工具类
 *
 * 想换整套配色（比如做深色版），改这里的变量即可，
 * 其余两个 CSS 文件无需改动。
 * ============================================================ */
:root {
  /* 中性色 */
  --bg: #f4f5f7;
  --surface: #ffffff;
  --surface-2: #fafbfc;
  --surface-3: #f2f3f5;
  --line: #e5e6eb;
  --line-2: #d9dbe0;
  --line-soft: #f0f1f3;

  /* 文字 */
  --t1: #1d2129;
  --t2: #4e5969;
  --t3: #86909c;
  --t4: #a9aeb8;

  /* 主色与语义色 */
  --pri: #1664ff;
  --pri-h: #4080ff;
  --pri-a: #0e42d2;
  --pri-w: #e8f0ff;
  --pri-w2: #f0f5ff;
  --ok: #00a870;
  --ok-w: #e8f8f2;
  --warn: #ff7d00;
  --warn-w: #fff5e8;
  --err: #f53f3f;
  --err-w: #ffece8;
  --pur: #7c3aed;
  --pur-w: #f3ecfe;

  /* 圆角 */
  --r-s: 6px;
  --r: 8px;
  --r-l: 12px;
  --r-xl: 16px;

  /* 阴影 */
  --sh-1: 0 1px 2px rgba(29, 33, 41, .05);
  --sh-2: 0 4px 16px rgba(29, 33, 41, .08);
  --sh-3: 0 12px 40px rgba(29, 33, 41, .16);

  /* 布局尺寸 */
  --sb: 236px;
  --sb-narrow: 64px;
  --tb-h: 56px;
  --maxw: 1680px;

  /* 字体 */
  --font: "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont,
          "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --mono: "SF Mono", Menlo, Consolas, "Courier New", monospace;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html, body { height: 100%; }

body {
  font-family: var(--font);
  font-size: 14px;
  line-height: 1.6;
  color: var(--t1);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}

svg { width: 16px; height: 16px; flex: none; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }

/* hidden 必须压过其它 display 规则，否则-hidden 元素仍会被 PID flex 拉出来 */
[hidden] { display: none !important; }

/* 滚动条 */
::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-thumb {
  background: #d0d3d9; border-radius: 6px;
  border: 2px solid transparent; background-clip: padding-box;
}
::-webkit-scrollbar-thumb:hover { background: #b8bcc4; background-clip: padding-box; }
::-webkit-scrollbar-track { background: transparent; }

/* 表单元素默认继承字体，避免 iOS Safari 自动放大字号 */
input, select, textarea, button { font-family: inherit; }

/* 数字统一使用等宽字形，纵向对齐更整齐 */
.num, .mono { font-variant-numeric: tabular-nums; }
.num { text-align: right; }
.mid { text-align: center; }
.nowrap { white-space: nowrap; }
.mono { font-family: var(--mono); font-size: 12px; }
.mut { color: var(--t3); }
.small { font-size: 12px; }
.right { text-align: right; }
.sp { flex: 1; min-width: 0; }
.flexrow { display: flex; gap: 8px; align-items: center; }
.flexrow.wrap { flex-wrap: wrap; }

/* 焦点可见性：键盘操作时保留轮廓，鼠标点击时不显示 */
:focus-visible { outline: 2px solid var(--pri); outline-offset: 1px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    transition-duration: .001ms !important;
  }
}
