/* ============================================================
   base.css · 设计令牌 / 重置 / 排版 / 通用原子类
   PC 网页端（V3.0）
   ============================================================ */

:root {
  /* 品牌与语义色 */
  --navy: #0D1526;
  --navy-2: #16203A;
  --primary: #165DFF;
  --primary-d: #0E42D2;
  --primary-l: #E8F0FF;
  --ok: #00B42A;
  --ok-l: #E8FFEA;
  --warn: #FF7D00;
  --warn-l: #FFF7E8;
  --danger: #F53F3F;
  --danger-l: #FFECE8;
  --gold: #B8833A;
  --gold-l: #FBF3E4;

  /* 中性色 */
  --bg: #F4F6FB;
  --card: #FFFFFF;
  --text: #1D2129;
  --text-2: #4E5969;
  --text-3: #636C89;
  --line: #E5E8EF;
  --line-2: #EEF0F5;
  --fill: #F7F8FA;

  /* 形状 */
  --r-s: 8px;
  --r-m: 12px;
  --r-l: 16px;
  --r-xl: 22px;
  --sh-1: 0 1px 3px rgba(13, 21, 38, .05);
  --sh-2: 0 6px 18px rgba(13, 21, 38, .08);
  --sh-3: 0 18px 48px rgba(13, 21, 38, .18);

  --nav-h: 62px;
  --bar-h: 42px;
  --maxw: 1340px;

  --font: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --mono: ui-monospace, SFMono-Regular, "JetBrains Mono", Consolas, "Liberation Mono", monospace;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font);
  font-size: 14px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.mask-open { overflow: hidden; }

h1, h2, h3, h4, p, ul, ol, figure { margin: 0; padding: 0; }
ul, ol { list-style: none; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, select, textarea { font-family: inherit; font-size: inherit; color: inherit; }
button { cursor: pointer; border: none; background: none; }
table { border-collapse: collapse; width: 100%; }

/* 滚动条（桌面端细节） */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #D5DAE4; border-radius: 6px; border: 2px solid var(--bg); }
::-webkit-scrollbar-thumb:hover { background: #C0C6D4; }
::-webkit-scrollbar-track { background: transparent; }

/* ---------------- 排版原子 ---------------- */
.mono { font-family: var(--mono); font-size: .92em; letter-spacing: .02em; }
.t-2 { color: var(--text-2); }
.t-3 { color: var(--text-3); }
.t-c { text-align: center; }
.t-r { text-align: right; }
.fw-b { font-weight: 700; }
.small { font-size: 12.5px; }
.nowrap { white-space: nowrap; }

.mt-8 { margin-top: 8px; }
.mt-12 { margin-top: 12px; }
.mt-16 { margin-top: 16px; }
.mt-24 { margin-top: 24px; }
.mb-12 { margin-bottom: 12px; }
.mb-16 { margin-bottom: 16px; }

.row { display: flex; align-items: center; gap: 10px; }
.row-b { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.wrap { flex-wrap: wrap; }
.grow { flex: 1 1 auto; min-width: 0; }
.gap-6 { gap: 6px; }
.gap-16 { gap: 16px; }

/* 孤字成行防护：中文段落统一用 anywhere 而非 break-all，避免逐字折断 */
.p { color: var(--text-2); overflow-wrap: anywhere; word-break: normal; }
.h1 { font-size: 22px; font-weight: 700; letter-spacing: -.3px; }
.h2 { font-size: 17px; font-weight: 700; }
.h3 { font-size: 15px; font-weight: 700; }
