소스 검색

add generate palette function in experimental

Lendemor 8 달 전
부모
커밋
d885cf6a66
3개의 변경된 파일4402개의 추가작업 그리고 0개의 파일을 삭제
  1. 199 0
      reflex/experimental/bezier.py
  2. 3603 0
      reflex/experimental/default_colors.py
  3. 600 0
      reflex/experimental/palette.py

+ 199 - 0
reflex/experimental/bezier.py

@@ -0,0 +1,199 @@
+"""A module for generating Bezier easing functions."""
+
+# These values are established by empiricism with tests (tradeoff: performance VS precision)
+NEWTON_ITERATIONS = 4
+NEWTON_MIN_SLOPE = 0.001
+SUBDIVISION_PRECISION = 0.0000001
+SUBDIVISION_MAX_ITERATIONS = 10
+kSplineTableSize = 11
+kSampleStepSize = 1.0 / (kSplineTableSize - 1.0)
+
+
+def A(aA1, aA2):
+    """Calculate A.
+
+    Args:
+        aA1: The first value.
+        aA2: The second value.
+
+    Returns:
+        The calculated value.
+    """
+    return 1.0 - 3.0 * aA2 + 3.0 * aA1
+
+
+def B(aA1, aA2):
+    """Calculate B.
+
+    Args:
+        aA1: The first value.
+        aA2: The second value.
+
+    Returns:
+        The calculated value.
+    """
+    return 3.0 * aA2 - 6.0 * aA1
+
+
+def C(aA1):
+    """Calculate C.
+
+    Args:
+        aA1: The first value.
+
+    Returns:
+        The calculated value.
+    """
+    return 3.0 * aA1
+
+
+def calcBezier(aT, aA1, aA2):
+    """Calculate Bezier.
+
+    Args:
+        aT: The time.
+        aA1: The first value.
+        aA2: The second value.
+
+    Returns:
+        x(t) given t, x1, and x2, or y(t) given t, y1, and y2.
+    """
+    return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT
+
+
+def getSlope(aT, aA1, aA2):
+    """Calculate slope.
+
+    Args:
+        aT: The time.
+        aA1: The first value.
+        aA2: The second value.
+
+    Returns:
+        dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.
+    """
+    return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1)
+
+
+def binarySubdivide(aX, aA, aB, mX1, mX2):
+    """Perform a binary subdivide.
+
+    Args:
+        aX: The x value.
+        aA: The a value.
+        aB: The b value.
+        mX1: The x1 value.
+        mX2: The x2 value.
+
+    Returns:
+        The t value.
+    """
+    current_x = aA
+    current_t = 0
+    i = 0
+    while True:
+        i += 1
+        if i >= SUBDIVISION_MAX_ITERATIONS:
+            break
+        current_t = aA + (aB - aA) / 2.0
+        current_x = calcBezier(current_t, mX1, mX2) - aX
+        if current_x > 0.0:
+            aB = current_t
+        else:
+            aA = current_t
+        if abs(current_x) <= SUBDIVISION_PRECISION:
+            break
+    return current_t
+
+
+def newtonRaphsonIterate(aX, aGuessT, mX1, mX2):
+    """Perform a Newton-Raphson iteration.
+
+    Args:
+        aX: The x value.
+        aGuessT: The guess value.
+        mX1: The x1 value.
+        mX2: The x2 value.
+
+    Returns:
+        The t value.
+    """
+    for _ in range(NEWTON_ITERATIONS):
+        current_slope = getSlope(aGuessT, mX1, mX2)
+        if current_slope == 0.0:
+            return aGuessT
+        current_x = calcBezier(aGuessT, mX1, mX2) - aX
+        aGuessT -= current_x / current_slope
+    return aGuessT
+
+
+def LinearEasing(x):
+    """Linear easing function.
+
+    Args:
+        x: The x value.
+
+    Returns:
+        The x value.
+    """
+    return x
+
+
+def bezier(mX1, mY1, mX2, mY2):
+    """Generate a Bezier easing function.
+
+    Args:
+        mX1: The x1 value.
+        mY1: The y1 value.
+        mX2: The x2 value.
+        mY2: The y2 value.
+
+    Raises:
+        ValueError: If the x values are not in the [0, 1] range.
+
+    Returns:
+        The Bezier easing function.
+    """
+    if not (0 <= mX1 <= 1 and 0 <= mX2 <= 1):
+        raise ValueError("bezier x values must be in [0, 1] range")
+
+    if mX1 == mY1 and mX2 == mY2:
+        return LinearEasing
+
+    # Precompute samples table
+    sampleValues = [
+        calcBezier(i * kSampleStepSize, mX1, mX2) for i in range(kSplineTableSize)
+    ]
+
+    def getTForX(aX):
+        intervalStart = 0.0
+        currentSample = 1
+        lastSample = kSplineTableSize - 1
+
+        while currentSample != lastSample and sampleValues[currentSample] <= aX:
+            intervalStart += kSampleStepSize
+            currentSample += 1
+        currentSample -= 1
+
+        # Interpolate to provide an initial guess for t
+        dist = (aX - sampleValues[currentSample]) / (
+            sampleValues[currentSample + 1] - sampleValues[currentSample]
+        )
+        guessForT = intervalStart + dist * kSampleStepSize
+
+        initialSlope = getSlope(guessForT, mX1, mX2)
+        if initialSlope >= NEWTON_MIN_SLOPE:
+            return newtonRaphsonIterate(aX, guessForT, mX1, mX2)
+        elif initialSlope == 0.0:
+            return guessForT
+        else:
+            return binarySubdivide(
+                aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2
+            )
+
+    def BezierEasing(x):
+        if x == 0 or x == 1:
+            return x
+        return calcBezier(getTForX(x), mY1, mY2)
+
+    return BezierEasing

+ 3603 - 0
reflex/experimental/default_colors.py

@@ -0,0 +1,3603 @@
+"""Module holding the default color palettes from radix-ui/themes."""
+
+DEFAULT_LIGHT_COLORS = {
+    "gray": [
+        {
+            "space": "oklch",
+            "coords": [0.9908900763742328, 8.881784197001252e-16, None],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9809972999656175, 6.753223014464259e-16, None],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.953470234615338, 7.771561172376096e-16, None],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.929606307910381, 4.440892098500626e-16, None],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9079194522448295, 8.400361489980555e-16, None],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8837568167055053, 2.7755575615628914e-16, None],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8507536968604369, 3.885780586188048e-16, None],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.791002430920971, 4.440892098500626e-16, None],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6434590237335337, 6.106226635438361e-16, None],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6085054599785431, 3.925231146709438e-16, None],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5030881070817528, 3.3766115072321297e-16, None],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.24300546261042505, 1.942890293094024e-16, None],
+            "alpha": 1,
+        },
+    ],
+    "mauve": [
+        {
+            "space": "oklch",
+            "coords": [0.9918477236372054, 0.0018061087247871431, 321.13251246697575],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9832494756387359, 0.0032716454190107364, 311.2200339802837],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9555533541022162, 0.005921177811085209, 314.2362484121946],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9315542738479043, 0.00779970826767008, 310.00994020085835],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9090384012946825, 0.010077827896243502, 306.6076750241704],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8859982235509049, 0.011577398021391062, 303.9518211620313],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8536107365019786, 0.014262773045615398, 300.5922693617913],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7935748169564143, 0.019307822975605016, 293.52201408224965],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6457857349603444, 0.019464158093222602, 292.61603217905497],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6105887950868916, 0.018496204061879462, 293.0717385204903],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5047599244422386, 0.01599492565217973, 296.0849299586498],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.24460803584008936, 0.013395078191991198, 298.0452005684974],
+            "alpha": 1,
+        },
+    ],
+    "slate": [
+        {
+            "space": "oklch",
+            "coords": [0.9912029886838088, 0.0014759919213273795, 286.37265568873],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9823879722155531, 0.002959003431171164, 286.34502673126985],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9557407066745123, 0.004480805022668807, 281.883398988499],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9314425887563119, 0.006007080550673716, 282.95732325489695],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9100937999117111, 0.007549852640804112, 283.58825232093227],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8876206813578051, 0.009134395149044988, 281.7850867571676],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8533629820403602, 0.01154896939896266, 280.84774540780114],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7938650419601048, 0.01577025652753899, 278.1182918142954],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6455703181663234, 0.016207388959258506, 277.8289721353038],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6097542905515686, 0.015826936737044647, 273.24447455496846],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5026468149903186, 0.013739369452593856, 263.43719808785636],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2412516557913649, 0.009778172816081716, 249.51703746563226],
+            "alpha": 1,
+        },
+    ],
+    "sage": [
+        {
+            "space": "oklch",
+            "coords": [0.9923327965032107, 0.0025425232951719824, 160.4004343960828],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9807840394039261, 0.002659120417053547, 171.19605797546956],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.955048168123906, 0.0034641011805521217, 170.38287309679686],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9311945233168765, 0.0034859973107667416, 170.38061058884523],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.909220313609864, 0.003992697318920097, 167.67011894113796],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8850668465933738, 0.004019568861616227, 167.66733008324059],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8510667804846541, 0.004375348547446071, 169.85316720463618],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.792399890388756, 0.005278548797806592, 169.4801356169512],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6392583076793192, 0.010413532352123283, 172.38154417023736],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6048089571774512, 0.00968061837355938, 172.83678059925978],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5007377363025078, 0.007769747039971438, 175.92374387750328],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.23977281070851814, 0.012141664782141123, 166.78245380504075],
+            "alpha": 1,
+        },
+    ],
+    "olive": [
+        {
+            "space": "oklch",
+            "coords": [0.9930522519557851, 0.0015175374366178938, 149.08438108183498],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9829717713940817, 0.0033246234954490295, 144.76032960083666],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9561476978150186, 0.0036472450994101168, 141.13804955528013],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9320054537775756, 0.004180543427219627, 142.11045652530606],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9094776914404252, 0.004518028156113231, 139.330214020597],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8855102167376965, 0.005577974288791326, 141.1404791192308],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8517352956582696, 0.005632608222929621, 141.14078565803686],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7921140610298122, 0.00711904415748322, 140.55096779193087],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6403978128487443, 0.011482867695998747, 136.5341391046046],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6054066566310232, 0.01164627585074028, 136.54080975696166],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.500124507910881, 0.011099253249286234, 139.89172393840414],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.24186064449711941, 0.011191504322353477, 138.2342007666213],
+            "alpha": 1,
+        },
+    ],
+    "sand": [
+        {
+            "space": "oklch",
+            "coords": [0.9936955085708774, 0.0011060163572084282, 106.41971651381766],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9822088121187218, 0.0014789220078543091, 106.4268023420887],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9555179690929149, 0.0022569369146726837, 97.61403978475693],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9322035676088396, 0.0033850407168058844, 100.55540611625986],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9098972088886883, 0.0038252845866398803, 95.9090604097903],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8855114304907461, 0.00497323691105574, 98.33657552190925],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8525120055325185, 0.00620572052938555, 96.60398628819985],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7918200509632972, 0.008295723859159618, 96.49703785628418],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6413414167430781, 0.010264554889114898, 106.68554014228937],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6056698459250639, 0.009579718758019362, 106.68221951797403],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.49785849714886354, 0.007873721151200767, 106.68219206013612],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2434415846823867, 0.007930641073115469, 96.31345359044604],
+            "alpha": 1,
+        },
+    ],
+    "tomato": [
+        {
+            "space": "oklch",
+            "coords": [0.9935122176251476, 0.0031099074643673387, 22.753124181027772],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9841922560893804, 0.007126348943863415, 31.018804853336974],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.954426436247824, 0.022019217036061415, 30.88348661276325],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.925987606072747, 0.047126405552339816, 31.759381882054868],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8921394597407035, 0.06262567240985738, 31.48796040240353],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8524355308293834, 0.0769755144726526, 32.01176256472485],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8027932391477127, 0.09425025177742283, 32.17152048983712],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7414722026273656, 0.11823056482178672, 32.07247865774406],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6269741914807521, 0.19371875462945382, 33.30786667356733],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6039717913109083, 0.19525030557724452, 33.258986265616954],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5665361925831085, 0.1976523244002588, 32.805515082942634],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.34613393004476606, 0.0798299392253235, 30.525547792228338],
+            "alpha": 1,
+        },
+    ],
+    "red": [
+        {
+            "space": "oklch",
+            "coords": [0.9935122176251476, 0.0031099074643673387, 22.753124181027772],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.983172996350913, 0.008283417108376863, 16.024758065067147],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9561071502322195, 0.02096803816086421, 16.227605021876343],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9281038099064636, 0.0472812936746263, 16.682285788516538],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8961226316303045, 0.061981778817268504, 17.328469631808673],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8570005922093089, 0.07462448638483934, 17.867929631009588],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8072207811172758, 0.0894507484875042, 18.444905044981965],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7449790828740804, 0.11325837881957676, 19.08913232815138],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6254419840302119, 0.19347124619994666, 22.98272355643661],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5999023612842426, 0.19524231569642295, 23.889460949592774],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5572459170477613, 0.1977502721856631, 25.13488285819102],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3391284212290097, 0.10903714451332512, 16.680582338650254],
+            "alpha": 1,
+        },
+    ],
+    "ruby": [
+        {
+            "space": "oklch",
+            "coords": [0.9938235657774294, 0.0032904231763105493, 356.3081134689256],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9834060057336187, 0.008363477802440854, 8.410594224010083],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.953580096208989, 0.02224587584980775, 8.563347209265658],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9279648427832102, 0.04227428622107984, 8.464618305597298],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8963715267755236, 0.054841996689329674, 8.164857991089207],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8580521748566493, 0.06601645776697426, 7.840688655567419],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8101172715088919, 0.07969471316740297, 7.486638474921904],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7488207449492148, 0.10138000962441951, 6.860893622058882],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6284440441142825, 0.1950185834029254, 13.192225798555285],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6013103506903851, 0.1961721776468555, 13.393277823779272],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5488762620882077, 0.1985422623370062, 13.923614299612552],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3411973939565323, 0.10967101652386028, 10.037790520302394],
+            "alpha": 1,
+        },
+    ],
+    "crimson": [
+        {
+            "space": "oklch",
+            "coords": [0.9938235657774294, 0.0032904231763105493, 356.3081134689256],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.981755823970818, 0.008036648997364487, 357.2336266650043],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9541441846763195, 0.026076429816402583, 356.2733440672069],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.925203947723679, 0.041113468721950416, 356.3002268443216],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8927899884336371, 0.05365823969091551, 355.76573878530655],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8550074491536841, 0.06459082871585257, 355.5743165027625],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8077878170923608, 0.07838803209402989, 354.79770334656735],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7499600203148413, 0.0988161400416143, 354.11851731359167],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6342896352218953, 0.2130264200492019, 1.3038015940653622],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6079860057379184, 0.21112451787752487, 2.355288560108363],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5520925499776925, 0.20742168353066454, 4.487083730679785],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3407883420699477, 0.11285104374858396, 356.8272610516439],
+            "alpha": 1,
+        },
+    ],
+    "pink": [
+        {
+            "space": "oklch",
+            "coords": [0.9941364015255124, 0.004040156250668126, 336.2506412483766],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9831466793201797, 0.009421863525308615, 339.9686197554194],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9542900919947845, 0.027484713599471525, 340.64372355144496],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9250743758881333, 0.04164988226698146, 340.65817723151054],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.893123734749451, 0.054251083847097606, 340.86128378222804],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8554091661810911, 0.06686007505623903, 340.9028917296631],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8090913622791018, 0.0833380237395452, 341.2074609717569],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7516966336080074, 0.10674001264498865, 341.6268486071817],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6167023136403023, 0.20766545083239377, 346.0514288033687],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5956559634459508, 0.20722331496135668, 346.5031349500269],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5566432249862753, 0.20627739669073059, 347.3298817053189],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.34998901710957736, 0.12898639612127794, 345.45456422670577],
+            "alpha": 1,
+        },
+    ],
+    "plum": [
+        {
+            "space": "oklch",
+            "coords": [0.9932595644796268, 0.004729390026500783, 316.8675305923902],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9831325741744174, 0.00917077520558243, 325.99300596933864],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.956862233926502, 0.02742520675177732, 325.4899286653023],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9292339329518815, 0.043602991437053366, 324.87055033375213],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8984870359844171, 0.05742947139413336, 324.37336645902315],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8603165613140188, 0.07233971838024769, 323.9132145168505],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8091804601753848, 0.09145886049643498, 323.14786457271316],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7418069887827464, 0.11998803643343137, 321.8752341428621],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5789096041570406, 0.18772930303450078, 322.089509794007],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5526682567496543, 0.18095131861869918, 322.09826651111035],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5212952819369505, 0.1728331076255049, 322.02398327751854],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3376354951411233, 0.12484496520097116, 321.4057503224363],
+            "alpha": 1,
+        },
+    ],
+    "purple": [
+        {
+            "space": "oklch",
+            "coords": [0.993023445586938, 0.003818760594353849, 325.35097835482645],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9822844326815341, 0.009146486866540255, 313.12434009817883],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9590564992077304, 0.02427386035622495, 313.2684983823477],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9328002047766218, 0.038749982226804924, 312.06004871594945],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.900656526271272, 0.05392560330793826, 311.56761874831693],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.859585072184558, 0.07058324890213681, 311.02674241197064],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8040458370020621, 0.0927854398255432, 309.93301637867586],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7330890245942254, 0.1227019740628808, 307.97494067427715],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5554715959558583, 0.18298961675149392, 305.880212181053],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5242217508692361, 0.17558497985429306, 305.6938235604842],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5160306284531507, 0.17395748148919982, 305.7029581219575],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.32230512753369295, 0.1100479959987868, 303.7966460468987],
+            "alpha": 1,
+        },
+    ],
+    "violet": [
+        {
+            "space": "oklch",
+            "coords": [0.9920831040782433, 0.002787412018662066, 308.03090167362006],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9830004288854554, 0.008992449292176498, 295.03831425243624],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.962757367030634, 0.018928406101511426, 296.5824203313601],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9339589441838726, 0.039157551807282046, 295.38342225309486],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9039411050571075, 0.05689143544424301, 294.1238209585965],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8640840280994975, 0.07245688270984188, 293.8584945379255],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8064684673775154, 0.0902446208660919, 293.47164251866917],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7290757938162764, 0.11897310325296757, 292.4269324583302],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5417740654832872, 0.1788921334571188, 288.09629669524537],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5107094325683194, 0.17697329972309297, 287.6418928141429],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5080210256917289, 0.1591390806475992, 288.59138967708896],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.31270609412544564, 0.09752027824950886, 286.75926023185104],
+            "alpha": 1,
+        },
+    ],
+    "iris": [
+        {
+            "space": "oklch",
+            "coords": [0.994477183366423, 0.0025811246002953414, 286.35259067857],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.981245006428389, 0.009259228670294207, 284.0991980176604],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9614494461650042, 0.017510060588757616, 283.80382547417025],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.935114279639343, 0.03529813574575484, 283.4397585103864],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9044532006531447, 0.052612345419919646, 283.7745676822934],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8645822734283616, 0.0696295565009317, 283.10562278665395],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8079210525132313, 0.08849934200004164, 282.8522296521077],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7291712926318866, 0.11828067539717228, 281.48277775845503],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5403119400173759, 0.1839231074108175, 278.29608055180563],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5086287953899605, 0.1862234399291922, 277.4869316331417],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5104426636852116, 0.17333757118454107, 279.68859906598925],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3145271486390298, 0.09886368753144091, 277.36339146247633],
+            "alpha": 1,
+        },
+    ],
+    "indigo": [
+        {
+            "space": "oklch",
+            "coords": [0.9942417052012263, 0.001474862055128399, 286.3727587515896],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9829001414786516, 0.008026361877649837, 271.37683590808615],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9607228901257833, 0.017164089904987866, 268.5461885778651],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9352773839681934, 0.033803174017373955, 268.48604306456645],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9032201200219758, 0.05113610475951192, 269.9785029174653],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8629637304031894, 0.07139574037292284, 271.50825187158205],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8068147657817976, 0.08687680329139091, 271.3711480176099],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7300537450752123, 0.11328040126053916, 270.5234423639358],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5436186695136518, 0.19116653122823807, 267.07634131362823],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.511211791622259, 0.19455014228667536, 266.47639301977034],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5097163223415526, 0.172814216968897, 267.10795579530327],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3125746724573168, 0.08558848920341192, 268.56153222907335],
+            "alpha": 1,
+        },
+    ],
+    "blue": [
+        {
+            "space": "oklch",
+            "coords": [0.9931941900575482, 0.003287302659471842, 247.64357396006167],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.981503765816513, 0.009550014505699665, 243.25782976225548],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9600298178372983, 0.019872537483708538, 236.71264494959001],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9373452891674595, 0.03707151722297429, 239.02663747595284],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9060061285260951, 0.05347595719008497, 242.80319612011198],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8638402438372802, 0.06858656039893735, 243.18165617483777],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8091816483535444, 0.08841273242100356, 243.3395602250401],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7348373793269996, 0.12110105358229024, 242.9951845402712],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6493249551474731, 0.19303677544486975, 251.8132045615412],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6211258928006133, 0.1837295452393603, 251.91748581688122],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5577424403408758, 0.1888965740035853, 253.00973260246644],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.32396966641937847, 0.09650182818077935, 258.95556526987775],
+            "alpha": 1,
+        },
+    ],
+    "cyan": [
+        {
+            "space": "oklch",
+            "coords": [0.9921061019786397, 0.0037173120014597485, 219.24680869656814],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9802750843525103, 0.008964919689431838, 202.88789451581982],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9581435230403675, 0.026480193030978913, 203.61040902842254],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9319437473757413, 0.041246450737912874, 204.7360574603459],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8997715275006755, 0.05379282224874709, 206.49201790408802],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8593467569616708, 0.06600501476599417, 207.66736976920228],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8045431408159971, 0.08166360767665573, 209.5764908748759],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7269897336794555, 0.10987741824487773, 211.67259737382093],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6609297004185946, 0.12153781064291957, 221.49141120413154],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6267224444362786, 0.11409626979558089, 221.31508347251489],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5403073033377657, 0.12699378194360986, 223.71801850482083],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.33168498905330085, 0.05276598620940834, 218.57305681990147],
+            "alpha": 1,
+        },
+    ],
+    "teal": [
+        {
+            "space": "oklch",
+            "coords": [0.9938808371923394, 0.004701280502355366, 177.54899610361463],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9812218094882775, 0.008977237746767418, 179.00248286347164],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9606084378287549, 0.026994669215183578, 180.31868134806638],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9346350462009846, 0.041832654423836636, 180.21615715996145],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9003805540828084, 0.05413787811719724, 180.49808773230174],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8558408474500071, 0.06421606557429865, 181.41542357913733],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7973925385047296, 0.07628963302587662, 182.21063583024886],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7211289463722935, 0.09715403840246017, 183.46469386184748],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6488092272182093, 0.11344755475044631, 182.00540863185944],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.619473717777139, 0.10957544554805444, 181.20330728130855],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.529588198245265, 0.12432103076190386, 179.0398744196807],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3268836865752235, 0.05042480773118505, 185.01896241253218],
+            "alpha": 1,
+        },
+    ],
+    "jade": [
+        {
+            "space": "oklch",
+            "coords": [0.9945182258878309, 0.0037409480091736575, 172.6334140291459],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9815209640639226, 0.008919649625238932, 160.30339005628923],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.959615809193097, 0.02210458106606724, 161.8849501059908],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9339036816782657, 0.03400929925541288, 163.5378487954007],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9019129833139142, 0.04617069847146389, 164.77689715728843],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8592092889264878, 0.05916341269488148, 166.8797125096529],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8002661527898325, 0.07692974908389283, 169.53337594082961],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7209152513765401, 0.10264799837580812, 173.37339448154353],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.642056847058049, 0.11500393889303404, 170.84823038046534],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6134114882220436, 0.10989894818196819, 170.61326287061547],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5288940494853346, 0.12699771576484567, 167.165740997758],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.32568970682313503, 0.04101703941575922, 169.78146222127612],
+            "alpha": 1,
+        },
+    ],
+    "green": [
+        {
+            "space": "oklch",
+            "coords": [0.9942850596300276, 0.004308608383314216, 159.05529791402796],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9815779069878764, 0.00911324732545894, 155.30793521492615],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9588043016633274, 0.022927641389729185, 156.3794030648146],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9325499792797182, 0.03640598195020102, 156.60095551093787],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8995154478899329, 0.049630478755666556, 157.22284123623467],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8570008351940952, 0.06450172954177974, 157.88575764122334],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7977282140949127, 0.08388257485052852, 159.0191603600315],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7143565994103114, 0.11240043433444033, 160.59873175878636],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6404878504699228, 0.1327393580657471, 157.7508517512639],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6112455022597031, 0.12631510830747678, 158.3069180166334],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5290389525438921, 0.1330351367126688, 158.33197080914113],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.321757320884414, 0.047415052030591015, 164.61592658605161],
+            "alpha": 1,
+        },
+    ],
+    "grass": [
+        {
+            "space": "oklch",
+            "coords": [0.9939754712355902, 0.005335615648896705, 146.38703160898774],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9819830154198733, 0.00918580303834381, 145.93056252332218],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9607628336422144, 0.023142599931606445, 145.27211086123611],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9341612384873734, 0.0369597304198628, 146.18374265602756],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9012594816029053, 0.05291417308952425, 146.35485723873944],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.857781433958756, 0.07136841635916073, 146.8294628799215],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7984523620521927, 0.09499100871350884, 147.4711851692308],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7164542854551089, 0.13001849713385358, 148.3464431867534],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6515770430826965, 0.14685228492471203, 147.36625739091585],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6137841099558594, 0.14157791937980704, 147.31784570714592],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5267517598018766, 0.12962287462325997, 147.178374087318],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3268297414961222, 0.05347512911173291, 148.58462381494428],
+            "alpha": 1,
+        },
+    ],
+    "brown": [
+        {
+            "space": "oklch",
+            "coords": [0.9943404048062402, 0.0015039064979616872, 63.24044662538773],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9832105551360676, 0.005804824535353378, 65.73458354925623],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9541367383783699, 0.012770893548975417, 67.81512904248075],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9261396668104248, 0.020275654087233783, 66.85373464673972],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8968634797143366, 0.028645375039352564, 65.78846671672989],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.862430274968301, 0.03903215219143264, 65.4651121253944],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.815278458741183, 0.05312418288406274, 64.21992404629935],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7467056528956687, 0.07165753365668141, 62.4482971518338],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6326766590502669, 0.07843362165081146, 60.77478537584528],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5967348556772855, 0.07249624879189527, 59.28102064065769],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5120697222548187, 0.058336107924266876, 55.4581321890912],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3315472073504137, 0.018038664674558953, 46.975401160213096],
+            "alpha": 1,
+        },
+    ],
+    "orange": [
+        {
+            "space": "oklch",
+            "coords": [0.992164847147767, 0.0026379304378796216, 40.72777929978571],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9787479582966758, 0.01536138337208425, 70.82633942818063],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9576040518931183, 0.03682338182232694, 78.11466855130823],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9202557631622644, 0.08106995528515037, 74.15551635647915],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8904274216499577, 0.1065511855186052, 70.83590107150144],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8572758063188588, 0.109957892025851, 64.42668115794095],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8052550484830161, 0.11257114257934744, 59.881576214464815],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7453804521233035, 0.132114230406748, 54.819197560617965],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6890227298170913, 0.19108451773446236, 44.80215859381269],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6621587681537058, 0.19444162957099517, 43.48640248808988],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5918650418680639, 0.1860227745784473, 46.95419811629915],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3501176417110094, 0.06868042345332852, 40.822646430109444],
+            "alpha": 1,
+        },
+    ],
+    "sky": [
+        {
+            "space": "oklch",
+            "coords": [0.9933244599086452, 0.005326369326268033, 211.91239836467335],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9798603694491512, 0.009929490989963343, 217.66993479543385],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9605504001139498, 0.023827735179882372, 219.58258421073202],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9355897627242971, 0.03559480524951205, 220.38555660215576],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9028108317157462, 0.04653725956408853, 221.3685024564542],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8610301781098076, 0.05767057799898785, 222.86815514951402],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8057811466884213, 0.07170731244931751, 225.6515678596207],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7293793427843234, 0.0962189656977286, 227.9811391013913],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.861365661523129, 0.10269266360752023, 217.81366175706373],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8376501423654787, 0.10372540390423113, 219.57290838611917],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5256363981218082, 0.10803395541526897, 232.5446796039951],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.35114128350139506, 0.05722684191345205, 241.6102665180435],
+            "alpha": 1,
+        },
+    ],
+    "mint": [
+        {
+            "space": "oklch",
+            "coords": [0.992775313730778, 0.005261942225598442, 183.6837599489045],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9820363954962747, 0.01006678898108092, 178.6591072492423],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9595325277809059, 0.02991505644927548, 179.5734892946008],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9330096537072228, 0.04698226468132058, 178.98337268249418],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8994431796108062, 0.06083304937889507, 178.72104163871177],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8559441526083696, 0.07190274594308213, 178.6821905057849],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7978854835194595, 0.08484924698927705, 178.21803465902178],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7220402738803455, 0.10658082013715557, 177.68836980447873],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.869623686789906, 0.09984817032056634, 177.96974172514763],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8411582678506597, 0.09974911675875843, 177.76902340504898],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5117565830621139, 0.09497634742090225, 176.0201729465391],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.34970142620152905, 0.05053591165778202, 181.43743596512348],
+            "alpha": 1,
+        },
+    ],
+    "lime": [
+        {
+            "space": "oklch",
+            "coords": [0.9924328606503734, 0.004194479001896497, 120.66881277521873],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9817275971864984, 0.00978017752544825, 116.69527024699795],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9594235214040338, 0.04332132058129483, 119.09756232178779],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9320737121521251, 0.0688820355385588, 120.37983017233398],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8973583620127163, 0.08701794082140046, 121.83729879514408],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8530093281507384, 0.09934534896107729, 123.38296318706404],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7946391913629506, 0.11074458461774948, 125.30603269415661],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7236234377234056, 0.13477912720383828, 128.0587815316277],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8875428218189884, 0.17490857976078586, 126.08722483149108],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8588836004099947, 0.18774129024179553, 126.7347122115545],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5437527102424522, 0.11131229039148742, 128.63410943843598],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.35365802839138194, 0.05740911920499128, 121.18195512522936],
+            "alpha": 1,
+        },
+    ],
+    "yellow": [
+        {
+            "space": "oklch",
+            "coords": [0.9928464031174813, 0.005160264597720187, 106.49321580372862],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9884066405507254, 0.0250478764434872, 102.91516576507496],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9740185549741557, 0.08449100709025303, 104.35896559355996],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9526580830504415, 0.11661165382559138, 101.74056946852926],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9250557024594789, 0.14086645995883956, 98.20331235303877],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8808793665503352, 0.13385257716531673, 95.41815806482776],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8355235088160354, 0.12028216146199004, 92.79121058170819],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7661412091544274, 0.13704605439673195, 89.84622552792393],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9265778133266523, 0.20859885364417569, 102.1429319781891],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8966879392140401, 0.1851181110189882, 97.53073658214146],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5744185848754895, 0.136413843767473, 81.69080558232184],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3578369586561853, 0.045999686073080366, 86.6346605133316],
+            "alpha": 1,
+        },
+    ],
+    "amber": [
+        {
+            "space": "oklch",
+            "coords": [0.9940307104992311, 0.0027686820429108916, 84.62447615679775],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9862334487139962, 0.02404231279181531, 100.25760122513901],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9690287666702649, 0.0685840672312103, 100.35993586302328],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9453500703813036, 0.10425186808340753, 98.19183486254303],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9184491494457161, 0.1332850762994342, 98.39563719037722],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8811963646508691, 0.12369162156252479, 93.237565319949],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8273633197720569, 0.12199710812163111, 86.17540495603828],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7581955463666682, 0.14038605606118082, 76.70109714817988],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8562297396832987, 0.17783784897482485, 81.37024359282327],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8314551212485297, 0.16789866553420385, 80.93775251211605],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5692072140675161, 0.14389433930752715, 67.28089979145278],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.35190091378535004, 0.048521541907010406, 53.73707013130581],
+            "alpha": 1,
+        },
+    ],
+}
+
+DEFAULT_DARK_COLORS = {
+    "gray": [
+        {
+            "space": "oklch",
+            "coords": [0.17802700958823742, 5.003707553108401e-17, None],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.21337875506034917, 1.249000902703301e-16, None],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.253746998060455, 1.249000902703301e-16, None],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2832456358811004, 1.415262216750919e-16, None],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3130081133832338, 1.942890293094024e-16, None],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3490014093228378, 2.220446049250313e-16, None],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.4022827335276892, 2.5589376332604516e-16, None],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.48772250616152446, 2.0206364052201326e-16, None],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5379068163631979, 2.7755575615628914e-16, None],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5843446126696334, 2.7755575615628914e-16, None],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7700266530069065, 5.551115123125783e-16, None],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9488631658142652, 5.117875266520903e-16, None],
+            "alpha": 1,
+        },
+    ],
+    "mauve": [
+        {
+            "space": "oklch",
+            "coords": [0.17988751261379682, 0.004264128442403805, 307.7890102284727],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2151507916822318, 0.00407936475364478, 307.8440547791925],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.25502260121118026, 0.005534135934329646, 306.4754322844837],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2844913657303466, 0.0076025574222694054, 307.75392905440395],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3138274295205378, 0.008958782749495355, 306.94557225583816],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3501143039401972, 0.010072641324555638, 303.9832181369294],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.40155777554193817, 0.012198220020439972, 304.44718393607826],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.49189663842628173, 0.015928466284176372, 300.74452025369914],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.540469612011977, 0.016936669223795643, 293.97139276782207],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5862173157929841, 0.016655778122229438, 295.364680184553],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7697625559949596, 0.014012533221090695, 296.60761334817454],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9494178472122137, 0.0026112564423154826, 286.34977844168964],
+            "alpha": 1,
+        },
+    ],
+    "slate": [
+        {
+            "space": "oklch",
+            "coords": [0.17889609192610637, 0.003968685898235931, 285.9917425315994],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.21327277380211115, 0.004080243908750538, 264.4133784663965],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2534006958630188, 0.005717992905106017, 261.193925380416],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2826774498348353, 0.007334154229753123, 259.5184416221899],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.311377720499576, 0.008245421626696425, 259.7312951002563],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.34593965808215665, 0.009923224064020762, 256.5176191081862],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.39774671216652213, 0.012047145380570138, 253.76896833937013],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.48994244246058133, 0.01567982316989308, 247.6338681188748],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5370327422939207, 0.015172300182938584, 261.14550026608447],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5829766159258506, 0.014163760757589662, 263.3174228212156],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7677290115888109, 0.010392369984770885, 261.26783523524205],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.948768123890182, 0.002803643631317212, 264.57172257875203],
+            "alpha": 1,
+        },
+    ],
+    "sage": [
+        {
+            "space": "oklch",
+            "coords": [0.1792340902696823, 0.0035856008063695167, 167.3772900528138],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2110623567714834, 0.003740025747472198, 160.17378289397243],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2512289527122875, 0.003981233053871713, 164.19953583172787],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2811578372941466, 0.004936983429154223, 164.87341931060917],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3106888809479312, 0.005211280894684992, 167.43840792369474],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3470863404796889, 0.006081886816965804, 167.42426086408898],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3991925432467066, 0.007827492720010609, 167.38480937161933],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.4882170197626227, 0.009097499828242381, 169.81386951141553],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5329266312207418, 0.017544001987935678, 170.77075433724008],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.579338550561163, 0.015967545537278343, 170.50750502689425],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7660462308604231, 0.009987619551222566, 167.50870955205744],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9473272438947932, 0.002371843963023234, 167.70512398699418],
+            "alpha": 1,
+        },
+    ],
+    "olive": [
+        {
+            "space": "oklch",
+            "coords": [0.17973246055483877, 0.004277634496519416, 128.338255479547],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.21165579405893234, 0.004105841933120096, 128.28736060851094],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2515841298813772, 0.005082727095308246, 129.00851914367138],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2807454069652463, 0.0056028888898918515, 131.4360498780601],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3100843491295378, 0.006558806521863961, 131.44715749995157],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3463972476514622, 0.0076470079390652925, 134.43131593036014],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3985962298858755, 0.009645027679510223, 136.02536798373785],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.4876956222394584, 0.012367493765092231, 140.77952511590513],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5352299554471645, 0.017614383640660522, 139.61437772386046],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5812375261552609, 0.01632615521390139, 140.06362826061832],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7659440335244477, 0.012765356783994604, 139.49583931218433],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9470128722237816, 0.003355782945848951, 144.7599607460728],
+            "alpha": 1,
+        },
+    ],
+    "sand": [
+        {
+            "space": "oklch",
+            "coords": [0.17755734499590234, 0.002265113648305597, 106.62807104266523],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2129279827859859, 0.002165263466148, 106.5820742470172],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2531017380978901, 0.0031097033225171524, 106.6197186758468],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2828092230453108, 0.00355343244321935, 99.02455422815427],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3123810904311568, 0.004441508518261826, 100.73039350899444],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3490856759077985, 0.005746232072938815, 102.2444663711492],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.4007198659674377, 0.007026011874025188, 96.10421390716692],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.4901048436301579, 0.009503895935927615, 91.72857701552994],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5345695036361372, 0.010964561173602694, 94.07400728954116],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5810668978728997, 0.010743061973782221, 94.0473167472382],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7666421944135743, 0.009135301727955824, 97.38311907724477],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9483133668182785, 0.0026105977420908064, 106.44927986494145],
+            "alpha": 1,
+        },
+    ],
+    "tomato": [
+        {
+            "space": "oklch",
+            "coords": [0.18687208644833544, 0.01172888022217636, 19.586642293158775],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.20767626792660285, 0.01670746982368398, 32.024163850356956],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2537375375210225, 0.05435124548485346, 26.94366582223097],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.29110550292820137, 0.08703719098474655, 28.16752575713076],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.33143591880317314, 0.09710005137485864, 28.662735649489036],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3800678383463698, 0.09944792970026424, 30.008888396288],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.4474419450041775, 0.10676389815887886, 31.455680219248848],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5378166140139886, 0.13006420995118115, 32.94107147683803],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6269741914807521, 0.19371875462945382, 33.30786667356733],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6650280041628269, 0.17913716929470042, 34.14900564268942],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7842930513050708, 0.16357327460604226, 36.01892391265295],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.898553006234373, 0.046616379955805906, 31.108880461347383],
+            "alpha": 1,
+        },
+    ],
+    "red": [
+        {
+            "space": "oklch",
+            "coords": [0.18801390320851974, 0.013331289160506776, 19.389234308865298],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.20478644173268795, 0.021516481589831684, 14.735493545826671],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2504387617224479, 0.06428378628676674, 13.106152999909],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.28884193546906084, 0.09587109545771662, 14.289003442546857],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.33155910959554724, 0.10656839153942173, 15.531586262182884],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.38261454210035784, 0.11135423274735452, 16.929296122056826],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.45055112763686733, 0.12062410536011843, 18.91046056661378],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5435585639560071, 0.14651280271017597, 21.437272670575226],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6254419840302119, 0.19347124619994666, 22.98272355643661],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6646368817173418, 0.1773369119104264, 23.092204105405358],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7836585810281789, 0.16185152107921896, 22.288441748640594],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9021540171055809, 0.05283185621582689, 6.139289944699328],
+            "alpha": 1,
+        },
+    ],
+    "ruby": [
+        {
+            "space": "oklch",
+            "coords": [0.18879890306266484, 0.013664084000370735, 2.9040658565207877],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2076505686627398, 0.015888698939467358, 5.290256640872599],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.25376625433109945, 0.06020386120297766, 6.544451393253553],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.29208688995214954, 0.08884740875169328, 5.504582953506485],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3326752844204642, 0.0997287442486017, 6.398334331910689],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3820085069413639, 0.10502071029582408, 7.588632732703218],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.44834858189954635, 0.11652108192562627, 9.017324486845098],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5437592928021461, 0.14536286984525013, 11.057526217210295],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6284440441142825, 0.1950185834029254, 13.192225798555285],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6635084545652068, 0.179354110103871, 13.692856639071522],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7861400877928478, 0.16113705991850538, 17.00602575810734],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9054100357303156, 0.05266154829646781, 355.8332211244223],
+            "alpha": 1,
+        },
+    ],
+    "crimson": [
+        {
+            "space": "oklch",
+            "coords": [0.1892722602369413, 0.014310570337193273, 354.1723527651537],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.20679307718523535, 0.022119690156481516, 352.8960372028686],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.25565251062253763, 0.05948465812539257, 353.8756862057196],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.29306344832518866, 0.0944036354711531, 354.06277504422815],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3326349449881198, 0.10444548306047859, 354.74828170956715],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3817862433132323, 0.1087525413533357, 355.4924060951584],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.45007288151841796, 0.12001941343949027, 356.7064804725855],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5419163736615633, 0.1481537823859525, 358.33519634088987],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6342896352218953, 0.2130264200492019, 1.3038015940653622],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.663691575319329, 0.1967150376667965, 1.9508110435993444],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7873725257814781, 0.1670033697533264, 6.719047364172184],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9088288982301336, 0.05406746205662593, 346.6567087348134],
+            "alpha": 1,
+        },
+    ],
+    "pink": [
+        {
+            "space": "oklch",
+            "coords": [0.19066654033223765, 0.01740617206459696, 334.9313897096465],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2073663392878792, 0.031283104201025584, 338.1673133361865],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2613761525490439, 0.06116125829261672, 337.4617297294274],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.29939497359867956, 0.0975114001421519, 340.13577255870933],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3380084361284248, 0.10411326162508186, 340.64016928722606],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3890202403083648, 0.1071888523539367, 341.55062945163013],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.45873818926386867, 0.1192561490298739, 342.6207212634397],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5454280976674686, 0.1448517056314691, 344.10612202409766],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6167023136403023, 0.20766545083239377, 346.0514288033687],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6499560974999363, 0.1969506078047931, 346.181402407906],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.788691797909924, 0.19003577507344427, 350.73792633270835],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9052848724209657, 0.058618463193180495, 343.22679022408266],
+            "alpha": 1,
+        },
+    ],
+    "plum": [
+        {
+            "space": "oklch",
+            "coords": [0.1899624753304772, 0.017459056917568574, 326.98077273170065],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.21004197734639105, 0.031058388120720926, 327.6835358826965],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.26565303085725467, 0.06176956566864369, 326.6652351345214],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3065230122393903, 0.08827888410850653, 325.2725846602954],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.34344555346602973, 0.0953166252303515, 324.63387834880984],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.38891720476153924, 0.09701877251408593, 324.19819864197956],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.4564888594438377, 0.10636212741607823, 323.4263114892586],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5450789725937475, 0.12793857787899632, 322.16121878495676],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5789096041570406, 0.18772930303450078, 322.089509794007],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.615954337659896, 0.18207469612421784, 322.12144071065705],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.785911928791685, 0.15407051803352934, 322.0581662292911],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9061631811789301, 0.055083790973144066, 325.83365246295875],
+            "alpha": 1,
+        },
+    ],
+    "purple": [
+        {
+            "space": "oklch",
+            "coords": [0.19154437949803113, 0.022217706153290048, 315.9847332943798],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.21307504158239726, 0.0314665810560736, 314.3439901892368],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.26633391355250136, 0.061512654421344404, 312.02953204817476],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.30823894892878184, 0.08278447155766921, 310.65345687495414],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3444731289288392, 0.09137113987959945, 310.1318241793952],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.38772192730002464, 0.09674221126967204, 309.66366499536525],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.44961039553655674, 0.10796443442299548, 308.7305443878861],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5409383526839553, 0.13284244416219293, 307.0712740629384],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5554715959558583, 0.18298961675149392, 305.880212181053],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5958984769396856, 0.17658348432305804, 306.34806478025416],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7851139338021362, 0.15622672498801013, 307.9001518787052],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9109201626832015, 0.048557918033413625, 310.9468083269215],
+            "alpha": 1,
+        },
+    ],
+    "violet": [
+        {
+            "space": "oklch",
+            "coords": [0.19143448821024012, 0.026085211411682453, 290.5200302283986],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.21127530286855914, 0.03151141427211018, 299.4620934225847],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2709190968330775, 0.06638620678474531, 293.9150135214736],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3121370940632534, 0.0928529235349251, 291.74694937305634],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.34840324790161176, 0.09860429743323096, 291.4000569518064],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3896513013589697, 0.10205911842749889, 291.8248365625255],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.4445949833086914, 0.11093943521068697, 291.57388840067654],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5162901269893037, 0.13057161339769735, 290.20489300368797],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5417740654832872, 0.1788921334571188, 288.09629669524537],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5882076899899047, 0.1695124275915623, 289.6840096117467],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7782322790851444, 0.13653905335220298, 293.62449333387053],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.911564053092039, 0.04521256452650274, 292.61250719951653],
+            "alpha": 1,
+        },
+    ],
+    "iris": [
+        {
+            "space": "oklch",
+            "coords": [0.1927748226373026, 0.02163088309778405, 284.1880347741315],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.20854860101638598, 0.029236300143222194, 286.5432388915566],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.272848902788936, 0.06859697261368985, 278.58186974703233],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.31876975236578203, 0.10195308495113192, 276.098524619223],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.35806783107917284, 0.10929114958307294, 277.4050826170885],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3987855357163382, 0.11173534679395873, 279.64421483672294],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.4479882135051824, 0.12007730213574011, 280.7841337287203],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5072974545893273, 0.1380805076613757, 281.0942608676815],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5403119400173759, 0.1839231074108175, 278.29608055180563],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5866760505027507, 0.17205698050465923, 281.18501375923927],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7757107233112513, 0.1310842461558421, 286.5632759781011],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9142018976149, 0.0418821884797083, 286.9789872574507],
+            "alpha": 1,
+        },
+    ],
+    "indigo": [
+        {
+            "space": "oklch",
+            "coords": [0.19066059191272447, 0.02471502121170825, 276.7247487165963],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.20882822761859532, 0.030192073556416357, 275.95063567162674],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2721723717044805, 0.06931002399934652, 267.84102734728634],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3189856489839301, 0.09321784898677113, 267.0389940918023],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.36177611603822035, 0.10451755649212835, 267.50336666869066],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.4037403517364316, 0.11057365274287961, 268.3395268721229],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.4502862843969968, 0.12023888816821197, 268.79994127089844],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5026748389554719, 0.13721782610324706, 268.4059007565643],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5436186695136518, 0.19116653122823807, 267.07634131362823],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5899209785628913, 0.17569360134331768, 269.1878038100762],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7772329734724761, 0.12329975344646267, 273.2796494916346],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9110256200344601, 0.04279110253915825, 269.99024555908727],
+            "alpha": 1,
+        },
+    ],
+    "blue": [
+        {
+            "space": "oklch",
+            "coords": [0.19317552033012872, 0.02579191415318674, 256.7895857812008],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.21299312372019796, 0.029510064440195938, 258.8374528440855],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2741187965375246, 0.06687610295949298, 253.96229359398828],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3169685011427835, 0.10018575922875957, 248.29961361214924],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.36485031741627677, 0.1083941479271649, 249.7239417116046],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.41605528547768916, 0.11246291554795138, 251.66039004404325],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.4748411753348036, 0.12111214282531392, 252.83866130867057],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5412869980033478, 0.13958613449773047, 253.21135412689284],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6493249551474731, 0.19303677544486975, 251.8132045615412],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6890080201979247, 0.16967465795938655, 251.45655001214632],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7678697119792394, 0.13471126133658182, 248.84393653740204],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9072122247564576, 0.051146020496064724, 238.27340287400972],
+            "alpha": 1,
+        },
+    ],
+    "cyan": [
+        {
+            "space": "oklch",
+            "coords": [0.1913419738541697, 0.01715927255881697, 219.88544646218705],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.21407339176448073, 0.018213399350926692, 225.41191299789523],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2721611353459855, 0.044038443342923755, 222.4742398798541],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3149797630994767, 0.06290657821191575, 222.14198471590996],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3616593346288941, 0.07031789924320736, 221.50825253738213],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.41354525407464676, 0.07476954473158597, 221.72657901601482],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.4776990112983259, 0.08271236398293624, 221.41398614497643],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.557700374595003, 0.09841292701148202, 220.7096815246192],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6609297004185946, 0.12153781064291957, 221.49141120413154],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6979740762539164, 0.11953329609357469, 219.12243943071667],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7855773009474072, 0.11543178367567267, 213.3962992660612],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9092921475700951, 0.056849568353384415, 211.72560043034503],
+            "alpha": 1,
+        },
+    ],
+    "teal": [
+        {
+            "space": "oklch",
+            "coords": [0.18888537583189985, 0.012271554517442981, 184.49736778079614],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.21652465291320944, 0.016853579569495805, 189.3107649943833],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2737445404083218, 0.03779058741453787, 186.34948865300984],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.31728340014652584, 0.05453961651874025, 187.00003169065786],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3625013549520078, 0.06004222386479399, 186.51822414894335],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.4136646644032997, 0.06528916531173973, 185.37571606327876],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.4731511743748062, 0.07387805910278812, 184.54937140886568],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5388575550322464, 0.08663207397609762, 183.54994637844038],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6488092272182093, 0.11344755475044631, 182.00540863185944],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.686866110634999, 0.12269774724782244, 180.3170814182673],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7888248284834697, 0.14691237768656976, 175.65933447303337],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9051227496579864, 0.0721245682584749, 175.25586915124643],
+            "alpha": 1,
+        },
+    ],
+    "jade": [
+        {
+            "space": "oklch",
+            "coords": [0.18795542442285204, 0.013981491932499557, 166.29783582886455],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.21580532275665926, 0.01795716372794089, 166.11145157112196],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2723684017560832, 0.042200224703672094, 166.81895724755293],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.31637338624439604, 0.05746157880642093, 168.0203388994155],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3618162668158461, 0.06430095430133032, 168.51756207915878],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.41082203148287383, 0.06828024774627431, 169.6894453506426],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.4684825914939102, 0.07525573976132037, 170.63853892687814],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5369022534329507, 0.08792480831540259, 171.79555749559722],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.642056847058049, 0.11500393889303404, 170.84823038046534],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6776418601134664, 0.12523349871266481, 169.87047752672765],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7853531425126807, 0.15614131237711132, 167.09505020805818],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9026653826304624, 0.07759431587706223, 166.97786954511423],
+            "alpha": 1,
+        },
+    ],
+    "green": [
+        {
+            "space": "oklch",
+            "coords": [0.18878186449821968, 0.012708144524215672, 163.26792730166733],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.21267426232098757, 0.01600989900594219, 162.2249565277698],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2714139334127495, 0.03880834735365746, 162.66790096851037],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.31822185243393736, 0.057306629843351865, 161.54388652553985],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.36484763556297495, 0.06599926740291664, 161.11284384434907],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.4133512335413423, 0.07323246862185384, 160.73198555653107],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.4673711555125577, 0.08283707761524584, 159.9082444634164],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5274623217578616, 0.09618441549574933, 159.192816614947],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6404878504699228, 0.1327393580657471, 157.7508517512639],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6755200505997497, 0.14122760073040558, 157.5602092014334],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7796802311425886, 0.16568632994502971, 157.23051060939133],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9048084450345536, 0.08275548883547304, 158.2760727332177],
+            "alpha": 1,
+        },
+    ],
+    "grass": [
+        {
+            "space": "oklch",
+            "coords": [0.18834737647276897, 0.01409798574926669, 155.81170433797183],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.21103742516610247, 0.014108342021451083, 151.48359395163254],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.26712831180813396, 0.029990215016543302, 150.73173237040635],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.31907953585361276, 0.05222023837384682, 150.4140214288567],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.36677700724560963, 0.06192125349110587, 149.91137538579687],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.41635875950594886, 0.07208062615597582, 149.33921795505114],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.4682664806397882, 0.08350634632944724, 148.89415494195805],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5238269138973213, 0.09726462810317421, 148.2478539763723],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6515770430826965, 0.14685228492471203, 147.36625739091585],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.68977681216546, 0.14536226850040493, 147.64136714507003],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7798146355970772, 0.14203715078424192, 148.46330014150607],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.910964455405045, 0.07797354806078467, 144.90737870186842],
+            "alpha": 1,
+        },
+    ],
+    "brown": [
+        {
+            "space": "oklch",
+            "coords": [0.1784586278436563, 0.0049556600482694715, 81.54746381857763],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2130956332526436, 0.007455057285088627, 51.61902733069212],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.25358022851298745, 0.012804981677545608, 53.47833480629771],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2883546467600591, 0.018184914923188845, 55.419742234290595],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.32473193222439206, 0.0242868830779846, 55.879415408640455],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.37020338691145366, 0.03174612893016402, 57.6871649725594],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.428969593881006, 0.04093175252931125, 59.83499559964042],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5085697641692491, 0.05346550047716139, 62.167662454578306],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6326766590502669, 0.07843362165081146, 60.77478537584528],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6744024759791659, 0.07493787055052636, 61.48101310356452],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7982375844988425, 0.06277377926912417, 62.50924575482907],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9176105743763369, 0.03595647220121584, 75.66672711769729],
+            "alpha": 1,
+        },
+    ],
+    "orange": [
+        {
+            "space": "oklch",
+            "coords": [0.18643012281411728, 0.011907112746681133, 53.747153630487674],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.20882635021702767, 0.01918013240723162, 67.38142788965536],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2574510589799283, 0.04524912681173105, 59.543161567345464],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2932861752584594, 0.07964384882294154, 58.6471156775649],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3345531867461536, 0.08679913402104357, 58.08905257728236],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.38628557645015116, 0.08688647257603474, 55.152649443670384],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.4533508747393603, 0.09471800843872835, 53.0567095305517],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5405029648439486, 0.11617601884646005, 49.748207220216955],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.6890227298170913, 0.19108451773446236, 44.80215859381269],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7413532856076602, 0.1991015614202225, 46.32272572436597],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7989810633034995, 0.16312326042167427, 50.76599944850801],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9248383981981599, 0.05240699722491541, 66.21994389050678],
+            "alpha": 1,
+        },
+    ],
+    "sky": [
+        {
+            "space": "oklch",
+            "coords": [0.18977881852211773, 0.023976388367269744, 257.0857106883315],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.21612551243301628, 0.02892334126996856, 258.45179596836607],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.27111157680294684, 0.05387987396049037, 251.87939358963786],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3221743825389678, 0.06955552525830556, 247.75025039341378],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.37249960746007743, 0.07906198544606448, 245.75430972373408],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.42688015356875797, 0.08735139409760992, 243.55592401041812],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.48804030385101765, 0.09807284909163463, 240.68923455830807],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5573828326966886, 0.11425576554614436, 237.21797459380912],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.861365661523129, 0.10269266360752023, 217.81366175706373],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9080887755498346, 0.07300987458303423, 214.9182675975096],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7925758559812486, 0.09863279911393444, 231.6714123376788],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9337084079895789, 0.052593587076846554, 214.37476903947598],
+            "alpha": 1,
+        },
+    ],
+    "mint": [
+        {
+            "space": "oklch",
+            "coords": [0.18837667436929226, 0.011553432308040096, 192.27318791447192],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2101209908079639, 0.017243461294718515, 196.6077604426994],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2687021183993709, 0.03895774448489352, 192.5277704923182],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3134672232173808, 0.05797876745668283, 191.64634787342715],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3593663088804619, 0.06338671640007366, 188.93784976851214],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.4104307993377542, 0.06651302419060645, 186.27068223463485],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.4708905626383417, 0.0727958203007107, 183.35089574546524],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5401138007327314, 0.08502043046935395, 179.55915263985548],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.869623686789906, 0.09984817032056634, 177.96974172514763],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9161624448146232, 0.07961630799691155, 179.36497357792973],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.7954730823114383, 0.11844716616722546, 176.3840636851893],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9304915753275074, 0.05688838536837838, 168.48713602349994],
+            "alpha": 1,
+        },
+    ],
+    "lime": [
+        {
+            "space": "oklch",
+            "coords": [0.1804205561678095, 0.014391828382571498, 120.25699655964013],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.20799205898450956, 0.01935373139345459, 128.97106682224717],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2661681040334568, 0.03432066257459385, 132.1805053091128],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.3165069505007446, 0.046948461218903156, 131.83097985643462],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.36338925068766975, 0.057878144674942636, 131.64298078434763],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.4115756953565087, 0.06861497612105964, 131.40294274554668],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.4643773615720485, 0.08004476601646679, 131.16372285238077],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5243182224487879, 0.0945141560321686, 130.85782724357443],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8875428218189884, 0.17490857976078586, 126.08722483149108],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9417944079696648, 0.17541924230325623, 123.72837642475781],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8677651969407069, 0.1557095813645166, 124.78495596026687],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9464445270425802, 0.08191359682699542, 122.6162034765706],
+            "alpha": 1,
+        },
+    ],
+    "yellow": [
+        {
+            "space": "oklch",
+            "coords": [0.1811461976387264, 0.012985581782904633, 86.01011069524236],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.20880609642197784, 0.017018978860227595, 92.08773023735296],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.25902258158192104, 0.04663686551934404, 90.28933744313088],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.2926372169390012, 0.0693715007145051, 94.19852761732602],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.33335268818558017, 0.07907974384821262, 94.58997823913325],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.38430368203808757, 0.07739908817078811, 93.30481278255206],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.45155520595474713, 0.0808948975893097, 91.504488961915],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5348657182266775, 0.09506708428260316, 89.92652964494516],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9265778133266523, 0.20859885364417569, 102.1429319781891],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9710724774609013, 0.1821509226285911, 109.361041380257],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9001809092668891, 0.16639958947988984, 101.64038581434943],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9413101245630924, 0.0746661385549154, 101.04428068165618],
+            "alpha": 1,
+        },
+    ],
+    "amber": [
+        {
+            "space": "oklch",
+            "coords": [0.1835643248519139, 0.012646774090949177, 77.26750930234084],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.21168383303071045, 0.017946758097578334, 78.67612690396714],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.25750654261706396, 0.04372630019658725, 74.55813100464809],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.29621070168331953, 0.0714622574711524, 76.24754472257428],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.33686791372740604, 0.08122083910301683, 76.41336595323372],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.38706836518842913, 0.07844234200349055, 75.0914344464619],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.4531735213229392, 0.08172992960705926, 74.54889475411522],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.5360307056046038, 0.09640998378855599, 73.57430347788221],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8562297396832987, 0.17783784897482485, 81.37024359282327],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9015295424655642, 0.20649176857542995, 96.98217624206052],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.8706118009953593, 0.17536482835247721, 85.06779162480058],
+            "alpha": 1,
+        },
+        {
+            "space": "oklch",
+            "coords": [0.9349339686807773, 0.07153258930523086, 85.98932699063806],
+            "alpha": 1,
+        },
+    ],
+}

+ 600 - 0
reflex/experimental/palette.py

@@ -0,0 +1,600 @@
+"""A module for generating Radix colors.
+
+Converted from https://github.com/radix-ui/website/blob/main/components/generateRadixColors.tsx
+"""
+
+import math
+
+from coloraide import Color
+
+from .bezier import bezier
+from .default_colors import DEFAULT_DARK_COLORS, DEFAULT_LIGHT_COLORS
+
+ArrayOf12 = list[float]
+gray_scale_names = ["gray", "mauve", "slate", "sage", "olive", "sand"]
+scale_names = gray_scale_names + [
+    "tomato",
+    "red",
+    "ruby",
+    "crimson",
+    "pink",
+    "plum",
+    "purple",
+    "violet",
+    "iris",
+    "indigo",
+    "blue",
+    "cyan",
+    "teal",
+    "jade",
+    "green",
+    "grass",
+    "brown",
+    "orange",
+    "sky",
+    "mint",
+    "lime",
+    "yellow",
+    "amber",
+]
+
+
+def get_base_colors(appearance: str):
+    """Get the base colors from the default dicts.
+
+    Args:
+        appearance: The appearance of the colors.
+
+    Returns:
+        dict: The base colors.
+    """
+    raw_colors = DEFAULT_LIGHT_COLORS if appearance == "light" else DEFAULT_DARK_COLORS
+    colors = {}
+    for color_name, color_scale in raw_colors.items():
+        f_scale = []
+        for scale in color_scale:
+            scale["coords"] = [
+                float("nan") if x is None else x for x in scale["coords"]
+            ]
+            f_scale.append(Color(scale))
+        colors[color_name] = f_scale
+    return colors
+
+
+light_colors = get_base_colors("light")
+dark_colors = get_base_colors("dark")
+light_gray_colors = {name: light_colors[name] for name in gray_scale_names}
+dark_gray_colors = {name: dark_colors[name] for name in gray_scale_names}
+
+
+def generate_radix_colors(
+    appearance: str, accent: str, gray: str, background: str
+) -> dict:
+    """Generate Radix colors.
+
+    Args:
+        appearance: The appearance of the colors.
+        accent: The accent color.
+        gray: The gray color.
+        background: The background color.
+
+    Returns:
+        dict: The generated colors.
+    """
+    all_scales = light_colors if appearance == "light" else dark_colors
+    gray_scales = light_gray_colors if appearance == "light" else dark_gray_colors
+    background_color = Color(background).convert("oklch")
+
+    gray_base_color = Color(gray).convert("oklch")
+    gray_scale_colors = get_scale_from_color(
+        gray_base_color, gray_scales, background_color
+    )
+
+    accent_base_color = Color(accent).convert("oklch")
+    accent_scale_colors = get_scale_from_color(
+        accent_base_color, all_scales, background_color
+    )
+
+    background_hex = background_color.convert("srgb").to_string(hex=True)
+
+    accent_base_hex = accent_base_color.convert("srgb").to_string(hex=True)
+    if accent_base_hex == "#000000" or accent_base_hex == "#ffffff":
+        accent_scale_colors = [color.clone() for color in gray_scale_colors]
+
+    accent9_color, accent_contrast_color = get_step9_colors(
+        accent_scale_colors, accent_base_color
+    )
+
+    accent_scale_colors[8] = accent9_color
+    accent_scale_colors[9] = get_button_hover_color(
+        accent9_color, [accent_scale_colors]
+    )
+
+    # Limit saturation of the text colors
+    accent_scale_colors[10] = accent_scale_colors[10].set(
+        "oklch.c",
+        min(
+            max(
+                accent_scale_colors[8].get("oklch.c"),
+                accent_scale_colors[7].get("oklch.c"),
+            ),
+            accent_scale_colors[10].get("oklch.c"),
+        ),
+    )
+    accent_scale_colors[11] = accent_scale_colors[11].set(
+        "oklch.c",
+        min(
+            max(
+                accent_scale_colors[8].get("oklch.c"),
+                accent_scale_colors[7].get("oklch.c"),
+            ),
+            accent_scale_colors[11].get("oklch.c"),
+        ),
+    )
+    accent_scale_hex = [
+        color.convert("srgb").to_string(hex=True) for color in accent_scale_colors
+    ]
+    accent_scale_wide_gamut = [to_oklch_string(color) for color in accent_scale_colors]
+    accent_scale_alpha_hex = [
+        get_alpha_color_srgb(color, background_hex) for color in accent_scale_hex
+    ]
+    accent_scale_alpha_wide_gamut_string = [
+        get_alpha_color_p3(color, background_hex) for color in accent_scale_hex
+    ]
+
+    accent_contrast_color_hex = accent_contrast_color.convert("srgb").to_string(
+        hex=True
+    )
+
+    gray_scale_hex = [
+        color.convert("srgb").to_string(hex=True) for color in gray_scale_colors
+    ]
+    gray_scale_wide_gamut = [to_oklch_string(color) for color in gray_scale_colors]
+    gray_scale_alpha_hex = [
+        get_alpha_color_srgb(color, background_hex) for color in gray_scale_hex
+    ]
+    gray_scale_alpha_wide_gamut_string = [
+        get_alpha_color_p3(color, background_hex) for color in gray_scale_hex
+    ]
+
+    accent_surface_hex = (
+        get_alpha_color_srgb(accent_scale_hex[1], background_hex, 0.8)
+        if appearance == "light"
+        else get_alpha_color_srgb(accent_scale_hex[1], background_hex, 0.5)
+    )
+
+    accent_surface_wide_gamut_string = (
+        get_alpha_color_p3(accent_scale_wide_gamut[1], background_hex, 0.8)
+        if appearance == "light"
+        else get_alpha_color_p3(accent_scale_wide_gamut[1], background_hex, 0.5)
+    )
+
+    return {
+        "accentScale": accent_scale_hex,
+        "accentScaleAlpha": accent_scale_alpha_hex,
+        "accentScaleWideGamut": accent_scale_wide_gamut,
+        "accentScaleAlphaWideGamut": accent_scale_alpha_wide_gamut_string,
+        "accentContrast": accent_contrast_color_hex,
+        "grayScale": gray_scale_hex,
+        "grayScaleAlpha": gray_scale_alpha_hex,
+        "grayScaleWideGamut": gray_scale_wide_gamut,
+        "grayScaleAlphaWideGamut": gray_scale_alpha_wide_gamut_string,
+        "graySurface": "#ffffffcc" if appearance == "light" else "rgba(0, 0, 0, 0.05)",
+        "graySurfaceWideGamut": "color(display-p3 1 1 1 / 80%)"
+        if appearance == "light"
+        else "color(display-p3 0 0 0 / 5%)",
+        "accentSurface": accent_surface_hex,
+        "accentSurfaceWideGamut": accent_surface_wide_gamut_string,
+        "background": background_hex,
+    }
+
+
+def get_step9_colors(
+    scale: list[Color], accent_base_color: Color
+) -> tuple[Color, Color]:
+    """Get the step 9 colors.
+
+    Args:
+        scale: The scale of colors.
+        accent_base_color: The accent base color.
+
+    Returns:
+        The step 9 colors.
+    """
+    reference_background_color = scale[0]
+    distance = accent_base_color.delta_e(reference_background_color) * 100
+
+    if distance < 25:
+        return scale[8], get_text_color(scale[8])
+
+    return accent_base_color, get_text_color(accent_base_color)
+
+
+def get_button_hover_color(source: Color, scales: list[list[Color]]) -> Color:
+    """Get the button hover color.
+
+    Args:
+        source: The source color.
+        scales: The scales of colors.
+
+    Returns:
+        The button hover color.
+    """
+    L, C, H = source["lightness"], source["chroma"], source["hue"]
+
+    new_L = L - 0.03 / (L + 0.1) if L > 0.4 else L + 0.03 / (L + 0.1)
+    new_C = C * 0.93 if L > 0.4 and not math.isnan(H) else C
+    button_hover_color = Color("oklch", [new_L, new_C, H])
+
+    closest_color = button_hover_color
+    min_distance = float("inf")
+
+    for scale in scales:
+        for color in scale:
+            distance = button_hover_color.delta_e(color)
+            if distance < min_distance:
+                min_distance = distance
+                closest_color = color
+
+    button_hover_color["chroma"] = closest_color["chroma"]
+    button_hover_color["hue"] = closest_color["hue"]
+    return button_hover_color
+
+
+def get_text_color(background: Color) -> Color:
+    """Get the text color.
+
+    Args:
+        background: The background color.
+
+    Returns:
+        The text color.
+    """
+    white = Color("oklch", [1, 0, 0])
+
+    if abs(white.contrast(background)) < 40:
+        _, C, H = background["lightness"], background["chroma"], background["hue"]
+        return Color("oklch", [0.25, max(0.08 * C, 0.04), H])
+
+    return white
+
+
+def get_alpha_color(
+    target_rgb: list[float],
+    background_rgb: list[float],
+    rgb_precision: int,
+    alpha_precision: int,
+    target_alpha: float | None = None,
+) -> tuple[float, float, float, float]:
+    """Get the alpha color.
+
+    Args:
+        target_rgb: The target RGB.
+        background_rgb: The background RGB.
+        rgb_precision: The RGB precision.
+        alpha_precision: The alpha precision.
+        target_alpha: The target alpha.
+
+    Raises:
+        ValueError: If the color is undefined.
+
+    Returns:
+        The alpha color.
+    """
+    tr, tg, tb = [round(c * rgb_precision) for c in target_rgb]
+    br, bg, bb = [round(c * rgb_precision) for c in background_rgb]
+
+    if any(c is None for c in [tr, tg, tb, br, bg, bb]):
+        raise ValueError("Color is undefined")
+
+    desired_rgb = 0
+    if tr > br or tg > bg or tb > bb:
+        desired_rgb = rgb_precision
+
+    alpha_r = (tr - br) / (desired_rgb - br)
+    alpha_g = (tg - bg) / (desired_rgb - bg)
+    alpha_b = (tb - bb) / (desired_rgb - bb)
+
+    is_pure_gray = all(alpha == alpha_r for alpha in [alpha_r, alpha_g, alpha_b])
+
+    if not target_alpha and is_pure_gray:
+        v = desired_rgb / rgb_precision
+        return v, v, v, alpha_r
+
+    def clamp_rgb(n):
+        return 0 if n is None else min(rgb_precision, max(0, n))
+
+    def clamp_a(n):
+        return 0 if n is None else min(alpha_precision, max(0, n))
+
+    max_alpha = (
+        target_alpha if target_alpha is not None else max(alpha_r, alpha_g, alpha_b)
+    )
+    A = clamp_a(math.ceil(max_alpha * alpha_precision)) / alpha_precision
+
+    R = clamp_rgb(((br * (1 - A) - tr) / A) * -1)
+    G = clamp_rgb(((bg * (1 - A) - tg) / A) * -1)
+    B = clamp_rgb(((bb * (1 - A) - tb) / A) * -1)
+
+    R, G, B = map(math.ceil, [R, G, B])
+
+    blended_r = blend_alpha(R, A, br)
+    blended_g = blend_alpha(G, A, bg)
+    blended_b = blend_alpha(B, A, bb)
+
+    if desired_rgb == 0:
+        if tr <= br and tr != blended_r:
+            R += 1 if tr > blended_r else -1
+        if tg <= bg and tg != blended_g:
+            G += 1 if tg > blended_g else -1
+        if tb <= bb and tb != blended_b:
+            B += 1 if tb > blended_b else -1
+
+    if desired_rgb == rgb_precision:
+        if tr >= br and tr != blended_r:
+            R += 1 if tr > blended_r else -1
+        if tg >= bg and tg != blended_g:
+            G += 1 if tg > blended_g else -1
+        if tb >= bb and tb != blended_b:
+            B += 1 if tb > blended_b else -1
+
+    R /= rgb_precision
+    G /= rgb_precision
+    B /= rgb_precision
+
+    return R, G, B, A
+
+
+def blend_alpha(foreground, alpha, background, _round=True) -> float:
+    """Blend the alpha.
+
+    Args:
+        foreground: The foreground.
+        alpha: The alpha.
+        background: The background.
+        _round: Whether to round the result.
+
+    Returns:
+        The blended alpha.
+    """
+    if _round:
+        return round(background * (1 - alpha)) + round(foreground * alpha)
+
+    return background * (1 - alpha) + foreground * alpha
+
+
+def get_alpha_color_srgb(
+    target_color: str, background_color: str, target_alpha: float | None = None
+) -> str:
+    """Get the alpha color in srgb.
+
+    Args:
+        target_color: The target color.
+        background_color: The background color.
+        target_alpha: The target alpha.
+
+    Returns:
+        The alpha color.
+    """
+    r, g, b, a = get_alpha_color(
+        Color(target_color).convert("srgb").coords(),
+        Color(background_color).convert("srgb").coords(),
+        255,
+        255,
+        target_alpha,
+    )
+    return Color("srgb", [r, g, b], a).to_string(format="hex")
+
+
+def get_alpha_color_p3(
+    target_color: str, background_color: str, target_alpha: float | None = None
+) -> str:
+    """Get the alpha color in display-p3.
+
+    Args:
+        target_color: The target color.
+        background_color: The background color.
+        target_alpha: The target alpha.
+
+    Returns:
+        The alpha color.
+    """
+    r, g, b, a = get_alpha_color(
+        Color(target_color).convert("display-p3").coords(),
+        Color(background_color).convert("display-p3").coords(),
+        255,
+        1000,
+        target_alpha,
+    )
+    return Color("display-p3", [r, g, b], a).to_string(precision=4)
+
+
+def format_hex(s: str) -> str:
+    """Format shortform hex to longform.
+
+    Args:
+        s: The hex color.
+
+    Returns:
+        The formatted hex color.
+    """
+    if not s.startswith("#"):
+        return s
+
+    if len(s) == 4:
+        return f"#{s[1]}{s[1]}{s[2]}{s[2]}{s[3]}{s[3]}"
+
+    if len(s) == 5:
+        return f"#{s[1]}{s[1]}{s[2]}{s[2]}{s[3]}{s[3]}{s[4]}{s[4]}"
+
+    return s
+
+
+dark_mode_easing = [1, 0, 1, 0]
+light_mode_easing = [0, 2, 0, 2]
+
+
+def to_oklch_string(color: Color) -> str:
+    """Convert a color to an oklch string for CSS.
+
+    Args:
+        color: The color to convert.
+
+    Returns:
+        The oklch string.
+    """
+    L = round(color["lightness"] * 100, 1)
+    return f"oklch({L}% {color['chroma']:.4f} {color['hue']:.4f})"
+
+
+def get_scale_from_color(
+    source: Color, scales: dict[str, list[Color]], background_color: Color
+) -> list[Color]:
+    """Get a scale from a color.
+
+    Args:
+        source: The source color.
+        scales: The scales of colors.
+        background_color: The background color.
+
+    Returns:
+        The generated scale.
+    """
+    all_colors = []
+    for name, scale in scales.items():
+        for color in scale:
+            distance = source.delta_e(color)
+            all_colors.append({"scale": name, "distance": distance, "color": color})
+
+    all_colors.sort(key=lambda x: x["distance"])
+
+    # Remove non-unique scales
+    closest_colors = []
+    seen_scales = set()
+    for color in all_colors:
+        if color["scale"] not in seen_scales:
+            closest_colors.append(color)
+            seen_scales.add(color["scale"])
+
+    # Handle gray scales
+    gray_scale_names = ["gray", "mauve", "slate", "sage", "olive", "sand"]
+    all_are_grays = all(color["scale"] in gray_scale_names for color in closest_colors)
+    if not all_are_grays and closest_colors[0]["scale"] in gray_scale_names:
+        while closest_colors[1]["scale"] in gray_scale_names:
+            del closest_colors[1]
+
+    color_a = closest_colors[0]
+    color_b = closest_colors[1]
+
+    # Calculate triangle sides
+    a = color_b["distance"]
+    b = color_a["distance"]
+    c = color_a["color"].delta_e(color_b["color"])
+
+    # Calculate angles
+    cos_a = (b**2 + c**2 - a**2) / (2 * b * c)
+    rad_a = math.acos(cos_a)
+    sin_a = math.sin(rad_a)
+
+    cos_b = (a**2 + c**2 - b**2) / (2 * a * c)
+    rad_b = math.acos(cos_b)
+    sin_b = math.sin(rad_b)
+
+    # Calculate tangents
+    tan_c1 = cos_a / sin_a
+    tan_c2 = cos_b / sin_b
+
+    # Calculate ratio
+    ratio = max(0, tan_c1 / tan_c2) * 0.5
+
+    # Mix scales
+    scale_a = scales[color_a["scale"]]
+    scale_b = scales[color_b["scale"]]
+    scale = [
+        Color.mix(scale_a[i], scale_b[i], ratio).convert("oklch") for i in range(12)
+    ]
+
+    # Find base color
+    base_color = min(scale, key=lambda color: source.delta_e(color))
+
+    # Adjust chroma ratio
+    ratio_c = source.get("oklch.c") / base_color.get("oklch.c")
+
+    # Modify hue and chroma of the scale
+    for color in scale:
+        color = color.set(
+            "oklch.c", min(source.get("oklch.c") * 1.5, color.get("oklch.c") * ratio_c)
+        )
+        color = color.set("oklch.h", source.get("oklch.h"))
+
+    # Handle light and dark modes
+    if scale[0].get("oklch.l") > 0.5:  # Light mode
+        lightness_scale = [color.get("oklch.l") for color in scale]
+        background_l = max(0, min(1, background_color.get("oklch.l")))
+        new_lightness_scale = transpose_progression_start(
+            background_l, lightness_scale, light_mode_easing
+        )
+        new_lightness_scale = new_lightness_scale[1:]  # Remove the added step
+
+        for i, lightness in enumerate(new_lightness_scale):
+            scale[i] = scale[i].set("oklch.l", lightness)
+    else:  # Dark mode
+        ease = list(dark_mode_easing)
+        reference_background_color_l = scale[0].get("oklch.l")
+        background_color_l = max(0, min(1, background_color.get("oklch.l")))
+        ratio_l = background_color_l / reference_background_color_l
+
+        if ratio_l > 1:
+            max_ratio = 1.5
+            for i in range(len(ease)):
+                meta_ratio = (ratio_l - 1) * (max_ratio / (max_ratio - 1))
+                ease[i] = (  # type: ignore
+                    0 if ratio_l > max_ratio else max(0, ease[i] * (1 - meta_ratio))
+                )
+
+        lightness_scale = [color.get("oklch.l") for color in scale]
+        background_l = background_color.get("oklch.l")
+        new_lightness_scale = transpose_progression_start(
+            background_l, lightness_scale, ease
+        )
+
+        for i, lightness in enumerate(new_lightness_scale):
+            scale[i] = scale[i].set("oklch.l", lightness)
+
+    return scale
+
+
+def transpose_progression_start(to: float, arr: list, curve: list) -> list[float]:
+    """Transpose a progression to a new start point.
+
+    Args:
+        to: The new start point.
+        arr: The progression.
+        curve: The bezier curve.
+
+    Returns:
+        The transposed progression.
+    """
+    last_index = len(arr) - 1
+    diff = arr[0] - to
+    fn = bezier(*curve)
+    return [n - diff * fn(1 - i / last_index) for i, n in enumerate(arr)]
+
+
+def transpose_progression_end(
+    to: float, arr: list[float], curve: list[float]
+) -> list[float]:
+    """Transpose a progression to a new end point.
+
+    Args:
+        to: The new end point.
+        arr: The progression.
+        curve: The bezier curve.
+
+    Returns:
+        The transposed progression.
+    """
+    last_index = len(arr) - 1
+    diff = arr[-1] - to
+    fn = bezier(*curve)
+    return [n - diff * fn(i / last_index) for i, n in enumerate(arr)]