/* =============================================================
   Claude Code 官网设计系统 · Design Tokens（整理自线上 CSS）
   来源: https://claude.com/product/claude-code  (Next.js 站点)
   用途: 设计借鉴 / 参考。颜色、字号、间距均为官网真实值。
   ============================================================= */

:root {
  /* ---------- 原始参考色（Claude Code 官网 · 陶土橘）---------- */
  --color-clay:        #d97757;
  --color-clay-hover:  #c6613f;
  --color-clay-dark:   #c46849;

  /* ---------- Gewu Code 古铜金（采样自应用图标，备用）---------- */
  --color-gewu:        #b8864a;
  --color-gewu-hover:  #a3743a;
  --color-gewu-dark:   #926c3e;
  --color-ink:         #1a1715; /* 品牌深色（图标底色）*/

  /* ---------- Gewu Code 科技靛蓝（当前主色）---------- */
  --color-indigo:        #4f6bed; /* 主品牌色 · 科技靛蓝 (CTA / 强调) */
  --color-indigo-hover:  #3f5ad6; /* 悬停（略深）*/
  --color-indigo-dark:   #6a82f0; /* 暗背景下用（略亮，保证对比）*/

  /* ---------- 网站强调色（★整体换色只改这两行 → 指向某套品牌色）---------- */
  --accent:        var(--color-indigo);
  --accent-hover:  var(--color-indigo-hover);

  /* ---------- 辅助色 ---------- */
  --color-cactus: #bcd1ca;
  --color-coral:  #ebcece;
  --color-fig:    #c46686;
  --color-heather:#cbcadb;
  --color-oat:    #e3dacc;
  --color-olive:  #788c5d;
  --color-sky:    #6a9bcc;
  --color-error:  #bf4d43;
  --color-focus:  #2c84db;

  /* ---------- 暖色中性灰阶（注意：偏暖奶白，不是纯白/纯灰）---------- */
  --color-gray-000: #fff;
  --color-gray-050: #faf9f5;  /* 页面浅色背景 */
  --color-gray-100: #f5f4ed;
  --color-gray-150: #f0eee6;
  --color-gray-200: #e8e6dc;
  --color-gray-250: #dedcd1;
  --color-gray-300: #d1cfc5;
  --color-gray-350: #c2c0b6;
  --color-gray-400: #b0aea5;
  --color-gray-450: #9c9a92;
  --color-gray-500: #87867f;
  --color-gray-550: #73726c;
  --color-gray-600: #5e5d59;
  --color-gray-650: #4d4c48;
  --color-gray-700: #3d3d3a;
  --color-gray-750: #30302e;
  --color-gray-800: #262624;  /* 暗色背景 */
  --color-gray-850: #1f1e1d;
  --color-gray-900: #1a1918;
  --color-gray-950: #141413;  /* 最深背景 */
  --color-gray-1000:#000;

  /* ---------- 字体族 ---------- */
  --font-sans:  "anthropicSans", system-ui, sans-serif;
  --font-serif: "anthropicSerif", Georgia, serif;
  --font-mono:  "anthropicMono", ui-monospace, monospace;

  /* ---------- 字重 ---------- */
  --font-weight-light:    300;
  --font-weight-regular:  400;
  --font-weight-medium:   500;
  --font-weight-semibold: 600;
  --font-weight-bold:     700;

  /* ---------- 字号（流式 clamp 响应式）---------- */
  --display-1: clamp(42px, 33.429px + 2.679vw, 72px);
  --display-2: clamp(36px, 28px      + 2.5vw,   64px);
  --body-large-1: clamp(22px, 21.429px + 0.179vw, 24px);
  --body-large-2: clamp(20px, 19.143px + 0.268vw, 23px);
  --body-1: clamp(19px, 18.714px + 0.089vw, 20px);
  --body-2: 17px;
  --body-3: 15px;
  --caption: 12px;

  /* ---------- 行高 ---------- */
  --line-height-tight:   1;
  --line-height-tighter: 1.1;
  --line-height-snug:    1.2;
  --line-height-normal:  1.3;
  --line-height-relaxed: 1.5;
  --line-height-loose:   1.6;
  --line-height-looser:  1.7;

  /* ---------- 间距（8px 基准）---------- */
  --sp-2: 2px;  --sp-4: 4px;  --sp-6: 6px;  --sp-8: 8px;
  --sp-12: 12px; --sp-16: 16px; --sp-20: 20px; --sp-24: 24px;
  --sp-32: 32px; --sp-40: 40px; --sp-48: 48px; --sp-56: 56px;
  --sp-64: 64px; --sp-80: 80px; --sp-96: 96px; --sp-128: 128px; --sp-200: 200px;
  --gap-xs: 16px; --gap-sm: 24px; --gap-md: 32px; --gap-lg: 48px;

  /* ---------- 圆角 ---------- */
  --br-2: 2px; --br-4: 4px; --br-6: 6px; --br-8: 8px;
  --br-12: 12px; --br-16: 16px; --br-24: 24px; --br-32: 32px;
  --br-48: 48px; --br-64: 64px;

  /* ---------- 描边 ---------- */
  --border-xs: 0.5px; --border-sm: 1px; --border-md: 1.5px; --border-lg: 2px;

  /* ---------- 缓动曲线（动画用）---------- */
  --ease-out-quart:      cubic-bezier(0.165, 0.84, 0.44, 1);
  --ease-out-power2:     cubic-bezier(0.25, 1, 0.5, 1);
  --ease-in-out-expo:    cubic-bezier(1, 0, 0, 1);
  --ease-in-out-quart:   cubic-bezier(0.77, 0, 0.175, 1);
  --ease-in-out-power3:  cubic-bezier(0.645, 0.045, 0.355, 1);

  /* ---------- 布局 ---------- */
  --container-max-width: 1440px;
  --container-margin: clamp(2rem, calc(1.43rem + 2.86vw), 4rem);
  --text-width-title: 45ch;
}

/* ---------- 语义主题（浅色，默认）---------- */
:root {
  --theme-background-primary:   var(--color-gray-050);
  --theme-background-secondary: var(--color-gray-100);
  --theme-background-tertiary:  var(--color-gray-150);
  --theme-border-primary:       var(--color-gray-350);
  --theme-accent-primary:       var(--color-clay);
  --theme-accent-interactive:   var(--color-clay-hover);
  --theme-button-clay-bg:       var(--color-clay-hover);
  --theme-button-clay-fg:       var(--color-gray-000);
}

/* ---------- 语义主题（深色）---------- */
[data-theme="dark"] {
  --theme-background-primary:   var(--color-gray-950);
  --theme-background-secondary: var(--color-gray-900);
  --theme-background-tertiary:  var(--color-gray-800);
  --theme-border-primary:       var(--color-gray-600);
  --theme-accent-primary:       var(--color-clay-dark);
}

/* ---------- 字体声明（指向已下载的 ./fonts）---------- */
@font-face {
  font-family: "anthropicSans"; font-style: normal; font-weight: 100 700; font-display: swap;
  src: url("./fonts/AnthropicSans_Roman_Web-s.p.050e7498.woff2") format("woff2");
}
@font-face {
  font-family: "anthropicSans"; font-style: italic; font-weight: 100 700; font-display: swap;
  src: url("./fonts/AnthropicSans_Italic_Web-s.p.6550bf15.woff2") format("woff2");
}
@font-face {
  font-family: "anthropicSerif"; font-style: normal; font-weight: 100 700; font-display: swap;
  src: url("./fonts/AnthropicSerif_Roman_Web-s.p.c28786b4.woff2") format("woff2");
}
@font-face {
  font-family: "anthropicSerif"; font-style: italic; font-weight: 100 700; font-display: swap;
  src: url("./fonts/AnthropicSerif_Italic_Web-s.p.43888cc6.woff2") format("woff2");
}
@font-face {
  font-family: "anthropicMono"; font-style: normal; font-weight: 100 700; font-display: swap;
  src: url("./fonts/AnthropicMono_Roman_Web-s.p.80d4607c.woff2") format("woff2");
}
@font-face {
  font-family: "anthropicMono"; font-style: italic; font-weight: 100 700; font-display: swap;
  src: url("./fonts/AnthropicMono_Italic_Web-s.p.39343088.woff2") format("woff2");
}
