Snow — 11-step color scale
Snow (#fffafa) sits at 500, untouched. Every other step is Snow composited over white or black at a decreasing opacity, so the whole ramp stays in one hue family instead of drifting toward another color at the ends.
For text that needs to pass AA on white, 800, 900, 950 clear the 4.5:1 line. On a dark surface, 50, 100, 200, 300, 400, 500, 600, 700 do.
Semantic colors from Snow
Success, warning, error and the rest are derived from Snow itself, then checked so they stay distinguishable from the base — and from each other — under the three types of color blindness. The distance below is CIEDE2000 after each simulation.
| Suggested | Protanopia | Deuteranopia | Tritanopia |
|---|---|---|---|
| success | 24.1 | 23.1 | 19.5 |
| warning | 20.8 | 19.5 | 26.3 |
| error | 41.8 | 39.2 | 41.9 |
| discovery | 23.2 | 24.7 | 23.4 |
| info | 16.6 | 20.2 | 30.4 |
| neutral | 22.3 | 21.7 | 23.2 |
Every suggested color clears ΔE₀₀ 11 from Snow under all three simulations, so nothing needed nudging — the family hues sit far enough from Snow on their own.
Export Snow
The same five formats the generator produces, for this scale. Copy any block, or open the tool to tweak the ramp first.
:root {
--color-color-50: #ffffff;
--color-color-100: #fffefe;
--color-color-200: #fffdfd;
--color-color-300: #fffcfc;
--color-color-400: #fffbfb;
--color-color-500: #fffafa;
--color-color-600: #ccc8c8;
--color-color-700: #8f8c8c;
--color-color-800: #666464;
--color-color-900: #3d3c3c;
--color-color-950: #141414;
}$color-color-50: #ffffff;
$color-color-100: #fffefe;
$color-color-200: #fffdfd;
$color-color-300: #fffcfc;
$color-color-400: #fffbfb;
$color-color-500: #fffafa;
$color-color-600: #ccc8c8;
$color-color-700: #8f8c8c;
$color-color-800: #666464;
$color-color-900: #3d3c3c;
$color-color-950: #141414;export const color = {
50: '#ffffff',
100: '#fffefe',
200: '#fffdfd',
300: '#fffcfc',
400: '#fffbfb',
500: '#fffafa',
600: '#ccc8c8',
700: '#8f8c8c',
800: '#666464',
900: '#3d3c3c',
950: '#141414',
};{
"color": {
"50": "#ffffff",
"100": "#fffefe",
"200": "#fffdfd",
"300": "#fffcfc",
"400": "#fffbfb",
"500": "#fffafa",
"600": "#ccc8c8",
"700": "#8f8c8c",
"800": "#666464",
"900": "#3d3c3c",
"950": "#141414"
}
}{
"color": {
"50": {
"$type": "color",
"$value": {
"colorSpace": "srgb",
"components": [
1,
1,
1
],
"alpha": 1,
"hex": "#FFFFFF"
},
"$extensions": {
"com.figma.variableId": "VariableID:1:1",
"com.figma.isOverride": true
}
},
"100": {
"$type": "color",
"$value": {
"colorSpace": "srgb",
"components": [
1,
0.996078431372549,
0.996078431372549
],
"alpha": 1,
"hex": "#FFFEFE"
},
"$extensions": {
"com.figma.variableId": "VariableID:1:2",
"com.figma.isOverride": true
}
},
"200": {
"$type": "color",
"$value": {
"colorSpace": "srgb",
"components": [
1,
0.9921568627450981,
0.9921568627450981
],
"alpha": 1,
"hex": "#FFFDFD"
},
"$extensions": {
"com.figma.variableId": "VariableID:1:3",
"com.figma.isOverride": true
}
},
"300": {
"$type": "color",
"$value": {
"colorSpace": "srgb",
"components": [
1,
0.9882352941176471,
0.9882352941176471
],
"alpha": 1,
"hex": "#FFFCFC"
},
"$extensions": {
"com.figma.variableId": "VariableID:1:4",
"com.figma.isOverride": true
}
},
"400": {
"$type": "color",
"$value": {
"colorSpace": "srgb",
"components": [
1,
0.984313725490196,
0.984313725490196
],
"alpha": 1,
"hex": "#FFFBFB"
},
"$extensions": {
"com.figma.variableId": "VariableID:1:5",
"com.figma.isOverride": true
}
},
"500": {
"$type": "color",
"$value": {
"colorSpace": "srgb",
"components": [
1,
0.9803921568627451,
0.9803921568627451
],
"alpha": 1,
"hex": "#FFFAFA"
},
"$extensions": {
"com.figma.variableId": "VariableID:1:6",
"com.figma.isOverride": true
}
},
"600": {
"$type": "color",
"$value": {
"colorSpace": "srgb",
"components": [
0.8,
0.7843137254901961,
0.7843137254901961
],
"alpha": 1,
"hex": "#CCC8C8"
},
"$extensions": {
"com.figma.variableId": "VariableID:1:7",
"com.figma.isOverride": true
}
},
"700": {
"$type": "color",
"$value": {
"colorSpace": "srgb",
"components": [
0.5607843137254902,
0.5490196078431373,
0.5490196078431373
],
"alpha": 1,
"hex": "#8F8C8C"
},
"$extensions": {
"com.figma.variableId": "VariableID:1:8",
"com.figma.isOverride": true
}
},
"800": {
"$type": "color",
"$value": {
"colorSpace": "srgb",
"components": [
0.4,
0.39215686274509803,
0.39215686274509803
],
"alpha": 1,
"hex": "#666464"
},
"$extensions": {
"com.figma.variableId": "VariableID:1:9",
"com.figma.isOverride": true
}
},
"900": {
"$type": "color",
"$value": {
"colorSpace": "srgb",
"components": [
0.23921568627450981,
0.23529411764705882,
0.23529411764705882
],
"alpha": 1,
"hex": "#3D3C3C"
},
"$extensions": {
"com.figma.variableId": "VariableID:1:10",
"com.figma.isOverride": true
}
},
"950": {
"$type": "color",
"$value": {
"colorSpace": "srgb",
"components": [
0.0784313725490196,
0.0784313725490196,
0.0784313725490196
],
"alpha": 1,
"hex": "#141414"
},
"$extensions": {
"com.figma.variableId": "VariableID:1:11",
"com.figma.isOverride": true
}
}
},
"$extensions": {
"com.figma.modeName": "Value"
}
}