:root {
  /* Colors */
  --color-shop-violet: #5433eb;
  --color-shop-violet-hover: #4524db;
  --color-violet-glow: #c0b5f3;
  --color-violet-muted: #f3f0fd;
  --color-violet-soft: #f8f7fc;
  --color-pure-white: #ffffff;
  --color-ink-black: #000000;
  --color-near-black: #121212;
  --color-soft-canvas: #f2f4f5;
  --color-hairline: #ebebeb;
  --color-concrete: #c9cbcc;
  --color-slate: #707070;
  --color-ash: #7b7b7b;

  /* Typography：优先系统字体，避免依赖境外字体 CDN 造成首屏文字闪烁 */
  --font-gt-standard: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', ui-sans-serif, system-ui, sans-serif;
  --font-gt-standard-medium: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', ui-sans-serif, system-ui, sans-serif;
  --font-shopify-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', ui-sans-serif, system-ui, sans-serif;

  /* Typography — Scale */
  --text-caption: 11px;
  --leading-caption: 1.33;
  --tracking-caption: -0.044em;
  --text-body-sm: 12px;
  --leading-body-sm: 1.33;
  --tracking-body-sm: -0.031em;
  --text-body: 14px;
  --leading-body: 1.33;
  --tracking-body: -0.023em;
  --text-body-lg: 16px;
  --leading-body-lg: 1.33;
  --tracking-body-lg: -0.014em;

  /* Typography — Weights */
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 700;

  /* Spacing */
  --spacing-unit: 4px;
  --spacing-4: 4px;
  --spacing-8: 8px;
  --spacing-12: 12px;
  --spacing-16: 16px;
  --spacing-20: 20px;
  --spacing-24: 24px;
  --spacing-32: 32px;
  --spacing-40: 40px;
  --spacing-48: 48px;

  /* Layout */
  --page-max-width: 1200px;
  --section-gap: 40px;
  --card-padding: 16px;
  --element-gap: 8px;
  --nav-rail-width: 72px;
  --radius-shell: 28px;
  --shadow-float: 0 16px 48px rgba(0, 0, 0, 0.08), 0 4px 12px rgba(0, 0, 0, 0.04);

  /* Border Radius */
  --radius: 8px;
  --radius-md: 4px;
  --radius-lg: 8px;
  --radius-xl: 11.4046px;
  --radius-cards: 8px;
  --radius-images: 11.4px;
  --radius-search: 28px;
  --radius-buttons: 28px;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-lg: rgba(69, 36, 219, 0.34) 0px 4px 24px 0px;

  /* Surfaces */
  --surface-canvas: #ffffff;
  --surface-section-wash: #f2f4f5;
  --surface-card-surface: #ffffff;
  --surface-dark-panel: #121212;

  /* Semantic */
  --background: var(--color-pure-white);
  --foreground: var(--color-ink-black);
  --primary: var(--color-shop-violet);
  --primary-foreground: var(--color-pure-white);
  --muted-foreground: var(--color-slate);
  --border: var(--color-hairline);
}
