/* 省大拿 · 共享设计 Token（v4.1 · 2026-08-06）
   统一 :root 变量 + 暗色模式 + 基础重置 + 焦点环。 */

:root {
  --primary: #fa2c19;
  --primary-light: #fff1ef;
  --brand-alipay: #1677ff;   /* 支付宝品牌蓝（支付按钮/支付宝入口） */
  --brand-wechat: #07c160;   /* 微信品牌绿（微信支付按钮/微信入口） */
  --bg: #f5f5f5;
  --card: #fff;
  --text: #1a1a1a;
  --text-2: #666;
  --success: #07c160;
  --warn: #ad6800;
  --border: #eee;
  --surface: #fafafa;
  --hover: #f0f0f0;
  /* 2026-08-10 全站字体体系 Token（中英文混排栈 + 字号梯度） */
  /* 2026-08-10 全站字体体系 Token（中英文混排栈 + 字号梯度）
     2026-08-13：显式补充 emoji 字体栈，确保 ¥/🉑/✅/📦 等 emoji 与中文同字体优先级渲染，
     避免跨平台 fallback 不一致导致「不协调」（用户反馈）。emoji 字体放在中文后、sans-serif 前，
     浏览器按字符逐一匹配：中文→中文字体、emoji→emoji 字体、半角符号→fallback sans。 */
  --font-sans: -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC","Helvetica Neue",Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji","Twemoji Mozilla",sans-serif;
  --font-mono: "SF Mono", "Cascadia Code", Consolas, Menlo, monospace;
  --fs-4xs: 8px;    /* 极微：版权/ICP 底部小字 */
  --fs-3xs: 10px;   /* 极微：状态条/页脚微字 */
  --fs-2xs: 11px;   /* 微：提示/错误/协议/角标微字 */
  --fs-xs: 12px;    /* 辅助：版权/ICP/时间戳/角标 */
  --fs-sm: 13px;    /* 次级：券chip/子页签/支付提示 */
  --fs-base: 14px;  /* 基础：按钮/热词/导航/输入框 */
  --fs-secondary: 15px; /* 次要正文：列表描述/按钮次要字号 */
  --fs-md: 16px;    /* 正文：对话气泡/列表/卡片 */
  --fs-h3: 17px;    /* 卡片标题/H3 */
  --fs-lg: 18px;    /* 强调：欢迎语首行/卡片标题 */
  --fs-xl: 20px;    /* 区块标题 */
  --fs-2xl: 24px;   /* 页面标题/弹窗标题 */
  --fs-3xl: 28px;   /* 大数字：支付金额/会员价 */
  --fs-amt: 32px;   /* 金额大字：会员价/应付金额 */
  --fs-amt-lg: 36px; /* 特大金额：支付弹窗主金额 */
  --fs-emoji: 48px; /* 空状态 emoji 尺寸 */
  /* 2026-08-10 视觉 Token：阴影层级 + 圆角体系（卡片/悬浮/弹层） */
  --shadow-sm: 0 1px 3px rgba(0,0,0,.06);
  --shadow-md: 0 4px 12px rgba(0,0,0,.08);
  --shadow-lg: 0 8px 24px rgba(0,0,0,.12);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-pill: 999px;
}

/* ≥768px 平板：正文 +1px（阅读距离增大） */
@media (min-width: 768px) {
  :root { --fs-md: 17px; --fs-base: 15px; --fs-sm: 14px; }
}
/* ≥1200px 桌面：正文 +2px */
@media (min-width: 1200px) {
  :root { --fs-md: 18px; --fs-base: 16px; --fs-lg: 20px; }
}

[data-theme="dark"] {
  --bg: #1a1a1a;
  --card: #2d2d2d;
  --text: #e4e4e4;
  --text-2: #a0a0a0;
  --border: #404040;
  --primary-light: #3d1a14;
  --surface: #242424;
  --hover: #383838;
}

[data-theme="dark"] body { background: var(--bg); color: var(--text); }
[data-theme="dark"] .header { background: var(--card); border-color: var(--border); }
[data-theme="dark"] .card { background: var(--card); border-color: var(--border); }
[data-theme="dark"] .tabbar { background: var(--card); border-color: var(--border); }
[data-theme="dark"] .drawer { background: var(--card); }
[data-theme="dark"] .drawer .menu-item { border-color: var(--border); color: var(--text); }
[data-theme="dark"] .chat .bubble.bot { background: #383838; color: var(--text); }
[data-theme="dark"] .wrap { background: var(--card); }
[data-theme="dark"] .g-item { background: var(--card); border-color: var(--border); }
[data-theme="dark"] .item { border-color: var(--border); }
[data-theme="dark"] .summary { background: var(--card); border-color: var(--border); }
[data-theme="dark"] input, [data-theme="dark"] textarea, [data-theme="dark"] select { background: var(--surface); color: var(--text); border-color: var(--border); }
[data-theme="dark"] .chip { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .field select { background: var(--surface); color: var(--text); border-color: var(--border); }
[data-theme="dark"] .empty { color: var(--text-2); }
[data-theme="dark"] .loading { color: var(--text-2); }

* { box-sizing: border-box; margin: 0; padding: 0; }
* { -webkit-tap-highlight-color: transparent; }
a, button, [onclick], [role="button"] { touch-action: manipulation; }

body {
  font-family: var(--font-sans);
  background: var(--bg); color: var(--text);
  line-height: 1.6; -webkit-font-smoothing: antialiased;
  text-rendering: optimizeSpeed;
  -webkit-text-size-adjust: 100%;
}
/* 数字/单号/金额等宽对齐（2026-08-10 字体体系） */
.num, .mono, .no, .amt, [class*="-id"], [class*="-no"] { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }

:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
  border-radius: 2px;
}
