/* 竹星AI · 设计令牌（v7 定稿 + 旧变量兼容） */
/* 定稿：docs/handoff/2026-08-07-全平台UI升级定稿/全平台UI升级-工程师交付文档-v1.md §1 */

:root {
  /* ── 竹星AI v7 设计令牌 ── */

  /* 背景与卡片 */
  --bg-page: #f5f3f0;
  --bg-card: #ffffff;
  --card-radius: 14px;
  --card-radius-lg: 18px;
  --card-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 1px 2px rgba(0,0,0,0.03);
  --card-padding: 18px;
  --card-gap: 10px;

  /* 色彩 */
  --c-blue: #3B82F6;
  --c-accent: #4A9E8E;
  --c-accent-bg: rgba(74,158,142,0.07);
  --c-goal: #E8813B;
  --c-goal-bg: rgba(232,129,59,0.06);
  --c-red: #E84C3D;
  --c-sealed: #B0AEA5;
  --c-gold: #FFB800;
  --c-cream: #FFEFC2;

  /* 中性色调 */
  --c-s: #B0AEA5;
  --c-t: #c8c6c0;
  --divider: #f0ede8;

  /* 排版 */
  --font: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei",
          "Noto Sans SC", system-ui, -apple-system, sans-serif;
  --text-p: #2c2c2c;
  --text-s: var(--c-s);
  --text-t: var(--c-t);
  --size-lg: 17px;
  --size-body: 16px;
  --size-sm: 13px;
  --size-xs: 12px;
  --lh: 1.72;
  --ls: 0.01em;

  /* ── 兼容旧 --color-*（映射到 v7，旧页不崩） ── */
  --color-brand: var(--c-blue);
  --color-brand-light: #DBEAFE;
  --color-brand-dark: #2563EB;
  --color-brand-deep: #1D4ED8;
  /* 内容层：蓝管行动，青绿管内容 */
  --color-content-accent: var(--c-accent);
  --color-content-accent-bg: var(--c-accent-bg);
  --color-content-accent-border: rgba(74, 158, 142, 0.28);
  --color-success: #10B981;
  --color-success-light: #D1FAE5;
  --color-warning: #F59E0B;
  --color-warning-light: #FEF3C7;
  --color-error: var(--c-red);
  --color-error-light: #FEE2E2;
  --color-bg: var(--bg-page);
  --color-bg-page: var(--bg-page);
  --color-surface: #efece7;
  --color-card: var(--bg-card);
  --color-text-primary: var(--text-p);
  --color-text-secondary: var(--text-s);
  --color-text-tertiary: var(--text-t);
  /* 边框略深于 divider，避免旧控件描边过淡 */
  --color-border: #E8E4DC;
  --color-border-light: var(--divider);
  --memory-card-indent: 40px;
  --radius-sm: 8px;
  --radius-md: var(--card-radius);
  --radius-lg: var(--card-radius-lg);
  --radius-xl: 20px;
  --radius-full: 9999px;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
  --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1);
  --shadow-card: var(--card-shadow);
  --shadow-card-press: 0 2px 6px rgba(0,0,0,0.08);
  --font-family: var(--font);
  --safe-top: 44px;
  --safe-bottom: env(safe-area-inset-bottom, 16px);
  --tab-height: 56px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  font-family: var(--font-family);
  background: linear-gradient(180deg, #FFFBF0 0%, var(--bg-page) 50px, var(--bg-page) 100%);
  color: var(--color-text-primary);
  line-height: var(--lh);
  letter-spacing: var(--ls);
  -webkit-font-smoothing: antialiased;
  min-height: 100dvh;
  max-width: 375px;
  margin: 0 auto;
  position: relative;
  overflow-x: hidden;
}
