{
  "auditId": "token-hardcode-ratio",
  "subjectSha": "19e55102",
  "pin": "/Users/nancy/.ai-ds-lab/pins/tvu-ds-19e55102",
  "dirty": false,
  "checkedAt": "2026-08-31T01:51:19.454Z",
  "scanRoot": "src/components",
  "counts": {
    "files": 33,
    "varRefsAll": 546,
    "colorVarRefs": 310,
    "styleHardcoded": 0,
    "templateHardcoded": 0,
    "customPropDefs": 50,
    "ratioNumerator": 310,
    "ratioDenominator": 310,
    "ratioPct": 100,
    "zeroKind": "true-zero（由 must-hit-1 注入探针证明有判别力）"
  },
  "comments": {
    "colorLiterals": 92,
    "blocks": 32,
    "blocksWithToken": 24,
    "blocksWithoutToken": 8,
    "pairsExtracted": 21,
    "pairsMatched": 21,
    "pairsDrifted": 0,
    "pairsUnextractable": 8
  },
  "rows": [
    {
      "file": "src/components/Badge/Badge.vue",
      "line": 51,
      "kind": "var-ref",
      "raw": "color: var(--text-primary-btn)",
      "token": "--text-primary-btn",
      "matched": null
    },
    {
      "file": "src/components/Badge/Badge.vue",
      "line": 61,
      "kind": "var-ref",
      "raw": "background: var(--red)",
      "token": "--red",
      "matched": null
    },
    {
      "file": "src/components/Badge/Badge.vue",
      "line": 62,
      "kind": "var-ref",
      "raw": "background: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Badge/Badge.vue",
      "line": 63,
      "kind": "var-ref",
      "raw": "background: var(--orange)",
      "token": "--orange",
      "matched": null
    },
    {
      "file": "src/components/Badge/Badge.vue",
      "line": 64,
      "kind": "var-ref",
      "raw": "background: var(--blue)",
      "token": "--blue",
      "matched": null
    },
    {
      "file": "src/components/Breadcrumb/BreadcrumbItem.vue",
      "line": 92,
      "kind": "var-ref",
      "raw": "color: var(--icon-default)",
      "token": "--icon-default",
      "matched": null
    },
    {
      "file": "src/components/Breadcrumb/BreadcrumbItem.vue",
      "line": 111,
      "kind": "var-ref",
      "raw": "color: var(--text-2)",
      "token": "--text-2",
      "matched": null
    },
    {
      "file": "src/components/Breadcrumb/BreadcrumbItem.vue",
      "line": 117,
      "kind": "var-ref",
      "raw": "color: var(--text-body)",
      "token": "--text-body",
      "matched": null
    },
    {
      "file": "src/components/Breadcrumb/BreadcrumbItem.vue",
      "line": 122,
      "kind": "var-ref",
      "raw": "color: var(--text-body)",
      "token": "--text-body",
      "matched": null
    },
    {
      "file": "src/components/Breadcrumb/BreadcrumbItem.vue",
      "line": 126,
      "kind": "var-ref",
      "raw": "color: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Breadcrumb/BreadcrumbItem.vue",
      "line": 132,
      "kind": "var-ref",
      "raw": "color: var(--text-disabled)",
      "token": "--text-disabled",
      "matched": null
    },
    {
      "file": "src/components/Breadcrumb/BreadcrumbItem.vue",
      "line": 138,
      "kind": "var-ref",
      "raw": "color: var(--text-2)",
      "token": "--text-2",
      "matched": null
    },
    {
      "file": "src/components/Breadcrumb/BreadcrumbItem.vue",
      "line": 142,
      "kind": "var-ref",
      "raw": "color: var(--text-disabled)",
      "token": "--text-disabled",
      "matched": null
    },
    {
      "file": "src/components/Button/Button.vue",
      "line": 400,
      "kind": "var-ref",
      "raw": "--btn-color: var(--text-2)",
      "token": "--text-2",
      "matched": null
    },
    {
      "file": "src/components/Button/Button.vue",
      "line": 420,
      "kind": "var-ref",
      "raw": "border: var(--btn-border-width) solid var(--btn-border)",
      "token": "--btn-border-width",
      "matched": null
    },
    {
      "file": "src/components/Button/Button.vue",
      "line": 421,
      "kind": "var-ref",
      "raw": "background: var(--btn-bg)",
      "token": "--btn-bg",
      "matched": null
    },
    {
      "file": "src/components/Button/Button.vue",
      "line": 422,
      "kind": "var-ref",
      "raw": "color: var(--btn-color)",
      "token": "--btn-color",
      "matched": null
    },
    {
      "file": "src/components/Button/Button.vue",
      "line": 445,
      "kind": "var-ref",
      "raw": "background: var(--btn-bg-hover)",
      "token": "--btn-bg-hover",
      "matched": null
    },
    {
      "file": "src/components/Button/Button.vue",
      "line": 446,
      "kind": "var-ref",
      "raw": "color: var(--btn-color-hover)",
      "token": "--btn-color-hover",
      "matched": null
    },
    {
      "file": "src/components/Button/Button.vue",
      "line": 447,
      "kind": "var-ref",
      "raw": "border-color: var(--btn-border-hover)",
      "token": "--btn-border-hover",
      "matched": null
    },
    {
      "file": "src/components/Button/Button.vue",
      "line": 451,
      "kind": "var-ref",
      "raw": "outline: 2px solid var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Button/Button.vue",
      "line": 464,
      "kind": "var-ref",
      "raw": "border-radius: var(--btn-radius-round)",
      "token": "--btn-radius-round",
      "matched": null
    },
    {
      "file": "src/components/Button/Button.vue",
      "line": 468,
      "kind": "var-ref",
      "raw": "border-radius: var(--btn-radius-square)",
      "token": "--btn-radius-square",
      "matched": null
    },
    {
      "file": "src/components/Button/Button.vue",
      "line": 480,
      "kind": "var-ref",
      "raw": "box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--btn-border) 65%, transparent 35%)",
      "token": "--btn-border",
      "matched": null
    },
    {
      "file": "src/components/Button/Button.vue",
      "line": 488,
      "kind": "var-ref",
      "raw": "color: var(--color-grey-2)",
      "token": "--color-grey-2",
      "matched": null
    },
    {
      "file": "src/components/Chart/Chart.vue",
      "line": 93,
      "kind": "var-ref",
      "raw": "border-radius: var(--r-m)",
      "token": "--r-m",
      "matched": null
    },
    {
      "file": "src/components/Chart/Chart.vue",
      "line": 94,
      "kind": "var-ref",
      "raw": "background: var(--bg-layer3)",
      "token": "--bg-layer3",
      "matched": null
    },
    {
      "file": "src/components/Checkbox/Checkbox.vue",
      "line": 86,
      "kind": "var-ref",
      "raw": "color: var(--text-body)",
      "token": "--text-body",
      "matched": null
    },
    {
      "file": "src/components/Checkbox/Checkbox.vue",
      "line": 91,
      "kind": "var-ref",
      "raw": "color: var(--text-disabled)",
      "token": "--text-disabled",
      "matched": null
    },
    {
      "file": "src/components/Checkbox/Checkbox.vue",
      "line": 99,
      "kind": "var-ref",
      "raw": "outline: 2px solid var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Checkbox/Checkbox.vue",
      "line": 101,
      "kind": "var-ref",
      "raw": "border-radius: var(--r-xs)",
      "token": "--r-xs",
      "matched": null
    },
    {
      "file": "src/components/Checkbox/Checkbox.vue",
      "line": 108,
      "kind": "var-ref",
      "raw": "border-radius: var(--checkbox-radius)",
      "token": "--checkbox-radius",
      "matched": null
    },
    {
      "file": "src/components/Checkbox/Checkbox.vue",
      "line": 109,
      "kind": "var-ref",
      "raw": "border: 1.2px solid var(--control-default-border)",
      "token": "--control-default-border",
      "matched": null
    },
    {
      "file": "src/components/Checkbox/Checkbox.vue",
      "line": 122,
      "kind": "var-ref",
      "raw": "color: var(--color-white)",
      "token": "--color-white",
      "matched": null
    },
    {
      "file": "src/components/Checkbox/Checkbox.vue",
      "line": 137,
      "kind": "var-ref",
      "raw": "border-color: var(--control-default-border)",
      "token": "--control-default-border",
      "matched": null
    },
    {
      "file": "src/components/Checkbox/Checkbox.vue",
      "line": 141,
      "kind": "var-ref",
      "raw": "background: var(--control-disabled-bg)",
      "token": "--control-disabled-bg",
      "matched": null
    },
    {
      "file": "src/components/Checkbox/Checkbox.vue",
      "line": 143,
      "kind": "var-ref",
      "raw": "box-shadow: inset 0 0 0 1px var(--control-disabled-border)",
      "token": "--control-disabled-border",
      "matched": null
    },
    {
      "file": "src/components/Checkbox/Checkbox.vue",
      "line": 147,
      "kind": "var-ref",
      "raw": "background: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Checkbox/Checkbox.vue",
      "line": 148,
      "kind": "var-ref",
      "raw": "border-color: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Checkbox/Checkbox.vue",
      "line": 153,
      "kind": "var-ref",
      "raw": "background: var(--control-disabled-selected-bg)",
      "token": "--control-disabled-selected-bg",
      "matched": null
    },
    {
      "file": "src/components/Checkbox/Checkbox.vue",
      "line": 154,
      "kind": "var-ref",
      "raw": "border-color: var(--control-disabled-selected-bg)",
      "token": "--control-disabled-selected-bg",
      "matched": null
    },
    {
      "file": "src/components/Checkbox/Checkbox.vue",
      "line": 159,
      "kind": "var-ref",
      "raw": "color: var(--color-white)",
      "token": "--color-white",
      "matched": null
    },
    {
      "file": "src/components/Checkbox/Checkbox.vue",
      "line": 163,
      "kind": "var-ref",
      "raw": "color: var(--control-disabled-selected-icon)",
      "token": "--control-disabled-selected-icon",
      "matched": null
    },
    {
      "file": "src/components/FormItem/FormItem.vue",
      "line": 118,
      "kind": "var-ref",
      "raw": "color: var(--text-body)",
      "token": "--text-body",
      "matched": null
    },
    {
      "file": "src/components/FormItem/FormItem.vue",
      "line": 158,
      "kind": "var-ref",
      "raw": "color: var(--fi-label)",
      "token": "--fi-label",
      "matched": null
    },
    {
      "file": "src/components/FormItem/FormItem.vue",
      "line": 171,
      "kind": "var-ref",
      "raw": "color: var(--red)",
      "token": "--red",
      "matched": null
    },
    {
      "file": "src/components/FormItem/FormItem.vue",
      "line": 203,
      "kind": "var-ref",
      "raw": "color: var(--fi-label)",
      "token": "--fi-label",
      "matched": null
    },
    {
      "file": "src/components/FormItem/FormItem.vue",
      "line": 207,
      "kind": "var-ref",
      "raw": "color: var(--red)",
      "token": "--red",
      "matched": null
    },
    {
      "file": "src/components/Input/Input.vue",
      "line": 109,
      "kind": "var-ref",
      "raw": "border: 1px solid var(--input-line-border)",
      "token": "--input-line-border",
      "matched": null
    },
    {
      "file": "src/components/Input/Input.vue",
      "line": 110,
      "kind": "var-ref",
      "raw": "border-radius: var(--r-s)",
      "token": "--r-s",
      "matched": null
    },
    {
      "file": "src/components/Input/Input.vue",
      "line": 111,
      "kind": "var-ref",
      "raw": "color: var(--text-body)",
      "token": "--text-body",
      "matched": null
    },
    {
      "file": "src/components/Input/Input.vue",
      "line": 118,
      "kind": "var-ref",
      "raw": "color: var(--text-placeholder)",
      "token": "--text-placeholder",
      "matched": null
    },
    {
      "file": "src/components/Input/Input.vue",
      "line": 119,
      "kind": "var-ref",
      "raw": "border-color: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Input/Input.vue",
      "line": 120,
      "kind": "var-ref",
      "raw": "border-color: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Input/Input.vue",
      "line": 122,
      "kind": "var-ref",
      "raw": "border-color: var(--input-disabled-border)",
      "token": "--input-disabled-border",
      "matched": null
    },
    {
      "file": "src/components/Input/Input.vue",
      "line": 127,
      "kind": "var-ref",
      "raw": "color: var(--text-tips)",
      "token": "--text-tips",
      "matched": null
    },
    {
      "file": "src/components/Input/Input.vue",
      "line": 135,
      "kind": "var-ref",
      "raw": "color: var(--text-disabled)",
      "token": "--text-disabled",
      "matched": null
    },
    {
      "file": "src/components/Input/Input.vue",
      "line": 136,
      "kind": "var-ref",
      "raw": "color: var(--text-disabled)",
      "token": "--text-disabled",
      "matched": null
    },
    {
      "file": "src/components/Input/Input.vue",
      "line": 142,
      "kind": "var-ref",
      "raw": "color: var(--text-disabled)",
      "token": "--text-disabled",
      "matched": null
    },
    {
      "file": "src/components/Input/Input.vue",
      "line": 143,
      "kind": "var-ref",
      "raw": "border-color: var(--red) !important",
      "token": "--red",
      "matched": null
    },
    {
      "file": "src/components/Input/Input.vue",
      "line": 163,
      "kind": "var-ref",
      "raw": "background: var(--input-filled-bg)",
      "token": "--input-filled-bg",
      "matched": null
    },
    {
      "file": "src/components/Input/Input.vue",
      "line": 170,
      "kind": "var-ref",
      "raw": "border-color: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Input/Input.vue",
      "line": 173,
      "kind": "var-ref",
      "raw": "border-color: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Input/Input.vue",
      "line": 180,
      "kind": "var-ref",
      "raw": "color: var(--text-tips)",
      "token": "--text-tips",
      "matched": null
    },
    {
      "file": "src/components/InputNumber/InputNumber.vue",
      "line": 112,
      "kind": "var-ref",
      "raw": "border-radius: var(--r-s)",
      "token": "--r-s",
      "matched": null
    },
    {
      "file": "src/components/InputNumber/InputNumber.vue",
      "line": 113,
      "kind": "var-ref",
      "raw": "border: 1px solid var(--line-deep)",
      "token": "--line-deep",
      "matched": null
    },
    {
      "file": "src/components/InputNumber/InputNumber.vue",
      "line": 135,
      "kind": "var-ref",
      "raw": "color: var(--text-tips)",
      "token": "--text-tips",
      "matched": null
    },
    {
      "file": "src/components/InputNumber/InputNumber.vue",
      "line": 142,
      "kind": "var-ref",
      "raw": "color: var(--icon-default)",
      "token": "--icon-default",
      "matched": null
    },
    {
      "file": "src/components/InputNumber/InputNumber.vue",
      "line": 153,
      "kind": "var-ref",
      "raw": "background: var(--bg-layer4)",
      "token": "--bg-layer4",
      "matched": null
    },
    {
      "file": "src/components/InputNumber/InputNumber.vue",
      "line": 156,
      "kind": "var-ref",
      "raw": "color: var(--icon-disabled)",
      "token": "--icon-disabled",
      "matched": null
    },
    {
      "file": "src/components/InputNumber/InputNumber.vue",
      "line": 160,
      "kind": "var-ref",
      "raw": "border-right: 1px solid var(--line-deep)",
      "token": "--line-deep",
      "matched": null
    },
    {
      "file": "src/components/InputNumber/InputNumber.vue",
      "line": 163,
      "kind": "var-ref",
      "raw": "border-left: 1px solid var(--line-deep)",
      "token": "--line-deep",
      "matched": null
    },
    {
      "file": "src/components/InputNumber/InputNumber.vue",
      "line": 171,
      "kind": "var-ref",
      "raw": "color: var(--text-body)",
      "token": "--text-body",
      "matched": null
    },
    {
      "file": "src/components/InputNumber/InputNumber.vue",
      "line": 181,
      "kind": "var-ref",
      "raw": "color: var(--text-grey-dis)",
      "token": "--text-grey-dis",
      "matched": null
    },
    {
      "file": "src/components/MenuList/MenuList.vue",
      "line": 165,
      "kind": "var-ref",
      "raw": "border-radius: var(--r-s)",
      "token": "--r-s",
      "matched": null
    },
    {
      "file": "src/components/MenuList/MenuList.vue",
      "line": 167,
      "kind": "var-ref",
      "raw": "color: var(--text-2)",
      "token": "--text-2",
      "matched": null
    },
    {
      "file": "src/components/MenuList/MenuList.vue",
      "line": 176,
      "kind": "var-ref",
      "raw": "background: var(--bg-layer3)",
      "token": "--bg-layer3",
      "matched": null
    },
    {
      "file": "src/components/MenuList/MenuList.vue",
      "line": 177,
      "kind": "var-ref",
      "raw": "color: var(--text-heading)",
      "token": "--text-heading",
      "matched": null
    },
    {
      "file": "src/components/MenuList/MenuList.vue",
      "line": 180,
      "kind": "var-ref",
      "raw": "color: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/MenuList/MenuList.vue",
      "line": 183,
      "kind": "var-ref",
      "raw": "color: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/MenuList/MenuList.vue",
      "line": 216,
      "kind": "var-ref",
      "raw": "color: var(--text-tips)",
      "token": "--text-tips",
      "matched": null
    },
    {
      "file": "src/components/MenuList/MenuList.vue",
      "line": 222,
      "kind": "var-ref",
      "raw": "color: var(--text-heading)",
      "token": "--text-heading",
      "matched": null
    },
    {
      "file": "src/components/MenuList/MenuList.vue",
      "line": 225,
      "kind": "var-ref",
      "raw": "color: var(--text-body)",
      "token": "--text-body",
      "matched": null
    },
    {
      "file": "src/components/MenuList/MenuList.vue",
      "line": 230,
      "kind": "var-ref",
      "raw": "color: var(--text-disabled)",
      "token": "--text-disabled",
      "matched": null
    },
    {
      "file": "src/components/MenuList/MenuList.vue",
      "line": 235,
      "kind": "var-ref",
      "raw": "outline: 2px solid var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Message/Message.vue",
      "line": 119,
      "kind": "var-ref",
      "raw": "border-radius: var(--r-s)",
      "token": "--r-s",
      "matched": null
    },
    {
      "file": "src/components/Message/Message.vue",
      "line": 120,
      "kind": "var-ref",
      "raw": "background: var(--prompt-bg)",
      "token": "--prompt-bg",
      "matched": null
    },
    {
      "file": "src/components/Message/Message.vue",
      "line": 145,
      "kind": "var-ref",
      "raw": "color: var(--prompt-text)",
      "token": "--prompt-text",
      "matched": null
    },
    {
      "file": "src/components/Message/Message.vue",
      "line": 160,
      "kind": "var-ref",
      "raw": "color: var(--prompt-text)",
      "token": "--prompt-text",
      "matched": null
    },
    {
      "file": "src/components/Message/Message.vue",
      "line": 174,
      "kind": "var-ref",
      "raw": "color: var(--icon-default)",
      "token": "--icon-default",
      "matched": null
    },
    {
      "file": "src/components/Message/Message.vue",
      "line": 180,
      "kind": "var-ref",
      "raw": "color: var(--icon-active)",
      "token": "--icon-active",
      "matched": null
    },
    {
      "file": "src/components/Notification/Notification.vue",
      "line": 152,
      "kind": "var-ref",
      "raw": "border: 1.2px solid var(--line-light)",
      "token": "--line-light",
      "matched": null
    },
    {
      "file": "src/components/Notification/Notification.vue",
      "line": 153,
      "kind": "var-ref",
      "raw": "box-shadow: var(--shadow-l3)",
      "token": "--shadow-l3",
      "matched": null
    },
    {
      "file": "src/components/Notification/Notification.vue",
      "line": 157,
      "kind": "var-ref",
      "raw": "background: var(--notification-bg-dark)",
      "token": "--notification-bg-dark",
      "matched": null
    },
    {
      "file": "src/components/Notification/Notification.vue",
      "line": 158,
      "kind": "var-ref",
      "raw": "border-color: var(--line-light)",
      "token": "--line-light",
      "matched": null
    },
    {
      "file": "src/components/Notification/Notification.vue",
      "line": 159,
      "kind": "var-ref",
      "raw": "color: var(--text-body)",
      "token": "--text-body",
      "matched": null
    },
    {
      "file": "src/components/Notification/Notification.vue",
      "line": 163,
      "kind": "var-ref",
      "raw": "background: var(--notification-bg-light)",
      "token": "--notification-bg-light",
      "matched": null
    },
    {
      "file": "src/components/Notification/Notification.vue",
      "line": 164,
      "kind": "var-ref",
      "raw": "border-color: var(--line-light)",
      "token": "--line-light",
      "matched": null
    },
    {
      "file": "src/components/Notification/Notification.vue",
      "line": 165,
      "kind": "var-ref",
      "raw": "color: var(--text-body)",
      "token": "--text-body",
      "matched": null
    },
    {
      "file": "src/components/Notification/Notification.vue",
      "line": 215,
      "kind": "var-ref",
      "raw": "color: var(--text-tips)",
      "token": "--text-tips",
      "matched": null
    },
    {
      "file": "src/components/Notification/Notification.vue",
      "line": 222,
      "kind": "var-ref",
      "raw": "color: var(--text-body)",
      "token": "--text-body",
      "matched": null
    },
    {
      "file": "src/components/Notification/Notification.vue",
      "line": 243,
      "kind": "var-ref",
      "raw": "color: var(--icon-default)",
      "token": "--icon-default",
      "matched": null
    },
    {
      "file": "src/components/Notification/Notification.vue",
      "line": 249,
      "kind": "var-ref",
      "raw": "color: var(--icon-active)",
      "token": "--icon-active",
      "matched": null
    },
    {
      "file": "src/components/Pagination/Pagination.vue",
      "line": 248,
      "kind": "var-ref",
      "raw": "border-radius: var(--r-s)",
      "token": "--r-s",
      "matched": null
    },
    {
      "file": "src/components/Pagination/Pagination.vue",
      "line": 252,
      "kind": "var-ref",
      "raw": "color: var(--text-tips)",
      "token": "--text-tips",
      "matched": null
    },
    {
      "file": "src/components/Pagination/Pagination.vue",
      "line": 301,
      "kind": "var-ref",
      "raw": "color: var(--text-tips)",
      "token": "--text-tips",
      "matched": null
    },
    {
      "file": "src/components/Pagination/Pagination.vue",
      "line": 313,
      "kind": "var-ref",
      "raw": "color: var(--text-tips)",
      "token": "--text-tips",
      "matched": null
    },
    {
      "file": "src/components/Pill/Pill.vue",
      "line": 87,
      "kind": "var-ref",
      "raw": "background: var(--pill-bg)",
      "token": "--pill-bg",
      "matched": null
    },
    {
      "file": "src/components/Pill/Pill.vue",
      "line": 88,
      "kind": "var-ref",
      "raw": "border: 1px solid var(--pill-border, transparent)",
      "token": "--pill-border",
      "matched": null
    },
    {
      "file": "src/components/Pill/Pill.vue",
      "line": 89,
      "kind": "var-ref",
      "raw": "color: var(--pill-text, var(--text-body))",
      "token": "--pill-text",
      "matched": null
    },
    {
      "file": "src/components/Pill/Pill.vue",
      "line": 102,
      "kind": "var-ref",
      "raw": "background: var(--pill-dot)",
      "token": "--pill-dot",
      "matched": null
    },
    {
      "file": "src/components/PopupBox/PopupBox.vue",
      "line": 280,
      "kind": "var-ref",
      "raw": "background: var(--mask-overlay)",
      "token": "--mask-overlay",
      "matched": null
    },
    {
      "file": "src/components/PopupBox/PopupBox.vue",
      "line": 291,
      "kind": "var-ref",
      "raw": "border: 1px solid var(--line-border)",
      "token": "--line-border",
      "matched": null
    },
    {
      "file": "src/components/PopupBox/PopupBox.vue",
      "line": 292,
      "kind": "var-ref",
      "raw": "border-radius: var(--r-s)",
      "token": "--r-s",
      "matched": null
    },
    {
      "file": "src/components/PopupBox/PopupBox.vue",
      "line": 293,
      "kind": "var-ref",
      "raw": "background: var(--bg-layer2)",
      "token": "--bg-layer2",
      "matched": null
    },
    {
      "file": "src/components/PopupBox/PopupBox.vue",
      "line": 294,
      "kind": "var-ref",
      "raw": "color: var(--text-body)",
      "token": "--text-body",
      "matched": null
    },
    {
      "file": "src/components/PopupBox/PopupBox.vue",
      "line": 299,
      "kind": "var-ref",
      "raw": "box-shadow: var(--shadow-l1)",
      "token": "--shadow-l1",
      "matched": null
    },
    {
      "file": "src/components/PopupBox/PopupBox.vue",
      "line": 303,
      "kind": "var-ref",
      "raw": "box-shadow: var(--shadow-l2)",
      "token": "--shadow-l2",
      "matched": null
    },
    {
      "file": "src/components/PopupBox/PopupBox.vue",
      "line": 312,
      "kind": "var-ref",
      "raw": "border-bottom: 1px solid var(--line-border)",
      "token": "--line-border",
      "matched": null
    },
    {
      "file": "src/components/PopupBox/PopupBox.vue",
      "line": 319,
      "kind": "var-ref",
      "raw": "color: var(--text-body)",
      "token": "--text-body",
      "matched": null
    },
    {
      "file": "src/components/PopupBox/PopupBox.vue",
      "line": 333,
      "kind": "var-ref",
      "raw": "color: var(--icon-default)",
      "token": "--icon-default",
      "matched": null
    },
    {
      "file": "src/components/PopupBox/PopupBox.vue",
      "line": 339,
      "kind": "var-ref",
      "raw": "color: var(--icon-active)",
      "token": "--icon-active",
      "matched": null
    },
    {
      "file": "src/components/PopupBox/PopupBox.vue",
      "line": 347,
      "kind": "var-ref",
      "raw": "color: var(--text-body)",
      "token": "--text-body",
      "matched": null
    },
    {
      "file": "src/components/Progress/Progress.vue",
      "line": 75,
      "kind": "var-ref",
      "raw": "--progress-label-color: var(--color-grey-5)",
      "token": "--color-grey-5",
      "matched": null
    },
    {
      "file": "src/components/Progress/Progress.vue",
      "line": 81,
      "kind": "var-ref",
      "raw": "--progress-track-bg: var(--bg-layer3)",
      "token": "--bg-layer3",
      "matched": null
    },
    {
      "file": "src/components/Progress/Progress.vue",
      "line": 88,
      "kind": "var-ref",
      "raw": "background-color: var(--progress-track-bg)",
      "token": "--progress-track-bg",
      "matched": null
    },
    {
      "file": "src/components/Progress/Progress.vue",
      "line": 89,
      "kind": "var-ref",
      "raw": "border-radius: var(--progress-track-radius)",
      "token": "--progress-track-radius",
      "matched": null
    },
    {
      "file": "src/components/Progress/Progress.vue",
      "line": 95,
      "kind": "var-ref",
      "raw": "border-radius: var(--progress-track-radius)",
      "token": "--progress-track-radius",
      "matched": null
    },
    {
      "file": "src/components/Progress/Progress.vue",
      "line": 96,
      "kind": "var-ref",
      "raw": "background-color: var(--progress-fill-color)",
      "token": "--progress-fill-color",
      "matched": null
    },
    {
      "file": "src/components/Progress/Progress.vue",
      "line": 104,
      "kind": "var-ref",
      "raw": "color: var(--progress-label-color)",
      "token": "--progress-label-color",
      "matched": null
    },
    {
      "file": "src/components/Radio/Radio.vue",
      "line": 77,
      "kind": "var-ref",
      "raw": "color: var(--text-body)",
      "token": "--text-body",
      "matched": null
    },
    {
      "file": "src/components/Radio/Radio.vue",
      "line": 82,
      "kind": "var-ref",
      "raw": "color: var(--text-disabled)",
      "token": "--text-disabled",
      "matched": null
    },
    {
      "file": "src/components/Radio/Radio.vue",
      "line": 85,
      "kind": "var-ref",
      "raw": "outline: 2px solid var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Radio/Radio.vue",
      "line": 87,
      "kind": "var-ref",
      "raw": "border-radius: var(--r-xs)",
      "token": "--r-xs",
      "matched": null
    },
    {
      "file": "src/components/Radio/Radio.vue",
      "line": 95,
      "kind": "var-ref",
      "raw": "border: var(--radio-circle-border-width) solid var(--radio-default-border)",
      "token": "--radio-circle-border-width",
      "matched": null
    },
    {
      "file": "src/components/Radio/Radio.vue",
      "line": 106,
      "kind": "var-ref",
      "raw": "background: var(--radio-selected-dot)",
      "token": "--radio-selected-dot",
      "matched": null
    },
    {
      "file": "src/components/Radio/Radio.vue",
      "line": 112,
      "kind": "var-ref",
      "raw": "border-color: var(--radio-default-border)",
      "token": "--radio-default-border",
      "matched": null
    },
    {
      "file": "src/components/Radio/Radio.vue",
      "line": 116,
      "kind": "var-ref",
      "raw": "background: var(--control-disabled-bg)",
      "token": "--control-disabled-bg",
      "matched": null
    },
    {
      "file": "src/components/Radio/Radio.vue",
      "line": 118,
      "kind": "var-ref",
      "raw": "box-shadow: inset 0 0 0 1.2px var(--control-disabled-border)",
      "token": "--control-disabled-border",
      "matched": null
    },
    {
      "file": "src/components/Radio/Radio.vue",
      "line": 121,
      "kind": "var-ref",
      "raw": "background: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Radio/Radio.vue",
      "line": 122,
      "kind": "var-ref",
      "raw": "border-color: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Radio/Radio.vue",
      "line": 126,
      "kind": "var-ref",
      "raw": "background: var(--radio-disabled-selected-bg)",
      "token": "--radio-disabled-selected-bg",
      "matched": null
    },
    {
      "file": "src/components/Radio/Radio.vue",
      "line": 127,
      "kind": "var-ref",
      "raw": "border-color: var(--radio-disabled-selected-bg)",
      "token": "--radio-disabled-selected-bg",
      "matched": null
    },
    {
      "file": "src/components/Rating/Rating.vue",
      "line": 130,
      "kind": "var-ref",
      "raw": "color: var(--rating-star-off)",
      "token": "--rating-star-off",
      "matched": null
    },
    {
      "file": "src/components/Rating/Rating.vue",
      "line": 132,
      "kind": "var-ref",
      "raw": "border-radius: var(--r-s)",
      "token": "--r-s",
      "matched": null
    },
    {
      "file": "src/components/Rating/Rating.vue",
      "line": 137,
      "kind": "var-ref",
      "raw": "color: var(--rating-star-on)",
      "token": "--rating-star-on",
      "matched": null
    },
    {
      "file": "src/components/Rating/Rating.vue",
      "line": 141,
      "kind": "var-ref",
      "raw": "color: var(--rating-star-off)",
      "token": "--rating-star-off",
      "matched": null
    },
    {
      "file": "src/components/Rating/Rating.vue",
      "line": 154,
      "kind": "var-ref",
      "raw": "box-shadow: 0 0 0 2px var(--rating-focus-ring)",
      "token": "--rating-focus-ring",
      "matched": null
    },
    {
      "file": "src/components/Select/Select.vue",
      "line": 62,
      "kind": "var-ref",
      "raw": "border: 1px solid var(--line-light)",
      "token": "--line-light",
      "matched": null
    },
    {
      "file": "src/components/Select/Select.vue",
      "line": 63,
      "kind": "var-ref",
      "raw": "border-radius: var(--r-s)",
      "token": "--r-s",
      "matched": null
    },
    {
      "file": "src/components/Select/Select.vue",
      "line": 64,
      "kind": "var-ref",
      "raw": "color: var(--text-body)",
      "token": "--text-body",
      "matched": null
    },
    {
      "file": "src/components/Select/Select.vue",
      "line": 74,
      "kind": "var-ref",
      "raw": "border-color: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Select/Select.vue",
      "line": 82,
      "kind": "var-ref",
      "raw": "color: var(--text-tips)",
      "token": "--text-tips",
      "matched": null
    },
    {
      "file": "src/components/Select/Select.vue",
      "line": 85,
      "kind": "var-ref",
      "raw": "border-color: var(--select-disabled-border)",
      "token": "--select-disabled-border",
      "matched": null
    },
    {
      "file": "src/components/Select/Select.vue",
      "line": 86,
      "kind": "var-ref",
      "raw": "background: var(--bg-layer2)",
      "token": "--bg-layer2",
      "matched": null
    },
    {
      "file": "src/components/Select/Select.vue",
      "line": 86,
      "kind": "var-ref",
      "raw": "color: var(--text-body)",
      "token": "--text-body",
      "matched": null
    },
    {
      "file": "src/components/Select/Select.vue",
      "line": 93,
      "kind": "var-ref",
      "raw": "background: var(--bg-layer4)",
      "token": "--bg-layer4",
      "matched": null
    },
    {
      "file": "src/components/Select/Select.vue",
      "line": 94,
      "kind": "var-ref",
      "raw": "border-color: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Select/Select.vue",
      "line": 97,
      "kind": "var-ref",
      "raw": "border-color: var(--red)",
      "token": "--red",
      "matched": null
    },
    {
      "file": "src/components/Select/Select.vue",
      "line": 106,
      "kind": "var-ref",
      "raw": "color: var(--text-tips)",
      "token": "--text-tips",
      "matched": null
    },
    {
      "file": "src/components/Slider/Slider.vue",
      "line": 85,
      "kind": "var-ref",
      "raw": "--slider-fill-color: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Slider/Slider.vue",
      "line": 86,
      "kind": "var-ref",
      "raw": "--slider-track-bg: var(--bg-layer3)",
      "token": "--bg-layer3",
      "matched": null
    },
    {
      "file": "src/components/Slider/Slider.vue",
      "line": 87,
      "kind": "var-ref",
      "raw": "--slider-value-color: var(--text-2)",
      "token": "--text-2",
      "matched": null
    },
    {
      "file": "src/components/Slider/Slider.vue",
      "line": 106,
      "kind": "var-ref",
      "raw": "--slider-fill-color: var(--control-disabled-selected-bg)",
      "token": "--control-disabled-selected-bg",
      "matched": null
    },
    {
      "file": "src/components/Slider/Slider.vue",
      "line": 107,
      "kind": "var-ref",
      "raw": "--slider-track-bg: var(--control-disabled-bg)",
      "token": "--control-disabled-bg",
      "matched": null
    },
    {
      "file": "src/components/Slider/Slider.vue",
      "line": 108,
      "kind": "var-ref",
      "raw": "--slider-value-color: var(--text-disabled)",
      "token": "--text-disabled",
      "matched": null
    },
    {
      "file": "src/components/Slider/Slider.vue",
      "line": 117,
      "kind": "var-ref",
      "raw": "--slider-track-bg: var(--color-grey-4)",
      "token": "--color-grey-4",
      "matched": null
    },
    {
      "file": "src/components/Slider/Slider.vue",
      "line": 167,
      "kind": "var-ref",
      "raw": "background: var(--slider-fill-color)",
      "token": "--slider-fill-color",
      "matched": null
    },
    {
      "file": "src/components/Slider/Slider.vue",
      "line": 173,
      "kind": "var-ref",
      "raw": "background: radial-gradient(circle at center, var(--color-white) 0 var(--slider-thumb-dot-radius), transparent calc(var(",
      "token": "--color-white",
      "matched": null
    },
    {
      "file": "src/components/Slider/Slider.vue",
      "line": 179,
      "kind": "var-ref",
      "raw": "background: radial-gradient(circle at center, var(--color-white) 0 var(--slider-thumb-dot-radius), transparent calc(var(",
      "token": "--color-white",
      "matched": null
    },
    {
      "file": "src/components/Slider/Slider.vue",
      "line": 185,
      "kind": "var-ref",
      "raw": "outline: 2px solid color-mix(in srgb, var(--slider-fill-color) 75%, var(--color-white) 25%)",
      "token": "--slider-fill-color",
      "matched": null
    },
    {
      "file": "src/components/Slider/Slider.vue",
      "line": 207,
      "kind": "var-ref",
      "raw": "background: var(--slider-fill-color)",
      "token": "--slider-fill-color",
      "matched": null
    },
    {
      "file": "src/components/Slider/Slider.vue",
      "line": 212,
      "kind": "var-ref",
      "raw": "background: radial-gradient(circle at center, var(--color-white) 0 var(--slider-thumb-dot-radius), transparent calc(var(",
      "token": "--color-white",
      "matched": null
    },
    {
      "file": "src/components/Slider/Slider.vue",
      "line": 218,
      "kind": "var-ref",
      "raw": "background: radial-gradient(circle at center, var(--color-white) 0 var(--slider-thumb-dot-radius), transparent calc(var(",
      "token": "--color-white",
      "matched": null
    },
    {
      "file": "src/components/Slider/Slider.vue",
      "line": 227,
      "kind": "var-ref",
      "raw": "color: var(--slider-value-color)",
      "token": "--slider-value-color",
      "matched": null
    },
    {
      "file": "src/components/Steps/StepItem.vue",
      "line": 184,
      "kind": "var-ref",
      "raw": "background: var(--icon-placeholder)",
      "token": "--icon-placeholder",
      "matched": null
    },
    {
      "file": "src/components/Steps/StepItem.vue",
      "line": 208,
      "kind": "var-ref",
      "raw": "background: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Steps/StepItem.vue",
      "line": 232,
      "kind": "var-ref",
      "raw": "background: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Steps/StepItem.vue",
      "line": 237,
      "kind": "var-ref",
      "raw": "color: var(--text-primary-btn)",
      "token": "--text-primary-btn",
      "matched": null
    },
    {
      "file": "src/components/Steps/StepItem.vue",
      "line": 241,
      "kind": "var-ref",
      "raw": "border: 2px solid var(--text-heading)",
      "token": "--text-heading",
      "matched": null
    },
    {
      "file": "src/components/Steps/StepItem.vue",
      "line": 242,
      "kind": "var-ref",
      "raw": "color: var(--text-heading)",
      "token": "--text-heading",
      "matched": null
    },
    {
      "file": "src/components/Steps/StepItem.vue",
      "line": 246,
      "kind": "var-ref",
      "raw": "border: 1.5px solid var(--icon-placeholder)",
      "token": "--icon-placeholder",
      "matched": null
    },
    {
      "file": "src/components/Steps/StepItem.vue",
      "line": 247,
      "kind": "var-ref",
      "raw": "color: var(--text-placeholder)",
      "token": "--text-placeholder",
      "matched": null
    },
    {
      "file": "src/components/Steps/StepItem.vue",
      "line": 256,
      "kind": "var-ref",
      "raw": "color: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Steps/StepItem.vue",
      "line": 260,
      "kind": "var-ref",
      "raw": "color: var(--text-heading)",
      "token": "--text-heading",
      "matched": null
    },
    {
      "file": "src/components/Steps/StepItem.vue",
      "line": 264,
      "kind": "var-ref",
      "raw": "color: var(--icon-placeholder)",
      "token": "--icon-placeholder",
      "matched": null
    },
    {
      "file": "src/components/Steps/StepItem.vue",
      "line": 328,
      "kind": "var-ref",
      "raw": "color: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Steps/StepItem.vue",
      "line": 336,
      "kind": "var-ref",
      "raw": "color: var(--text-body)",
      "token": "--text-body",
      "matched": null
    },
    {
      "file": "src/components/Steps/StepItem.vue",
      "line": 341,
      "kind": "var-ref",
      "raw": "color: var(--text-placeholder)",
      "token": "--text-placeholder",
      "matched": null
    },
    {
      "file": "src/components/Steps/StepItem.vue",
      "line": 348,
      "kind": "var-ref",
      "raw": "color: var(--text-tips)",
      "token": "--text-tips",
      "matched": null
    },
    {
      "file": "src/components/Switch/Switch.vue",
      "line": 51,
      "kind": "var-ref",
      "raw": "border-radius: var(--r-xxl)",
      "token": "--r-xxl",
      "matched": null
    },
    {
      "file": "src/components/Switch/Switch.vue",
      "line": 53,
      "kind": "var-ref",
      "raw": "background: var(--switch-bg-off)",
      "token": "--switch-bg-off",
      "matched": null
    },
    {
      "file": "src/components/Switch/Switch.vue",
      "line": 61,
      "kind": "var-ref",
      "raw": "outline: 2px solid var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Switch/Switch.vue",
      "line": 64,
      "kind": "var-ref",
      "raw": "--switch-bg-off: var(--switch-bg-off-dark)",
      "token": "--switch-bg-off-dark",
      "matched": null
    },
    {
      "file": "src/components/Switch/Switch.vue",
      "line": 65,
      "kind": "var-ref",
      "raw": "--switch-bg-disabled-off: var(--switch-bg-disabled-off-dark)",
      "token": "--switch-bg-disabled-off-dark",
      "matched": null
    },
    {
      "file": "src/components/Switch/Switch.vue",
      "line": 70,
      "kind": "var-ref",
      "raw": "--switch-bg-off: var(--switch-bg-off-light)",
      "token": "--switch-bg-off-light",
      "matched": null
    },
    {
      "file": "src/components/Switch/Switch.vue",
      "line": 71,
      "kind": "var-ref",
      "raw": "--switch-bg-disabled-off: var(--switch-bg-disabled-off-light)",
      "token": "--switch-bg-disabled-off-light",
      "matched": null
    },
    {
      "file": "src/components/Switch/Switch.vue",
      "line": 76,
      "kind": "var-ref",
      "raw": "background: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Switch/Switch.vue",
      "line": 79,
      "kind": "var-ref",
      "raw": "background: var(--switch-bg-off)",
      "token": "--switch-bg-off",
      "matched": null
    },
    {
      "file": "src/components/Switch/Switch.vue",
      "line": 80,
      "kind": "var-ref",
      "raw": "background: var(--red)",
      "token": "--red",
      "matched": null
    },
    {
      "file": "src/components/Switch/Switch.vue",
      "line": 87,
      "kind": "var-ref",
      "raw": "background: var(--switch-bg-disabled-off)",
      "token": "--switch-bg-disabled-off",
      "matched": null
    },
    {
      "file": "src/components/Switch/Switch.vue",
      "line": 90,
      "kind": "var-ref",
      "raw": "background: var(--brand-disable)",
      "token": "--brand-disable",
      "matched": null
    },
    {
      "file": "src/components/Switch/Switch.vue",
      "line": 93,
      "kind": "var-ref",
      "raw": "background: var(--red)",
      "token": "--red",
      "matched": null
    },
    {
      "file": "src/components/Switch/Switch.vue",
      "line": 105,
      "kind": "var-ref",
      "raw": "background: var(--switch-bg-disabled-off)",
      "token": "--switch-bg-disabled-off",
      "matched": null
    },
    {
      "file": "src/components/Switch/Switch.vue",
      "line": 106,
      "kind": "var-ref",
      "raw": "background: var(--brand-disable)",
      "token": "--brand-disable",
      "matched": null
    },
    {
      "file": "src/components/Switch/Switch.vue",
      "line": 107,
      "kind": "var-ref",
      "raw": "background: var(--red)",
      "token": "--red",
      "matched": null
    },
    {
      "file": "src/components/Switch/Switch.vue",
      "line": 109,
      "kind": "var-ref",
      "raw": "background: var(--switch-thumb-disabled)",
      "token": "--switch-thumb-disabled",
      "matched": null
    },
    {
      "file": "src/components/Switch/Switch.vue",
      "line": 116,
      "kind": "var-ref",
      "raw": "background: var(--color-white)",
      "token": "--color-white",
      "matched": null
    },
    {
      "file": "src/components/Switch/Switch.vue",
      "line": 122,
      "kind": "var-ref",
      "raw": "color: var(--icon-disabled)",
      "token": "--icon-disabled",
      "matched": null
    },
    {
      "file": "src/components/Switch/Switch.vue",
      "line": 129,
      "kind": "var-ref",
      "raw": "background: var(--switch-thumb-disabled)",
      "token": "--switch-thumb-disabled",
      "matched": null
    },
    {
      "file": "src/components/Tab/TabItem.vue",
      "line": 75,
      "kind": "var-ref",
      "raw": "color: var(--text-tips)",
      "token": "--text-tips",
      "matched": null
    },
    {
      "file": "src/components/Tab/TabItem.vue",
      "line": 82,
      "kind": "var-ref",
      "raw": "color: var(--text-disabled)",
      "token": "--text-disabled",
      "matched": null
    },
    {
      "file": "src/components/Tab/TabItem.vue",
      "line": 88,
      "kind": "var-ref",
      "raw": "color: var(--text-body)",
      "token": "--text-body",
      "matched": null
    },
    {
      "file": "src/components/Tab/TabItem.vue",
      "line": 88,
      "kind": "var-ref",
      "raw": "border-bottom-color: var(--line-light)",
      "token": "--line-light",
      "matched": null
    },
    {
      "file": "src/components/Tab/TabItem.vue",
      "line": 89,
      "kind": "var-ref",
      "raw": "color: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Tab/TabItem.vue",
      "line": 89,
      "kind": "var-ref",
      "raw": "border-bottom-color: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Tab/TabItem.vue",
      "line": 92,
      "kind": "var-ref",
      "raw": "color: var(--text-body)",
      "token": "--text-body",
      "matched": null
    },
    {
      "file": "src/components/Tab/TabItem.vue",
      "line": 95,
      "kind": "var-ref",
      "raw": "border-radius: var(--r-s)",
      "token": "--r-s",
      "matched": null
    },
    {
      "file": "src/components/Tab/TabItem.vue",
      "line": 99,
      "kind": "var-ref",
      "raw": "background: var(--bg-layer3)",
      "token": "--bg-layer3",
      "matched": null
    },
    {
      "file": "src/components/Tab/TabItem.vue",
      "line": 99,
      "kind": "var-ref",
      "raw": "color: var(--text-2)",
      "token": "--text-2",
      "matched": null
    },
    {
      "file": "src/components/Tab/TabItem.vue",
      "line": 100,
      "kind": "var-ref",
      "raw": "background: var(--bg-layer4)",
      "token": "--bg-layer4",
      "matched": null
    },
    {
      "file": "src/components/Tab/TabItem.vue",
      "line": 100,
      "kind": "var-ref",
      "raw": "color: var(--text-body)",
      "token": "--text-body",
      "matched": null
    },
    {
      "file": "src/components/Tab/TabItem.vue",
      "line": 101,
      "kind": "var-ref",
      "raw": "background: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Tab/TabItem.vue",
      "line": 101,
      "kind": "var-ref",
      "raw": "color: var(--text-primary-btn)",
      "token": "--text-primary-btn",
      "matched": null
    },
    {
      "file": "src/components/Tab/TabList.vue",
      "line": 72,
      "kind": "var-ref",
      "raw": "border-bottom: 1px solid var(--line-deep)",
      "token": "--line-deep",
      "matched": null
    },
    {
      "file": "src/components/Tab/TabList.vue",
      "line": 80,
      "kind": "var-ref",
      "raw": "background: var(--bg-layer2)",
      "token": "--bg-layer2",
      "matched": null
    },
    {
      "file": "src/components/Tab/TabList.vue",
      "line": 81,
      "kind": "var-ref",
      "raw": "border: 1px solid var(--line-deep)",
      "token": "--line-deep",
      "matched": null
    },
    {
      "file": "src/components/Tab/TabList.vue",
      "line": 82,
      "kind": "var-ref",
      "raw": "border-radius: var(--r-s)",
      "token": "--r-s",
      "matched": null
    },
    {
      "file": "src/components/Tab/TabList.vue",
      "line": 97,
      "kind": "var-ref",
      "raw": "border-radius: var(--r-s) 0 0 var(--r-s)",
      "token": "--r-s",
      "matched": null
    },
    {
      "file": "src/components/Tab/TabList.vue",
      "line": 101,
      "kind": "var-ref",
      "raw": "border-radius: 0 var(--r-s) var(--r-s) 0",
      "token": "--r-s",
      "matched": null
    },
    {
      "file": "src/components/Table/Table.vue",
      "line": 138,
      "kind": "var-ref",
      "raw": "color: var(--text-body)",
      "token": "--text-body",
      "matched": null
    },
    {
      "file": "src/components/Table/Table.vue",
      "line": 139,
      "kind": "var-ref",
      "raw": "background: var(--bg-layer2)",
      "token": "--bg-layer2",
      "matched": null
    },
    {
      "file": "src/components/Table/Table.vue",
      "line": 176,
      "kind": "var-ref",
      "raw": "color: var(--text-tips)",
      "token": "--text-tips",
      "matched": null
    },
    {
      "file": "src/components/Table/Table.vue",
      "line": 178,
      "kind": "var-ref",
      "raw": "border-bottom: 1px solid var(--line-deep)",
      "token": "--line-deep",
      "matched": null
    },
    {
      "file": "src/components/Table/Table.vue",
      "line": 183,
      "kind": "var-ref",
      "raw": "border-bottom: 1px solid var(--line-light)",
      "token": "--line-light",
      "matched": null
    },
    {
      "file": "src/components/Table/Table.vue",
      "line": 190,
      "kind": "var-ref",
      "raw": "background: var(--bg-layer3)",
      "token": "--bg-layer3",
      "matched": null
    },
    {
      "file": "src/components/Table/Table.vue",
      "line": 197,
      "kind": "var-ref",
      "raw": "background: var(--green-bg)",
      "token": "--green-bg",
      "matched": null
    },
    {
      "file": "src/components/Table/Table.vue",
      "line": 204,
      "kind": "var-ref",
      "raw": "color: var(--text-body)",
      "token": "--text-body",
      "matched": null
    },
    {
      "file": "src/components/Table/Table.vue",
      "line": 208,
      "kind": "var-ref",
      "raw": "background: var(--bg-layer3)",
      "token": "--bg-layer3",
      "matched": null
    },
    {
      "file": "src/components/Table/Table.vue",
      "line": 240,
      "kind": "var-ref",
      "raw": "color: var(--text-tips)",
      "token": "--text-tips",
      "matched": null
    },
    {
      "file": "src/components/Table/Table.vue",
      "line": 255,
      "kind": "var-ref",
      "raw": "background: var(--bg-layer2)",
      "token": "--bg-layer2",
      "matched": null
    },
    {
      "file": "src/components/Table/Table.vue",
      "line": 275,
      "kind": "var-ref",
      "raw": "border: 2px solid var(--line-deep)",
      "token": "--line-deep",
      "matched": null
    },
    {
      "file": "src/components/Table/Table.vue",
      "line": 276,
      "kind": "var-ref",
      "raw": "border-top-color: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Table/TableCell.vue",
      "line": 187,
      "kind": "var-ref",
      "raw": "color: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/Tooltip/Tooltip.vue",
      "line": 76,
      "kind": "var-ref",
      "raw": "background: rgb(from var(--line-border) r g b / 0.45)",
      "token": "--line-border",
      "matched": null
    },
    {
      "file": "src/components/Tooltip/Tooltip.vue",
      "line": 85,
      "kind": "var-ref",
      "raw": "border-radius: var(--r-s)",
      "token": "--r-s",
      "matched": null
    },
    {
      "file": "src/components/Tooltip/Tooltip.vue",
      "line": 86,
      "kind": "var-ref",
      "raw": "background: var(--tooltip-bg)",
      "token": "--tooltip-bg",
      "matched": null
    },
    {
      "file": "src/components/Tooltip/Tooltip.vue",
      "line": 87,
      "kind": "var-ref",
      "raw": "border: 1px solid var(--tooltip-border)",
      "token": "--tooltip-border",
      "matched": null
    },
    {
      "file": "src/components/Tooltip/Tooltip.vue",
      "line": 88,
      "kind": "var-ref",
      "raw": "color: var(--tooltip-text)",
      "token": "--tooltip-text",
      "matched": null
    },
    {
      "file": "src/components/Tooltip/Tooltip.vue",
      "line": 91,
      "kind": "var-ref",
      "raw": "box-shadow: var(--shadow-l3)",
      "token": "--shadow-l3",
      "matched": null
    },
    {
      "file": "src/components/Tooltip/Tooltip.vue",
      "line": 99,
      "kind": "var-ref",
      "raw": "--tooltip-bg: var(--tooltip-bg-light)",
      "token": "--tooltip-bg-light",
      "matched": null
    },
    {
      "file": "src/components/Tooltip/Tooltip.vue",
      "line": 101,
      "kind": "var-ref",
      "raw": "--tooltip-border: var(--tooltip-border-light)",
      "token": "--tooltip-border-light",
      "matched": null
    },
    {
      "file": "src/components/Tooltip/Tooltip.vue",
      "line": 105,
      "kind": "var-ref",
      "raw": "--tooltip-bg: var(--tooltip-bg-dark)",
      "token": "--tooltip-bg-dark",
      "matched": null
    },
    {
      "file": "src/components/Tooltip/Tooltip.vue",
      "line": 107,
      "kind": "var-ref",
      "raw": "--tooltip-border: var(--tooltip-border-dark)",
      "token": "--tooltip-border-dark",
      "matched": null
    },
    {
      "file": "src/components/Tooltip/Tooltip.vue",
      "line": 180,
      "kind": "var-ref",
      "raw": "background: var(--tooltip-bg)",
      "token": "--tooltip-bg",
      "matched": null
    },
    {
      "file": "src/components/Tooltip/Tooltip.vue",
      "line": 188,
      "kind": "var-ref",
      "raw": "border-top: 1px solid var(--tooltip-border)",
      "token": "--tooltip-border",
      "matched": null
    },
    {
      "file": "src/components/Tooltip/Tooltip.vue",
      "line": 189,
      "kind": "var-ref",
      "raw": "border-left: 1px solid var(--tooltip-border)",
      "token": "--tooltip-border",
      "matched": null
    },
    {
      "file": "src/components/Tooltip/Tooltip.vue",
      "line": 208,
      "kind": "var-ref",
      "raw": "border-right: 1px solid var(--tooltip-border)",
      "token": "--tooltip-border",
      "matched": null
    },
    {
      "file": "src/components/Tooltip/Tooltip.vue",
      "line": 209,
      "kind": "var-ref",
      "raw": "border-bottom: 1px solid var(--tooltip-border)",
      "token": "--tooltip-border",
      "matched": null
    },
    {
      "file": "src/components/Tooltip/Tooltip.vue",
      "line": 228,
      "kind": "var-ref",
      "raw": "border-bottom: 1px solid var(--tooltip-border)",
      "token": "--tooltip-border",
      "matched": null
    },
    {
      "file": "src/components/Tooltip/Tooltip.vue",
      "line": 229,
      "kind": "var-ref",
      "raw": "border-left: 1px solid var(--tooltip-border)",
      "token": "--tooltip-border",
      "matched": null
    },
    {
      "file": "src/components/Tooltip/Tooltip.vue",
      "line": 248,
      "kind": "var-ref",
      "raw": "border-top: 1px solid var(--tooltip-border)",
      "token": "--tooltip-border",
      "matched": null
    },
    {
      "file": "src/components/Tooltip/Tooltip.vue",
      "line": 249,
      "kind": "var-ref",
      "raw": "border-right: 1px solid var(--tooltip-border)",
      "token": "--tooltip-border",
      "matched": null
    },
    {
      "file": "src/components/TopBar/TopBar.vue",
      "line": 42,
      "kind": "var-ref",
      "raw": "background: var(--bg-topbar)",
      "token": "--bg-topbar",
      "matched": null
    },
    {
      "file": "src/components/TopBar/TopBar.vue",
      "line": 43,
      "kind": "var-ref",
      "raw": "border: 1px solid var(--line-deep)",
      "token": "--line-deep",
      "matched": null
    },
    {
      "file": "src/components/TopBar/TopBar.vue",
      "line": 59,
      "kind": "var-ref",
      "raw": "color: var(--text-heading)",
      "token": "--text-heading",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 257,
      "kind": "var-ref",
      "raw": "background: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 265,
      "kind": "var-ref",
      "raw": "color: var(--text-primary-btn)",
      "token": "--text-primary-btn",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 274,
      "kind": "var-ref",
      "raw": "outline: 2px solid var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 302,
      "kind": "var-ref",
      "raw": "background: var(--bg-layer3)",
      "token": "--bg-layer3",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 303,
      "kind": "var-ref",
      "raw": "border-radius: var(--r-l)",
      "token": "--r-l",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 305,
      "kind": "var-ref",
      "raw": "box-shadow: var(--shadow-l3)",
      "token": "--shadow-l3",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 330,
      "kind": "var-ref",
      "raw": "background: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 332,
      "kind": "var-ref",
      "raw": "color: var(--text-primary-btn)",
      "token": "--text-primary-btn",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 366,
      "kind": "var-ref",
      "raw": "color: var(--text-heading)",
      "token": "--text-heading",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 370,
      "kind": "var-ref",
      "raw": "color: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 371,
      "kind": "var-ref",
      "raw": "background: color-mix(in srgb, var(--brand) 18%, transparent)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 372,
      "kind": "var-ref",
      "raw": "border-radius: var(--r-xs)",
      "token": "--r-xs",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 377,
      "kind": "var-ref",
      "raw": "color: var(--text-tips)",
      "token": "--text-tips",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 402,
      "kind": "var-ref",
      "raw": "color: var(--text-body)",
      "token": "--text-body",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 405,
      "kind": "var-ref",
      "raw": "color: var(--text-heading)",
      "token": "--text-heading",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 413,
      "kind": "var-ref",
      "raw": "background: var(--line-divider-light)",
      "token": "--line-divider-light",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 420,
      "kind": "var-ref",
      "raw": "background: var(--line-divider-deep)",
      "token": "--line-divider-deep",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 434,
      "kind": "var-ref",
      "raw": "color: var(--text-heading)",
      "token": "--text-heading",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 446,
      "kind": "var-ref",
      "raw": "color: var(--text-tips)",
      "token": "--text-tips",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 449,
      "kind": "var-ref",
      "raw": "color: var(--brand)",
      "token": "--brand",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 452,
      "kind": "var-ref",
      "raw": "color: var(--text-tips)",
      "token": "--text-tips",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 464,
      "kind": "var-ref",
      "raw": "color: var(--text-heading)",
      "token": "--text-heading",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 466,
      "kind": "var-ref",
      "raw": "border-radius: var(--r-s)",
      "token": "--r-s",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 469,
      "kind": "var-ref",
      "raw": "background: var(--bg-layer3)",
      "token": "--bg-layer3",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 470,
      "kind": "var-ref",
      "raw": "color: var(--text-heading)",
      "token": "--text-heading",
      "matched": null
    },
    {
      "file": "src/components/UserMenu/UserMenu.vue",
      "line": 474,
      "kind": "var-ref",
      "raw": "outline: 2px solid var(--brand)",
      "token": "--brand",
      "matched": null
    }
  ],
  "pairs": [
    {
      "line": 86,
      "token": "--icon-default",
      "literal": "#9e9e9e",
      "declared": [
        "#9e9e9e",
        "#595959"
      ],
      "form": "token(paren-hex)",
      "matched": true,
      "file": "src/components/Breadcrumb/BreadcrumbItem.vue"
    },
    {
      "line": 86,
      "token": "--icon-default",
      "literal": "#595959",
      "declared": [
        "#9e9e9e",
        "#595959"
      ],
      "form": "token(paren-hex)",
      "matched": true,
      "file": "src/components/Breadcrumb/BreadcrumbItem.vue"
    },
    {
      "line": 86,
      "token": "--text-2",
      "literal": "#cccccc",
      "declared": [
        "#cccccc",
        "#434343"
      ],
      "form": "token(paren-hex)",
      "matched": true,
      "file": "src/components/Breadcrumb/BreadcrumbItem.vue"
    },
    {
      "line": 86,
      "token": "--text-2",
      "literal": "#434343",
      "declared": [
        "#cccccc",
        "#434343"
      ],
      "form": "token(paren-hex)",
      "matched": true,
      "file": "src/components/Breadcrumb/BreadcrumbItem.vue"
    },
    {
      "line": 483,
      "token": "--color-grey-2",
      "literal": "#f8f8f8",
      "declared": [
        "#f8f8f8"
      ],
      "form": "hex(paren-token)",
      "matched": true,
      "file": "src/components/Button/Button.vue"
    },
    {
      "line": 99,
      "token": "--red",
      "literal": "#ea4233",
      "declared": [
        "#ea4233",
        "#dc2717"
      ],
      "form": "hex-arrow-token",
      "matched": true,
      "file": "src/components/FormItem/FormItem.vue"
    },
    {
      "line": 123,
      "token": "--text-tips",
      "literal": "#9e9e9e",
      "declared": [
        "#9e9e9e",
        "#595959"
      ],
      "form": "token-arrow-hex",
      "matched": true,
      "file": "src/components/Input/Input.vue"
    },
    {
      "line": 130,
      "token": "--text-disabled",
      "literal": "#595959",
      "declared": [
        "#595959",
        "#cccccc"
      ],
      "form": "token-arrow-hex",
      "matched": true,
      "file": "src/components/Input/Input.vue"
    },
    {
      "line": 186,
      "token": "--text-body",
      "literal": "#f8f8f8",
      "declared": [
        "#f8f8f8",
        "#141414"
      ],
      "form": "hex-arrow-token",
      "matched": true,
      "file": "src/components/MenuList/MenuList.vue"
    },
    {
      "line": 186,
      "token": "--text-tips",
      "literal": "#9e9e9e",
      "declared": [
        "#9e9e9e",
        "#595959"
      ],
      "form": "hex-arrow-token",
      "matched": true,
      "file": "src/components/MenuList/MenuList.vue"
    },
    {
      "line": 221,
      "token": "--icon-default",
      "literal": "#9e9e9e",
      "declared": [
        "#9e9e9e",
        "#595959"
      ],
      "form": "hex-arrow-token",
      "matched": true,
      "file": "src/components/PopupBox/PopupBox.vue"
    },
    {
      "line": 54,
      "token": "--brand",
      "literal": "#2fb54e",
      "declared": [
        "#2fb54e",
        "#299f45"
      ],
      "form": "hex-arrow-token",
      "matched": true,
      "file": "src/components/Progress/Progress.vue"
    },
    {
      "line": 77,
      "token": "--bg-layer3",
      "literal": "#262626",
      "declared": [
        "#262626",
        "#f0f0f0"
      ],
      "form": "token(paren-hex)",
      "matched": true,
      "file": "src/components/Progress/Progress.vue"
    },
    {
      "line": 77,
      "token": "--bg-layer3",
      "literal": "#f0f0f0",
      "declared": [
        "#262626",
        "#f0f0f0"
      ],
      "form": "token(paren-hex)",
      "matched": true,
      "file": "src/components/Progress/Progress.vue"
    },
    {
      "line": 105,
      "token": "--brand",
      "literal": "#2fb54e",
      "declared": [
        "#2fb54e",
        "#299f45"
      ],
      "form": "hex-arrow-token",
      "matched": true,
      "file": "src/components/Steps/StepItem.vue"
    },
    {
      "line": 126,
      "token": "--brand",
      "literal": "#2fb54e",
      "declared": [
        "#2fb54e",
        "#299f45"
      ],
      "form": "hex-arrow-token",
      "matched": true,
      "file": "src/components/Steps/StepItem.vue"
    },
    {
      "line": 333,
      "token": "--text-body",
      "literal": "#f8f8f8",
      "declared": [
        "#f8f8f8",
        "#141414"
      ],
      "form": "hex-arrow-token",
      "matched": true,
      "file": "src/components/Steps/StepItem.vue"
    },
    {
      "line": 36,
      "token": "--color-white",
      "literal": "#ffffff",
      "declared": [
        "#ffffff"
      ],
      "form": "hex-arrow-token",
      "matched": true,
      "file": "src/components/Switch/Switch.vue"
    },
    {
      "line": 63,
      "token": "--text-tips",
      "literal": "#9e9e9e",
      "declared": [
        "#9e9e9e",
        "#595959"
      ],
      "form": "hex-arrow-token",
      "matched": true,
      "file": "src/components/Table/Table.vue"
    },
    {
      "line": 34,
      "token": "--brand",
      "literal": "#2fb54e",
      "declared": [
        "#2fb54e",
        "#299f45"
      ],
      "form": "hex(paren-token)",
      "matched": true,
      "file": "src/components/UserMenu/UserMenu.vue"
    },
    {
      "line": 72,
      "token": "--text-primary-btn",
      "literal": "#f8f8f8",
      "declared": [
        "#f8f8f8"
      ],
      "form": "token(paren-hex)",
      "matched": true,
      "file": "src/components/UserMenu/UserMenu.vue"
    }
  ],
  "probe": {
    "victim": "src/components/Badge/Badge.vue",
    "before": 0,
    "after": 1,
    "flipped": true
  },
  "driftProbe": {
    "token": "--icon-default",
    "before": 0,
    "after": 3,
    "flipped": true
  },
  "controls": [
    {
      "id": "must-hit-0/var-refs-nonzero",
      "pass": true,
      "detail": "varRefsAll = 546"
    },
    {
      "id": "must-not-hit-0/comments-never-counted",
      "pass": true,
      "detail": "注释色值 = 92，样式面写死 = 0"
    },
    {
      "id": "must-not-hit-1/selector-hash-not-a-color",
      "pass": true,
      "detail": "所有 style-hardcode 命中都来自 `prop: value` 声明面"
    },
    {
      "id": "must-not-hit-2/token-name-never-a-literal",
      "pass": true,
      "detail": "变量名含颜色词的合成探针 4 个，误报 = 0"
    },
    {
      "id": "must-not-hit-3/relative-color-never-a-literal",
      "pass": true,
      "detail": "相对颜色语法命中数 = 0（预期 0）"
    },
    {
      "id": "must-hit-3/real-literal-still-caught",
      "pass": true,
      "detail": "真写死的合成探针 3 个，漏报 = 0"
    },
    {
      "id": "must-hit-1/injection-probe-flips",
      "pass": true,
      "detail": "src/components/Badge/Badge.vue: 0 → 1（flipped=true）"
    },
    {
      "id": "must-hit-2/drift-probe-flips",
      "pass": true,
      "detail": "pairsDrifted 0 → 3（flipped=true）"
    }
  ]
}