{
  "brand": "AI UP LAB",
  "version": "1.2.1",
  "updatedAt": "2026-10-05",
  "format": "AI UP LAB semantic tokens",
  "defaultTheme": "light",
  "themes": {
    "light": {
      "background": "#fffefd",
      "surface": "#ffffff",
      "elevated": "#ffffff",
      "soft": "#f5f2fa",
      "text": "#17151b",
      "muted": "#625d6d",
      "subtle": "#777080",
      "border": "#e8e5ee",
      "borderStrong": "#d9d3e2",
      "brand": "#6741c2",
      "brandSoft": "#6741c20d",
      "onBrand": "#ffffff",
      "success": "#217a4d",
      "warning": "#8a5b12",
      "error": "#b42318"
    },
    "dark": {
      "background": "#141218",
      "surface": "#1b1822",
      "elevated": "#1b1822",
      "soft": "#25202e",
      "text": "#f5f2fa",
      "muted": "#b2aabb",
      "subtle": "#968ba4",
      "border": "#332d3c",
      "borderStrong": "#494050",
      "brand": "#b79af5",
      "brandSoft": "#b79af51a",
      "onBrand": "#17111f",
      "success": "#75d49e",
      "warning": "#ecc17a",
      "error": "#ff9e98"
    }
  },
  "foundations": {
    "spacing": [
      4,
      8,
      12,
      16,
      20,
      24,
      32,
      48,
      64
    ],
    "radius": {
      "control": 7,
      "card": 8,
      "small": 6
    },
    "layout": {
      "maxWidth": 1344,
      "mobileGutter": 14,
      "desktopGutterMin": 14,
      "mobileMax": 700,
      "tabletMax": 1050
    },
    "typography": {
      "sans": "\"Geist\", \"PingFang SC\", \"Hiragino Sans GB\", \"Microsoft YaHei\", \"Noto Sans SC\", system-ui, sans-serif",
      "mono": "\"IBM Plex Mono\", ui-monospace, \"SFMono-Regular\", monospace",
      "body": 15,
      "metadata": 12,
      "cardTitle": 17,
      "sectionTitle": 23,
      "mobileLead": 34,
      "desktopLeadMax": 57
    },
    "logo": {
      "desktop": 32,
      "mobile": 24,
      "minimum": 16,
      "clearSpace": "0.25 × mark box width",
      "centerScale": 0.45,
      "lockup": {
        "wordmark": "AI UP LAB",
        "weight": 500,
        "tracking": "-0.02em",
        "displayTracking": "-0.045em",
        "type": {
          "desktop": 18,
          "mobile": 14
        },
        "glyphToCap": "1.7–1.8 × wordmark cap height",
        "gap": "0.5 × wordmark cap height (0.36em in Geist) between the visible glyph and the first letter",
        "boxTrim": "0.2 × mark box on each side, so the glyph edge (not the SVG box) sits on the grid",
        "align": "Glyph centred on the cap height, not on the line box"
      }
    },
    "motion": {
      "durationMs": 160,
      "easing": "ease-out",
      "reducedMotion": "Respect prefers-reduced-motion"
    }
  },
  "cssVariables": {
    "background": {
      "token": "--lab-color-background",
      "siteAlias": "--bg"
    },
    "surface": {
      "token": "--lab-color-surface",
      "siteAlias": "--bg-card"
    },
    "elevated": {
      "token": "--lab-color-elevated",
      "siteAlias": "--bg-elev"
    },
    "soft": {
      "token": "--lab-color-soft",
      "siteAlias": "--bg-soft"
    },
    "text": {
      "token": "--lab-color-text",
      "siteAlias": "--ink"
    },
    "muted": {
      "token": "--lab-color-muted",
      "siteAlias": "--muted"
    },
    "subtle": {
      "token": "--lab-color-subtle",
      "siteAlias": "--faint"
    },
    "border": {
      "token": "--lab-color-border",
      "siteAlias": "--line"
    },
    "borderStrong": {
      "token": "--lab-color-borderStrong",
      "siteAlias": "--line-strong"
    },
    "brand": {
      "token": "--lab-color-brand",
      "siteAlias": "--brass"
    },
    "brandSoft": {
      "token": "--lab-color-brandSoft",
      "siteAlias": "--brass-soft"
    },
    "onBrand": {
      "token": "--lab-color-onBrand",
      "siteAlias": "--accent-ink"
    },
    "success": {
      "token": "--lab-color-success",
      "siteAlias": "--lab-color-success"
    },
    "warning": {
      "token": "--lab-color-warning",
      "siteAlias": "--lab-color-warning"
    },
    "error": {
      "token": "--lab-color-error",
      "siteAlias": "--lab-color-error"
    }
  },
  "rules": [
    {
      "zh": "先展示内容，再提供操作。分类页保留标题、简介、数量与最新列表；搜索和筛选进入独立搜索页。",
      "en": "Show content first. Category pages have a title, a short description, a count, and the newest entries. Search and filters live on the search page."
    },
    {
      "zh": "首页采用一条主推，右侧放提示词与 AIGC 创意轨，再接最新更新和目录入口。精选应说明具体用途与适用人群。",
      "en": "Use one editorial lead, a right-rail of prompt and AIGC creative picks, then recent entries and section links. Explain a concrete purpose and audience."
    },
    {
      "zh": "白底承载信息，紫色引导行动。每个局部只突出一个主操作，次操作用描边或文字链接。",
      "en": "Use neutral surfaces for information and violet for action. Give each area one primary action; use outlines or text links for secondary actions."
    },
    {
      "zh": "沿用六边形标志与 45% 中心三角形；等比缩放，深色背景用反白版本。",
      "en": "Keep the hexagonal mark and its 45% central triangle. Scale proportionally and reverse the mark on dark surfaces."
    },
    {
      "zh": "优先使用资源的真实预览；生成插图应明确用于概念表达，不代替产品截图或操作证据。",
      "en": "Prefer real resource previews. Generated illustrations communicate concepts and do not replace product screenshots or evidence."
    },
    {
      "zh": "保留真实来源、原有详情链接和收藏键。收录日期不等于实际验证；失效资源进入复核。",
      "en": "Keep real sources, existing detail links, and favorite keys. Listing dates do not imply hands-on validation; review stale resources."
    },
    {
      "zh": "标题与说明中英成对；按钮写清动作。推荐理由说明用途，避免空泛形容词和无法证实的效果。",
      "en": "Provide paired Chinese and English copy. Label actions clearly and describe purpose without unsupported claims."
    },
    {
      "zh": "手机上优先呈现内容。避免横向溢出；按钮可用键盘操作，收藏与卡片链接分开。",
      "en": "Prioritize content on mobile. Prevent page overflow, support keyboards, and keep favorite controls separate from card links."
    }
  ]
}
