/* ============================================================
   统一设计系统 · 共享 Token（单一配色源）
   尖派 jianp + 诚盾 chengdun 共用
   ------------------------------------------------------------
   用法：
   1) 每个 HTML 的 <html> 加 data-theme="jianp" 或 "chengdun"
   2) 在站点 css/style.css 之前引入本文件：
      <link rel="stylesheet" href="../shared/tokens.css">
   3) 站点 css/style.css 的 :root 把 --color-* 映射为 var(--brand) 等，
      即可让两站颜色统一由本文件驱动，主题一键切换。
   ============================================================ */

/* ---------- 共享基础 Token（两站完全一致） ---------- */
:root {
  /* 间距：4px 基数 */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 20px; --space-6: 24px; --space-8: 32px; --space-10: 40px;
  --space-12: 48px; --space-16: 64px; --space-20: 80px; --space-24: 96px;

  /* 圆角 */
  --radius-sm: 6px; --radius-md: 12px; --radius-lg: 20px; --radius-full: 999px;

  /* 阴影：柔和低透明 */
  --shadow-sm: 0 1px 3px rgba(45,32,22,.06);
  --shadow-md: 0 6px 18px rgba(45,32,22,.08);
  --shadow-lg: 0 18px 44px rgba(45,32,22,.12);

  /* 字体族 */
  --font-display: "Noto Serif SC", "Songti SC", "STSong", Georgia, serif;
  --font-body: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei",
    "Noto Sans SC", system-ui, sans-serif;

  /* 字号阶梯 */
  --fs-xs: 12px; --fs-sm: 14px; --fs-base: 16px; --fs-md: 18px;
  --fs-lg: 20px; --fs-xl: 24px; --fs-2xl: 30px; --fs-3xl: 36px; --fs-4xl: 48px;

  /* 字重 */
  --fw-light: 300; --fw-regular: 400; --fw-medium: 500; --fw-bold: 700;

  /* 行高 */
  --lh-tight: 1.2; --lh-normal: 1.65; --lh-relaxed: 1.85;

  /* 动效 */
  --transition: 220ms cubic-bezier(.4,0,.2,1);

  /* 语义色（两站一致） */
  --c-success: #2f9e6b; --c-warning: #d99431; --c-error: #d2493f; --c-info: #3b82f6;

  /* 断点（参考） */
  --bp-sm: 480px; --bp-md: 768px; --bp-lg: 1024px; --bp-xl: 1280px;
}

/* ---------- 尖派主题 ---------- */
:root[data-theme="jianp"] {
  --brand: #e8a87c;            /* 暖橙 · 主色 */
  --brand-strong: #d3854e;
  --brand-ink: #2d2016;        /* 主色上的文字（深棕，保证对比度） */
  --secondary: #41b3a3;        /* 青绿 · 辅助 */
  --secondary-strong: #2e9a8b;
  --secondary-ink: #173f39;
  --accent: #41b3a3;
  --bg: #faf8f5;               /* 燕麦白 */
  --bg-alt: #f3ece4;
  --surface: #ffffff;
  --text: #352a20;
  --text-muted: #877a6c;
  --text-soft: #a99c8e;
  --border: #e9dfd3;
  --brand-soft: rgba(232,168,124,.16);
  --secondary-soft: rgba(65,179,163,.16);
}

/* ---------- 诚盾主题 ---------- */
:root[data-theme="chengdun"] {
  --brand: #4a3728;            /* 深棕 · 主色 */
  --brand-strong: #3a2a1d;
  --brand-ink: #ffffff;
  --secondary: #e8a87c;        /* 暖橙 · 点缀/辅助 */
  --secondary-strong: #d3854e;
  --secondary-ink: #2d2016;
  --accent: #e8a87c;
  --bg: #faf8f5;
  --bg-alt: #f5f0eb;
  --surface: #ffffff;
  --text: #2d2016;
  --text-muted: #7a6e63;
  --text-soft: #a99c8e;
  --border: #e6ddd3;
  --brand-soft: rgba(74,55,40,.10);
  --secondary-soft: rgba(232,168,124,.16);
}

/* ============================================================
   共享组件库（标准化类名，两站可直接复用）
   站点自身已有的 .btn / .btn-hero / .btn-primary 等仍生效；
   以下为统一规范的补充组件，命名不冲突，可逐步采用。
   ============================================================ */

/* 按钮 */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  font-family: var(--font-body); font-weight: var(--fw-medium); cursor: pointer; border: none;
  border-radius: var(--radius-md); padding: 12px 24px; font-size: var(--fs-base);
  transition: var(--transition); text-decoration: none; line-height: 1;
}
.btn:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.btn--primary { background: var(--brand); color: var(--brand-ink); }
.btn--primary:hover { background: var(--brand-strong); transform: translateY(-1px); box-shadow: var(--shadow-md); }
.btn--secondary { background: var(--secondary); color: var(--secondary-ink); }
.btn--secondary:hover { filter: brightness(.96); transform: translateY(-1px); box-shadow: var(--shadow-md); }
.btn--outline { background: transparent; color: var(--brand-strong); border: 1.5px solid var(--brand); }
.btn--outline:hover { background: var(--brand-soft); }
.btn--ghost { background: transparent; color: var(--text); }
.btn--ghost:hover { background: var(--bg-alt); }
.btn--sm { padding: 8px 16px; font-size: var(--fs-sm); }
.btn--lg { padding: 16px 32px; font-size: var(--fs-md); }
.btn:disabled { opacity: .5; cursor: not-allowed; transform: none; box-shadow: none; }

/* 标签 */
.tag {
  display: inline-flex; align-items: center; font-size: var(--fs-xs); font-weight: var(--fw-bold);
  padding: 5px 12px; border-radius: var(--radius-full);
}
.tag--brand { background: var(--brand-soft); color: var(--brand-strong); }
.tag--accent { background: var(--secondary-soft); color: var(--secondary-ink); }
.tag--neutral { background: var(--bg-alt); color: var(--text-muted); }

/* 卡片（基础） */
.card {
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg);
  overflow: hidden; box-shadow: var(--shadow-sm); transition: var(--transition);
}
.card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }

/* 表单输入 */
.input {
  font-family: var(--font-body); font-size: var(--fs-base); color: var(--text);
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm);
  padding: 12px 14px; transition: var(--transition); width: 100%;
}
.input:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-soft); }

/* 状态提示 */
.alert { display: flex; gap: var(--space-3); align-items: flex-start; padding: var(--space-4); border-radius: var(--radius-md); border: 1px solid; margin-bottom: var(--space-3); font-size: var(--fs-sm); }
.alert--success { background: rgba(47,158,107,.10); border-color: var(--c-success); color: #1f6b48; }
.alert--info { background: rgba(59,130,246,.10); border-color: var(--c-info); color: #1d4fb3; }
.alert--warning { background: rgba(217,148,49,.12); border-color: var(--c-warning); color: #8a5a12; }
.alert--error { background: rgba(210,73,63,.10); border-color: var(--c-error); color: #97241d; }
