{
  "$description": "BostonIvy（爬山虎）design tokens 单一来源。格式：W3C Design Tokens Format Module 2025.10。三种可切换风格 clean / sticker / pixel × 两种明暗 light / dark。",
  "$extensions": {
    "app.bostonivy": {
      "version": "0.3.0",
      "styles": [
        "clean",
        "sticker",
        "pixel"
      ],
      "modes": [
        "light",
        "dark"
      ],
      "default": {
        "style": "clean",
        "mode": "system"
      },
      "themeId": "<style>-<mode>，例如 clean-light；CSS 用 <html data-theme=\"clean-light\">。",
      "resolve": "语义 token = core.* + style.<style>.* + style.<style>.mode.<mode>.*；构建脚本 build-tokens.mjs 负责展开。",
      "rtl": {
        "mirrorIcons": [
          "chevron-right",
          "comment",
          "label",
          "relation",
          "view-gantt",
          "view-kanban",
          "view-list"
        ],
        "note": "从右往左排版（阿拉伯文等）时要水平翻转的图标：它们指向阅读方向，或者画的是从起始边排起的文字和布局。时钟、播放、重复、勾、搜索、回形针、旗子等表示实物或顺时针运动的图标不翻转。"
      }
    }
  },
  "core": {
    "space": {
      "$type": "dimension",
      "$description": "4px 基准的间距阶梯，所有风格共用。",
      "0": {
        "$value": {
          "value": 0,
          "unit": "px"
        }
      },
      "1": {
        "$value": {
          "value": 4,
          "unit": "px"
        }
      },
      "2": {
        "$value": {
          "value": 8,
          "unit": "px"
        }
      },
      "3": {
        "$value": {
          "value": 12,
          "unit": "px"
        }
      },
      "4": {
        "$value": {
          "value": 16,
          "unit": "px"
        }
      },
      "5": {
        "$value": {
          "value": 20,
          "unit": "px"
        }
      },
      "6": {
        "$value": {
          "value": 24,
          "unit": "px"
        }
      },
      "8": {
        "$value": {
          "value": 32,
          "unit": "px"
        }
      },
      "10": {
        "$value": {
          "value": 40,
          "unit": "px"
        }
      },
      "12": {
        "$value": {
          "value": 48,
          "unit": "px"
        }
      },
      "16": {
        "$value": {
          "value": 64,
          "unit": "px"
        }
      }
    },
    "radius": {
      "$type": "dimension",
      "pill": {
        "$value": {
          "value": 9999,
          "unit": "px"
        },
        "$description": "胶囊和圆形头像。"
      }
    },
    "duration": {
      "$type": "duration",
      "instant": {
        "$value": {
          "value": 80,
          "unit": "ms"
        },
        "$description": "像素风格的状态切换、复选框。"
      },
      "fast": {
        "$value": {
          "value": 120,
          "unit": "ms"
        },
        "$description": "悬停、按下、标签出现。"
      },
      "base": {
        "$value": {
          "value": 200,
          "unit": "ms"
        },
        "$description": "面板展开、卡片移动。"
      },
      "slow": {
        "$value": {
          "value": 320,
          "unit": "ms"
        },
        "$description": "模态和侧滑面板进入。"
      }
    },
    "easing": {
      "$type": "cubicBezier",
      "standard": {
        "$value": [
          0.2,
          0,
          0,
          1
        ],
        "$description": "青藤：默认缓动。"
      },
      "enter": {
        "$value": [
          0,
          0,
          0,
          1
        ],
        "$description": "元素进入。"
      },
      "exit": {
        "$value": [
          0.3,
          0,
          1,
          1
        ],
        "$description": "元素离开。"
      },
      "pop": {
        "$value": [
          0.34,
          1.56,
          0.64,
          1
        ],
        "$description": "贴纸：带一点回弹，用于完成勾选和贴纸落下。"
      },
      "linear": {
        "$value": [
          0,
          0,
          1,
          1
        ],
        "$description": "像素：不做缓动，只用 instant 时长。"
      }
    },
    "z": {
      "$type": "number",
      "sticky": {
        "$value": 10
      },
      "drawer": {
        "$value": 20
      },
      "popover": {
        "$value": 30
      },
      "modal": {
        "$value": 40
      },
      "toast": {
        "$value": 50
      }
    },
    "breakpoint": {
      "$type": "dimension",
      "$description": "Web 断点；Flutter 客户端按窗口宽度同样分档。",
      "compact": {
        "$value": {
          "value": 600,
          "unit": "px"
        }
      },
      "medium": {
        "$value": {
          "value": 900,
          "unit": "px"
        }
      },
      "expanded": {
        "$value": {
          "value": 1280,
          "unit": "px"
        }
      }
    },
    "font": {
      "$type": "fontFamily",
      "$description": "跨风格共用的字体。",
      "emoji": {
        "$value": [
          "Apple Color Emoji",
          "Segoe UI Emoji",
          "Noto Color Emoji"
        ],
        "$description": "彩色 emoji，排在每个字体栈的最后、通用字族之前。"
      }
    },
    "script": {
      "$description": "按文字系统划分的系统字体和排版参数。品牌字体（Inter、Fredoka、JetBrains Mono、Silkscreen）只负责拉丁字母，其余文字都交给这里列出的系统字体，客户端不打包。每组的 languages 是选中这一组的 BCP 47 语言标签（按前缀匹配）。界面语言命中的那一组排在字体栈最前面，其余各组按这里的顺序排在后面，所以一段文字里混排多种文字时，每种文字都有固定的字体；同一个汉字在简体、繁体、日文、韩文里的字形也随界面语言切换。没有命中任何一组的语言（英文、西班牙文、俄文等）用默认顺序，也就是简体中文在前。",
      "hans": {
        "$description": "简体中文",
        "$extensions": {
          "app.bostonivy": {
            "name": "简体中文",
            "languages": [
              "zh",
              "zh-Hans",
              "zh-CN",
              "zh-SG",
              "zh-MY"
            ]
          }
        },
        "font": {
          "$type": "fontFamily",
          "$value": [
            "PingFang SC",
            "Hiragino Sans GB",
            "Microsoft YaHei UI",
            "Microsoft YaHei",
            "Noto Sans CJK SC",
            "Noto Sans SC",
            "Source Han Sans SC"
          ]
        },
        "font-rounded": {
          "$description": "萌虎风格优先使用的圆体。系统里没有时自动跳过，落到上面的 font。",
          "$type": "fontFamily",
          "$value": [
            "Yuanti SC"
          ]
        },
        "tracking-scale": {
          "$description": "字距倍数。汉字、假名和谚文是方块字，本身已经排得很满，加减字距只会让字距忽松忽紧，所以风格里的字距（比如像素分组标题的 0.06rem）在这里归零。",
          "$type": "number",
          "$value": 0
        }
      },
      "hant": {
        "$description": "繁体中文（台湾）",
        "$extensions": {
          "app.bostonivy": {
            "name": "繁体中文（台湾）",
            "languages": [
              "zh-Hant",
              "zh-TW",
              "zh-MO"
            ]
          }
        },
        "font": {
          "$type": "fontFamily",
          "$value": [
            "PingFang TC",
            "Microsoft JhengHei UI",
            "Microsoft JhengHei",
            "Noto Sans CJK TC",
            "Noto Sans TC",
            "Source Han Sans TC"
          ]
        },
        "font-rounded": {
          "$description": "萌虎风格优先使用的圆体。系统里没有时自动跳过，落到上面的 font。",
          "$type": "fontFamily",
          "$value": [
            "Yuanti TC"
          ]
        },
        "tracking-scale": {
          "$description": "字距倍数。汉字、假名和谚文是方块字，本身已经排得很满，加减字距只会让字距忽松忽紧，所以风格里的字距（比如像素分组标题的 0.06rem）在这里归零。",
          "$type": "number",
          "$value": 0
        }
      },
      "hant-hk": {
        "$description": "繁体中文（香港）",
        "$extensions": {
          "app.bostonivy": {
            "name": "繁体中文（香港）",
            "languages": [
              "zh-HK",
              "zh-Hant-HK"
            ]
          }
        },
        "font": {
          "$type": "fontFamily",
          "$value": [
            "PingFang HK",
            "Microsoft JhengHei UI",
            "Microsoft JhengHei",
            "Noto Sans CJK HK",
            "Noto Sans HK",
            "Source Han Sans HC"
          ]
        },
        "font-rounded": {
          "$description": "萌虎风格优先使用的圆体。系统里没有时自动跳过，落到上面的 font。",
          "$type": "fontFamily",
          "$value": [
            "Yuanti TC"
          ]
        },
        "tracking-scale": {
          "$description": "字距倍数。汉字、假名和谚文是方块字，本身已经排得很满，加减字距只会让字距忽松忽紧，所以风格里的字距（比如像素分组标题的 0.06rem）在这里归零。",
          "$type": "number",
          "$value": 0
        }
      },
      "jpan": {
        "$description": "日文",
        "$extensions": {
          "app.bostonivy": {
            "name": "日文",
            "languages": [
              "ja"
            ]
          }
        },
        "font": {
          "$type": "fontFamily",
          "$value": [
            "Hiragino Sans",
            "Hiragino Kaku Gothic ProN",
            "Yu Gothic UI",
            "Meiryo UI",
            "Noto Sans CJK JP",
            "Noto Sans JP",
            "Source Han Sans JP"
          ]
        },
        "font-rounded": {
          "$description": "萌虎风格优先使用的圆体。系统里没有时自动跳过，落到上面的 font。",
          "$type": "fontFamily",
          "$value": [
            "Hiragino Maru Gothic ProN"
          ]
        },
        "tracking-scale": {
          "$description": "字距倍数。汉字、假名和谚文是方块字，本身已经排得很满，加减字距只会让字距忽松忽紧，所以风格里的字距（比如像素分组标题的 0.06rem）在这里归零。",
          "$type": "number",
          "$value": 0
        }
      },
      "kore": {
        "$description": "韩文",
        "$extensions": {
          "app.bostonivy": {
            "name": "韩文",
            "languages": [
              "ko"
            ]
          }
        },
        "font": {
          "$type": "fontFamily",
          "$value": [
            "Apple SD Gothic Neo",
            "Malgun Gothic",
            "Noto Sans CJK KR",
            "Noto Sans KR",
            "Source Han Sans KR"
          ]
        },
        "tracking-scale": {
          "$description": "字距倍数。汉字、假名和谚文是方块字，本身已经排得很满，加减字距只会让字距忽松忽紧，所以风格里的字距（比如像素分组标题的 0.06rem）在这里归零。",
          "$type": "number",
          "$value": 0
        }
      },
      "deva": {
        "$description": "天城文：印地语、马拉地语、尼泊尔语",
        "$extensions": {
          "app.bostonivy": {
            "name": "天城文：印地语、马拉地语、尼泊尔语",
            "languages": [
              "hi",
              "mr",
              "ne"
            ]
          }
        },
        "font": {
          "$type": "fontFamily",
          "$value": [
            "Kohinoor Devanagari",
            "Devanagari Sangam MN",
            "Nirmala UI",
            "Noto Sans Devanagari"
          ]
        },
        "leading-min": {
          "$description": "行高下限，字号的倍数。字形上下伸出较多，行高低于这个值时，单行省略（overflow: hidden）会切掉上方的符号或下方的笔画。三种风格的行高只会被抬高，不会被压低。",
          "$type": "number",
          "$value": 1.45
        },
        "tracking-scale": {
          "$description": "字距倍数。天城文靠顶线（shirorekha）把一个词的字母连成一体，加减字距都会把顶线断开，所以风格里的字距（比如像素分组标题的 0.06rem）在这里归零。",
          "$type": "number",
          "$value": 0
        }
      },
      "beng": {
        "$description": "孟加拉文：孟加拉语、阿萨姆语",
        "$extensions": {
          "app.bostonivy": {
            "name": "孟加拉文：孟加拉语、阿萨姆语",
            "languages": [
              "bn",
              "as"
            ]
          }
        },
        "font": {
          "$type": "fontFamily",
          "$value": [
            "Kohinoor Bangla",
            "Bangla Sangam MN",
            "Nirmala UI",
            "Noto Sans Bengali"
          ]
        },
        "leading-min": {
          "$description": "行高下限，字号的倍数。字形上下伸出较多，行高低于这个值时，单行省略（overflow: hidden）会切掉上方的符号或下方的笔画。三种风格的行高只会被抬高，不会被压低。",
          "$type": "number",
          "$value": 1.45
        },
        "tracking-scale": {
          "$description": "字距倍数。孟加拉文和天城文一样靠顶线连字，加减字距都会把顶线断开，所以风格里的字距（比如像素分组标题的 0.06rem）在这里归零。",
          "$type": "number",
          "$value": 0
        }
      },
      "thai": {
        "$description": "泰文",
        "$extensions": {
          "app.bostonivy": {
            "name": "泰文",
            "languages": [
              "th"
            ]
          }
        },
        "font": {
          "$type": "fontFamily",
          "$value": [
            "Thonburi",
            "Leelawadee UI",
            "Noto Sans Thai"
          ]
        },
        "leading-min": {
          "$description": "行高下限，字号的倍数。字形上下伸出较多，行高低于这个值时，单行省略（overflow: hidden）会切掉上方的符号或下方的笔画。三种风格的行高只会被抬高，不会被压低。",
          "$type": "number",
          "$value": 1.6
        },
        "tracking-scale": {
          "$description": "字距倍数。泰文的声调符号叠在元音符号上面，字距会把符号和它所属的辅音拉开，所以风格里的字距（比如像素分组标题的 0.06rem）在这里归零。",
          "$type": "number",
          "$value": 0
        }
      },
      "arab": {
        "$description": "阿拉伯文：阿拉伯语、波斯语、乌尔都语、普什图语",
        "$extensions": {
          "app.bostonivy": {
            "name": "阿拉伯文：阿拉伯语、波斯语、乌尔都语、普什图语",
            "languages": [
              "ar",
              "fa",
              "ur",
              "ps"
            ],
            "direction": "rtl"
          }
        },
        "font": {
          "$type": "fontFamily",
          "$value": [
            "Segoe UI",
            "Noto Sans Arabic UI",
            "Noto Naskh Arabic UI",
            "Noto Sans Arabic",
            "Geeza Pro"
          ]
        },
        "leading-min": {
          "$description": "行高下限，字号的倍数。字形上下伸出较多，行高低于这个值时，单行省略（overflow: hidden）会切掉上方的符号或下方的笔画。三种风格的行高只会被抬高，不会被压低。",
          "$type": "number",
          "$value": 1.75
        },
        "tracking-scale": {
          "$description": "字距倍数。阿拉伯文是连写体，字母之间靠连笔相接，任何字距都会把连笔断开，所以风格里的字距（比如像素分组标题的 0.06rem）在这里归零。",
          "$type": "number",
          "$value": 0
        }
      },
      "viet": {
        "$description": "越南文用拉丁字母，品牌字体里的 Inter 和 JetBrains Mono 都能覆盖，不需要额外字体；但大写字母上会叠两层声调符号，行高要放宽。",
        "$extensions": {
          "app.bostonivy": {
            "name": "越南文（拉丁字母）",
            "languages": [
              "vi"
            ]
          }
        },
        "leading-min": {
          "$description": "行高下限，字号的倍数。字形上下伸出较多，行高低于这个值时，单行省略（overflow: hidden）会切掉上方的符号或下方的笔画。三种风格的行高只会被抬高，不会被压低。",
          "$type": "number",
          "$value": 1.45
        }
      }
    }
  },
  "style": {
    "clean": {
      "$description": "青藤 Clean：安静克制的效率工具。白底，品牌绿只用在选中、进度和完成；秋叶红只用在紧急和逾期。",
      "$extensions": {
        "app.bostonivy": {
          "name": "青藤 Clean",
          "motion": "standard",
          "variants": {
            "checkbox": "circle",
            "priority": "flag-word",
            "label": "chip",
            "avatar": "filled",
            "mascot": "flat",
            "emptyTone": "quiet",
            "density": "comfortable"
          }
        }
      },
      "font": {
        "$type": "fontFamily",
        "$description": "这里只写品牌字体（拉丁字母）和通用字族。构建时在两者之间插入 core.script 里的系统字体（界面语言那一组在前）和 core.font.emoji。",
        "ui": {
          "$value": [
            "Inter",
            "sans-serif"
          ]
        },
        "display": {
          "$value": [
            "Inter",
            "sans-serif"
          ]
        },
        "data": {
          "$value": [
            "Inter",
            "sans-serif"
          ]
        }
      },
      "radius": {
        "$type": "dimension",
        "sm": {
          "$value": {
            "value": 6,
            "unit": "px"
          }
        },
        "md": {
          "$value": {
            "value": 8,
            "unit": "px"
          }
        },
        "lg": {
          "$value": {
            "value": 12,
            "unit": "px"
          }
        }
      },
      "border": {
        "$type": "dimension",
        "width": {
          "$value": {
            "value": 1,
            "unit": "px"
          },
          "$description": "卡片、输入框、按钮的描边粗细。"
        },
        "focus": {
          "$value": {
            "value": 2,
            "unit": "px"
          },
          "$description": "焦点环粗细。"
        }
      },
      "size": {
        "$type": "dimension",
        "row": {
          "$value": {
            "value": 46,
            "unit": "px"
          },
          "$description": "任务行最小高度。"
        },
        "control": {
          "$value": {
            "value": 32,
            "unit": "px"
          },
          "$description": "按钮、输入框高度（触屏端最小 44）。"
        },
        "sidebar": {
          "$value": {
            "value": 248,
            "unit": "px"
          },
          "$description": "桌面侧栏宽度。"
        }
      },
      "icon": {
        "stroke": {
          "$type": "number",
          "$value": 1.8,
          "$description": "24px 线性图标的描边粗细。"
        },
        "$extensions": {
          "app.bostonivy": {
            "linecap": "round",
            "linejoin": "round"
          }
        }
      },
      "typography": {
        "$type": "typography",
        "title": {
          "$value": {
            "fontFamily": "{style.clean.font.display}",
            "fontSize": {
              "value": 22,
              "unit": "px"
            },
            "fontWeight": 700,
            "letterSpacing": {
              "value": -0.01,
              "unit": "rem"
            },
            "lineHeight": 1.273
          },
          "$extensions": {
            "app.bostonivy": {
              "lineHeightPx": 28,
              "sample": "后端 · Rust 重写"
            }
          }
        },
        "heading": {
          "$value": {
            "fontFamily": "{style.clean.font.ui}",
            "fontSize": {
              "value": 15,
              "unit": "px"
            },
            "fontWeight": 600,
            "letterSpacing": {
              "value": 0,
              "unit": "px"
            },
            "lineHeight": 1.467
          },
          "$extensions": {
            "app.bostonivy": {
              "lineHeightPx": 22,
              "sample": "今天与逾期"
            }
          }
        },
        "task": {
          "$value": {
            "fontFamily": "{style.clean.font.ui}",
            "fontSize": {
              "value": 14,
              "unit": "px"
            },
            "fontWeight": 500,
            "letterSpacing": {
              "value": 0,
              "unit": "px"
            },
            "lineHeight": 1.429
          },
          "$extensions": {
            "app.bostonivy": {
              "lineHeightPx": 20,
              "sample": "迁移 PostgreSQL schema 与索引"
            }
          }
        },
        "body": {
          "$value": {
            "fontFamily": "{style.clean.font.ui}",
            "fontSize": {
              "value": 14,
              "unit": "px"
            },
            "fontWeight": 400,
            "letterSpacing": {
              "value": 0,
              "unit": "px"
            },
            "lineHeight": 1.571
          },
          "$extensions": {
            "app.bostonivy": {
              "lineHeightPx": 22,
              "sample": "把旧版 schema 迁到 PostgreSQL 16，用 sqlx 管理迁移。"
            }
          }
        },
        "caption": {
          "$value": {
            "fontFamily": "{style.clean.font.ui}",
            "fontSize": {
              "value": 12,
              "unit": "px"
            },
            "fontWeight": 500,
            "letterSpacing": {
              "value": 0,
              "unit": "px"
            },
            "lineHeight": 1.333
          },
          "$extensions": {
            "app.bostonivy": {
              "lineHeightPx": 16,
              "sample": "#42 · 今天 18:00 · 评论 5"
            }
          }
        },
        "timer": {
          "$value": {
            "fontFamily": "{style.clean.font.data}",
            "fontSize": {
              "value": 26,
              "unit": "px"
            },
            "fontWeight": 700,
            "letterSpacing": {
              "value": -0.01,
              "unit": "rem"
            },
            "lineHeight": 1.154
          },
          "$extensions": {
            "app.bostonivy": {
              "lineHeightPx": 30,
              "sample": "00:42:18"
            }
          }
        }
      },
      "mode": {
        "light": {
          "color": {
            "$type": "color",
            "bg-canvas": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  1.0,
                  1.0
                ],
                "hex": "#ffffff"
              },
              "$description": "主内容区背景。text-primary / text-secondary / text-muted 都可直接放在上面。"
            },
            "bg-sidebar": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9647,
                  0.9725,
                  0.9647
                ],
                "hex": "#f6f8f6"
              },
              "$description": "侧栏、收起的导航条、顶栏。"
            },
            "bg-surface": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  1.0,
                  1.0
                ],
                "hex": "#ffffff"
              },
              "$description": "卡片、输入框、任务行容器、弹层。"
            },
            "bg-sunken": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.949,
                  0.9608,
                  0.9529
                ],
                "hex": "#f2f5f3"
              },
              "$description": "看板分栏、分组底色、代码块等下沉区域。"
            },
            "bg-selected": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.902,
                  0.949,
                  0.9176
                ],
                "hex": "#e6f2ea"
              },
              "$description": "选中的任务行、当前项目、当前导航项。"
            },
            "bg-hover": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9333,
                  0.949,
                  0.9373
                ],
                "hex": "#eef2ef"
              },
              "$description": "可点击行和按钮的悬停底色。"
            },
            "scrim": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0627,
                  0.0941,
                  0.0784
                ],
                "hex": "#101814",
                "alpha": 0.4
              },
              "$description": "模态弹层后面的遮罩（带透明度）。"
            },
            "border-default": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.8902,
                  0.9098,
                  0.8941
                ],
                "hex": "#e3e8e4"
              },
              "$description": "卡片和面板边框。贴纸风格里它就是 2.5px 的墨黑描边。"
            },
            "border-subtle": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9333,
                  0.9451,
                  0.9373
                ],
                "hex": "#eef1ef"
              },
              "$description": "列表行之间的分隔线，只做装饰，不承担识别控件的作用。"
            },
            "border-strong": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.5255,
                  0.5725,
                  0.5412
                ],
                "hex": "#86928a"
              },
              "$description": "复选框、输入框等控件的边框；在 bg-surface / bg-canvas 上至少 3:1。"
            },
            "text-primary": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0902,
                  0.1255,
                  0.102
                ],
                "hex": "#17201a"
              },
              "$description": "正文、任务标题；可放在所有 bg-* 上。"
            },
            "text-secondary": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.2431,
                  0.2902,
                  0.2588
                ],
                "hex": "#3e4a42"
              },
              "$description": "次要正文、侧栏导航文字；可放在所有 bg-* 上。"
            },
            "text-muted": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.3725,
                  0.4196,
                  0.3922
                ],
                "hex": "#5f6b64"
              },
              "$description": "元信息（编号、计数、时间）；可放在 bg-canvas / sidebar / surface / sunken / selected 上。"
            },
            "accent": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.498,
                  0.2745
                ],
                "hex": "#1e7f46"
              },
              "$description": "品牌主色的填充：主按钮、选中指示、进度条、完成勾选。贴纸风格里填充一定配 border-strong 描边。"
            },
            "on-accent": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  1.0,
                  1.0
                ],
                "hex": "#ffffff"
              },
              "$description": "accent 填充上的文字和图标。"
            },
            "accent-text": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1059,
                  0.4588,
                  0.251
                ],
                "hex": "#1b7540"
              },
              "$description": "当文字用的品牌色（链接、当前视图名），放在 bg-canvas / bg-surface 上。"
            },
            "accent-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.8902,
                  0.949,
                  0.9098
                ],
                "hex": "#e3f2e8"
              },
              "$description": "品牌色浅底：选中的筛选条件、成功提示。"
            },
            "on-accent-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0784,
                  0.3608,
                  0.1961
                ],
                "hex": "#145c32"
              },
              "$description": "accent-soft 上的文字。"
            },
            "danger": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.7255,
                  0.2471,
                  0.1451
                ],
                "hex": "#b93f25"
              },
              "$description": "紧急、逾期、删除的文字和图标。"
            },
            "danger-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9843,
                  0.9137,
                  0.8941
                ],
                "hex": "#fbe9e4"
              },
              "$description": "紧急 / 逾期标记的底色。"
            },
            "on-danger-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.6039,
                  0.1922,
                  0.098
                ],
                "hex": "#9a3119"
              },
              "$description": "danger-soft 上的文字。"
            },
            "warning": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.6039,
                  0.3569,
                  0.0549
                ],
                "hex": "#9a5b0e"
              },
              "$description": "高优先级、今天到期的文字和图标。"
            },
            "warning-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9843,
                  0.9412,
                  0.8667
                ],
                "hex": "#fbf0dd"
              },
              "$description": "高优先级 / 今天到期标记的底色。"
            },
            "on-warning-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4784,
                  0.2784,
                  0.0353
                ],
                "hex": "#7a4709"
              },
              "$description": "warning-soft 上的文字。"
            },
            "info": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1529,
                  0.3255,
                  0.702
                ],
                "hex": "#2753b3"
              },
              "$description": "过滤器语句、链接分享、信息提示的文字。"
            },
            "timer": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1059,
                  0.4588,
                  0.251
                ],
                "hex": "#1b7540"
              },
              "$description": "正在计时的时间数字和指示点。"
            },
            "timer-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.8902,
                  0.949,
                  0.9098
                ],
                "hex": "#e3f2e8"
              },
              "$description": "计时器胶囊和卡片的底色。"
            },
            "on-timer-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0784,
                  0.3608,
                  0.1961
                ],
                "hex": "#145c32"
              },
              "$description": "timer-soft 上的文字。"
            },
            "focus-ring": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1529,
                  0.3255,
                  0.702
                ],
                "hex": "#2753b3"
              },
              "$description": "键盘焦点环，2px 实线外加 2px 偏移；在 bg-canvas / surface / sidebar 上至少 3:1。"
            },
            "priority-low": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4784,
                  0.5255,
                  0.502
                ],
                "hex": "#7a8680"
              },
              "$description": "优先级「低」的图形标记。"
            },
            "priority-medium": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.2431,
                  0.4353,
                  0.7216
                ],
                "hex": "#3e6fb8"
              },
              "$description": "优先级「中」的图形标记。"
            },
            "priority-high": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.7216,
                  0.4157,
                  0.0706
                ],
                "hex": "#b86a12"
              },
              "$description": "优先级「高」的图形标记。"
            },
            "priority-urgent": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.7686,
                  0.2745,
                  0.1686
                ],
                "hex": "#c4462b"
              },
              "$description": "优先级「紧急 / 立即」的图形标记。"
            },
            "label-blue": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.902,
                  0.9333,
                  0.9843
                ],
                "hex": "#e6eefb"
              },
              "$description": "蓝色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-blue": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1529,
                  0.3255,
                  0.702
                ],
                "hex": "#2753b3"
              },
              "$description": "蓝色标签上的文字。"
            },
            "label-green": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.8902,
                  0.949,
                  0.9098
                ],
                "hex": "#e3f2e8"
              },
              "$description": "绿色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-green": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.4196,
                  0.2431
                ],
                "hex": "#1e6b3e"
              },
              "$description": "绿色标签上的文字。"
            },
            "label-orange": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9882,
                  0.9216,
                  0.8667
                ],
                "hex": "#fcebdd"
              },
              "$description": "橙色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-orange": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.6431,
                  0.2824,
                  0.0471
                ],
                "hex": "#a4480c"
              },
              "$description": "橙色标签上的文字。"
            },
            "label-violet": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9412,
                  0.9098,
                  0.9843
                ],
                "hex": "#f0e8fb"
              },
              "$description": "紫色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-violet": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4157,
                  0.2314,
                  0.6588
                ],
                "hex": "#6a3ba8"
              },
              "$description": "紫色标签上的文字。"
            },
            "label-gray": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9294,
                  0.9373,
                  0.9333
                ],
                "hex": "#edefee"
              },
              "$description": "灰色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-gray": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.302,
                  0.3451,
                  0.3216
                ],
                "hex": "#4d5852"
              },
              "$description": "灰色标签上的文字。"
            },
            "label-pink": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9843,
                  0.902,
                  0.9373
                ],
                "hex": "#fbe6ef"
              },
              "$description": "粉色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-pink": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.6431,
                  0.1647,
                  0.3686
                ],
                "hex": "#a42a5e"
              },
              "$description": "粉色标签上的文字。"
            },
            "label-teal": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.8745,
                  0.9529,
                  0.9451
                ],
                "hex": "#dff3f1"
              },
              "$description": "青色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-teal": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0784,
                  0.4,
                  0.3686
                ],
                "hex": "#14665e"
              },
              "$description": "青色标签上的文字。"
            },
            "avatar-1": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1412,
                  0.4667,
                  0.2902
                ],
                "hex": "#24774a"
              },
              "$description": "成员头像底色第 1 号，按用户 id 取模分配。"
            },
            "avatar-2": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.2078,
                  0.3882,
                  0.7882
                ],
                "hex": "#3563c9"
              },
              "$description": "成员头像底色第 2 号，按用户 id 取模分配。"
            },
            "avatar-3": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.6588,
                  0.3098,
                  0.0471
                ],
                "hex": "#a84f0c"
              },
              "$description": "成员头像底色第 3 号，按用户 id 取模分配。"
            },
            "avatar-4": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4784,
                  0.2706,
                  0.7216
                ],
                "hex": "#7a45b8"
              },
              "$description": "成员头像底色第 4 号，按用户 id 取模分配。"
            },
            "avatar-5": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.702,
                  0.2,
                  0.3098
                ],
                "hex": "#b3334f"
              },
              "$description": "成员头像底色第 5 号，按用户 id 取模分配。"
            },
            "on-avatar": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  1.0,
                  1.0
                ],
                "hex": "#ffffff"
              },
              "$description": "头像字母的颜色，放在 avatar-1…5 上。"
            }
          },
          "shadow": {
            "$type": "shadow",
            "card": {
              "$value": [
                {
                  "color": {
                    "colorSpace": "srgb",
                    "components": [
                      0.0627,
                      0.0941,
                      0.0784
                    ],
                    "hex": "#101814",
                    "alpha": 0.059
                  },
                  "offsetX": {
                    "value": 0,
                    "unit": "px"
                  },
                  "offsetY": {
                    "value": 1,
                    "unit": "px"
                  },
                  "blur": {
                    "value": 2,
                    "unit": "px"
                  },
                  "spread": {
                    "value": 0,
                    "unit": "px"
                  }
                }
              ]
            },
            "raised": {
              "$value": [
                {
                  "color": {
                    "colorSpace": "srgb",
                    "components": [
                      0.0627,
                      0.0941,
                      0.0784
                    ],
                    "hex": "#101814",
                    "alpha": 0.059
                  },
                  "offsetX": {
                    "value": 0,
                    "unit": "px"
                  },
                  "offsetY": {
                    "value": 1,
                    "unit": "px"
                  },
                  "blur": {
                    "value": 2,
                    "unit": "px"
                  },
                  "spread": {
                    "value": 0,
                    "unit": "px"
                  }
                },
                {
                  "color": {
                    "colorSpace": "srgb",
                    "components": [
                      0.0627,
                      0.0941,
                      0.0784
                    ],
                    "hex": "#101814",
                    "alpha": 0.059
                  },
                  "offsetX": {
                    "value": 0,
                    "unit": "px"
                  },
                  "offsetY": {
                    "value": 4,
                    "unit": "px"
                  },
                  "blur": {
                    "value": 16,
                    "unit": "px"
                  },
                  "spread": {
                    "value": 0,
                    "unit": "px"
                  }
                }
              ]
            },
            "overlay": {
              "$value": [
                {
                  "color": {
                    "colorSpace": "srgb",
                    "components": [
                      0.0627,
                      0.0941,
                      0.0784
                    ],
                    "hex": "#101814",
                    "alpha": 0.161
                  },
                  "offsetX": {
                    "value": 0,
                    "unit": "px"
                  },
                  "offsetY": {
                    "value": 12,
                    "unit": "px"
                  },
                  "blur": {
                    "value": 40,
                    "unit": "px"
                  },
                  "spread": {
                    "value": 0,
                    "unit": "px"
                  }
                }
              ]
            }
          }
        },
        "dark": {
          "color": {
            "$type": "color",
            "bg-canvas": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0588,
                  0.0745,
                  0.0667
                ],
                "hex": "#0f1311"
              },
              "$description": "主内容区背景。text-primary / text-secondary / text-muted 都可直接放在上面。"
            },
            "bg-sidebar": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0431,
                  0.0549,
                  0.0471
                ],
                "hex": "#0b0e0c"
              },
              "$description": "侧栏、收起的导航条、顶栏。"
            },
            "bg-surface": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0824,
                  0.102,
                  0.0902
                ],
                "hex": "#151a17"
              },
              "$description": "卡片、输入框、任务行容器、弹层。"
            },
            "bg-sunken": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0706,
                  0.0902,
                  0.0784
                ],
                "hex": "#121714"
              },
              "$description": "看板分栏、分组底色、代码块等下沉区域。"
            },
            "bg-selected": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.102,
                  0.1725,
                  0.1294
                ],
                "hex": "#1a2c21"
              },
              "$description": "选中的任务行、当前项目、当前导航项。"
            },
            "bg-hover": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0941,
                  0.1255,
                  0.1059
                ],
                "hex": "#18201b"
              },
              "$description": "可点击行和按钮的悬停底色。"
            },
            "scrim": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0,
                  0.0,
                  0.0
                ],
                "hex": "#000000",
                "alpha": 0.651
              },
              "$description": "模态弹层后面的遮罩（带透明度）。"
            },
            "border-default": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1373,
                  0.1686,
                  0.149
                ],
                "hex": "#232b26"
              },
              "$description": "卡片和面板边框。贴纸风格里它就是 2.5px 的墨黑描边。"
            },
            "border-subtle": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1059,
                  0.1333,
                  0.1176
                ],
                "hex": "#1b221e"
              },
              "$description": "列表行之间的分隔线，只做装饰，不承担识别控件的作用。"
            },
            "border-strong": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.3608,
                  0.4157,
                  0.3843
                ],
                "hex": "#5c6a62"
              },
              "$description": "复选框、输入框等控件的边框；在 bg-surface / bg-canvas 上至少 3:1。"
            },
            "text-primary": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9059,
                  0.9294,
                  0.9137
                ],
                "hex": "#e7ede9"
              },
              "$description": "正文、任务标题；可放在所有 bg-* 上。"
            },
            "text-secondary": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.7608,
                  0.8,
                  0.7765
                ],
                "hex": "#c2ccc6"
              },
              "$description": "次要正文、侧栏导航文字；可放在所有 bg-* 上。"
            },
            "text-muted": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.549,
                  0.5961,
                  0.5686
                ],
                "hex": "#8c9891"
              },
              "$description": "元信息（编号、计数、时间）；可放在 bg-canvas / sidebar / surface / sunken / selected 上。"
            },
            "accent": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.2706,
                  0.7608,
                  0.4784
                ],
                "hex": "#45c27a"
              },
              "$description": "品牌主色的填充：主按钮、选中指示、进度条、完成勾选。贴纸风格里填充一定配 border-strong 描边。"
            },
            "on-accent": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0275,
                  0.0784,
                  0.0471
                ],
                "hex": "#07140c"
              },
              "$description": "accent 填充上的文字和图标。"
            },
            "accent-text": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.2706,
                  0.7608,
                  0.4784
                ],
                "hex": "#45c27a"
              },
              "$description": "当文字用的品牌色（链接、当前视图名），放在 bg-canvas / bg-surface 上。"
            },
            "accent-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0902,
                  0.2,
                  0.1373
                ],
                "hex": "#173323"
              },
              "$description": "品牌色浅底：选中的筛选条件、成功提示。"
            },
            "on-accent-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.5608,
                  0.8667,
                  0.6902
                ],
                "hex": "#8fddb0"
              },
              "$description": "accent-soft 上的文字。"
            },
            "danger": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9412,
                  0.4784,
                  0.3412
                ],
                "hex": "#f07a57"
              },
              "$description": "紧急、逾期、删除的文字和图标。"
            },
            "danger-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.2275,
                  0.1137,
                  0.0863
                ],
                "hex": "#3a1d16"
              },
              "$description": "紧急 / 逾期标记的底色。"
            },
            "on-danger-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9608,
                  0.6353,
                  0.5333
                ],
                "hex": "#f5a288"
              },
              "$description": "danger-soft 上的文字。"
            },
            "warning": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.8902,
                  0.651,
                  0.2902
                ],
                "hex": "#e3a64a"
              },
              "$description": "高优先级、今天到期的文字和图标。"
            },
            "warning-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.2,
                  0.1529,
                  0.0588
                ],
                "hex": "#33270f"
              },
              "$description": "高优先级 / 今天到期标记的底色。"
            },
            "on-warning-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9294,
                  0.7569,
                  0.4941
                ],
                "hex": "#edc17e"
              },
              "$description": "warning-soft 上的文字。"
            },
            "info": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.5608,
                  0.6902,
                  0.949
                ],
                "hex": "#8fb0f2"
              },
              "$description": "过滤器语句、链接分享、信息提示的文字。"
            },
            "timer": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.2706,
                  0.7608,
                  0.4784
                ],
                "hex": "#45c27a"
              },
              "$description": "正在计时的时间数字和指示点。"
            },
            "timer-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0902,
                  0.2,
                  0.1373
                ],
                "hex": "#173323"
              },
              "$description": "计时器胶囊和卡片的底色。"
            },
            "on-timer-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.5608,
                  0.8667,
                  0.6902
                ],
                "hex": "#8fddb0"
              },
              "$description": "timer-soft 上的文字。"
            },
            "focus-ring": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.5608,
                  0.6902,
                  0.949
                ],
                "hex": "#8fb0f2"
              },
              "$description": "键盘焦点环，2px 实线外加 2px 偏移；在 bg-canvas / surface / sidebar 上至少 3:1。"
            },
            "priority-low": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4627,
                  0.5137,
                  0.4863
                ],
                "hex": "#76837c"
              },
              "$description": "优先级「低」的图形标记。"
            },
            "priority-medium": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.498,
                  0.6353,
                  0.9176
                ],
                "hex": "#7fa2ea"
              },
              "$description": "优先级「中」的图形标记。"
            },
            "priority-high": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.8902,
                  0.651,
                  0.2902
                ],
                "hex": "#e3a64a"
              },
              "$description": "优先级「高」的图形标记。"
            },
            "priority-urgent": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9412,
                  0.4784,
                  0.3412
                ],
                "hex": "#f07a57"
              },
              "$description": "优先级「紧急 / 立即」的图形标记。"
            },
            "label-blue": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0941,
                  0.1412,
                  0.2275
                ],
                "hex": "#18243a"
              },
              "$description": "蓝色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-blue": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.5608,
                  0.6902,
                  0.949
                ],
                "hex": "#8fb0f2"
              },
              "$description": "蓝色标签上的文字。"
            },
            "label-green": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0824,
                  0.1922,
                  0.1333
                ],
                "hex": "#153122"
              },
              "$description": "绿色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-green": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.498,
                  0.8275,
                  0.6275
                ],
                "hex": "#7fd3a0"
              },
              "$description": "绿色标签上的文字。"
            },
            "label-orange": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.2275,
                  0.1412,
                  0.0784
                ],
                "hex": "#3a2414"
              },
              "$description": "橙色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-orange": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.949,
                  0.6588,
                  0.4314
                ],
                "hex": "#f2a86e"
              },
              "$description": "橙色标签上的文字。"
            },
            "label-violet": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1647,
                  0.1176,
                  0.2392
                ],
                "hex": "#2a1e3d"
              },
              "$description": "紫色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-violet": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.7647,
                  0.6353,
                  0.949
                ],
                "hex": "#c3a2f2"
              },
              "$description": "紫色标签上的文字。"
            },
            "label-gray": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1373,
                  0.1647,
                  0.149
                ],
                "hex": "#232a26"
              },
              "$description": "灰色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-gray": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.698,
                  0.7412,
                  0.7137
                ],
                "hex": "#b2bdb6"
              },
              "$description": "灰色标签上的文字。"
            },
            "label-pink": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.2275,
                  0.102,
                  0.1608
                ],
                "hex": "#3a1a29"
              },
              "$description": "粉色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-pink": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.949,
                  0.6078,
                  0.7608
                ],
                "hex": "#f29bc2"
              },
              "$description": "粉色标签上的文字。"
            },
            "label-teal": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0706,
                  0.2,
                  0.1922
                ],
                "hex": "#123331"
              },
              "$description": "青色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-teal": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.498,
                  0.8392,
                  0.8
                ],
                "hex": "#7fd6cc"
              },
              "$description": "青色标签上的文字。"
            },
            "avatar-1": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1412,
                  0.4667,
                  0.2902
                ],
                "hex": "#24774a"
              },
              "$description": "成员头像底色第 1 号，按用户 id 取模分配。"
            },
            "avatar-2": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.2078,
                  0.3882,
                  0.7882
                ],
                "hex": "#3563c9"
              },
              "$description": "成员头像底色第 2 号，按用户 id 取模分配。"
            },
            "avatar-3": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.6588,
                  0.3098,
                  0.0471
                ],
                "hex": "#a84f0c"
              },
              "$description": "成员头像底色第 3 号，按用户 id 取模分配。"
            },
            "avatar-4": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4784,
                  0.2706,
                  0.7216
                ],
                "hex": "#7a45b8"
              },
              "$description": "成员头像底色第 4 号，按用户 id 取模分配。"
            },
            "avatar-5": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.702,
                  0.2,
                  0.3098
                ],
                "hex": "#b3334f"
              },
              "$description": "成员头像底色第 5 号，按用户 id 取模分配。"
            },
            "on-avatar": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  1.0,
                  1.0
                ],
                "hex": "#ffffff"
              },
              "$description": "头像字母的颜色，放在 avatar-1…5 上。"
            }
          },
          "shadow": {
            "$type": "shadow",
            "card": {
              "$value": [
                {
                  "color": {
                    "colorSpace": "srgb",
                    "components": [
                      0.0,
                      0.0,
                      0.0
                    ],
                    "hex": "#000000",
                    "alpha": 0.451
                  },
                  "offsetX": {
                    "value": 0,
                    "unit": "px"
                  },
                  "offsetY": {
                    "value": 1,
                    "unit": "px"
                  },
                  "blur": {
                    "value": 2,
                    "unit": "px"
                  },
                  "spread": {
                    "value": 0,
                    "unit": "px"
                  }
                }
              ]
            },
            "raised": {
              "$value": [
                {
                  "color": {
                    "colorSpace": "srgb",
                    "components": [
                      0.0,
                      0.0,
                      0.0
                    ],
                    "hex": "#000000",
                    "alpha": 0.349
                  },
                  "offsetX": {
                    "value": 0,
                    "unit": "px"
                  },
                  "offsetY": {
                    "value": 8,
                    "unit": "px"
                  },
                  "blur": {
                    "value": 24,
                    "unit": "px"
                  },
                  "spread": {
                    "value": 0,
                    "unit": "px"
                  }
                }
              ]
            },
            "overlay": {
              "$value": [
                {
                  "color": {
                    "colorSpace": "srgb",
                    "components": [
                      0.0,
                      0.0,
                      0.0
                    ],
                    "hex": "#000000",
                    "alpha": 0.502
                  },
                  "offsetX": {
                    "value": 0,
                    "unit": "px"
                  },
                  "offsetY": {
                    "value": 16,
                    "unit": "px"
                  },
                  "blur": {
                    "value": 48,
                    "unit": "px"
                  },
                  "spread": {
                    "value": 0,
                    "unit": "px"
                  }
                }
              ]
            }
          }
        }
      }
    },
    "sticker": {
      "$description": "萌虎 Sticker：粗描边、硬阴影、糖果色。完成任务像贴上一枚贴纸。",
      "$extensions": {
        "app.bostonivy": {
          "name": "萌虎 Sticker",
          "motion": "pop",
          "variants": {
            "checkbox": "rounded-square",
            "priority": "pill-bang",
            "label": "sticker-pill",
            "avatar": "pastel-outlined",
            "mascot": "sticker",
            "emptyTone": "playful",
            "density": "roomy"
          }
        }
      },
      "font": {
        "$type": "fontFamily",
        "$description": "这里只写品牌字体（拉丁字母）和通用字族。构建时在两者之间插入 core.script 里的系统字体（界面语言那一组在前）和 core.font.emoji。",
        "$extensions": {
          "app.bostonivy": {
            "scriptFonts": "rounded",
            "substitute": "Inter",
            "substituteFor": [
              "tr",
              "vi",
              "ru",
              "uk",
              "pl",
              "cs",
              "ro",
              "hu",
              "el"
            ],
            "substituteNote": "这个字体缺这些语言的字母（土耳其文 ğ ş İ、越南文、西里尔字母、波兰文、捷克文、罗马尼亚文、匈牙利文 ő ű、希腊字母）。界面是这些语言时整段换成 substitute，避免同一个词里混进回退字体。"
          }
        },
        "ui": {
          "$value": [
            "Fredoka",
            "sans-serif"
          ]
        },
        "display": {
          "$value": [
            "Fredoka",
            "sans-serif"
          ]
        },
        "data": {
          "$value": [
            "Fredoka",
            "sans-serif"
          ]
        }
      },
      "radius": {
        "$type": "dimension",
        "sm": {
          "$value": {
            "value": 10,
            "unit": "px"
          }
        },
        "md": {
          "$value": {
            "value": 16,
            "unit": "px"
          }
        },
        "lg": {
          "$value": {
            "value": 24,
            "unit": "px"
          }
        }
      },
      "border": {
        "$type": "dimension",
        "width": {
          "$value": {
            "value": 2.5,
            "unit": "px"
          },
          "$description": "卡片、输入框、按钮的描边粗细。"
        },
        "focus": {
          "$value": {
            "value": 3,
            "unit": "px"
          },
          "$description": "焦点环粗细。"
        }
      },
      "size": {
        "$type": "dimension",
        "row": {
          "$value": {
            "value": 58,
            "unit": "px"
          },
          "$description": "任务行最小高度。"
        },
        "control": {
          "$value": {
            "value": 40,
            "unit": "px"
          },
          "$description": "按钮、输入框高度（触屏端最小 44）。"
        },
        "sidebar": {
          "$value": {
            "value": 264,
            "unit": "px"
          },
          "$description": "桌面侧栏宽度。"
        }
      },
      "icon": {
        "stroke": {
          "$type": "number",
          "$value": 2.2,
          "$description": "24px 线性图标的描边粗细。"
        },
        "$extensions": {
          "app.bostonivy": {
            "linecap": "round",
            "linejoin": "round"
          }
        }
      },
      "typography": {
        "$type": "typography",
        "title": {
          "$value": {
            "fontFamily": "{style.sticker.font.display}",
            "fontSize": {
              "value": 32,
              "unit": "px"
            },
            "fontWeight": 700,
            "letterSpacing": {
              "value": 0,
              "unit": "px"
            },
            "lineHeight": 1.188
          },
          "$extensions": {
            "app.bostonivy": {
              "lineHeightPx": 38,
              "sample": "后端 · Rust 重写"
            }
          }
        },
        "heading": {
          "$value": {
            "fontFamily": "{style.sticker.font.ui}",
            "fontSize": {
              "value": 17,
              "unit": "px"
            },
            "fontWeight": 700,
            "letterSpacing": {
              "value": 0,
              "unit": "px"
            },
            "lineHeight": 1.412
          },
          "$extensions": {
            "app.bostonivy": {
              "lineHeightPx": 24,
              "sample": "今天 & 逾期"
            }
          }
        },
        "task": {
          "$value": {
            "fontFamily": "{style.sticker.font.ui}",
            "fontSize": {
              "value": 16,
              "unit": "px"
            },
            "fontWeight": 600,
            "letterSpacing": {
              "value": 0,
              "unit": "px"
            },
            "lineHeight": 1.375
          },
          "$extensions": {
            "app.bostonivy": {
              "lineHeightPx": 22,
              "sample": "迁移 PostgreSQL schema 与索引"
            }
          }
        },
        "body": {
          "$value": {
            "fontFamily": "{style.sticker.font.ui}",
            "fontSize": {
              "value": 15,
              "unit": "px"
            },
            "fontWeight": 500,
            "letterSpacing": {
              "value": 0,
              "unit": "px"
            },
            "lineHeight": 1.467
          },
          "$extensions": {
            "app.bostonivy": {
              "lineHeightPx": 22,
              "sample": "把旧版 schema 迁到 PostgreSQL 16，用 sqlx 管理迁移。"
            }
          }
        },
        "caption": {
          "$value": {
            "fontFamily": "{style.sticker.font.ui}",
            "fontSize": {
              "value": 13,
              "unit": "px"
            },
            "fontWeight": 600,
            "letterSpacing": {
              "value": 0,
              "unit": "px"
            },
            "lineHeight": 1.385
          },
          "$extensions": {
            "app.bostonivy": {
              "lineHeightPx": 18,
              "sample": "今天 18:00 · 评论 5"
            }
          }
        },
        "timer": {
          "$value": {
            "fontFamily": "{style.sticker.font.data}",
            "fontSize": {
              "value": 40,
              "unit": "px"
            },
            "fontWeight": 700,
            "letterSpacing": {
              "value": 0,
              "unit": "px"
            },
            "lineHeight": 1.1
          },
          "$extensions": {
            "app.bostonivy": {
              "lineHeightPx": 44,
              "sample": "00:42:18"
            }
          }
        }
      },
      "mode": {
        "light": {
          "color": {
            "$type": "color",
            "bg-canvas": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.949,
                  0.9294,
                  1.0
                ],
                "hex": "#f2edff"
              },
              "$description": "主内容区背景。text-primary / text-secondary / text-muted 都可直接放在上面。"
            },
            "bg-sidebar": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.8824,
                  0.4157
                ],
                "hex": "#ffe16a"
              },
              "$description": "侧栏、收起的导航条、顶栏。"
            },
            "bg-surface": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  1.0,
                  1.0
                ],
                "hex": "#ffffff"
              },
              "$description": "卡片、输入框、任务行容器、弹层。"
            },
            "bg-sunken": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9137,
                  0.8863,
                  1.0
                ],
                "hex": "#e9e2ff"
              },
              "$description": "看板分栏、分组底色、代码块等下沉区域。"
            },
            "bg-selected": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.851,
                  0.9647,
                  0.8863
                ],
                "hex": "#d9f6e2"
              },
              "$description": "选中的任务行、当前项目、当前导航项。"
            },
            "bg-hover": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9804,
                  0.9725,
                  1.0
                ],
                "hex": "#faf8ff"
              },
              "$description": "可点击行和按钮的悬停底色。"
            },
            "scrim": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18",
                "alpha": 0.451
              },
              "$description": "模态弹层后面的遮罩（带透明度）。"
            },
            "border-default": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "卡片和面板边框。贴纸风格里它就是 2.5px 的墨黑描边。"
            },
            "border-subtle": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.851,
                  0.8157,
                  0.9608
                ],
                "hex": "#d9d0f5"
              },
              "$description": "列表行之间的分隔线，只做装饰，不承担识别控件的作用。"
            },
            "border-strong": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "复选框、输入框等控件的边框；在 bg-surface / bg-canvas 上至少 3:1。"
            },
            "text-primary": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "正文、任务标题；可放在所有 bg-* 上。"
            },
            "text-secondary": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.2314,
                  0.2118,
                  0.251
                ],
                "hex": "#3b3640"
              },
              "$description": "次要正文、侧栏导航文字；可放在所有 bg-* 上。"
            },
            "text-muted": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.3686,
                  0.3451,
                  0.4
                ],
                "hex": "#5e5866"
              },
              "$description": "元信息（编号、计数、时间）；可放在 bg-canvas / sidebar / surface / sunken / selected 上。"
            },
            "accent": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4941,
                  0.8627,
                  0.6118
                ],
                "hex": "#7edc9c"
              },
              "$description": "品牌主色的填充：主按钮、选中指示、进度条、完成勾选。贴纸风格里填充一定配 border-strong 描边。"
            },
            "on-accent": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "accent 填充上的文字和图标。"
            },
            "accent-text": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0784,
                  0.4392,
                  0.2471
                ],
                "hex": "#14703f"
              },
              "$description": "当文字用的品牌色（链接、当前视图名），放在 bg-canvas / bg-surface 上。"
            },
            "accent-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.851,
                  0.9647,
                  0.8863
                ],
                "hex": "#d9f6e2"
              },
              "$description": "品牌色浅底：选中的筛选条件、成功提示。"
            },
            "on-accent-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "accent-soft 上的文字。"
            },
            "danger": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.702,
                  0.1647,
                  0.0706
                ],
                "hex": "#b32a12"
              },
              "$description": "紧急、逾期、删除的文字和图标。"
            },
            "danger-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.4784,
                  0.3608
                ],
                "hex": "#ff7a5c"
              },
              "$description": "紧急 / 逾期标记的底色。"
            },
            "on-danger-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "danger-soft 上的文字。"
            },
            "warning": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.5412,
                  0.3216,
                  0.0
                ],
                "hex": "#8a5200"
              },
              "$description": "高优先级、今天到期的文字和图标。"
            },
            "warning-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.7059,
                  0.3686
                ],
                "hex": "#ffb45e"
              },
              "$description": "高优先级 / 今天到期标记的底色。"
            },
            "on-warning-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "warning-soft 上的文字。"
            },
            "info": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1843,
                  0.3725,
                  0.702
                ],
                "hex": "#2f5fb3"
              },
              "$description": "过滤器语句、链接分享、信息提示的文字。"
            },
            "timer": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.6196,
                  0.1451,
                  0.349
                ],
                "hex": "#9e2559"
              },
              "$description": "正在计时的时间数字和指示点。"
            },
            "timer-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.6157,
                  0.7333
                ],
                "hex": "#ff9dbb"
              },
              "$description": "计时器胶囊和卡片的底色。"
            },
            "on-timer-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "timer-soft 上的文字。"
            },
            "focus-ring": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.3569,
                  0.2471,
                  0.851
                ],
                "hex": "#5b3fd9"
              },
              "$description": "键盘焦点环，2px 实线外加 2px 偏移；在 bg-canvas / surface / sidebar 上至少 3:1。"
            },
            "priority-low": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4784,
                  0.451,
                  0.5137
                ],
                "hex": "#7a7383"
              },
              "$description": "优先级「低」的图形标记。"
            },
            "priority-medium": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1843,
                  0.3725,
                  0.702
                ],
                "hex": "#2f5fb3"
              },
              "$description": "优先级「中」的图形标记。"
            },
            "priority-high": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.7216,
                  0.3843,
                  0.0
                ],
                "hex": "#b86200"
              },
              "$description": "优先级「高」的图形标记。"
            },
            "priority-urgent": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.8275,
                  0.251,
                  0.1216
                ],
                "hex": "#d3401f"
              },
              "$description": "优先级「紧急 / 立即」的图形标记。"
            },
            "label-blue": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.5608,
                  0.8275,
                  1.0
                ],
                "hex": "#8fd3ff"
              },
              "$description": "蓝色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-blue": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "蓝色标签上的文字。"
            },
            "label-green": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4941,
                  0.8627,
                  0.6118
                ],
                "hex": "#7edc9c"
              },
              "$description": "绿色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-green": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "绿色标签上的文字。"
            },
            "label-orange": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.7059,
                  0.3686
                ],
                "hex": "#ffb45e"
              },
              "$description": "橙色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-orange": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "橙色标签上的文字。"
            },
            "label-violet": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.7725,
                  0.7098,
                  1.0
                ],
                "hex": "#c5b5ff"
              },
              "$description": "紫色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-violet": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "紫色标签上的文字。"
            },
            "label-gray": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.898,
                  0.8784,
                  0.9255
                ],
                "hex": "#e5e0ec"
              },
              "$description": "灰色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-gray": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "灰色标签上的文字。"
            },
            "label-pink": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.6157,
                  0.7333
                ],
                "hex": "#ff9dbb"
              },
              "$description": "粉色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-pink": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "粉色标签上的文字。"
            },
            "label-teal": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.7765,
                  0.9529,
                  0.4196
                ],
                "hex": "#c6f36b"
              },
              "$description": "青色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-teal": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "青色标签上的文字。"
            },
            "avatar-1": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4941,
                  0.8627,
                  0.6118
                ],
                "hex": "#7edc9c"
              },
              "$description": "成员头像底色第 1 号，按用户 id 取模分配。"
            },
            "avatar-2": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.5608,
                  0.8275,
                  1.0
                ],
                "hex": "#8fd3ff"
              },
              "$description": "成员头像底色第 2 号，按用户 id 取模分配。"
            },
            "avatar-3": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.7059,
                  0.3686
                ],
                "hex": "#ffb45e"
              },
              "$description": "成员头像底色第 3 号，按用户 id 取模分配。"
            },
            "avatar-4": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.7725,
                  0.7098,
                  1.0
                ],
                "hex": "#c5b5ff"
              },
              "$description": "成员头像底色第 4 号，按用户 id 取模分配。"
            },
            "avatar-5": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.6157,
                  0.7333
                ],
                "hex": "#ff9dbb"
              },
              "$description": "成员头像底色第 5 号，按用户 id 取模分配。"
            },
            "on-avatar": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "头像字母的颜色，放在 avatar-1…5 上。"
            }
          },
          "shadow": {
            "$type": "shadow",
            "card": {
              "$value": [
                {
                  "color": {
                    "colorSpace": "srgb",
                    "components": [
                      0.1176,
                      0.1059,
                      0.0941
                    ],
                    "hex": "#1e1b18"
                  },
                  "offsetX": {
                    "value": 3,
                    "unit": "px"
                  },
                  "offsetY": {
                    "value": 3,
                    "unit": "px"
                  },
                  "blur": {
                    "value": 0,
                    "unit": "px"
                  },
                  "spread": {
                    "value": 0,
                    "unit": "px"
                  }
                }
              ]
            },
            "raised": {
              "$value": [
                {
                  "color": {
                    "colorSpace": "srgb",
                    "components": [
                      0.1176,
                      0.1059,
                      0.0941
                    ],
                    "hex": "#1e1b18"
                  },
                  "offsetX": {
                    "value": 5,
                    "unit": "px"
                  },
                  "offsetY": {
                    "value": 5,
                    "unit": "px"
                  },
                  "blur": {
                    "value": 0,
                    "unit": "px"
                  },
                  "spread": {
                    "value": 0,
                    "unit": "px"
                  }
                }
              ]
            },
            "overlay": {
              "$value": [
                {
                  "color": {
                    "colorSpace": "srgb",
                    "components": [
                      0.1176,
                      0.1059,
                      0.0941
                    ],
                    "hex": "#1e1b18"
                  },
                  "offsetX": {
                    "value": 8,
                    "unit": "px"
                  },
                  "offsetY": {
                    "value": 8,
                    "unit": "px"
                  },
                  "blur": {
                    "value": 0,
                    "unit": "px"
                  },
                  "spread": {
                    "value": 0,
                    "unit": "px"
                  }
                }
              ]
            }
          }
        },
        "dark": {
          "color": {
            "$type": "color",
            "bg-canvas": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.102,
                  0.0902,
                  0.1333
                ],
                "hex": "#1a1722"
              },
              "$description": "主内容区背景。text-primary / text-secondary / text-muted 都可直接放在上面。"
            },
            "bg-sidebar": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1647,
                  0.1373,
                  0.2196
                ],
                "hex": "#2a2338"
              },
              "$description": "侧栏、收起的导航条、顶栏。"
            },
            "bg-surface": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.149,
                  0.1333,
                  0.1843
                ],
                "hex": "#26222f"
              },
              "$description": "卡片、输入框、任务行容器、弹层。"
            },
            "bg-sunken": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1255,
                  0.1098,
                  0.1608
                ],
                "hex": "#201c29"
              },
              "$description": "看板分栏、分组底色、代码块等下沉区域。"
            },
            "bg-selected": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1412,
                  0.251,
                  0.1843
                ],
                "hex": "#24402f"
              },
              "$description": "选中的任务行、当前项目、当前导航项。"
            },
            "bg-hover": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1804,
                  0.1608,
                  0.2235
                ],
                "hex": "#2e2939"
              },
              "$description": "可点击行和按钮的悬停底色。"
            },
            "scrim": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0,
                  0.0,
                  0.0
                ],
                "hex": "#000000",
                "alpha": 0.702
              },
              "$description": "模态弹层后面的遮罩（带透明度）。"
            },
            "border-default": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9255,
                  0.902,
                  1.0
                ],
                "hex": "#ece6ff"
              },
              "$description": "卡片和面板边框。贴纸风格里它就是 2.5px 的墨黑描边。"
            },
            "border-subtle": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.2275,
                  0.2,
                  0.2824
                ],
                "hex": "#3a3348"
              },
              "$description": "列表行之间的分隔线，只做装饰，不承担识别控件的作用。"
            },
            "border-strong": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9255,
                  0.902,
                  1.0
                ],
                "hex": "#ece6ff"
              },
              "$description": "复选框、输入框等控件的边框；在 bg-surface / bg-canvas 上至少 3:1。"
            },
            "text-primary": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9843,
                  0.9686,
                  0.9333
                ],
                "hex": "#fbf7ee"
              },
              "$description": "正文、任务标题；可放在所有 bg-* 上。"
            },
            "text-secondary": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.8863,
                  0.8588,
                  0.9176
                ],
                "hex": "#e2dbea"
              },
              "$description": "次要正文、侧栏导航文字；可放在所有 bg-* 上。"
            },
            "text-muted": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.702,
                  0.6667,
                  0.749
                ],
                "hex": "#b3aabf"
              },
              "$description": "元信息（编号、计数、时间）；可放在 bg-canvas / sidebar / surface / sunken / selected 上。"
            },
            "accent": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4941,
                  0.8627,
                  0.6118
                ],
                "hex": "#7edc9c"
              },
              "$description": "品牌主色的填充：主按钮、选中指示、进度条、完成勾选。贴纸风格里填充一定配 border-strong 描边。"
            },
            "on-accent": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "accent 填充上的文字和图标。"
            },
            "accent-text": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4941,
                  0.8627,
                  0.6118
                ],
                "hex": "#7edc9c"
              },
              "$description": "当文字用的品牌色（链接、当前视图名），放在 bg-canvas / bg-surface 上。"
            },
            "accent-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1412,
                  0.251,
                  0.1843
                ],
                "hex": "#24402f"
              },
              "$description": "品牌色浅底：选中的筛选条件、成功提示。"
            },
            "on-accent-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.7412,
                  0.9412,
                  0.8039
                ],
                "hex": "#bdf0cd"
              },
              "$description": "accent-soft 上的文字。"
            },
            "danger": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.5412,
                  0.4392
                ],
                "hex": "#ff8a70"
              },
              "$description": "紧急、逾期、删除的文字和图标。"
            },
            "danger-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.4784,
                  0.3608
                ],
                "hex": "#ff7a5c"
              },
              "$description": "紧急 / 逾期标记的底色。"
            },
            "on-danger-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "danger-soft 上的文字。"
            },
            "warning": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.7608,
                  0.4784
                ],
                "hex": "#ffc27a"
              },
              "$description": "高优先级、今天到期的文字和图标。"
            },
            "warning-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.7059,
                  0.3686
                ],
                "hex": "#ffb45e"
              },
              "$description": "高优先级 / 今天到期标记的底色。"
            },
            "on-warning-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "warning-soft 上的文字。"
            },
            "info": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.5608,
                  0.8275,
                  1.0
                ],
                "hex": "#8fd3ff"
              },
              "$description": "过滤器语句、链接分享、信息提示的文字。"
            },
            "timer": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.6157,
                  0.7333
                ],
                "hex": "#ff9dbb"
              },
              "$description": "正在计时的时间数字和指示点。"
            },
            "timer-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.6157,
                  0.7333
                ],
                "hex": "#ff9dbb"
              },
              "$description": "计时器胶囊和卡片的底色。"
            },
            "on-timer-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "timer-soft 上的文字。"
            },
            "focus-ring": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.8824,
                  0.4157
                ],
                "hex": "#ffe16a"
              },
              "$description": "键盘焦点环，2px 实线外加 2px 偏移；在 bg-canvas / surface / sidebar 上至少 3:1。"
            },
            "priority-low": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.5569,
                  0.5216,
                  0.6
                ],
                "hex": "#8e8599"
              },
              "$description": "优先级「低」的图形标记。"
            },
            "priority-medium": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.5608,
                  0.8275,
                  1.0
                ],
                "hex": "#8fd3ff"
              },
              "$description": "优先级「中」的图形标记。"
            },
            "priority-high": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.7059,
                  0.3686
                ],
                "hex": "#ffb45e"
              },
              "$description": "优先级「高」的图形标记。"
            },
            "priority-urgent": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.4784,
                  0.3608
                ],
                "hex": "#ff7a5c"
              },
              "$description": "优先级「紧急 / 立即」的图形标记。"
            },
            "label-blue": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.5608,
                  0.8275,
                  1.0
                ],
                "hex": "#8fd3ff"
              },
              "$description": "蓝色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-blue": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "蓝色标签上的文字。"
            },
            "label-green": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4941,
                  0.8627,
                  0.6118
                ],
                "hex": "#7edc9c"
              },
              "$description": "绿色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-green": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "绿色标签上的文字。"
            },
            "label-orange": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.7059,
                  0.3686
                ],
                "hex": "#ffb45e"
              },
              "$description": "橙色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-orange": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "橙色标签上的文字。"
            },
            "label-violet": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.7725,
                  0.7098,
                  1.0
                ],
                "hex": "#c5b5ff"
              },
              "$description": "紫色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-violet": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "紫色标签上的文字。"
            },
            "label-gray": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.898,
                  0.8784,
                  0.9255
                ],
                "hex": "#e5e0ec"
              },
              "$description": "灰色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-gray": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "灰色标签上的文字。"
            },
            "label-pink": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.6157,
                  0.7333
                ],
                "hex": "#ff9dbb"
              },
              "$description": "粉色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-pink": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "粉色标签上的文字。"
            },
            "label-teal": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.7765,
                  0.9529,
                  0.4196
                ],
                "hex": "#c6f36b"
              },
              "$description": "青色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-teal": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "青色标签上的文字。"
            },
            "avatar-1": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4941,
                  0.8627,
                  0.6118
                ],
                "hex": "#7edc9c"
              },
              "$description": "成员头像底色第 1 号，按用户 id 取模分配。"
            },
            "avatar-2": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.5608,
                  0.8275,
                  1.0
                ],
                "hex": "#8fd3ff"
              },
              "$description": "成员头像底色第 2 号，按用户 id 取模分配。"
            },
            "avatar-3": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.7059,
                  0.3686
                ],
                "hex": "#ffb45e"
              },
              "$description": "成员头像底色第 3 号，按用户 id 取模分配。"
            },
            "avatar-4": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.7725,
                  0.7098,
                  1.0
                ],
                "hex": "#c5b5ff"
              },
              "$description": "成员头像底色第 4 号，按用户 id 取模分配。"
            },
            "avatar-5": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.6157,
                  0.7333
                ],
                "hex": "#ff9dbb"
              },
              "$description": "成员头像底色第 5 号，按用户 id 取模分配。"
            },
            "on-avatar": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1059,
                  0.0941
                ],
                "hex": "#1e1b18"
              },
              "$description": "头像字母的颜色，放在 avatar-1…5 上。"
            }
          },
          "shadow": {
            "$type": "shadow",
            "card": {
              "$value": [
                {
                  "color": {
                    "colorSpace": "srgb",
                    "components": [
                      0.4941,
                      0.8627,
                      0.6118
                    ],
                    "hex": "#7edc9c"
                  },
                  "offsetX": {
                    "value": 3,
                    "unit": "px"
                  },
                  "offsetY": {
                    "value": 3,
                    "unit": "px"
                  },
                  "blur": {
                    "value": 0,
                    "unit": "px"
                  },
                  "spread": {
                    "value": 0,
                    "unit": "px"
                  }
                }
              ]
            },
            "raised": {
              "$value": [
                {
                  "color": {
                    "colorSpace": "srgb",
                    "components": [
                      0.4941,
                      0.8627,
                      0.6118
                    ],
                    "hex": "#7edc9c"
                  },
                  "offsetX": {
                    "value": 5,
                    "unit": "px"
                  },
                  "offsetY": {
                    "value": 5,
                    "unit": "px"
                  },
                  "blur": {
                    "value": 0,
                    "unit": "px"
                  },
                  "spread": {
                    "value": 0,
                    "unit": "px"
                  }
                }
              ]
            },
            "overlay": {
              "$value": [
                {
                  "color": {
                    "colorSpace": "srgb",
                    "components": [
                      0.4941,
                      0.8627,
                      0.6118
                    ],
                    "hex": "#7edc9c"
                  },
                  "offsetX": {
                    "value": 8,
                    "unit": "px"
                  },
                  "offsetY": {
                    "value": 8,
                    "unit": "px"
                  },
                  "blur": {
                    "value": 0,
                    "unit": "px"
                  },
                  "spread": {
                    "value": 0,
                    "unit": "px"
                  }
                }
              ]
            }
          }
        }
      }
    },
    "pixel": {
      "$description": "像素 Pixel：等宽字体、像素小虎、快捷键提示常驻，信息密度最高，暗色是主场。",
      "$extensions": {
        "app.bostonivy": {
          "name": "像素 Pixel",
          "motion": "instant",
          "variants": {
            "checkbox": "bracket",
            "priority": "bang",
            "label": "hashtag",
            "avatar": "handle",
            "mascot": "pixel",
            "emptyTone": "terminal",
            "density": "compact"
          }
        }
      },
      "font": {
        "$type": "fontFamily",
        "$description": "这里只写品牌字体（拉丁字母）和通用字族。构建时在两者之间插入 core.script 里的系统字体（界面语言那一组在前）和 core.font.emoji。",
        "ui": {
          "$value": [
            "JetBrains Mono",
            "monospace"
          ]
        },
        "display": {
          "$value": [
            "Silkscreen",
            "JetBrains Mono",
            "monospace"
          ],
          "$extensions": {
            "app.bostonivy": {
              "substitute": "JetBrains Mono",
              "substituteFor": [
                "tr",
                "vi",
                "ru",
                "uk",
                "pl",
                "cs",
                "ro",
                "hu",
                "el"
              ],
              "substituteNote": "Silkscreen缺这些语言的字母（土耳其文 ğ ş İ、越南文、西里尔字母、波兰文、捷克文、罗马尼亚文、匈牙利文 ő ű、希腊字母）。界面是这些语言时整段换成 substitute，避免同一个词里混进回退字体。"
            }
          }
        },
        "data": {
          "$value": [
            "JetBrains Mono",
            "monospace"
          ]
        }
      },
      "radius": {
        "$type": "dimension",
        "sm": {
          "$value": {
            "value": 0,
            "unit": "px"
          }
        },
        "md": {
          "$value": {
            "value": 0,
            "unit": "px"
          }
        },
        "lg": {
          "$value": {
            "value": 0,
            "unit": "px"
          }
        }
      },
      "border": {
        "$type": "dimension",
        "width": {
          "$value": {
            "value": 1,
            "unit": "px"
          },
          "$description": "卡片、输入框、按钮的描边粗细。"
        },
        "focus": {
          "$value": {
            "value": 2,
            "unit": "px"
          },
          "$description": "焦点环粗细。"
        }
      },
      "size": {
        "$type": "dimension",
        "row": {
          "$value": {
            "value": 32,
            "unit": "px"
          },
          "$description": "任务行最小高度。"
        },
        "control": {
          "$value": {
            "value": 26,
            "unit": "px"
          },
          "$description": "按钮、输入框高度（触屏端最小 44）。"
        },
        "sidebar": {
          "$value": {
            "value": 260,
            "unit": "px"
          },
          "$description": "桌面侧栏宽度。"
        }
      },
      "icon": {
        "stroke": {
          "$type": "number",
          "$value": 2,
          "$description": "24px 线性图标的描边粗细。"
        },
        "$extensions": {
          "app.bostonivy": {
            "linecap": "square",
            "linejoin": "miter"
          }
        }
      },
      "typography": {
        "$type": "typography",
        "title": {
          "$value": {
            "fontFamily": "{style.pixel.font.ui}",
            "fontSize": {
              "value": 22,
              "unit": "px"
            },
            "fontWeight": 700,
            "letterSpacing": {
              "value": 0,
              "unit": "px"
            },
            "lineHeight": 1.364
          },
          "$extensions": {
            "app.bostonivy": {
              "lineHeightPx": 30,
              "sample": "迁移 PostgreSQL schema 与索引"
            }
          }
        },
        "heading": {
          "$value": {
            "fontFamily": "{style.pixel.font.display}",
            "fontSize": {
              "value": 11,
              "unit": "px"
            },
            "fontWeight": 400,
            "letterSpacing": {
              "value": 0.06,
              "unit": "rem"
            },
            "lineHeight": 1.455
          },
          "$extensions": {
            "app.bostonivy": {
              "lineHeightPx": 16,
              "sample": "PROJECTS"
            }
          }
        },
        "task": {
          "$value": {
            "fontFamily": "{style.pixel.font.ui}",
            "fontSize": {
              "value": 13,
              "unit": "px"
            },
            "fontWeight": 500,
            "letterSpacing": {
              "value": 0,
              "unit": "px"
            },
            "lineHeight": 1.538
          },
          "$extensions": {
            "app.bostonivy": {
              "lineHeightPx": 20,
              "sample": "迁移 PostgreSQL schema 与索引"
            }
          }
        },
        "body": {
          "$value": {
            "fontFamily": "{style.pixel.font.ui}",
            "fontSize": {
              "value": 13,
              "unit": "px"
            },
            "fontWeight": 400,
            "letterSpacing": {
              "value": 0,
              "unit": "px"
            },
            "lineHeight": 1.538
          },
          "$extensions": {
            "app.bostonivy": {
              "lineHeightPx": 20,
              "sample": "把旧版 schema 迁到 PostgreSQL 16。"
            }
          }
        },
        "caption": {
          "$value": {
            "fontFamily": "{style.pixel.font.ui}",
            "fontSize": {
              "value": 12,
              "unit": "px"
            },
            "fontWeight": 400,
            "letterSpacing": {
              "value": 0,
              "unit": "px"
            },
            "lineHeight": 1.333
          },
          "$extensions": {
            "app.bostonivy": {
              "lineHeightPx": 16,
              "sample": "#42 due 今天18:00 c:5"
            }
          }
        },
        "timer": {
          "$value": {
            "fontFamily": "{style.pixel.font.display}",
            "fontSize": {
              "value": 24,
              "unit": "px"
            },
            "fontWeight": 400,
            "letterSpacing": {
              "value": 0,
              "unit": "px"
            },
            "lineHeight": 1.167
          },
          "$extensions": {
            "app.bostonivy": {
              "lineHeightPx": 28,
              "sample": "00:42:18"
            }
          }
        }
      },
      "mode": {
        "light": {
          "color": {
            "$type": "color",
            "bg-canvas": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9529,
                  0.9608,
                  0.9451
                ],
                "hex": "#f3f5f1"
              },
              "$description": "主内容区背景。text-primary / text-secondary / text-muted 都可直接放在上面。"
            },
            "bg-sidebar": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  1.0,
                  1.0
                ],
                "hex": "#ffffff"
              },
              "$description": "侧栏、收起的导航条、顶栏。"
            },
            "bg-surface": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  1.0,
                  1.0
                ],
                "hex": "#ffffff"
              },
              "$description": "卡片、输入框、任务行容器、弹层。"
            },
            "bg-sunken": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9098,
                  0.9255,
                  0.902
                ],
                "hex": "#e8ece6"
              },
              "$description": "看板分栏、分组底色、代码块等下沉区域。"
            },
            "bg-selected": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.8392,
                  0.9412,
                  0.8745
                ],
                "hex": "#d6f0df"
              },
              "$description": "选中的任务行、当前项目、当前导航项。"
            },
            "bg-hover": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9294,
                  0.9451,
                  0.9255
                ],
                "hex": "#edf1ec"
              },
              "$description": "可点击行和按钮的悬停底色。"
            },
            "scrim": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.051,
                  0.102,
                  0.0667
                ],
                "hex": "#0d1a11",
                "alpha": 0.4
              },
              "$description": "模态弹层后面的遮罩（带透明度）。"
            },
            "border-default": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.7961,
                  0.8275,
                  0.7961
                ],
                "hex": "#cbd3cb"
              },
              "$description": "卡片和面板边框。贴纸风格里它就是 2.5px 的墨黑描边。"
            },
            "border-subtle": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.8824,
                  0.902,
                  0.8784
                ],
                "hex": "#e1e6e0"
              },
              "$description": "列表行之间的分隔线，只做装饰，不承担识别控件的作用。"
            },
            "border-strong": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4902,
                  0.5451,
                  0.502
                ],
                "hex": "#7d8b80"
              },
              "$description": "复选框、输入框等控件的边框；在 bg-surface / bg-canvas 上至少 3:1。"
            },
            "text-primary": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.051,
                  0.102,
                  0.0667
                ],
                "hex": "#0d1a11"
              },
              "$description": "正文、任务标题；可放在所有 bg-* 上。"
            },
            "text-secondary": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1725,
                  0.2314,
                  0.1882
                ],
                "hex": "#2c3b30"
              },
              "$description": "次要正文、侧栏导航文字；可放在所有 bg-* 上。"
            },
            "text-muted": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.3216,
                  0.3882,
                  0.3373
                ],
                "hex": "#526356"
              },
              "$description": "元信息（编号、计数、时间）；可放在 bg-canvas / sidebar / surface / sunken / selected 上。"
            },
            "accent": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0588,
                  0.4784,
                  0.2353
                ],
                "hex": "#0f7a3c"
              },
              "$description": "品牌主色的填充：主按钮、选中指示、进度条、完成勾选。贴纸风格里填充一定配 border-strong 描边。"
            },
            "on-accent": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  1.0,
                  1.0
                ],
                "hex": "#ffffff"
              },
              "$description": "accent 填充上的文字和图标。"
            },
            "accent-text": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0588,
                  0.4784,
                  0.2353
                ],
                "hex": "#0f7a3c"
              },
              "$description": "当文字用的品牌色（链接、当前视图名），放在 bg-canvas / bg-surface 上。"
            },
            "accent-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.8392,
                  0.9412,
                  0.8745
                ],
                "hex": "#d6f0df"
              },
              "$description": "品牌色浅底：选中的筛选条件、成功提示。"
            },
            "on-accent-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0431,
                  0.3529,
                  0.1725
                ],
                "hex": "#0b5a2c"
              },
              "$description": "accent-soft 上的文字。"
            },
            "danger": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.7608,
                  0.1843,
                  0.1098
                ],
                "hex": "#c22f1c"
              },
              "$description": "紧急、逾期、删除的文字和图标。"
            },
            "danger-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9843,
                  0.8902,
                  0.8706
                ],
                "hex": "#fbe3de"
              },
              "$description": "紧急 / 逾期标记的底色。"
            },
            "on-danger-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.6039,
                  0.1412,
                  0.0824
                ],
                "hex": "#9a2415"
              },
              "$description": "danger-soft 上的文字。"
            },
            "warning": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.5216,
                  0.3647,
                  0.0
                ],
                "hex": "#855d00"
              },
              "$description": "高优先级、今天到期的文字和图标。"
            },
            "warning-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9843,
                  0.9373,
                  0.8118
                ],
                "hex": "#fbefcf"
              },
              "$description": "高优先级 / 今天到期标记的底色。"
            },
            "on-warning-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4196,
                  0.2941,
                  0.0
                ],
                "hex": "#6b4b00"
              },
              "$description": "warning-soft 上的文字。"
            },
            "info": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0431,
                  0.4314,
                  0.5412
                ],
                "hex": "#0b6e8a"
              },
              "$description": "过滤器语句、链接分享、信息提示的文字。"
            },
            "timer": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0588,
                  0.4784,
                  0.2353
                ],
                "hex": "#0f7a3c"
              },
              "$description": "正在计时的时间数字和指示点。"
            },
            "timer-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.8392,
                  0.9412,
                  0.8745
                ],
                "hex": "#d6f0df"
              },
              "$description": "计时器胶囊和卡片的底色。"
            },
            "on-timer-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0431,
                  0.3529,
                  0.1725
                ],
                "hex": "#0b5a2c"
              },
              "$description": "timer-soft 上的文字。"
            },
            "focus-ring": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0431,
                  0.4314,
                  0.5412
                ],
                "hex": "#0b6e8a"
              },
              "$description": "键盘焦点环，2px 实线外加 2px 偏移；在 bg-canvas / surface / sidebar 上至少 3:1。"
            },
            "priority-low": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4902,
                  0.5451,
                  0.502
                ],
                "hex": "#7d8b80"
              },
              "$description": "优先级「低」的图形标记。"
            },
            "priority-medium": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1725,
                  0.2314,
                  0.1882
                ],
                "hex": "#2c3b30"
              },
              "$description": "优先级「中」的图形标记。"
            },
            "priority-high": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.5412,
                  0.3804,
                  0.0
                ],
                "hex": "#8a6100"
              },
              "$description": "优先级「高」的图形标记。"
            },
            "priority-urgent": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.7608,
                  0.1843,
                  0.1098
                ],
                "hex": "#c22f1c"
              },
              "$description": "优先级「紧急 / 立即」的图形标记。"
            },
            "label-blue": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.8667,
                  0.9412,
                  0.9647
                ],
                "hex": "#ddf0f6"
              },
              "$description": "蓝色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-blue": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0431,
                  0.4314,
                  0.5412
                ],
                "hex": "#0b6e8a"
              },
              "$description": "蓝色标签上的文字。"
            },
            "label-green": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.8392,
                  0.9412,
                  0.8745
                ],
                "hex": "#d6f0df"
              },
              "$description": "绿色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-green": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0431,
                  0.3529,
                  0.1725
                ],
                "hex": "#0b5a2c"
              },
              "$description": "绿色标签上的文字。"
            },
            "label-orange": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9725,
                  0.9255,
                  0.8
                ],
                "hex": "#f8eccc"
              },
              "$description": "橙色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-orange": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4784,
                  0.3373,
                  0.0
                ],
                "hex": "#7a5600"
              },
              "$description": "橙色标签上的文字。"
            },
            "label-violet": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9137,
                  0.8902,
                  0.9804
                ],
                "hex": "#e9e3fa"
              },
              "$description": "紫色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-violet": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4039,
                  0.2706,
                  0.7804
                ],
                "hex": "#6745c7"
              },
              "$description": "紫色标签上的文字。"
            },
            "label-gray": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9098,
                  0.9255,
                  0.902
                ],
                "hex": "#e8ece6"
              },
              "$description": "灰色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-gray": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.2431,
                  0.302,
                  0.2588
                ],
                "hex": "#3e4d42"
              },
              "$description": "灰色标签上的文字。"
            },
            "label-pink": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.9765,
                  0.8824,
                  0.9255
                ],
                "hex": "#f9e1ec"
              },
              "$description": "粉色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-pink": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.6392,
                  0.1686,
                  0.4
                ],
                "hex": "#a32b66"
              },
              "$description": "粉色标签上的文字。"
            },
            "label-teal": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.8471,
                  0.9451,
                  0.9333
                ],
                "hex": "#d8f1ee"
              },
              "$description": "青色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-teal": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1059,
                  0.4196,
                  0.3765
                ],
                "hex": "#1b6b60"
              },
              "$description": "青色标签上的文字。"
            },
            "avatar-1": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0588,
                  0.4784,
                  0.2353
                ],
                "hex": "#0f7a3c"
              },
              "$description": "成员头像底色第 1 号，按用户 id 取模分配。"
            },
            "avatar-2": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0431,
                  0.4314,
                  0.5412
                ],
                "hex": "#0b6e8a"
              },
              "$description": "成员头像底色第 2 号，按用户 id 取模分配。"
            },
            "avatar-3": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.5412,
                  0.3804,
                  0.0
                ],
                "hex": "#8a6100"
              },
              "$description": "成员头像底色第 3 号，按用户 id 取模分配。"
            },
            "avatar-4": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4039,
                  0.2706,
                  0.7804
                ],
                "hex": "#6745c7"
              },
              "$description": "成员头像底色第 4 号，按用户 id 取模分配。"
            },
            "avatar-5": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.6902,
                  0.1882,
                  0.4314
                ],
                "hex": "#b0306e"
              },
              "$description": "成员头像底色第 5 号，按用户 id 取模分配。"
            },
            "on-avatar": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  1.0,
                  1.0
                ],
                "hex": "#ffffff"
              },
              "$description": "头像字母的颜色，放在 avatar-1…5 上。"
            }
          },
          "shadow": {
            "$type": "shadow",
            "card": {
              "$value": [
                {
                  "color": {
                    "colorSpace": "srgb",
                    "components": [
                      0.0,
                      0.0,
                      0.0
                    ],
                    "hex": "#000000",
                    "alpha": 0.0
                  },
                  "offsetX": {
                    "value": 0,
                    "unit": "px"
                  },
                  "offsetY": {
                    "value": 0,
                    "unit": "px"
                  },
                  "blur": {
                    "value": 0,
                    "unit": "px"
                  },
                  "spread": {
                    "value": 0,
                    "unit": "px"
                  }
                }
              ]
            },
            "raised": {
              "$value": [
                {
                  "color": {
                    "colorSpace": "srgb",
                    "components": [
                      0.0588,
                      0.4784,
                      0.2353
                    ],
                    "hex": "#0f7a3c"
                  },
                  "offsetX": {
                    "value": 0,
                    "unit": "px"
                  },
                  "offsetY": {
                    "value": 0,
                    "unit": "px"
                  },
                  "blur": {
                    "value": 0,
                    "unit": "px"
                  },
                  "spread": {
                    "value": 1,
                    "unit": "px"
                  }
                }
              ]
            },
            "overlay": {
              "$value": [
                {
                  "color": {
                    "colorSpace": "srgb",
                    "components": [
                      0.051,
                      0.102,
                      0.0667
                    ],
                    "hex": "#0d1a11",
                    "alpha": 0.2
                  },
                  "offsetX": {
                    "value": 4,
                    "unit": "px"
                  },
                  "offsetY": {
                    "value": 4,
                    "unit": "px"
                  },
                  "blur": {
                    "value": 0,
                    "unit": "px"
                  },
                  "spread": {
                    "value": 0,
                    "unit": "px"
                  }
                }
              ]
            }
          }
        },
        "dark": {
          "color": {
            "$type": "color",
            "bg-canvas": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0392,
                  0.0549,
                  0.0431
                ],
                "hex": "#0a0e0b"
              },
              "$description": "主内容区背景。text-primary / text-secondary / text-muted 都可直接放在上面。"
            },
            "bg-sidebar": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0588,
                  0.0824,
                  0.0667
                ],
                "hex": "#0f1511"
              },
              "$description": "侧栏、收起的导航条、顶栏。"
            },
            "bg-surface": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0588,
                  0.0824,
                  0.0667
                ],
                "hex": "#0f1511"
              },
              "$description": "卡片、输入框、任务行容器、弹层。"
            },
            "bg-sunken": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0745,
                  0.1059,
                  0.0863
                ],
                "hex": "#131b16"
              },
              "$description": "看板分栏、分组底色、代码块等下沉区域。"
            },
            "bg-selected": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0824,
                  0.1882,
                  0.1216
                ],
                "hex": "#15301f"
              },
              "$description": "选中的任务行、当前项目、当前导航项。"
            },
            "bg-hover": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0706,
                  0.102,
                  0.0824
                ],
                "hex": "#121a15"
              },
              "$description": "可点击行和按钮的悬停底色。"
            },
            "scrim": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0,
                  0.0,
                  0.0
                ],
                "hex": "#000000",
                "alpha": 0.702
              },
              "$description": "模态弹层后面的遮罩（带透明度）。"
            },
            "border-default": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1176,
                  0.1647,
                  0.1333
                ],
                "hex": "#1e2a22"
              },
              "$description": "卡片和面板边框。贴纸风格里它就是 2.5px 的墨黑描边。"
            },
            "border-subtle": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0784,
                  0.1137,
                  0.0902
                ],
                "hex": "#141d17"
              },
              "$description": "列表行之间的分隔线，只做装饰，不承担识别控件的作用。"
            },
            "border-strong": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.3373,
                  0.4118,
                  0.3569
                ],
                "hex": "#56695b"
              },
              "$description": "复选框、输入框等控件的边框；在 bg-surface / bg-canvas 上至少 3:1。"
            },
            "text-primary": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.8353,
                  0.902,
                  0.851
                ],
                "hex": "#d5e6d9"
              },
              "$description": "正文、任务标题；可放在所有 bg-* 上。"
            },
            "text-secondary": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.6627,
                  0.7412,
                  0.6824
                ],
                "hex": "#a9bdae"
              },
              "$description": "次要正文、侧栏导航文字；可放在所有 bg-* 上。"
            },
            "text-muted": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.5333,
                  0.6118,
                  0.5529
                ],
                "hex": "#889c8d"
              },
              "$description": "元信息（编号、计数、时间）；可放在 bg-canvas / sidebar / surface / sunken / selected 上。"
            },
            "accent": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4314,
                  0.9059,
                  0.6275
                ],
                "hex": "#6ee7a0"
              },
              "$description": "品牌主色的填充：主按钮、选中指示、进度条、完成勾选。贴纸风格里填充一定配 border-strong 描边。"
            },
            "on-accent": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0235,
                  0.1294,
                  0.0588
                ],
                "hex": "#06210f"
              },
              "$description": "accent 填充上的文字和图标。"
            },
            "accent-text": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4314,
                  0.9059,
                  0.6275
                ],
                "hex": "#6ee7a0"
              },
              "$description": "当文字用的品牌色（链接、当前视图名），放在 bg-canvas / bg-surface 上。"
            },
            "accent-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0824,
                  0.1882,
                  0.1216
                ],
                "hex": "#15301f"
              },
              "$description": "品牌色浅底：选中的筛选条件、成功提示。"
            },
            "on-accent-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4314,
                  0.9059,
                  0.6275
                ],
                "hex": "#6ee7a0"
              },
              "$description": "accent-soft 上的文字。"
            },
            "danger": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.4196,
                  0.3412
                ],
                "hex": "#ff6b57"
              },
              "$description": "紧急、逾期、删除的文字和图标。"
            },
            "danger-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.2275,
                  0.0902,
                  0.0706
                ],
                "hex": "#3a1712"
              },
              "$description": "紧急 / 逾期标记的底色。"
            },
            "on-danger-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.5412,
                  0.4784
                ],
                "hex": "#ff8a7a"
              },
              "$description": "danger-soft 上的文字。"
            },
            "warning": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.7843,
                  0.3412
                ],
                "hex": "#ffc857"
              },
              "$description": "高优先级、今天到期的文字和图标。"
            },
            "warning-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.2,
                  0.1569,
                  0.0314
                ],
                "hex": "#332808"
              },
              "$description": "高优先级 / 今天到期标记的底色。"
            },
            "on-warning-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.7843,
                  0.3412
                ],
                "hex": "#ffc857"
              },
              "$description": "warning-soft 上的文字。"
            },
            "info": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4039,
                  0.8314,
                  0.9608
                ],
                "hex": "#67d4f5"
              },
              "$description": "过滤器语句、链接分享、信息提示的文字。"
            },
            "timer": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4314,
                  0.9059,
                  0.6275
                ],
                "hex": "#6ee7a0"
              },
              "$description": "正在计时的时间数字和指示点。"
            },
            "timer-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0824,
                  0.1882,
                  0.1216
                ],
                "hex": "#15301f"
              },
              "$description": "计时器胶囊和卡片的底色。"
            },
            "on-timer-soft": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4314,
                  0.9059,
                  0.6275
                ],
                "hex": "#6ee7a0"
              },
              "$description": "timer-soft 上的文字。"
            },
            "focus-ring": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.7843,
                  0.3412
                ],
                "hex": "#ffc857"
              },
              "$description": "键盘焦点环，2px 实线外加 2px 偏移；在 bg-canvas / surface / sidebar 上至少 3:1。"
            },
            "priority-low": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4353,
                  0.5176,
                  0.4588
                ],
                "hex": "#6f8475"
              },
              "$description": "优先级「低」的图形标记。"
            },
            "priority-medium": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.6627,
                  0.7412,
                  0.6824
                ],
                "hex": "#a9bdae"
              },
              "$description": "优先级「中」的图形标记。"
            },
            "priority-high": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.7843,
                  0.3412
                ],
                "hex": "#ffc857"
              },
              "$description": "优先级「高」的图形标记。"
            },
            "priority-urgent": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.4196,
                  0.3412
                ],
                "hex": "#ff6b57"
              },
              "$description": "优先级「紧急 / 立即」的图形标记。"
            },
            "label-blue": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0588,
                  0.1647,
                  0.2
                ],
                "hex": "#0f2a33"
              },
              "$description": "蓝色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-blue": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4039,
                  0.8314,
                  0.9608
                ],
                "hex": "#67d4f5"
              },
              "$description": "蓝色标签上的文字。"
            },
            "label-green": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0824,
                  0.1882,
                  0.1216
                ],
                "hex": "#15301f"
              },
              "$description": "绿色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-green": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4314,
                  0.9059,
                  0.6275
                ],
                "hex": "#6ee7a0"
              },
              "$description": "绿色标签上的文字。"
            },
            "label-orange": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1804,
                  0.1412,
                  0.0392
                ],
                "hex": "#2e240a"
              },
              "$description": "橙色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-orange": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.7843,
                  0.3412
                ],
                "hex": "#ffc857"
              },
              "$description": "橙色标签上的文字。"
            },
            "label-violet": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.1373,
                  0.1098,
                  0.2275
                ],
                "hex": "#231c3a"
              },
              "$description": "紫色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-violet": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.7137,
                  0.6118,
                  1.0
                ],
                "hex": "#b69cff"
              },
              "$description": "紫色标签上的文字。"
            },
            "label-gray": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0941,
                  0.1294,
                  0.1059
                ],
                "hex": "#18211b"
              },
              "$description": "灰色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-gray": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.6627,
                  0.7412,
                  0.6824
                ],
                "hex": "#a9bdae"
              },
              "$description": "灰色标签上的文字。"
            },
            "label-pink": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.2,
                  0.0784,
                  0.1647
                ],
                "hex": "#33142a"
              },
              "$description": "粉色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-pink": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.5412,
                  0.7608
                ],
                "hex": "#ff8ac2"
              },
              "$description": "粉色标签上的文字。"
            },
            "label-teal": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0588,
                  0.1804,
                  0.1647
                ],
                "hex": "#0f2e2a"
              },
              "$description": "青色标签的底色（用户给标签选的 7 种颜色之一）。"
            },
            "on-label-teal": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4353,
                  0.8784,
                  0.8118
                ],
                "hex": "#6fe0cf"
              },
              "$description": "青色标签上的文字。"
            },
            "avatar-1": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4314,
                  0.9059,
                  0.6275
                ],
                "hex": "#6ee7a0"
              },
              "$description": "成员头像底色第 1 号，按用户 id 取模分配。"
            },
            "avatar-2": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.4039,
                  0.8314,
                  0.9608
                ],
                "hex": "#67d4f5"
              },
              "$description": "成员头像底色第 2 号，按用户 id 取模分配。"
            },
            "avatar-3": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.7843,
                  0.3412
                ],
                "hex": "#ffc857"
              },
              "$description": "成员头像底色第 3 号，按用户 id 取模分配。"
            },
            "avatar-4": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.7137,
                  0.6118,
                  1.0
                ],
                "hex": "#b69cff"
              },
              "$description": "成员头像底色第 4 号，按用户 id 取模分配。"
            },
            "avatar-5": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  1.0,
                  0.5412,
                  0.7608
                ],
                "hex": "#ff8ac2"
              },
              "$description": "成员头像底色第 5 号，按用户 id 取模分配。"
            },
            "on-avatar": {
              "$value": {
                "colorSpace": "srgb",
                "components": [
                  0.0235,
                  0.1294,
                  0.0588
                ],
                "hex": "#06210f"
              },
              "$description": "头像字母的颜色，放在 avatar-1…5 上。"
            }
          },
          "shadow": {
            "$type": "shadow",
            "card": {
              "$value": [
                {
                  "color": {
                    "colorSpace": "srgb",
                    "components": [
                      0.0,
                      0.0,
                      0.0
                    ],
                    "hex": "#000000",
                    "alpha": 0.0
                  },
                  "offsetX": {
                    "value": 0,
                    "unit": "px"
                  },
                  "offsetY": {
                    "value": 0,
                    "unit": "px"
                  },
                  "blur": {
                    "value": 0,
                    "unit": "px"
                  },
                  "spread": {
                    "value": 0,
                    "unit": "px"
                  }
                }
              ]
            },
            "raised": {
              "$value": [
                {
                  "color": {
                    "colorSpace": "srgb",
                    "components": [
                      0.4314,
                      0.9059,
                      0.6275
                    ],
                    "hex": "#6ee7a0"
                  },
                  "offsetX": {
                    "value": 0,
                    "unit": "px"
                  },
                  "offsetY": {
                    "value": 0,
                    "unit": "px"
                  },
                  "blur": {
                    "value": 0,
                    "unit": "px"
                  },
                  "spread": {
                    "value": 1,
                    "unit": "px"
                  }
                }
              ]
            },
            "overlay": {
              "$value": [
                {
                  "color": {
                    "colorSpace": "srgb",
                    "components": [
                      0.0,
                      0.0,
                      0.0
                    ],
                    "hex": "#000000",
                    "alpha": 0.6
                  },
                  "offsetX": {
                    "value": 4,
                    "unit": "px"
                  },
                  "offsetY": {
                    "value": 4,
                    "unit": "px"
                  },
                  "blur": {
                    "value": 0,
                    "unit": "px"
                  },
                  "spread": {
                    "value": 0,
                    "unit": "px"
                  }
                }
              ]
            }
          }
        }
      }
    }
  }
}