/* ============================================================
   design-tokens.css —— 单一事实来源（Single Source of Truth）
   来源：design/01-UI设计规范.html 第 02/03/04/06 章
   规则：全站不得出现硬编码十六进制色值与非 4 倍数间距
   ============================================================ */
:root{
  /* ---------- 2.1 品牌色 Brand ---------- */
  --brand-50:#F0FDFA;  --brand-100:#CCFBF1; --brand-200:#99F6E4; --brand-300:#5EEAD4;
  --brand-400:#2DD4BF; --brand-500:#14B8A6; --brand-600:#0D9488; --brand-700:#0F766E;
  --brand-800:#115E59; --brand-900:#134E4A;

  /* ---------- 2.2 中性色 Neutral ---------- */
  --n-0:#FFFFFF; --n-50:#F8FAFB; --n-100:#F1F4F6; --n-200:#E4E9ED; --n-300:#CFD7DE;
  --n-400:#9AA6B2; --n-500:#6B7885; --n-600:#4A5560; --n-700:#333C45; --n-800:#1F262C; --n-900:#11161A;

  /* ---------- 2.3 语义色 Semantic ---------- */
  --ok:#16A34A;   --ok-soft:#F0FDF4;   --ok-line:#BBF7D0;    /* 招募中 / 发布成功 */
  --warn:#D97706; --warn-soft:#FFFBEB; --warn-line:#FDE68A;  /* 已对接 / 草稿 / 有效期不足 */
  --err:#DC2626;  --err-soft:#FEF2F2;  --err-line:#FECACA;   /* 校验失败 / 已过期 */
  --info:#0284C7; --info-soft:#F0F9FF; --info-line:#BAE6FD;  /* AI 建议 / 系统提示 */
  --accent:#F59E0B; --accent-soft:#FFFBEB; --accent-line:#FDE68A; /* 仅收藏激活态 / 热度 */

  /* ---------- 2.4 分类色板 Category（一色一分类，不自增不轮换） ---------- */
  --cat-1:#7C3AED; --cat-1-soft:#F5F3FF;   /* 设计创意 */
  --cat-2:#2563EB; --cat-2-soft:#EFF6FF;   /* 技术开发 */
  --cat-3:#EA580C; --cat-3-soft:#FFF7ED;   /* 营销推广 */
  --cat-4:#0891B2; --cat-4-soft:#ECFEFF;   /* 活动执行 */
  --cat-5:#65A30D; --cat-5-soft:#F7FEE7;   /* 供应链 */
  --cat-6:#DB2777; --cat-6-soft:#FDF2F8;   /* 人力服务 */
  --cat-7:#B45309; --cat-7-soft:#FEF3C7;   /* 场地空间 */
  --cat-8:#64748B; --cat-8-soft:#F1F5F9;   /* 其他 */

  /* ---------- 3.1 字体族 ---------- */
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB",
         "Microsoft YaHei","Source Han Sans SC","Noto Sans CJK SC",sans-serif;
  --mono:"Geist Mono",ui-monospace,SFMono-Regular,"SF Mono",Consolas,"Liberation Mono",monospace;

  /* ---------- 3.2 字号阶梯 ---------- */
  --fs-display:28px; --lh-display:36px;
  --fs-h1:22px;      --lh-h1:30px;
  --fs-h2:18px;      --lh-h2:26px;
  --fs-h3:16px;      --lh-h3:24px;
  --fs-body-lg:16px; --lh-body-lg:26px;
  --fs-body:14px;    --lh-body:22px;
  --fs-caption:12px; --lh-caption:18px;
  --fs-micro:11px;   --lh-micro:16px;
  --fw-regular:400;  --fw-semibold:600;   /* 只用两档：中文 500/700 会发虚 */

  /* ---------- 4.1 间距阶梯（4px 基准） ---------- */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px;
  --sp-6:24px; --sp-8:32px; --sp-10:40px;

  /* ---------- 4.2 圆角 / 阴影 ---------- */
  --r-xs:4px; --r-sm:8px; --r-md:12px; --r-lg:16px; --r-xl:20px; --r-full:999px;
  --sh-xs:0 1px 2px rgba(17,22,26,.06);
  --sh-sm:0 2px 6px rgba(17,22,26,.07);
  --sh-md:0 6px 16px rgba(17,22,26,.09);
  --sh-lg:0 12px 32px rgba(17,22,26,.12);
  --n-inverse:#FFFFFF;          /* 反色文字（深底之上） */
  --n-inverse-muted:#DDE4E8;    /* 反色次要文字 */
  --toast-bg:rgba(17,22,26,.9);
  --mask-scrim:rgba(17,22,26,.45);
  --glass-header:rgba(248,250,251,.92);
  --glass-bar:rgba(255,255,255,.97);
  --focus-ring:0 0 0 3px rgba(15,118,110,.12);
  --err-ring:0 0 0 3px rgba(220,38,38,.10);
  --bar-shadow:0 -4px 16px rgba(17,22,26,.06);
  --fab-shadow:0 8px 20px rgba(15,118,110,.34);

  /* ---------- 4.3 关键组件尺寸 ---------- */
  --btn-l-h:48px; --btn-m-h:44px; --btn-s-h:32px;
  --inp-h:48px;   --chip-h:32px; --chip-ro-h:24px;
  --topbar-m-h:44px; --topbar-d-h:64px;
  --tabbar-h:56px;   --actionbar-h:64px;
  --fab-size:56px;   --side-w:240px; --aside-w:320px;
  --icon-16:16px; --icon-20:20px; --icon-24:24px;

  /* ---------- 06 动效 ---------- */
  --motion-instant:120ms; --motion-fast:200ms; --motion-base:280ms; --motion-slow:400ms;
  --ease-standard:cubic-bezier(0.2,0,0,1);
  --ease-enter:cubic-bezier(0.16,1,0.3,1);
  --ease-exit:cubic-bezier(0.7,0,0.84,0);
  --ease-elastic:cubic-bezier(0.34,1.56,0.64,1);

  /* ---------- 05 栅格 ---------- */
  --bp-md:768px; --bp-lg:1024px; --bp-xl:1440px;
  --container:1200px;

  /* ---------- 层级 ---------- */
  --z-tabbar:60; --z-header:70; --z-fab:65;
  --z-mask:80; --z-sheet:90; --z-toast:100; --z-debug:120;

  /* ---------- 组件尺寸令牌（桌面端覆写） ---------- */
  --btn-h:var(--btn-m-h);
  --inp-height:var(--inp-h);
}
@media (min-width:1024px){
  :root{
    --btn-l-h:44px; --btn-m-h:40px;
    --inp-h:44px;
    /* 卡片网格列宽：列表区 936px 分 2 列 */
    --grid-min:320px;
  }
}

/* ---------- 6.2 动效红线：尊重系统减弱动效设置 ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}
