diff --git a/.agents/skills/impeccable/scripts/detector/design-system.mjs b/.agents/skills/impeccable/scripts/detector/design-system.mjs index 28e01b1d2..7b7e588e9 100644 --- a/.agents/skills/impeccable/scripts/detector/design-system.mjs +++ b/.agents/skills/impeccable/scripts/detector/design-system.mjs @@ -995,7 +995,9 @@ function extractRadiusTokens(value) { return String(value || '') .replace(/\s*\/\s*/g, ' ') .split(/\s+/) - .map(token => token.trim()) + // var() fallbacks leave the closing parenthesis on the final token. Strip + // it before length resolution so `8px)` is not treated as unitless 8rem. + .map(token => token.trim().replace(/\)+$/, '')) .filter(Boolean); } diff --git a/.claude/skills/impeccable/scripts/detector/design-system.mjs b/.claude/skills/impeccable/scripts/detector/design-system.mjs index 28e01b1d2..7b7e588e9 100644 --- a/.claude/skills/impeccable/scripts/detector/design-system.mjs +++ b/.claude/skills/impeccable/scripts/detector/design-system.mjs @@ -995,7 +995,9 @@ function extractRadiusTokens(value) { return String(value || '') .replace(/\s*\/\s*/g, ' ') .split(/\s+/) - .map(token => token.trim()) + // var() fallbacks leave the closing parenthesis on the final token. Strip + // it before length resolution so `8px)` is not treated as unitless 8rem. + .map(token => token.trim().replace(/\)+$/, '')) .filter(Boolean); } diff --git a/.cursor/skills/impeccable/scripts/detector/design-system.mjs b/.cursor/skills/impeccable/scripts/detector/design-system.mjs index 28e01b1d2..7b7e588e9 100644 --- a/.cursor/skills/impeccable/scripts/detector/design-system.mjs +++ b/.cursor/skills/impeccable/scripts/detector/design-system.mjs @@ -995,7 +995,9 @@ function extractRadiusTokens(value) { return String(value || '') .replace(/\s*\/\s*/g, ' ') .split(/\s+/) - .map(token => token.trim()) + // var() fallbacks leave the closing parenthesis on the final token. Strip + // it before length resolution so `8px)` is not treated as unitless 8rem. + .map(token => token.trim().replace(/\)+$/, '')) .filter(Boolean); } diff --git a/.gemini/skills/impeccable/scripts/detector/design-system.mjs b/.gemini/skills/impeccable/scripts/detector/design-system.mjs index 28e01b1d2..7b7e588e9 100644 --- a/.gemini/skills/impeccable/scripts/detector/design-system.mjs +++ b/.gemini/skills/impeccable/scripts/detector/design-system.mjs @@ -995,7 +995,9 @@ function extractRadiusTokens(value) { return String(value || '') .replace(/\s*\/\s*/g, ' ') .split(/\s+/) - .map(token => token.trim()) + // var() fallbacks leave the closing parenthesis on the final token. Strip + // it before length resolution so `8px)` is not treated as unitless 8rem. + .map(token => token.trim().replace(/\)+$/, '')) .filter(Boolean); } diff --git a/.github/skills/impeccable/scripts/detector/design-system.mjs b/.github/skills/impeccable/scripts/detector/design-system.mjs index 28e01b1d2..7b7e588e9 100644 --- a/.github/skills/impeccable/scripts/detector/design-system.mjs +++ b/.github/skills/impeccable/scripts/detector/design-system.mjs @@ -995,7 +995,9 @@ function extractRadiusTokens(value) { return String(value || '') .replace(/\s*\/\s*/g, ' ') .split(/\s+/) - .map(token => token.trim()) + // var() fallbacks leave the closing parenthesis on the final token. Strip + // it before length resolution so `8px)` is not treated as unitless 8rem. + .map(token => token.trim().replace(/\)+$/, '')) .filter(Boolean); } diff --git a/.grok/skills/impeccable/scripts/detector/design-system.mjs b/.grok/skills/impeccable/scripts/detector/design-system.mjs index 28e01b1d2..7b7e588e9 100644 --- a/.grok/skills/impeccable/scripts/detector/design-system.mjs +++ b/.grok/skills/impeccable/scripts/detector/design-system.mjs @@ -995,7 +995,9 @@ function extractRadiusTokens(value) { return String(value || '') .replace(/\s*\/\s*/g, ' ') .split(/\s+/) - .map(token => token.trim()) + // var() fallbacks leave the closing parenthesis on the final token. Strip + // it before length resolution so `8px)` is not treated as unitless 8rem. + .map(token => token.trim().replace(/\)+$/, '')) .filter(Boolean); } diff --git a/.hermes/skills/impeccable/scripts/detector/design-system.mjs b/.hermes/skills/impeccable/scripts/detector/design-system.mjs index 28e01b1d2..7b7e588e9 100644 --- a/.hermes/skills/impeccable/scripts/detector/design-system.mjs +++ b/.hermes/skills/impeccable/scripts/detector/design-system.mjs @@ -995,7 +995,9 @@ function extractRadiusTokens(value) { return String(value || '') .replace(/\s*\/\s*/g, ' ') .split(/\s+/) - .map(token => token.trim()) + // var() fallbacks leave the closing parenthesis on the final token. Strip + // it before length resolution so `8px)` is not treated as unitless 8rem. + .map(token => token.trim().replace(/\)+$/, '')) .filter(Boolean); } diff --git a/.kiro/skills/impeccable/scripts/detector/design-system.mjs b/.kiro/skills/impeccable/scripts/detector/design-system.mjs index 28e01b1d2..7b7e588e9 100644 --- a/.kiro/skills/impeccable/scripts/detector/design-system.mjs +++ b/.kiro/skills/impeccable/scripts/detector/design-system.mjs @@ -995,7 +995,9 @@ function extractRadiusTokens(value) { return String(value || '') .replace(/\s*\/\s*/g, ' ') .split(/\s+/) - .map(token => token.trim()) + // var() fallbacks leave the closing parenthesis on the final token. Strip + // it before length resolution so `8px)` is not treated as unitless 8rem. + .map(token => token.trim().replace(/\)+$/, '')) .filter(Boolean); } diff --git a/.opencode/skills/impeccable/scripts/detector/design-system.mjs b/.opencode/skills/impeccable/scripts/detector/design-system.mjs index 28e01b1d2..7b7e588e9 100644 --- a/.opencode/skills/impeccable/scripts/detector/design-system.mjs +++ b/.opencode/skills/impeccable/scripts/detector/design-system.mjs @@ -995,7 +995,9 @@ function extractRadiusTokens(value) { return String(value || '') .replace(/\s*\/\s*/g, ' ') .split(/\s+/) - .map(token => token.trim()) + // var() fallbacks leave the closing parenthesis on the final token. Strip + // it before length resolution so `8px)` is not treated as unitless 8rem. + .map(token => token.trim().replace(/\)+$/, '')) .filter(Boolean); } diff --git a/.pi/skills/impeccable/scripts/detector/design-system.mjs b/.pi/skills/impeccable/scripts/detector/design-system.mjs index 28e01b1d2..7b7e588e9 100644 --- a/.pi/skills/impeccable/scripts/detector/design-system.mjs +++ b/.pi/skills/impeccable/scripts/detector/design-system.mjs @@ -995,7 +995,9 @@ function extractRadiusTokens(value) { return String(value || '') .replace(/\s*\/\s*/g, ' ') .split(/\s+/) - .map(token => token.trim()) + // var() fallbacks leave the closing parenthesis on the final token. Strip + // it before length resolution so `8px)` is not treated as unitless 8rem. + .map(token => token.trim().replace(/\)+$/, '')) .filter(Boolean); } diff --git a/.qoder/skills/impeccable/scripts/detector/design-system.mjs b/.qoder/skills/impeccable/scripts/detector/design-system.mjs index 28e01b1d2..7b7e588e9 100644 --- a/.qoder/skills/impeccable/scripts/detector/design-system.mjs +++ b/.qoder/skills/impeccable/scripts/detector/design-system.mjs @@ -995,7 +995,9 @@ function extractRadiusTokens(value) { return String(value || '') .replace(/\s*\/\s*/g, ' ') .split(/\s+/) - .map(token => token.trim()) + // var() fallbacks leave the closing parenthesis on the final token. Strip + // it before length resolution so `8px)` is not treated as unitless 8rem. + .map(token => token.trim().replace(/\)+$/, '')) .filter(Boolean); } diff --git a/.rovodev/skills/impeccable/scripts/detector/design-system.mjs b/.rovodev/skills/impeccable/scripts/detector/design-system.mjs index 28e01b1d2..7b7e588e9 100644 --- a/.rovodev/skills/impeccable/scripts/detector/design-system.mjs +++ b/.rovodev/skills/impeccable/scripts/detector/design-system.mjs @@ -995,7 +995,9 @@ function extractRadiusTokens(value) { return String(value || '') .replace(/\s*\/\s*/g, ' ') .split(/\s+/) - .map(token => token.trim()) + // var() fallbacks leave the closing parenthesis on the final token. Strip + // it before length resolution so `8px)` is not treated as unitless 8rem. + .map(token => token.trim().replace(/\)+$/, '')) .filter(Boolean); } diff --git a/.trae-cn/skills/impeccable/scripts/detector/design-system.mjs b/.trae-cn/skills/impeccable/scripts/detector/design-system.mjs index 28e01b1d2..7b7e588e9 100644 --- a/.trae-cn/skills/impeccable/scripts/detector/design-system.mjs +++ b/.trae-cn/skills/impeccable/scripts/detector/design-system.mjs @@ -995,7 +995,9 @@ function extractRadiusTokens(value) { return String(value || '') .replace(/\s*\/\s*/g, ' ') .split(/\s+/) - .map(token => token.trim()) + // var() fallbacks leave the closing parenthesis on the final token. Strip + // it before length resolution so `8px)` is not treated as unitless 8rem. + .map(token => token.trim().replace(/\)+$/, '')) .filter(Boolean); } diff --git a/.trae/skills/impeccable/scripts/detector/design-system.mjs b/.trae/skills/impeccable/scripts/detector/design-system.mjs index 28e01b1d2..7b7e588e9 100644 --- a/.trae/skills/impeccable/scripts/detector/design-system.mjs +++ b/.trae/skills/impeccable/scripts/detector/design-system.mjs @@ -995,7 +995,9 @@ function extractRadiusTokens(value) { return String(value || '') .replace(/\s*\/\s*/g, ' ') .split(/\s+/) - .map(token => token.trim()) + // var() fallbacks leave the closing parenthesis on the final token. Strip + // it before length resolution so `8px)` is not treated as unitless 8rem. + .map(token => token.trim().replace(/\)+$/, '')) .filter(Boolean); } diff --git a/.vibe/skills/impeccable/scripts/detector/design-system.mjs b/.vibe/skills/impeccable/scripts/detector/design-system.mjs index 28e01b1d2..7b7e588e9 100644 --- a/.vibe/skills/impeccable/scripts/detector/design-system.mjs +++ b/.vibe/skills/impeccable/scripts/detector/design-system.mjs @@ -995,7 +995,9 @@ function extractRadiusTokens(value) { return String(value || '') .replace(/\s*\/\s*/g, ' ') .split(/\s+/) - .map(token => token.trim()) + // var() fallbacks leave the closing parenthesis on the final token. Strip + // it before length resolution so `8px)` is not treated as unitless 8rem. + .map(token => token.trim().replace(/\)+$/, '')) .filter(Boolean); } diff --git a/plugin/skills/impeccable/scripts/detector/design-system.mjs b/plugin/skills/impeccable/scripts/detector/design-system.mjs index 28e01b1d2..7b7e588e9 100644 --- a/plugin/skills/impeccable/scripts/detector/design-system.mjs +++ b/plugin/skills/impeccable/scripts/detector/design-system.mjs @@ -995,7 +995,9 @@ function extractRadiusTokens(value) { return String(value || '') .replace(/\s*\/\s*/g, ' ') .split(/\s+/) - .map(token => token.trim()) + // var() fallbacks leave the closing parenthesis on the final token. Strip + // it before length resolution so `8px)` is not treated as unitless 8rem. + .map(token => token.trim().replace(/\)+$/, '')) .filter(Boolean); }