local utils = require "lib.utils" local oklab = require "lib.oklab" local palette = utils.get_palette() local output = {} local function generate(supports) table.insert(output, ":root{") for name, value in utils.opairs(palette) do for variant, v_value in utils.opairs(value) do local color if supports then color = "oklch(" .. v_value.l .. "%," .. v_value.c .. "," .. v_value.h .. ")" else color = oklab.rgb2hex(oklab.oklab2rgb(oklab.oklch2oklab(v_value))) end table.insert(output, "--prismite-" .. name .. (variant == "normal" and "" or "-" .. variant) .. ":" .. color .. ";") end end table.insert(output, "}") end generate(false) table.insert(output, "") generate(true) for _, line in ipairs(output) do io.write(line) end