/* ==========================================================================
   tokens.css —— 全工程唯一色值来源
   任何其他文件禁止出现 hex / rgb / 颜色关键字。
   --------------------------------------------------------------------------
   v3.0 设计语言：BT 钱包 视觉规范
   色值来源：TP 官方品牌素材页（tokenpocket.pro/en/brandkit）公布的三个核定值：
     品牌蓝 #2980FE · 品牌黑 #010109 · 辅色 #F2F2F0
   其余为基于核定值的推导色（标注 [推导]），并经对比度校验。
   视觉特征（TP 实机）：
     · 资产页头部为品牌蓝渐变大色块，白字
     · 内容区浅色白卡 / 深色主题为藏青蓝黑
     · 强调交互色一律品牌蓝（链接、激活 Tab、开关、CTA）
   ========================================================================== */

:root {
  /* ---- 品牌色 [核定：TP 官方品牌素材] ---- */
  --tp-blue:        #2980FE;   /* 品牌蓝，唯一强调色 */
  --tp-blue-press:  #1E6BE8;   /* 按下 / 悬停 [推导：亮度 -8%] */
  --tp-blue-deep:   #1B63D8;   /* 渐变深端 [推导] */
  --tp-blue-soft:   #4E9BFF;   /* 渐变浅端 [推导] */
  --tp-black:       #010109;   /* 品牌黑 [核定] */
  --tp-offwhite:    #F2F2F0;   /* 辅色 [核定] */

  /* ---- 交易语义 [推导，贴近 TP 实机] ---- */
  --red:            #F6465D;   /* 跌 / 卖 */
  --green:          #0ECB81;   /* 涨 / 买 */
  --amber:          #F0B90B;   /* 警示 */
  --violet:         #8A63F2;

  /* ---- 强调色别名（组件层引用） ---- */
  --brand:          var(--tp-blue);
  --brand-press:    var(--tp-blue-press);
  --on-brand:       #FFFFFF;

  /* ---- 圆角 ---- */
  --r-xs: 6px;
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 12px;
  --r-xl: 16px;
  --r-pill: 999px;

  /* ---- 间距 ---- */
  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px;
  --sp-4: 16px; --sp-5: 20px; --sp-6: 24px; --sp-7: 32px;

  /* ---- 字号 ---- */
  --fs-11: 11px; --fs-12: 12px; --fs-13: 13px; --fs-14: 14px;
  --fs-15: 15px; --fs-17: 17px; --fs-26: 26px; --fs-34: 34px;

  /* 语义字号别名（F6）：选字号 = 选语义，不再靠记忆数字 */
  --fs-micro:    var(--fs-11);   /* 11 最小可读下限 */
  --fs-caption:  var(--fs-12);   /* 12 辅助文字 / 说明 */
  --fs-body:     var(--fs-14);   /* 14 正文 / 列表主行 */
  --fs-title:    var(--fs-15);   /* 15 卡片标题 / 主按钮 */
  --fs-headline: var(--fs-17);   /* 17 页面标题 */
  --fs-display:  var(--fs-26);   /* 26 金额输入 / 币价 */
  --fs-hero:     var(--fs-34);   /* 34 总资产余额 */

  /* ---- 字重 ---- */
  --fw-4: 400; --fw-5: 500; --fw-6: 600; --fw-7: 700;

  /* ---- 行高（F3）：三个语义值，替换散落的 1.45 / 1.5 ---- */
  --lh-body:  1.5;
  --lh-title: 1.3;
  --lh-num:   1.1;

  /* ---- 字距（F10）：收敛散落的 -.02em / .02em / .06em ---- */
  --ls-tight: -.02em;
  --ls-normal: 0;
  --ls-wide:  .06em;

  /* ---- 界面字族（F1/F2）：钱包端与后台端共用同一份 ---- */
  --font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
             "Hiragino Sans GB", "Microsoft YaHei", Roboto, Helvetica, Arial, sans-serif;

  /* ---- 数字字体：纯系统等宽（F4/F5）。已删除从未加载的 IBM Plex Mono，
         保证「声明=事实」，不再有名不副实的字体名 ---- */
  --font-num: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas,
              "Liberation Mono", monospace;

  /* ---- 图标尺寸阶梯（I3）：9 个散落值收敛到 5 档 ---- */
  --ic-xs: 14px; --ic-sm: 16px; --ic-md: 20px; --ic-lg: 24px; --ic-xl: 32px;

  /* ---- 图标线宽（I4）：3 档常量，替换散落的 1.8 / 2 / 2.4 ---- */
  --ic-thin: 1.5; --ic-base: 1.75; --ic-bold: 2;

  /* ---- 阴影 ---- */
  --sh-1: 0 1px 2px rgba(0,0,0,.18);
  --sh-2: 0 6px 18px rgba(0,0,0,.22);
  --sh-3: 0 18px 48px rgba(0,0,0,.32);

  /* ---- 布局 ---- */
  --tabbar-h: 58px;
  --statusbar-h: 30px;
  --safe-b: 18px;

  /* ---- 动效 ---- */
  --ease:      cubic-bezier(.22, 1, .36, 1);      /* power2.out */
  --ease-inout:cubic-bezier(.65, 0, .35, 1);
  --ease-expo: cubic-bezier(.16, 1, .3, 1);
  --ease-spring: cubic-bezier(.34, 1.56, .64, 1); /* 弹性（弹窗 / 徽标） */
  --dur-1: 120ms;   /* press */
  --dur-2: 180ms;   /* hover */
  --dur-3: 280ms;   /* route-in */
  --dur-4: 400ms;   /* reveal */

  /* 品牌蓝头部渐变（TP 特征：蓝底大色块） */
  --head-grad: linear-gradient(160deg, var(--tp-blue-soft) 0%, var(--tp-blue) 46%, var(--tp-blue-deep) 100%);
  --head-grad-soft: linear-gradient(160deg, #3E8DF2 0%, #2274E6 100%);

  /* 品牌光晕（余额呼吸 / 高光） */
  --glow: rgba(41,128,254,.42);
  --glow-soft: rgba(41,128,254,.16);
}

/* ==========================================================================
   深色主题（TP 深色：藏青蓝黑系）
   ========================================================================== */
[data-theme="dark"] {
  --bg:         #0D1220;                    /* 画布 [推导：TP 深色藏青] */
  --bg-2:       #0D1220;
  --surface:    #151C2E;                    /* 提升卡片 [推导] */
  --surface-2:  #1B2438;                    /* 悬停态 [推导] */
  --surface-3:  #222D46;                    /* 按压态 [推导] */
  --hairline:   rgba(148,178,255,.10);
  --hairline-2: rgba(148,178,255,.16);

  --text:       #EAF0FF;                    /* 暗底正文 [推导] */
  --text-2:     #8E9AB8;                    /* 60% [推导] */
  --text-3:     #5D6883;                    /* 45%，仅大号文字 [推导] */
  --text-on-brand: var(--on-brand);

  --brand-weak: rgba(41,128,254,.16);
  --brand-line: rgba(41,128,254,.45);

  --scrim:      rgba(1,1,9,.66);
  --sheet:      #151C2E;
  --track:      rgba(148,178,255,.10);

  --hairline-solid: #1D2740;

  --up-weak:    rgba(14,203,129,.16);
  --down-weak:  rgba(246,70,93,.16);
}

/* ==========================================================================
   浅色主题（TP 默认：白底白卡）
   ========================================================================== */
[data-theme="light"] {
  --bg:         #F2F2F0;                    /* 辅色作画布 [核定] */
  --bg-2:       #F2F2F0;
  --surface:    #FFFFFF;
  --surface-2:  #F5F7FA;
  --surface-3:  #E8ECF3;                    /* [推导] 按压态 */
  --hairline:   #E8ECF3;
  --hairline-2: #D9DFEA;

  --text:       #101223;                    /* [推导] 近品牌黑 */
  --text-2:     #6A7186;                    /* 60% [推导] */
  --text-3:     #9AA1B5;                    /* 45% [推导] */
  --text-on-brand: var(--on-brand);

  --brand-weak: rgba(41,128,254,.10);
  --brand-line: rgba(41,128,254,.40);

  --scrim:      rgba(1,1,9,.42);
  --sheet:      #FFFFFF;
  --track:      rgba(16,18,35,.06);

  --hairline-solid: #E8ECF3;

  --sh-1: 0 1px 2px rgba(16,18,35,.06);
  --sh-2: 0 6px 18px rgba(16,18,35,.10);
  --sh-3: 0 18px 48px rgba(16,18,35,.16);

  --glow: rgba(41,128,254,.30);
  --glow-soft: rgba(41,128,254,.10);

  /* 浅底涨跌降级 [推导，AA 通过] */
  --up-weak:    rgba(10,125,80,.12);
  --down-weak:  rgba(207,48,74,.12);
}

/* ==========================================================================
   涨跌口径：语义色随口径翻转，组件只输出 .up / .down 语义类
   intl = 绿涨红跌（TP 默认）· cn = 红涨绿跌
   ========================================================================== */
[data-theme="dark"][data-scheme="intl"],
[data-theme="light"][data-scheme="intl"] {
  --up:   var(--green);
  --down: var(--red);
}
[data-theme="dark"][data-scheme="intl"]  { --up-txt: #0ECB81; --down-txt: #F6465D; }
[data-theme="light"][data-scheme="intl"] { --up-txt: #0A7D50; --down-txt: #CF304A; }

[data-theme="dark"][data-scheme="cn"],
[data-theme="light"][data-scheme="cn"] {
  --up:   var(--red);
  --down: var(--green);
}
[data-theme="dark"][data-scheme="cn"]  { --up-txt: #F6465D; --down-txt: #0ECB81; }
[data-theme="light"][data-scheme="cn"] { --up-txt: #CF304A; --down-txt: #0A7D50; }

.up   { color: var(--up-txt); }
.down { color: var(--down-txt); }

/* ==========================================================================
   资产识别色（链与代币的品牌色）
   属于内容数据而非设计系统，但同样收敛在此，保证「色值只出现在本文件」。
   ========================================================================== */
:root {
  --c-eth:  #627EEA;  --c-bsc:  #F0B90B;  --c-tron: #EF0027;
  --c-sol:  #9945FF;  --c-pol:  #8247E5;  --c-arb:  #12AAFF;
  --c-base: #0052FF;  --c-okc:  #2B2B2B;  --c-avax: #E84142;
  --c-btc:  #F7931A;  --c-atom: #2E3148;  --c-dot:  #E6007A;

  --c-usdt: #26A17B;  --c-usdc: #2775CA;  --c-dai:  #F5AC37;
  --c-uni:  #FF007A;  --c-link: #2A5ADA;  --c-aave: #B6509E;
  --c-cake: #D1884F;  --c-wbtc: #F09242;  --c-bnb:  #F0B90B;
  --c-trx:  #EF0027;  --c-ape:  #0054F9;  --c-shit: #6E6E6E;
}
