@lgtm-hq/turbo-themes 0.44.21 → 0.44.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/tailwind/{colors-Cu7LeSys.js → colors-DQBe8z7a.js} +3 -3
- package/dist/adapters/tailwind/colors.js +1 -1
- package/dist/adapters/tailwind/preset.js +1 -1
- package/dist/tokens/style-dictionary/themes.json +2 -2
- package/dist/tokens/style-dictionary/tokens.json +2 -2
- package/package.json +2 -2
- package/packages/adapters/home-assistant/dist/index.js +2 -2
- package/packages/adapters/home-assistant/dist/index.js.map +1 -1
- package/packages/adapters/tailwind/dist/{colors-Cu7LeSys.js → colors-DQBe8z7a.js} +3 -3
- package/packages/adapters/tailwind/dist/{colors-Cu7LeSys.js.map → colors-DQBe8z7a.js.map} +1 -1
- package/packages/adapters/tailwind/dist/colors.js +1 -1
- package/packages/adapters/tailwind/dist/preset.js +1 -1
- package/packages/core/dist/themes/tokens.json +2 -2
- package/packages/theme-selector/dist/index.js +2 -2
- package/packages/theme-selector/dist/index.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["tokensData","VENDOR_ORDER","GENERATED_VENDOR_ORDER","allThemeIds"],"sources":["../src/color.ts","../src/mapping.ts","../../../core/dist/themes/tokens.json","../../../core/dist/tokens/index.js","../../../core/dist/themes/generated/metadata.js","../../../core/dist/themes/metadata.js","../../../core/dist/catalog/create.js","../../../core/dist/catalog/sets.js","../src/pairings.ts","../src/yaml.ts","../src/emitter.ts"],"sourcesContent":["// SPDX-License-Identifier: MIT\n/**\n * Color helpers for the Home Assistant adapter.\n *\n * Home Assistant expects some frontend variables (the `rgb-*` family) to be a\n * bare `\"R, G, B\"` triplet rather than a `rgb()`/hex value, because it composes\n * them into `rgba(var(--rgb-primary-color), 0.5)` style expressions internally.\n */\n\nconst SHORT_HEX = /^#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])$/;\nconst LONG_HEX = /^#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/;\n\n/**\n * Parse a `#rgb` or `#rrggbb` hex string into its red/green/blue components.\n *\n * @param hex - Hex color string, with a leading `#`.\n * @returns The `[r, g, b]` channel values (0-255).\n * @throws If the input is not a valid 3- or 6-digit hex color.\n */\nexport function hexToRgb(hex: string): [number, number, number] {\n if (typeof hex !== 'string') {\n throw new TypeError(`Invalid hex color: expected string, received ${typeof hex}`);\n }\n\n const shortMatch = SHORT_HEX.exec(hex);\n if (shortMatch) {\n const [, r, g, b] = shortMatch;\n // Capture groups type as `string | undefined`, and interpolating an\n // `undefined` here would yield `parseInt('undefinedundefined')` — a silent\n // NaN channel rather than a rejected colour. Take the throw path instead.\n if (r === undefined || g === undefined || b === undefined) {\n throw new Error(`Invalid hex color: \"${hex}\"`);\n }\n return [\n Number.parseInt(`${r}${r}`, 16),\n Number.parseInt(`${g}${g}`, 16),\n Number.parseInt(`${b}${b}`, 16),\n ];\n }\n\n const longMatch = LONG_HEX.exec(hex);\n if (longMatch) {\n const [, r, g, b] = longMatch;\n if (r === undefined || g === undefined || b === undefined) {\n throw new Error(`Invalid hex color: \"${hex}\"`);\n }\n return [Number.parseInt(r, 16), Number.parseInt(g, 16), Number.parseInt(b, 16)];\n }\n\n throw new Error(`Invalid hex color: \"${hex}\"`);\n}\n\n/**\n * Convert a hex color to a bare `\"R, G, B\"` triplet string (no `rgb()` wrapper).\n *\n * @param hex - Hex color string, with a leading `#`.\n * @returns The comma-separated triplet, e.g. `\"137, 180, 250\"`.\n * @throws If the input is not a valid 3- or 6-digit hex color.\n */\nexport function hexToRgbTriplet(hex: string): string {\n const [r, g, b] = hexToRgb(hex);\n return `${r}, ${g}, ${b}`;\n}\n","// SPDX-License-Identifier: MIT\n/**\n * Token → Home Assistant theme variable mapping.\n *\n * Home Assistant themes are a flat set of CSS custom properties (declared without\n * the leading `--`). This module maps the platform-agnostic Turbo tokens onto the\n * Home Assistant frontend variables, producing concrete hex / `R, G, B` values so\n * the generated artifact is self-contained and deterministic.\n */\n\nimport type { ThemeTokens } from '@lgtm-hq/turbo-themes-core/themes/types';\nimport { hexToRgbTriplet } from './color.js';\n\n/**\n * Fixed card-mod hook value. This is an inert marker unless the optional\n * `card-mod` custom component is installed; it never affects core Home Assistant.\n */\nexport const CARD_MOD_THEME = 'turbo-themes';\n\n/**\n * Every Home Assistant variable key emitted per theme, in deterministic order.\n *\n * The emitter walks this list to serialize each theme, and\n * {@link mapTokensToHomeAssistant} produces a record whose keys match this list\n * exactly (verified in tests).\n */\nexport const REQUIRED_KEYS: readonly string[] = [\n // Core palette\n 'primary-color',\n 'accent-color',\n 'dark-primary-color',\n 'light-primary-color',\n 'primary-background-color',\n 'secondary-background-color',\n 'card-background-color',\n 'dialog-background-color',\n 'primary-text-color',\n 'secondary-text-color',\n 'text-primary-color',\n 'disabled-text-color',\n 'divider-color',\n 'border-color',\n // App header\n 'app-header-background-color',\n 'app-header-text-color',\n 'app-header-selection-bar-color',\n // Sidebar\n 'sidebar-background-color',\n 'sidebar-text-color',\n 'sidebar-icon-color',\n 'sidebar-selected-text-color',\n 'sidebar-selected-icon-color',\n 'sidebar-selected-background-color',\n // Switches\n 'switch-checked-color',\n 'switch-checked-button-color',\n 'switch-unchecked-button-color',\n 'switch-unchecked-color',\n // Sliders\n 'slider-color',\n 'slider-secondary-color',\n // Paper items\n 'paper-item-icon-color',\n 'paper-item-icon-active-color',\n // Inputs (legacy paper / ha-form)\n 'input-fill-color',\n 'input-ink-color',\n 'input-label-ink-color',\n 'input-disabled-fill-color',\n 'input-disabled-ink-color',\n 'input-idle-line-color',\n 'input-hover-line-color',\n // Material selects / text fields (ha-select, ha-textfield / MWC)\n 'mdc-select-fill-color',\n 'mdc-select-ink-color',\n 'mdc-select-label-ink-color',\n 'mdc-select-dropdown-icon-color',\n 'mdc-select-idle-line-color',\n 'mdc-select-hover-line-color',\n 'mdc-text-field-fill-color',\n 'mdc-text-field-ink-color',\n 'mdc-text-field-label-ink-color',\n 'mdc-text-field-idle-line-color',\n 'mdc-text-field-hover-line-color',\n // Tables\n 'table-row-background-color',\n 'table-row-alternative-background-color',\n // State colors\n 'info-color',\n 'success-color',\n 'warning-color',\n 'error-color',\n 'state-icon-color',\n 'state-icon-active-color',\n // Lovelace / cards\n 'lovelace-background',\n 'ha-card-background',\n 'ha-card-border-color',\n // rgb-* triplets\n 'rgb-primary-color',\n 'rgb-accent-color',\n 'rgb-card-background-color',\n 'rgb-primary-text-color',\n 'rgb-secondary-text-color',\n 'rgb-text-primary-color',\n 'rgb-info-color',\n 'rgb-success-color',\n 'rgb-warning-color',\n 'rgb-error-color',\n // Material Design Components theme\n 'mdc-theme-primary',\n 'mdc-theme-secondary',\n 'mdc-theme-background',\n 'mdc-theme-surface',\n 'mdc-theme-on-primary',\n 'mdc-theme-on-secondary',\n 'mdc-theme-on-surface',\n 'mdc-theme-on-background',\n 'mdc-theme-text-primary-on-background',\n 'mdc-theme-error',\n // Code editor (CodeMirror)\n 'codemirror-keyword',\n 'codemirror-operator',\n 'codemirror-variable',\n 'codemirror-variable-2',\n 'codemirror-builtin',\n 'codemirror-atom',\n 'codemirror-number',\n 'codemirror-def',\n 'codemirror-string',\n 'codemirror-comment',\n 'codemirror-property',\n 'codemirror-attribute',\n // Energy dashboard\n 'energy-grid-consumption-color',\n 'energy-grid-return-color',\n 'energy-solar-color',\n 'energy-non-fossil-color',\n 'energy-battery-out-color',\n 'energy-battery-in-color',\n 'energy-gas-color',\n 'energy-water-color',\n // Alarm panel\n 'alarm-color-armed',\n 'alarm-color-disarmed',\n 'alarm-color-pending',\n 'alarm-color-triggered',\n // card-mod inert hook\n 'card-mod-theme',\n] as const;\n\n/**\n * Map a single theme's tokens onto Home Assistant frontend variables.\n *\n * All color values are concrete hex strings (no CSS `var()` references), and the\n * `rgb-*` family is emitted as bare `\"R, G, B\"` triplets as Home Assistant expects.\n *\n * @param tokens - The platform-agnostic Turbo theme tokens.\n * @returns A record of Home Assistant variable name → value, ordered to match\n * {@link REQUIRED_KEYS}.\n */\nexport function mapTokensToHomeAssistant(tokens: ThemeTokens): Record<string, string> {\n const { background, text, brand, accent, state, border } = tokens;\n\n return {\n // Core palette\n 'primary-color': brand.primary,\n 'accent-color': accent.link,\n 'dark-primary-color': brand.primary,\n 'light-primary-color': brand.primary,\n 'primary-background-color': background.base,\n 'secondary-background-color': background.overlay,\n 'card-background-color': background.surface,\n 'dialog-background-color': background.surface,\n 'primary-text-color': text.primary,\n 'secondary-text-color': text.secondary,\n 'text-primary-color': text.inverse,\n 'disabled-text-color': text.secondary,\n 'divider-color': border.default,\n 'border-color': border.default,\n // App header\n 'app-header-background-color': background.surface,\n 'app-header-text-color': text.primary,\n 'app-header-selection-bar-color': brand.primary,\n // Sidebar\n 'sidebar-background-color': background.base,\n 'sidebar-text-color': text.primary,\n 'sidebar-icon-color': text.secondary,\n 'sidebar-selected-text-color': brand.primary,\n 'sidebar-selected-icon-color': brand.primary,\n 'sidebar-selected-background-color': background.surface,\n // Switches\n 'switch-checked-color': brand.primary,\n 'switch-checked-button-color': brand.primary,\n 'switch-unchecked-button-color': text.secondary,\n 'switch-unchecked-color': border.default,\n // Sliders\n 'slider-color': brand.primary,\n 'slider-secondary-color': border.default,\n // Paper items\n 'paper-item-icon-color': text.secondary,\n 'paper-item-icon-active-color': brand.primary,\n // Inputs (legacy paper / ha-form)\n 'input-fill-color': background.surface,\n 'input-ink-color': text.primary,\n 'input-label-ink-color': text.secondary,\n 'input-disabled-fill-color': background.overlay,\n 'input-disabled-ink-color': text.secondary,\n 'input-idle-line-color': border.default,\n 'input-hover-line-color': brand.primary,\n // Material selects / text fields (ha-select, ha-textfield / MWC)\n 'mdc-select-fill-color': background.surface,\n 'mdc-select-ink-color': text.primary,\n 'mdc-select-label-ink-color': text.secondary,\n 'mdc-select-dropdown-icon-color': text.secondary,\n 'mdc-select-idle-line-color': border.default,\n 'mdc-select-hover-line-color': brand.primary,\n 'mdc-text-field-fill-color': background.surface,\n 'mdc-text-field-ink-color': text.primary,\n 'mdc-text-field-label-ink-color': text.secondary,\n 'mdc-text-field-idle-line-color': border.default,\n 'mdc-text-field-hover-line-color': brand.primary,\n // Tables\n 'table-row-background-color': background.surface,\n 'table-row-alternative-background-color': background.overlay,\n // State colors\n 'info-color': state.info,\n 'success-color': state.success,\n 'warning-color': state.warning,\n 'error-color': state.danger,\n 'state-icon-color': text.secondary,\n 'state-icon-active-color': brand.primary,\n // Lovelace / cards\n 'lovelace-background': background.base,\n 'ha-card-background': background.surface,\n 'ha-card-border-color': border.default,\n // rgb-* triplets\n 'rgb-primary-color': hexToRgbTriplet(brand.primary),\n 'rgb-accent-color': hexToRgbTriplet(accent.link),\n 'rgb-card-background-color': hexToRgbTriplet(background.surface),\n 'rgb-primary-text-color': hexToRgbTriplet(text.primary),\n 'rgb-secondary-text-color': hexToRgbTriplet(text.secondary),\n 'rgb-text-primary-color': hexToRgbTriplet(text.inverse),\n 'rgb-info-color': hexToRgbTriplet(state.info),\n 'rgb-success-color': hexToRgbTriplet(state.success),\n 'rgb-warning-color': hexToRgbTriplet(state.warning),\n 'rgb-error-color': hexToRgbTriplet(state.danger),\n // Material Design Components theme\n 'mdc-theme-primary': brand.primary,\n 'mdc-theme-secondary': accent.link,\n 'mdc-theme-background': background.base,\n 'mdc-theme-surface': background.surface,\n 'mdc-theme-on-primary': text.inverse,\n 'mdc-theme-on-secondary': text.inverse,\n 'mdc-theme-on-surface': text.primary,\n 'mdc-theme-on-background': text.primary,\n 'mdc-theme-text-primary-on-background': text.primary,\n 'mdc-theme-error': state.danger,\n // Code editor (CodeMirror)\n 'codemirror-keyword': brand.primary,\n 'codemirror-operator': accent.link,\n 'codemirror-variable': text.primary,\n 'codemirror-variable-2': text.secondary,\n 'codemirror-builtin': state.danger,\n 'codemirror-atom': state.danger,\n 'codemirror-number': state.warning,\n 'codemirror-def': text.primary,\n 'codemirror-string': state.success,\n 'codemirror-comment': text.secondary,\n 'codemirror-property': accent.link,\n 'codemirror-attribute': state.warning,\n // Energy dashboard\n 'energy-grid-consumption-color': brand.primary,\n 'energy-grid-return-color': accent.link,\n 'energy-solar-color': state.warning,\n 'energy-non-fossil-color': state.success,\n 'energy-battery-out-color': state.info,\n 'energy-battery-in-color': brand.primary,\n 'energy-gas-color': state.danger,\n 'energy-water-color': state.info,\n // Alarm panel\n 'alarm-color-armed': state.danger,\n 'alarm-color-disarmed': state.success,\n 'alarm-color-pending': state.warning,\n 'alarm-color-triggered': state.danger,\n // card-mod inert hook\n 'card-mod-theme': CARD_MOD_THEME,\n };\n}\n","{\n \"$schema\": \"https://design-tokens.org/schema.json\",\n \"$description\": \"Turbo Themes - Flat tokens for 43 themes\",\n \"$version\": \"0.44.21\",\n \"$generated\": \"9bc3e613013dd627943c5d51166b2285109be876b4d8362408fc6c0f88c9d282\",\n \"meta\": {\n \"themeIds\": [\n \"ayu-dark\",\n \"ayu-light\",\n \"ayu-mirage\",\n \"bulma-dark\",\n \"bulma-light\",\n \"catppuccin-frappe\",\n \"catppuccin-latte\",\n \"catppuccin-macchiato\",\n \"catppuccin-mocha\",\n \"dracula\",\n \"everforest-dark-hard\",\n \"everforest-dark-soft\",\n \"everforest-dark\",\n \"everforest-light-hard\",\n \"everforest-light-soft\",\n \"everforest-light\",\n \"github-dark\",\n \"github-light\",\n \"gruvbox-dark-hard\",\n \"gruvbox-dark-soft\",\n \"gruvbox-dark\",\n \"gruvbox-light-hard\",\n \"gruvbox-light-soft\",\n \"gruvbox-light\",\n \"kanagawa-dragon\",\n \"kanagawa-lotus\",\n \"kanagawa-wave\",\n \"nord\",\n \"one-dark\",\n \"one-light\",\n \"radix-mauve-dark\",\n \"radix-mauve-light\",\n \"radix-slate-dark\",\n \"radix-slate-light\",\n \"rose-pine-dawn\",\n \"rose-pine-moon\",\n \"rose-pine\",\n \"solarized-dark\",\n \"solarized-light\",\n \"terminal\",\n \"tokyo-night-dark\",\n \"tokyo-night-light\",\n \"tokyo-night-storm\"\n ],\n \"totalThemes\": 43\n },\n \"shared\": {\n \"spacing\": {\n \"xs\": \"0.25rem\",\n \"sm\": \"0.5rem\",\n \"md\": \"1rem\",\n \"lg\": \"1.5rem\",\n \"xl\": \"2rem\"\n },\n \"elevation\": {\n \"none\": \"none\",\n \"sm\": \"0 1px 2px 0 rgba(0, 0, 0, 0.05)\",\n \"md\": \"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)\",\n \"lg\": \"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)\",\n \"xl\": \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\"\n },\n \"animation\": {\n \"durationFast\": \"150ms\",\n \"durationNormal\": \"300ms\",\n \"durationSlow\": \"500ms\",\n \"easingDefault\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"easingEmphasized\": \"cubic-bezier(0.05, 0.7, 0.1, 1)\"\n },\n \"opacity\": {\n \"disabled\": 0.5,\n \"hover\": 0.8,\n \"pressed\": 0.6\n }\n },\n \"themes\": {\n \"ayu-dark\": {\n \"id\": \"ayu-dark\",\n \"label\": \"Ayu Dark\",\n \"vendor\": \"ayu\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#0d1017\",\n \"surface\": \"#141821\",\n \"overlay\": \"#1b1f29\"\n },\n \"text\": {\n \"primary\": \"#bfbdb6\",\n \"secondary\": \"#818b96\",\n \"inverse\": \"#0d1017\"\n },\n \"brand\": {\n \"primary\": \"#e6b450\",\n \"primaryText\": \"#0d1017\"\n },\n \"state\": {\n \"info\": \"#39bae6\",\n \"success\": \"#aad94c\",\n \"warning\": \"#ff8f40\",\n \"danger\": \"#d95757\",\n \"infoText\": \"#0d1017\",\n \"successText\": \"#0d1017\",\n \"warningText\": \"#0d1017\",\n \"dangerText\": \"#0d1017\"\n },\n \"border\": {\n \"default\": \"#1b1f29\"\n },\n \"accent\": {\n \"link\": \"#ffb454\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#ffb454\",\n \"h2\": \"#59c2ff\",\n \"h3\": \"#39bae6\",\n \"h4\": \"#aad94c\",\n \"h5\": \"#d2a6ff\",\n \"h6\": \"#ff8f40\"\n },\n \"body\": {\n \"primary\": \"#bfbdb6\",\n \"secondary\": \"#7c8691\"\n },\n \"link\": {\n \"default\": \"#ffb454\"\n },\n \"selection\": {\n \"fg\": \"#bfbdb6\",\n \"bg\": \"#1c212b\"\n },\n \"blockquote\": {\n \"border\": \"#1b1f29\",\n \"fg\": \"#bfbdb6\",\n \"bg\": \"#141821\"\n },\n \"codeInline\": {\n \"fg\": \"#bfbdb6\",\n \"bg\": \"#1b1f29\"\n },\n \"codeBlock\": {\n \"fg\": \"#bfbdb6\",\n \"bg\": \"#1b1f29\"\n },\n \"table\": {\n \"border\": \"#1b1f29\",\n \"stripe\": \"#141821\",\n \"theadBg\": \"#1b1f29\"\n }\n }\n }\n },\n \"ayu-light\": {\n \"id\": \"ayu-light\",\n \"label\": \"Ayu Light\",\n \"vendor\": \"ayu\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#f8f9fa\",\n \"surface\": \"#fafafa\",\n \"overlay\": \"#e7eaed\"\n },\n \"text\": {\n \"primary\": \"#5c6166\",\n \"secondary\": \"#5e6672\",\n \"inverse\": \"#f8f9fa\"\n },\n \"brand\": {\n \"primary\": \"#f29718\",\n \"primaryText\": \"#343435\"\n },\n \"state\": {\n \"info\": \"#55b4d4\",\n \"success\": \"#86b300\",\n \"warning\": \"#ff7e33\",\n \"danger\": \"#e65050\",\n \"infoText\": \"#39393a\",\n \"successText\": \"#373737\",\n \"warningText\": \"#343435\",\n \"dangerText\": \"#161617\"\n },\n \"border\": {\n \"default\": \"#e7eaed\"\n },\n \"accent\": {\n \"link\": \"#775995\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#c28200\",\n \"h2\": \"#3696db\",\n \"h3\": \"#4899b4\",\n \"h4\": \"#759c00\",\n \"h5\": \"#a37acc\",\n \"h6\": \"#e3702d\"\n },\n \"body\": {\n \"primary\": \"#5c6166\",\n \"secondary\": \"#656f7c\"\n },\n \"link\": {\n \"default\": \"#775995\"\n },\n \"selection\": {\n \"fg\": \"#5c6166\",\n \"bg\": \"#e5e9ed\"\n },\n \"blockquote\": {\n \"border\": \"#e7eaed\",\n \"fg\": \"#5c6166\",\n \"bg\": \"#fafafa\"\n },\n \"codeInline\": {\n \"fg\": \"#5c6166\",\n \"bg\": \"#e7eaed\"\n },\n \"codeBlock\": {\n \"fg\": \"#5c6166\",\n \"bg\": \"#e7eaed\"\n },\n \"table\": {\n \"border\": \"#e7eaed\",\n \"stripe\": \"#fafafa\",\n \"theadBg\": \"#e7eaed\"\n }\n }\n }\n },\n \"ayu-mirage\": {\n \"id\": \"ayu-mirage\",\n \"label\": \"Ayu Mirage\",\n \"vendor\": \"ayu\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#1f2430\",\n \"surface\": \"#282e3b\",\n \"overlay\": \"#293040\"\n },\n \"text\": {\n \"primary\": \"#cccac2\",\n \"secondary\": \"#959daa\",\n \"inverse\": \"#1f2430\"\n },\n \"brand\": {\n \"primary\": \"#ffcc66\",\n \"primaryText\": \"#1f2430\"\n },\n \"state\": {\n \"info\": \"#5ccfe6\",\n \"success\": \"#d5ff80\",\n \"warning\": \"#ffad66\",\n \"danger\": \"#ff6666\",\n \"infoText\": \"#1f2430\",\n \"successText\": \"#1f2430\",\n \"warningText\": \"#1f2430\",\n \"dangerText\": \"#1f2430\"\n },\n \"border\": {\n \"default\": \"#171b24\"\n },\n \"accent\": {\n \"link\": \"#ffd173\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#ffd173\",\n \"h2\": \"#73d0ff\",\n \"h3\": \"#5ccfe6\",\n \"h4\": \"#d5ff80\",\n \"h5\": \"#dfbfff\",\n \"h6\": \"#ffad66\"\n },\n \"body\": {\n \"primary\": \"#cccac2\",\n \"secondary\": \"#929aa8\"\n },\n \"link\": {\n \"default\": \"#ffd173\"\n },\n \"selection\": {\n \"fg\": \"#cccac2\",\n \"bg\": \"#293040\"\n },\n \"blockquote\": {\n \"border\": \"#171b24\",\n \"fg\": \"#cccac2\",\n \"bg\": \"#282e3b\"\n },\n \"codeInline\": {\n \"fg\": \"#cccac2\",\n \"bg\": \"#293040\"\n },\n \"codeBlock\": {\n \"fg\": \"#cccac2\",\n \"bg\": \"#293040\"\n },\n \"table\": {\n \"border\": \"#171b24\",\n \"stripe\": \"#282e3b\",\n \"theadBg\": \"#293040\"\n }\n }\n }\n },\n \"bulma-dark\": {\n \"id\": \"bulma-dark\",\n \"label\": \"Bulma Dark\",\n \"vendor\": \"bulma\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#141414\",\n \"surface\": \"#1f1f1f\",\n \"overlay\": \"#2b2b2b\"\n },\n \"text\": {\n \"primary\": \"#f5f5f5\",\n \"secondary\": \"#dbdbdb\",\n \"inverse\": \"#141414\"\n },\n \"brand\": {\n \"primary\": \"#00d1b2\",\n \"primaryText\": \"#141414\"\n },\n \"state\": {\n \"info\": \"#3e8ed0\",\n \"success\": \"#48c78e\",\n \"warning\": \"#ffe08a\",\n \"danger\": \"#f14668\",\n \"infoText\": \"#141414\",\n \"successText\": \"#141414\",\n \"warningText\": \"#141414\",\n \"dangerText\": \"#141414\"\n },\n \"border\": {\n \"default\": \"#363636\"\n },\n \"accent\": {\n \"link\": \"#8293d9\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"\\\"Nunito Sans\\\", BlinkMacSystemFont, -apple-system, \\\"Segoe UI\\\", Roboto, Oxygen, Ubuntu, Cantarell, \\\"Fira Sans\\\", \\\"Droid Sans\\\", \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif\",\n \"mono\": \"\\\"JetBrains Mono\\\", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,400;0,6..12,600;0,6..12,700;1,6..12,400&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#00d1b2\",\n \"h2\": \"#7289da\",\n \"h3\": \"#5dade2\",\n \"h4\": \"#58d68d\",\n \"h5\": \"#f7dc6f\",\n \"h6\": \"#f1948a\"\n },\n \"body\": {\n \"primary\": \"#dbdbdb\",\n \"secondary\": \"#b5b5b5\"\n },\n \"link\": {\n \"default\": \"#8293d9\"\n },\n \"selection\": {\n \"fg\": \"#f5f5f5\",\n \"bg\": \"#2f6acb\"\n },\n \"blockquote\": {\n \"border\": \"#363636\",\n \"fg\": \"#dbdbdb\",\n \"bg\": \"#1f1f1f\"\n },\n \"codeInline\": {\n \"fg\": \"#f46884\",\n \"bg\": \"#2b2b2b\"\n },\n \"codeBlock\": {\n \"fg\": \"#f5f5f5\",\n \"bg\": \"#2b2b2b\"\n },\n \"table\": {\n \"border\": \"#404040\",\n \"stripe\": \"#1c1c1c\",\n \"theadBg\": \"#2d2d2d\",\n \"cellBg\": \"#1a1a1a\",\n \"headerFg\": \"#f5f5f5\"\n }\n },\n \"spacing\": {\n \"xs\": \"0.25rem\",\n \"sm\": \"0.5rem\",\n \"md\": \"1rem\",\n \"lg\": \"1.5rem\",\n \"xl\": \"2rem\"\n },\n \"elevation\": {\n \"none\": \"none\",\n \"sm\": \"0 1px 2px 0 rgba(0, 0, 0, 0.05)\",\n \"md\": \"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)\",\n \"lg\": \"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)\",\n \"xl\": \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\"\n },\n \"animation\": {\n \"durationFast\": \"150ms\",\n \"durationNormal\": \"300ms\",\n \"durationSlow\": \"500ms\",\n \"easingDefault\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"easingEmphasized\": \"cubic-bezier(0.05, 0.7, 0.1, 1)\"\n },\n \"opacity\": {\n \"disabled\": 0.5,\n \"hover\": 0.8,\n \"pressed\": 0.6\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#1c1c1c\",\n \"border\": \"#3a3a3a\",\n \"headerBg\": \"#252525\",\n \"footerBg\": \"#1f1f1f\"\n },\n \"message\": {\n \"bg\": \"#1f1f1f\",\n \"headerBg\": \"#2a2a2a\",\n \"border\": \"#404040\",\n \"bodyFg\": \"#e0e0e0\"\n },\n \"panel\": {\n \"bg\": \"#1c1c1c\",\n \"headerBg\": \"#2a2a2a\",\n \"headerFg\": \"#f5f5f5\",\n \"border\": \"#3a3a3a\",\n \"blockBg\": \"#1f1f1f\",\n \"blockHoverBg\": \"#262626\",\n \"blockActiveBg\": \"#2d3748\"\n },\n \"box\": {\n \"bg\": \"#1c1c1c\",\n \"border\": \"#3a3a3a\"\n },\n \"notification\": {\n \"bg\": \"#252525\",\n \"border\": \"#404040\"\n },\n \"modal\": {\n \"bg\": \"rgba(0, 0, 0, 0.86)\",\n \"cardBg\": \"#1c1c1c\",\n \"headerBg\": \"#252525\",\n \"footerBg\": \"#1f1f1f\"\n },\n \"dropdown\": {\n \"bg\": \"#1c1c1c\",\n \"itemHoverBg\": \"#2a2a2a\",\n \"border\": \"#404040\"\n },\n \"tabs\": {\n \"border\": \"#404040\",\n \"linkBg\": \"#252525\",\n \"linkActiveBg\": \"#1c1c1c\",\n \"linkHoverBg\": \"#2a2a2a\"\n }\n }\n }\n },\n \"bulma-light\": {\n \"id\": \"bulma-light\",\n \"label\": \"Bulma Light\",\n \"vendor\": \"bulma\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#ffffff\",\n \"surface\": \"#f5f5f5\",\n \"overlay\": \"#eeeeee\"\n },\n \"text\": {\n \"primary\": \"#363636\",\n \"secondary\": \"#4a4a4a\",\n \"inverse\": \"#ffffff\"\n },\n \"brand\": {\n \"primary\": \"#00d1b2\",\n \"primaryText\": \"#1c1c1c\"\n },\n \"state\": {\n \"info\": \"#3e8ed0\",\n \"success\": \"#48c78e\",\n \"warning\": \"#ffe08a\",\n \"danger\": \"#f14668\",\n \"successText\": \"#363636\",\n \"warningText\": \"#363636\",\n \"infoText\": \"#1e1e1e\",\n \"dangerText\": \"#1b1b1b\"\n },\n \"border\": {\n \"default\": \"#dbdbdb\"\n },\n \"accent\": {\n \"link\": \"#485fc7\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"\\\"Nunito Sans\\\", BlinkMacSystemFont, -apple-system, \\\"Segoe UI\\\", Roboto, Oxygen, Ubuntu, Cantarell, \\\"Fira Sans\\\", \\\"Droid Sans\\\", \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif\",\n \"mono\": \"\\\"JetBrains Mono\\\", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,400;0,6..12,600;0,6..12,700;1,6..12,400&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#00a088\",\n \"h2\": \"#485fc7\",\n \"h3\": \"#3e8ed0\",\n \"h4\": \"#399f71\",\n \"h5\": \"#9f8c56\",\n \"h6\": \"#f14668\"\n },\n \"body\": {\n \"primary\": \"#4a4a4a\",\n \"secondary\": \"#6b6b6b\"\n },\n \"link\": {\n \"default\": \"#485fc7\"\n },\n \"selection\": {\n \"fg\": \"#363636\",\n \"bg\": \"#b5d5ff\"\n },\n \"blockquote\": {\n \"border\": \"#dbdbdb\",\n \"fg\": \"#4a4a4a\",\n \"bg\": \"#f5f5f5\"\n },\n \"codeInline\": {\n \"fg\": \"#c23853\",\n \"bg\": \"#f5f5f5\"\n },\n \"codeBlock\": {\n \"fg\": \"#363636\",\n \"bg\": \"#f5f5f5\"\n },\n \"table\": {\n \"border\": \"#dbdbdb\",\n \"stripe\": \"#fafafa\",\n \"theadBg\": \"#f0f0f0\",\n \"cellBg\": \"#ffffff\",\n \"headerFg\": \"#363636\"\n }\n },\n \"spacing\": {\n \"xs\": \"0.25rem\",\n \"sm\": \"0.5rem\",\n \"md\": \"1rem\",\n \"lg\": \"1.5rem\",\n \"xl\": \"2rem\"\n },\n \"elevation\": {\n \"none\": \"none\",\n \"sm\": \"0 1px 2px 0 rgba(0, 0, 0, 0.05)\",\n \"md\": \"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)\",\n \"lg\": \"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)\",\n \"xl\": \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\"\n },\n \"animation\": {\n \"durationFast\": \"150ms\",\n \"durationNormal\": \"300ms\",\n \"durationSlow\": \"500ms\",\n \"easingDefault\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"easingEmphasized\": \"cubic-bezier(0.05, 0.7, 0.1, 1)\"\n },\n \"opacity\": {\n \"disabled\": 0.5,\n \"hover\": 0.8,\n \"pressed\": 0.6\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#ffffff\",\n \"border\": \"#d5d5d5\",\n \"headerBg\": \"#f5f5f5\",\n \"footerBg\": \"#fafafa\"\n },\n \"message\": {\n \"bg\": \"#f8f9fa\",\n \"headerBg\": \"#eef1f4\",\n \"border\": \"#d5dbe1\",\n \"bodyFg\": \"#4a4a4a\"\n },\n \"panel\": {\n \"bg\": \"#ffffff\",\n \"headerBg\": \"#f0f0f0\",\n \"headerFg\": \"#363636\",\n \"border\": \"#d5d5d5\",\n \"blockBg\": \"#fafafa\",\n \"blockHoverBg\": \"#f5f5f5\",\n \"blockActiveBg\": \"#eef6fc\"\n },\n \"box\": {\n \"bg\": \"#ffffff\",\n \"border\": \"#e0e0e0\"\n },\n \"notification\": {\n \"bg\": \"#f5f5f5\",\n \"border\": \"#e0e0e0\"\n },\n \"modal\": {\n \"bg\": \"rgba(10, 10, 10, 0.86)\",\n \"cardBg\": \"#ffffff\",\n \"headerBg\": \"#f5f5f5\",\n \"footerBg\": \"#fafafa\"\n },\n \"dropdown\": {\n \"bg\": \"#ffffff\",\n \"itemHoverBg\": \"#f5f5f5\",\n \"border\": \"#dbdbdb\"\n },\n \"tabs\": {\n \"border\": \"#dbdbdb\",\n \"linkBg\": \"#f5f5f5\",\n \"linkActiveBg\": \"#ffffff\",\n \"linkHoverBg\": \"#eeeeee\"\n }\n }\n }\n },\n \"catppuccin-frappe\": {\n \"id\": \"catppuccin-frappe\",\n \"label\": \"Catppuccin Frappé\",\n \"vendor\": \"catppuccin\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#303446\",\n \"surface\": \"#292c3c\",\n \"overlay\": \"#232634\"\n },\n \"text\": {\n \"primary\": \"#c6d0f5\",\n \"secondary\": \"#a5adce\",\n \"inverse\": \"#303446\"\n },\n \"brand\": {\n \"primary\": \"#8caaee\",\n \"primaryText\": \"#303446\"\n },\n \"state\": {\n \"info\": \"#99d1db\",\n \"success\": \"#a6d189\",\n \"warning\": \"#e5c890\",\n \"danger\": \"#e78284\",\n \"infoText\": \"#303446\",\n \"successText\": \"#303446\",\n \"warningText\": \"#303446\",\n \"dangerText\": \"#2f3244\"\n },\n \"border\": {\n \"default\": \"#737994\"\n },\n \"accent\": {\n \"link\": \"#8caaee\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#a6d189\",\n \"h2\": \"#8caaee\",\n \"h3\": \"#85c1dc\",\n \"h4\": \"#e5c890\",\n \"h5\": \"#ca9ee6\",\n \"h6\": \"#e78284\"\n },\n \"body\": {\n \"primary\": \"#c6d0f5\",\n \"secondary\": \"#a5adce\"\n },\n \"link\": {\n \"default\": \"#8caaee\"\n },\n \"selection\": {\n \"fg\": \"#c6d0f5\",\n \"bg\": \"#515668\"\n },\n \"blockquote\": {\n \"border\": \"#838ba7\",\n \"fg\": \"#c6d0f5\",\n \"bg\": \"#292c3c\"\n },\n \"codeInline\": {\n \"fg\": \"#c6d0f5\",\n \"bg\": \"#414559\"\n },\n \"codeBlock\": {\n \"fg\": \"#c6d0f5\",\n \"bg\": \"#414559\"\n },\n \"table\": {\n \"border\": \"#838ba7\",\n \"stripe\": \"#414559\",\n \"theadBg\": \"#50566c\"\n }\n }\n }\n },\n \"catppuccin-latte\": {\n \"id\": \"catppuccin-latte\",\n \"label\": \"Catppuccin Latte\",\n \"vendor\": \"catppuccin\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#eff1f5\",\n \"surface\": \"#e6e9ef\",\n \"overlay\": \"#dce0e8\"\n },\n \"text\": {\n \"primary\": \"#4c4f69\",\n \"secondary\": \"#5c5f71\",\n \"inverse\": \"#eff1f5\"\n },\n \"brand\": {\n \"primary\": \"#1e66f5\",\n \"primaryText\": \"#fbfbfc\"\n },\n \"state\": {\n \"info\": \"#0378a7\",\n \"success\": \"#40a02b\",\n \"warning\": \"#df8e1d\",\n \"danger\": \"#d20f39\",\n \"infoText\": \"#fbfbfb\",\n \"successText\": \"#212222\",\n \"warningText\": \"#323333\",\n \"dangerText\": \"#eff1f5\"\n },\n \"border\": {\n \"default\": \"#9ca0b0\"\n },\n \"accent\": {\n \"link\": \"#1a57d2\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#3c9829\",\n \"h2\": \"#1e66f5\",\n \"h3\": \"#1d92a7\",\n \"h4\": \"#ba7618\",\n \"h5\": \"#8839ef\",\n \"h6\": \"#d20f39\"\n },\n \"body\": {\n \"primary\": \"#4c4f69\",\n \"secondary\": \"#616477\"\n },\n \"link\": {\n \"default\": \"#1a57d2\"\n },\n \"selection\": {\n \"fg\": \"#4c4f69\",\n \"bg\": \"#c6c8d0\"\n },\n \"blockquote\": {\n \"border\": \"#8c8fa1\",\n \"fg\": \"#4c4f69\",\n \"bg\": \"#e6e9ef\"\n },\n \"codeInline\": {\n \"fg\": \"#4c4f69\",\n \"bg\": \"#ccd0da\"\n },\n \"codeBlock\": {\n \"fg\": \"#4c4f69\",\n \"bg\": \"#ccd0da\"\n },\n \"table\": {\n \"border\": \"#8c8fa1\",\n \"stripe\": \"#ccd0da\",\n \"theadBg\": \"#c4c8d2\"\n }\n }\n }\n },\n \"catppuccin-macchiato\": {\n \"id\": \"catppuccin-macchiato\",\n \"label\": \"Catppuccin Macchiato\",\n \"vendor\": \"catppuccin\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#24273a\",\n \"surface\": \"#1e2030\",\n \"overlay\": \"#181926\"\n },\n \"text\": {\n \"primary\": \"#cad3f5\",\n \"secondary\": \"#a5adcb\",\n \"inverse\": \"#24273a\"\n },\n \"brand\": {\n \"primary\": \"#8aadf4\",\n \"primaryText\": \"#24273a\"\n },\n \"state\": {\n \"info\": \"#91d7e3\",\n \"success\": \"#a6da95\",\n \"warning\": \"#eed49f\",\n \"danger\": \"#ed8796\",\n \"infoText\": \"#24273a\",\n \"successText\": \"#24273a\",\n \"warningText\": \"#24273a\",\n \"dangerText\": \"#24273a\"\n },\n \"border\": {\n \"default\": \"#6e738d\"\n },\n \"accent\": {\n \"link\": \"#8aadf4\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#a6da95\",\n \"h2\": \"#8aadf4\",\n \"h3\": \"#7dc4e4\",\n \"h4\": \"#eed49f\",\n \"h5\": \"#c6a0f6\",\n \"h6\": \"#ed8796\"\n },\n \"body\": {\n \"primary\": \"#cad3f5\",\n \"secondary\": \"#a5adcb\"\n },\n \"link\": {\n \"default\": \"#8aadf4\"\n },\n \"selection\": {\n \"fg\": \"#cad3f5\",\n \"bg\": \"#53576a\"\n },\n \"blockquote\": {\n \"border\": \"#8087a2\",\n \"fg\": \"#cad3f5\",\n \"bg\": \"#1e2030\"\n },\n \"codeInline\": {\n \"fg\": \"#cad3f5\",\n \"bg\": \"#363a4f\"\n },\n \"codeBlock\": {\n \"fg\": \"#cad3f5\",\n \"bg\": \"#363a4f\"\n },\n \"table\": {\n \"border\": \"#8087a2\",\n \"stripe\": \"#363a4f\",\n \"theadBg\": \"#494d64\"\n }\n }\n }\n },\n \"catppuccin-mocha\": {\n \"id\": \"catppuccin-mocha\",\n \"label\": \"Catppuccin Mocha\",\n \"vendor\": \"catppuccin\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#1e1e2e\",\n \"surface\": \"#181825\",\n \"overlay\": \"#11111b\"\n },\n \"text\": {\n \"primary\": \"#cdd6f4\",\n \"secondary\": \"#a6adc8\",\n \"inverse\": \"#1e1e2e\"\n },\n \"brand\": {\n \"primary\": \"#89b4fa\",\n \"primaryText\": \"#1e1e2e\"\n },\n \"state\": {\n \"info\": \"#89dceb\",\n \"success\": \"#a6e3a1\",\n \"warning\": \"#f9e2af\",\n \"danger\": \"#f38ba8\",\n \"infoText\": \"#1e1e2e\",\n \"successText\": \"#1e1e2e\",\n \"warningText\": \"#1e1e2e\",\n \"dangerText\": \"#1e1e2e\"\n },\n \"border\": {\n \"default\": \"#6c7086\"\n },\n \"accent\": {\n \"link\": \"#89b4fa\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#a6e3a1\",\n \"h2\": \"#89b4fa\",\n \"h3\": \"#74c7ec\",\n \"h4\": \"#f9e2af\",\n \"h5\": \"#cba6f7\",\n \"h6\": \"#f38ba8\"\n },\n \"body\": {\n \"primary\": \"#cdd6f4\",\n \"secondary\": \"#a6adc8\"\n },\n \"link\": {\n \"default\": \"#89b4fa\"\n },\n \"selection\": {\n \"fg\": \"#cdd6f4\",\n \"bg\": \"#56596a\"\n },\n \"blockquote\": {\n \"border\": \"#7f849c\",\n \"fg\": \"#cdd6f4\",\n \"bg\": \"#181825\"\n },\n \"codeInline\": {\n \"fg\": \"#cdd6f4\",\n \"bg\": \"#313244\"\n },\n \"codeBlock\": {\n \"fg\": \"#cdd6f4\",\n \"bg\": \"#313244\"\n },\n \"table\": {\n \"border\": \"#7f849c\",\n \"stripe\": \"#313244\",\n \"theadBg\": \"#45475a\"\n }\n }\n }\n },\n \"dracula\": {\n \"id\": \"dracula\",\n \"label\": \"Dracula\",\n \"vendor\": \"dracula\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#282a36\",\n \"surface\": \"#21222c\",\n \"overlay\": \"#44475a\"\n },\n \"text\": {\n \"primary\": \"#f8f8f2\",\n \"secondary\": \"#b3bbd3\",\n \"inverse\": \"#282a36\"\n },\n \"brand\": {\n \"primary\": \"#bd93f9\",\n \"primaryText\": \"#282a36\"\n },\n \"state\": {\n \"info\": \"#8be9fd\",\n \"success\": \"#50fa7b\",\n \"warning\": \"#f1fa8c\",\n \"danger\": \"#ff5555\",\n \"infoText\": \"#282a36\",\n \"successText\": \"#282a36\",\n \"warningText\": \"#282a36\",\n \"dangerText\": \"#242631\"\n },\n \"border\": {\n \"default\": \"#44475a\"\n },\n \"accent\": {\n \"link\": \"#8be9fd\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, sans-serif\",\n \"mono\": \"\\\"Fira Code\\\", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;600&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#ff79c6\",\n \"h2\": \"#bd93f9\",\n \"h3\": \"#8be9fd\",\n \"h4\": \"#50fa7b\",\n \"h5\": \"#ffb86c\",\n \"h6\": \"#f1fa8c\"\n },\n \"body\": {\n \"primary\": \"#f8f8f2\",\n \"secondary\": \"#8995bb\"\n },\n \"link\": {\n \"default\": \"#8be9fd\"\n },\n \"selection\": {\n \"fg\": \"#f8f8f2\",\n \"bg\": \"#44475a\"\n },\n \"blockquote\": {\n \"border\": \"#bd93f9\",\n \"fg\": \"#7f8db5\",\n \"bg\": \"#21222c\"\n },\n \"codeInline\": {\n \"fg\": \"#50fa7b\",\n \"bg\": \"#21222c\"\n },\n \"codeBlock\": {\n \"fg\": \"#f8f8f2\",\n \"bg\": \"#21222c\"\n },\n \"table\": {\n \"border\": \"#44475a\",\n \"stripe\": \"#21222c\",\n \"theadBg\": \"#44475a\",\n \"cellBg\": \"#282a36\",\n \"headerFg\": \"#f8f8f2\"\n }\n },\n \"spacing\": {\n \"xs\": \"0.25rem\",\n \"sm\": \"0.5rem\",\n \"md\": \"1rem\",\n \"lg\": \"1.5rem\",\n \"xl\": \"2rem\"\n },\n \"elevation\": {\n \"none\": \"none\",\n \"sm\": \"0 1px 2px 0 rgba(0, 0, 0, 0.05)\",\n \"md\": \"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)\",\n \"lg\": \"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)\",\n \"xl\": \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\"\n },\n \"animation\": {\n \"durationFast\": \"150ms\",\n \"durationNormal\": \"300ms\",\n \"durationSlow\": \"500ms\",\n \"easingDefault\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"easingEmphasized\": \"cubic-bezier(0.05, 0.7, 0.1, 1)\"\n },\n \"opacity\": {\n \"disabled\": 0.5,\n \"hover\": 0.8,\n \"pressed\": 0.6\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#21222c\",\n \"border\": \"#6272a4\",\n \"headerBg\": \"#282a36\",\n \"footerBg\": \"#21222c\"\n },\n \"message\": {\n \"bg\": \"#282a36\",\n \"headerBg\": \"#44475a\",\n \"border\": \"#6272a4\",\n \"bodyFg\": \"#f8f8f2\"\n },\n \"panel\": {\n \"bg\": \"#21222c\",\n \"headerBg\": \"#44475a\",\n \"headerFg\": \"#f8f8f2\",\n \"border\": \"#6272a4\",\n \"blockBg\": \"#282a36\",\n \"blockHoverBg\": \"#2e303e\",\n \"blockActiveBg\": \"#44475a\"\n },\n \"box\": {\n \"bg\": \"#21222c\",\n \"border\": \"#6272a4\"\n },\n \"notification\": {\n \"bg\": \"#282a36\",\n \"border\": \"#6272a4\"\n },\n \"modal\": {\n \"bg\": \"rgba(40, 42, 54, 0.9)\",\n \"cardBg\": \"#21222c\",\n \"headerBg\": \"#282a36\",\n \"footerBg\": \"#21222c\"\n },\n \"dropdown\": {\n \"bg\": \"#21222c\",\n \"itemHoverBg\": \"#2e303e\",\n \"border\": \"#6272a4\"\n },\n \"tabs\": {\n \"border\": \"#6272a4\",\n \"linkBg\": \"#2e303e\",\n \"linkActiveBg\": \"#21222c\",\n \"linkHoverBg\": \"#44475a\"\n }\n }\n }\n },\n \"everforest-dark-hard\": {\n \"id\": \"everforest-dark-hard\",\n \"label\": \"Everforest Dark Hard\",\n \"vendor\": \"everforest\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#272E33\",\n \"surface\": \"#2E383C\",\n \"overlay\": \"#374145\"\n },\n \"text\": {\n \"primary\": \"#D3C6AA\",\n \"secondary\": \"#a7b2aa\",\n \"inverse\": \"#272E33\"\n },\n \"brand\": {\n \"primary\": \"#A7C080\",\n \"primaryText\": \"#272E33\"\n },\n \"state\": {\n \"info\": \"#7FBBB3\",\n \"success\": \"#A7C080\",\n \"warning\": \"#DBBC7F\",\n \"danger\": \"#E67E80\",\n \"infoText\": \"#272E33\",\n \"successText\": \"#272E33\",\n \"warningText\": \"#272E33\",\n \"dangerText\": \"#272E33\"\n },\n \"border\": {\n \"default\": \"#495156\"\n },\n \"accent\": {\n \"link\": \"#83C092\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#A7C080\",\n \"h2\": \"#7FBBB3\",\n \"h3\": \"#83C092\",\n \"h4\": \"#DBBC7F\",\n \"h5\": \"#D699B6\",\n \"h6\": \"#E67E80\"\n },\n \"body\": {\n \"primary\": \"#D3C6AA\",\n \"secondary\": \"#9DA9A0\"\n },\n \"link\": {\n \"default\": \"#83C092\"\n },\n \"selection\": {\n \"fg\": \"#D3C6AA\",\n \"bg\": \"#374145\"\n },\n \"blockquote\": {\n \"border\": \"#495156\",\n \"fg\": \"#9DA9A0\",\n \"bg\": \"#2E383C\"\n },\n \"codeInline\": {\n \"fg\": \"#e79e7d\",\n \"bg\": \"#374145\"\n },\n \"codeBlock\": {\n \"fg\": \"#D3C6AA\",\n \"bg\": \"#2E383C\"\n },\n \"table\": {\n \"border\": \"#495156\",\n \"stripe\": \"#374145\",\n \"theadBg\": \"#2E383C\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#2E383C\",\n \"border\": \"#495156\",\n \"headerBg\": \"#272E33\",\n \"footerBg\": \"#2E383C\"\n },\n \"message\": {\n \"bg\": \"#272E33\",\n \"headerBg\": \"#2E383C\",\n \"border\": \"#495156\",\n \"bodyFg\": \"#D3C6AA\"\n },\n \"panel\": {\n \"bg\": \"#2E383C\",\n \"headerBg\": \"#272E33\",\n \"headerFg\": \"#D3C6AA\",\n \"border\": \"#495156\",\n \"blockBg\": \"#272E33\",\n \"blockHoverBg\": \"#2E383C\",\n \"blockActiveBg\": \"#374145\"\n },\n \"box\": {\n \"bg\": \"#2E383C\",\n \"border\": \"#495156\"\n },\n \"notification\": {\n \"bg\": \"#272E33\",\n \"border\": \"#495156\"\n },\n \"modal\": {\n \"bg\": \"rgba(39, 46, 51, 0.9)\",\n \"cardBg\": \"#2E383C\",\n \"headerBg\": \"#272E33\",\n \"footerBg\": \"#2E383C\"\n },\n \"dropdown\": {\n \"bg\": \"#2E383C\",\n \"itemHoverBg\": \"#374145\",\n \"border\": \"#495156\"\n },\n \"tabs\": {\n \"border\": \"#495156\",\n \"linkBg\": \"#2E383C\",\n \"linkActiveBg\": \"#272E33\",\n \"linkHoverBg\": \"#374145\"\n }\n }\n }\n },\n \"everforest-dark-soft\": {\n \"id\": \"everforest-dark-soft\",\n \"label\": \"Everforest Dark Soft\",\n \"vendor\": \"everforest\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#333C43\",\n \"surface\": \"#3A464C\",\n \"overlay\": \"#434F55\"\n },\n \"text\": {\n \"primary\": \"#D3C6AA\",\n \"secondary\": \"#bdc5be\",\n \"inverse\": \"#333C43\"\n },\n \"brand\": {\n \"primary\": \"#A7C080\",\n \"primaryText\": \"#333C43\"\n },\n \"state\": {\n \"info\": \"#7FBBB3\",\n \"success\": \"#A7C080\",\n \"warning\": \"#DBBC7F\",\n \"danger\": \"#E67E80\",\n \"dangerText\": \"#2a3238\",\n \"infoText\": \"#333C43\",\n \"successText\": \"#333C43\",\n \"warningText\": \"#333C43\"\n },\n \"border\": {\n \"default\": \"#555F66\"\n },\n \"accent\": {\n \"link\": \"#9dcea9\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#A7C080\",\n \"h2\": \"#7FBBB3\",\n \"h3\": \"#83C092\",\n \"h4\": \"#DBBC7F\",\n \"h5\": \"#D699B6\",\n \"h6\": \"#E67E80\"\n },\n \"body\": {\n \"primary\": \"#D3C6AA\",\n \"secondary\": \"#aeb8b0\"\n },\n \"link\": {\n \"default\": \"#9dcea9\"\n },\n \"selection\": {\n \"fg\": \"#D3C6AA\",\n \"bg\": \"#434F55\"\n },\n \"blockquote\": {\n \"border\": \"#555F66\",\n \"fg\": \"#aeb8b0\",\n \"bg\": \"#3A464C\"\n },\n \"codeInline\": {\n \"fg\": \"#edb79d\",\n \"bg\": \"#434F55\"\n },\n \"codeBlock\": {\n \"fg\": \"#D3C6AA\",\n \"bg\": \"#3A464C\"\n },\n \"table\": {\n \"border\": \"#555F66\",\n \"stripe\": \"#434F55\",\n \"theadBg\": \"#3A464C\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#3A464C\",\n \"border\": \"#555F66\",\n \"headerBg\": \"#333C43\",\n \"footerBg\": \"#3A464C\"\n },\n \"message\": {\n \"bg\": \"#333C43\",\n \"headerBg\": \"#3A464C\",\n \"border\": \"#555F66\",\n \"bodyFg\": \"#D3C6AA\"\n },\n \"panel\": {\n \"bg\": \"#3A464C\",\n \"headerBg\": \"#333C43\",\n \"headerFg\": \"#D3C6AA\",\n \"border\": \"#555F66\",\n \"blockBg\": \"#333C43\",\n \"blockHoverBg\": \"#3A464C\",\n \"blockActiveBg\": \"#434F55\"\n },\n \"box\": {\n \"bg\": \"#3A464C\",\n \"border\": \"#555F66\"\n },\n \"notification\": {\n \"bg\": \"#333C43\",\n \"border\": \"#555F66\"\n },\n \"modal\": {\n \"bg\": \"rgba(51, 60, 67, 0.9)\",\n \"cardBg\": \"#3A464C\",\n \"headerBg\": \"#333C43\",\n \"footerBg\": \"#3A464C\"\n },\n \"dropdown\": {\n \"bg\": \"#3A464C\",\n \"itemHoverBg\": \"#434F55\",\n \"border\": \"#555F66\"\n },\n \"tabs\": {\n \"border\": \"#555F66\",\n \"linkBg\": \"#3A464C\",\n \"linkActiveBg\": \"#333C43\",\n \"linkHoverBg\": \"#434F55\"\n }\n }\n }\n },\n \"everforest-dark\": {\n \"id\": \"everforest-dark\",\n \"label\": \"Everforest Dark\",\n \"vendor\": \"everforest\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#2D353B\",\n \"surface\": \"#343F44\",\n \"overlay\": \"#3D484D\"\n },\n \"text\": {\n \"primary\": \"#D3C6AA\",\n \"secondary\": \"#b2bbb4\",\n \"inverse\": \"#2D353B\"\n },\n \"brand\": {\n \"primary\": \"#A7C080\",\n \"primaryText\": \"#2D353B\"\n },\n \"state\": {\n \"info\": \"#7FBBB3\",\n \"success\": \"#A7C080\",\n \"warning\": \"#DBBC7F\",\n \"danger\": \"#E67E80\",\n \"infoText\": \"#2D353B\",\n \"successText\": \"#2D353B\",\n \"warningText\": \"#2D353B\",\n \"dangerText\": \"#2a3237\"\n },\n \"border\": {\n \"default\": \"#4F585E\"\n },\n \"accent\": {\n \"link\": \"#8ec69c\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#A7C080\",\n \"h2\": \"#7FBBB3\",\n \"h3\": \"#83C092\",\n \"h4\": \"#DBBC7F\",\n \"h5\": \"#D699B6\",\n \"h6\": \"#E67E80\"\n },\n \"body\": {\n \"primary\": \"#D3C6AA\",\n \"secondary\": \"#a4afa7\"\n },\n \"link\": {\n \"default\": \"#8ec69c\"\n },\n \"selection\": {\n \"fg\": \"#D3C6AA\",\n \"bg\": \"#3D484D\"\n },\n \"blockquote\": {\n \"border\": \"#4F585E\",\n \"fg\": \"#a4afa7\",\n \"bg\": \"#343F44\"\n },\n \"codeInline\": {\n \"fg\": \"#eaaa8d\",\n \"bg\": \"#3D484D\"\n },\n \"codeBlock\": {\n \"fg\": \"#D3C6AA\",\n \"bg\": \"#343F44\"\n },\n \"table\": {\n \"border\": \"#4F585E\",\n \"stripe\": \"#3D484D\",\n \"theadBg\": \"#343F44\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#343F44\",\n \"border\": \"#4F585E\",\n \"headerBg\": \"#2D353B\",\n \"footerBg\": \"#343F44\"\n },\n \"message\": {\n \"bg\": \"#2D353B\",\n \"headerBg\": \"#343F44\",\n \"border\": \"#4F585E\",\n \"bodyFg\": \"#D3C6AA\"\n },\n \"panel\": {\n \"bg\": \"#343F44\",\n \"headerBg\": \"#2D353B\",\n \"headerFg\": \"#D3C6AA\",\n \"border\": \"#4F585E\",\n \"blockBg\": \"#2D353B\",\n \"blockHoverBg\": \"#343F44\",\n \"blockActiveBg\": \"#3D484D\"\n },\n \"box\": {\n \"bg\": \"#343F44\",\n \"border\": \"#4F585E\"\n },\n \"notification\": {\n \"bg\": \"#2D353B\",\n \"border\": \"#4F585E\"\n },\n \"modal\": {\n \"bg\": \"rgba(45, 53, 59, 0.9)\",\n \"cardBg\": \"#343F44\",\n \"headerBg\": \"#2D353B\",\n \"footerBg\": \"#343F44\"\n },\n \"dropdown\": {\n \"bg\": \"#343F44\",\n \"itemHoverBg\": \"#3D484D\",\n \"border\": \"#4F585E\"\n },\n \"tabs\": {\n \"border\": \"#4F585E\",\n \"linkBg\": \"#343F44\",\n \"linkActiveBg\": \"#2D353B\",\n \"linkHoverBg\": \"#3D484D\"\n }\n }\n }\n },\n \"everforest-light-hard\": {\n \"id\": \"everforest-light-hard\",\n \"label\": \"Everforest Light Hard\",\n \"vendor\": \"everforest\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#FFFBEF\",\n \"surface\": \"#F8F5E4\",\n \"overlay\": \"#EDEADA\"\n },\n \"text\": {\n \"primary\": \"#5a6870\",\n \"secondary\": \"#5a676e\",\n \"inverse\": \"#FFFBEF\"\n },\n \"brand\": {\n \"primary\": \"#697a01\",\n \"primaryText\": \"#fffefc\"\n },\n \"state\": {\n \"info\": \"#2A7A9E\",\n \"success\": \"#697a01\",\n \"warning\": \"#A87800\",\n \"danger\": \"#D03A38\",\n \"infoText\": \"#fffef9\",\n \"successText\": \"#fffefc\",\n \"warningText\": \"#121211\",\n \"dangerText\": \"#fffdf7\"\n },\n \"border\": {\n \"default\": \"#E8E5D5\"\n },\n \"accent\": {\n \"link\": \"#1D6B4F\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#6B7C01\",\n \"h2\": \"#2A7A9E\",\n \"h3\": \"#1D6B4F\",\n \"h4\": \"#A87800\",\n \"h5\": \"#B84F96\",\n \"h6\": \"#D03A38\"\n },\n \"body\": {\n \"primary\": \"#5C6A72\",\n \"secondary\": \"#606e75\"\n },\n \"link\": {\n \"default\": \"#1D6B4F\"\n },\n \"selection\": {\n \"fg\": \"#5C6A72\",\n \"bg\": \"#f0eddf\"\n },\n \"blockquote\": {\n \"border\": \"#E8E5D5\",\n \"fg\": \"#606e75\",\n \"bg\": \"#F8F5E4\"\n },\n \"codeInline\": {\n \"fg\": \"#a64b10\",\n \"bg\": \"#EDEADA\"\n },\n \"codeBlock\": {\n \"fg\": \"#5C6A72\",\n \"bg\": \"#F8F5E4\"\n },\n \"table\": {\n \"border\": \"#E8E5D5\",\n \"stripe\": \"#EDEADA\",\n \"theadBg\": \"#F8F5E4\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#FFFBEF\",\n \"border\": \"#E8E5D5\",\n \"headerBg\": \"#F8F5E4\",\n \"footerBg\": \"#F8F5E4\"\n },\n \"message\": {\n \"bg\": \"#F8F5E4\",\n \"headerBg\": \"#FFFBEF\",\n \"border\": \"#E8E5D5\",\n \"bodyFg\": \"#5C6A72\"\n },\n \"panel\": {\n \"bg\": \"#FFFBEF\",\n \"headerBg\": \"#F8F5E4\",\n \"headerFg\": \"#5C6A72\",\n \"border\": \"#E8E5D5\",\n \"blockBg\": \"#F8F5E4\",\n \"blockHoverBg\": \"#FFFBEF\",\n \"blockActiveBg\": \"#EDEADA\"\n },\n \"box\": {\n \"bg\": \"#FFFBEF\",\n \"border\": \"#E8E5D5\"\n },\n \"notification\": {\n \"bg\": \"#F8F5E4\",\n \"border\": \"#E8E5D5\"\n },\n \"modal\": {\n \"bg\": \"rgba(92, 106, 114, 0.86)\",\n \"cardBg\": \"#FFFBEF\",\n \"headerBg\": \"#F8F5E4\",\n \"footerBg\": \"#F8F5E4\"\n },\n \"dropdown\": {\n \"bg\": \"#FFFBEF\",\n \"itemHoverBg\": \"#F8F5E4\",\n \"border\": \"#E8E5D5\"\n },\n \"tabs\": {\n \"border\": \"#E8E5D5\",\n \"linkBg\": \"#F8F5E4\",\n \"linkActiveBg\": \"#FFFBEF\",\n \"linkHoverBg\": \"#EDEADA\"\n }\n }\n }\n },\n \"everforest-light-soft\": {\n \"id\": \"everforest-light-soft\",\n \"label\": \"Everforest Light Soft\",\n \"vendor\": \"everforest\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#F3EAD3\",\n \"surface\": \"#EAE4CA\",\n \"overlay\": \"#DDD8BE\"\n },\n \"text\": {\n \"primary\": \"#4f5c63\",\n \"secondary\": \"#4f5c62\",\n \"inverse\": \"#F3EAD3\"\n },\n \"brand\": {\n \"primary\": \"#697a01\",\n \"primaryText\": \"#fffefd\"\n },\n \"state\": {\n \"info\": \"#2A7A9E\",\n \"success\": \"#697a01\",\n \"warning\": \"#A87800\",\n \"danger\": \"#D03A38\",\n \"infoText\": \"#fefefc\",\n \"successText\": \"#fffefd\",\n \"warningText\": \"#11100f\",\n \"dangerText\": \"#fefdfa\"\n },\n \"border\": {\n \"default\": \"#D8D3BA\"\n },\n \"accent\": {\n \"link\": \"#1c664b\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#6B7C01\",\n \"h2\": \"#2A7A9E\",\n \"h3\": \"#1D6B4F\",\n \"h4\": \"#A87800\",\n \"h5\": \"#B84F96\",\n \"h6\": \"#D03A38\"\n },\n \"body\": {\n \"primary\": \"#56646c\",\n \"secondary\": \"#56646a\"\n },\n \"link\": {\n \"default\": \"#1c664b\"\n },\n \"selection\": {\n \"fg\": \"#5C6A72\",\n \"bg\": \"#efede0\"\n },\n \"blockquote\": {\n \"border\": \"#D8D3BA\",\n \"fg\": \"#57646b\",\n \"bg\": \"#EAE4CA\"\n },\n \"codeInline\": {\n \"fg\": \"#92430e\",\n \"bg\": \"#DDD8BE\"\n },\n \"codeBlock\": {\n \"fg\": \"#5a6870\",\n \"bg\": \"#F3EAD3\"\n },\n \"table\": {\n \"border\": \"#D8D3BA\",\n \"stripe\": \"#DDD8BE\",\n \"theadBg\": \"#EAE4CA\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#F3EAD3\",\n \"border\": \"#D8D3BA\",\n \"headerBg\": \"#EAE4CA\",\n \"footerBg\": \"#EAE4CA\"\n },\n \"message\": {\n \"bg\": \"#EAE4CA\",\n \"headerBg\": \"#F3EAD3\",\n \"border\": \"#D8D3BA\",\n \"bodyFg\": \"#5C6A72\"\n },\n \"panel\": {\n \"bg\": \"#F3EAD3\",\n \"headerBg\": \"#EAE4CA\",\n \"headerFg\": \"#5C6A72\",\n \"border\": \"#D8D3BA\",\n \"blockBg\": \"#EAE4CA\",\n \"blockHoverBg\": \"#F3EAD3\",\n \"blockActiveBg\": \"#DDD8BE\"\n },\n \"box\": {\n \"bg\": \"#F3EAD3\",\n \"border\": \"#D8D3BA\"\n },\n \"notification\": {\n \"bg\": \"#EAE4CA\",\n \"border\": \"#D8D3BA\"\n },\n \"modal\": {\n \"bg\": \"rgba(92, 106, 114, 0.86)\",\n \"cardBg\": \"#F3EAD3\",\n \"headerBg\": \"#EAE4CA\",\n \"footerBg\": \"#EAE4CA\"\n },\n \"dropdown\": {\n \"bg\": \"#F3EAD3\",\n \"itemHoverBg\": \"#EAE4CA\",\n \"border\": \"#D8D3BA\"\n },\n \"tabs\": {\n \"border\": \"#D8D3BA\",\n \"linkBg\": \"#EAE4CA\",\n \"linkActiveBg\": \"#F3EAD3\",\n \"linkHoverBg\": \"#DDD8BE\"\n }\n }\n }\n },\n \"everforest-light\": {\n \"id\": \"everforest-light\",\n \"label\": \"Everforest Light\",\n \"vendor\": \"everforest\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#FDF6E3\",\n \"surface\": \"#F4F0D9\",\n \"overlay\": \"#E6E2CC\"\n },\n \"text\": {\n \"primary\": \"#56636a\",\n \"secondary\": \"#566269\",\n \"inverse\": \"#FDF6E3\"\n },\n \"brand\": {\n \"primary\": \"#697a01\",\n \"primaryText\": \"#fffefc\"\n },\n \"state\": {\n \"info\": \"#2A7A9E\",\n \"success\": \"#697a01\",\n \"warning\": \"#A87800\",\n \"danger\": \"#D03A38\",\n \"infoText\": \"#fffefb\",\n \"successText\": \"#fffefc\",\n \"warningText\": \"#121110\",\n \"dangerText\": \"#fffdf8\"\n },\n \"border\": {\n \"default\": \"#BDC3AF\"\n },\n \"accent\": {\n \"link\": \"#1D6B4F\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#6B7C01\",\n \"h2\": \"#2A7A9E\",\n \"h3\": \"#1D6B4F\",\n \"h4\": \"#A87800\",\n \"h5\": \"#B84F96\",\n \"h6\": \"#D03A38\"\n },\n \"body\": {\n \"primary\": \"#5C6A72\",\n \"secondary\": \"#5e6b72\"\n },\n \"link\": {\n \"default\": \"#1D6B4F\"\n },\n \"selection\": {\n \"fg\": \"#5C6A72\",\n \"bg\": \"#f0eddf\"\n },\n \"blockquote\": {\n \"border\": \"#BDC3AF\",\n \"fg\": \"#5d6b72\",\n \"bg\": \"#F4F0D9\"\n },\n \"codeInline\": {\n \"fg\": \"#9c480f\",\n \"bg\": \"#E6E2CC\"\n },\n \"codeBlock\": {\n \"fg\": \"#5C6A72\",\n \"bg\": \"#F4F0D9\"\n },\n \"table\": {\n \"border\": \"#BDC3AF\",\n \"stripe\": \"#E6E2CC\",\n \"theadBg\": \"#F4F0D9\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#FDF6E3\",\n \"border\": \"#BDC3AF\",\n \"headerBg\": \"#F4F0D9\",\n \"footerBg\": \"#F4F0D9\"\n },\n \"message\": {\n \"bg\": \"#F4F0D9\",\n \"headerBg\": \"#FDF6E3\",\n \"border\": \"#BDC3AF\",\n \"bodyFg\": \"#5C6A72\"\n },\n \"panel\": {\n \"bg\": \"#FDF6E3\",\n \"headerBg\": \"#F4F0D9\",\n \"headerFg\": \"#5C6A72\",\n \"border\": \"#BDC3AF\",\n \"blockBg\": \"#F4F0D9\",\n \"blockHoverBg\": \"#FDF6E3\",\n \"blockActiveBg\": \"#E6E2CC\"\n },\n \"box\": {\n \"bg\": \"#FDF6E3\",\n \"border\": \"#BDC3AF\"\n },\n \"notification\": {\n \"bg\": \"#F4F0D9\",\n \"border\": \"#BDC3AF\"\n },\n \"modal\": {\n \"bg\": \"rgba(92, 106, 114, 0.86)\",\n \"cardBg\": \"#FDF6E3\",\n \"headerBg\": \"#F4F0D9\",\n \"footerBg\": \"#F4F0D9\"\n },\n \"dropdown\": {\n \"bg\": \"#FDF6E3\",\n \"itemHoverBg\": \"#F4F0D9\",\n \"border\": \"#BDC3AF\"\n },\n \"tabs\": {\n \"border\": \"#BDC3AF\",\n \"linkBg\": \"#F4F0D9\",\n \"linkActiveBg\": \"#FDF6E3\",\n \"linkHoverBg\": \"#E6E2CC\"\n }\n }\n }\n },\n \"github-dark\": {\n \"id\": \"github-dark\",\n \"label\": \"GitHub Dark\",\n \"vendor\": \"github\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#0d1117\",\n \"surface\": \"#151b23\",\n \"overlay\": \"#010409\"\n },\n \"text\": {\n \"primary\": \"#f0f6fc\",\n \"secondary\": \"#9198a1\",\n \"inverse\": \"#ffffff\"\n },\n \"brand\": {\n \"primary\": \"#1e6de6\",\n \"primaryText\": \"#ffffff\"\n },\n \"state\": {\n \"info\": \"#3573c1\",\n \"success\": \"#3fb950\",\n \"warning\": \"#d29922\",\n \"danger\": \"#f85149\",\n \"successText\": \"#0d1117\",\n \"warningText\": \"#0d1117\",\n \"infoText\": \"#fdfeff\",\n \"dangerText\": \"#0d1117\"\n },\n \"border\": {\n \"default\": \"#3d444d\"\n },\n \"accent\": {\n \"link\": \"#4493f8\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"\\\"Mona Sans\\\", -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", \\\"Noto Sans\\\", Helvetica, Arial, sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"\\\"Hubot Sans\\\", ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, \\\"Liberation Mono\\\", monospace\"\n },\n \"webFonts\": [\n \"https://github.githubassets.com/assets/mona-sans-webfont.woff2\",\n \"https://github.githubassets.com/assets/hubot-sans-webfont.woff2\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#3fb950\",\n \"h2\": \"#4493f8\",\n \"h3\": \"#1f6feb\",\n \"h4\": \"#d29922\",\n \"h5\": \"#3fb950\",\n \"h6\": \"#f85149\"\n },\n \"body\": {\n \"primary\": \"#f0f6fc\",\n \"secondary\": \"#9198a1\"\n },\n \"link\": {\n \"default\": \"#4493f8\"\n },\n \"selection\": {\n \"fg\": \"#f0f6fc\",\n \"bg\": \"#264f78\"\n },\n \"blockquote\": {\n \"border\": \"#3d444d\",\n \"fg\": \"#9198a1\",\n \"bg\": \"#151b23\"\n },\n \"codeInline\": {\n \"fg\": \"#f0f6fc\",\n \"bg\": \"#151b23\"\n },\n \"codeBlock\": {\n \"fg\": \"#f0f6fc\",\n \"bg\": \"#151b23\"\n },\n \"table\": {\n \"border\": \"#3d444d\",\n \"stripe\": \"#151b23\",\n \"theadBg\": \"#151b23\"\n }\n }\n }\n },\n \"github-light\": {\n \"id\": \"github-light\",\n \"label\": \"GitHub Light\",\n \"vendor\": \"github\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#ffffff\",\n \"surface\": \"#f6f8fa\",\n \"overlay\": \"#f6f8fa\"\n },\n \"text\": {\n \"primary\": \"#1f2328\",\n \"secondary\": \"#59636e\",\n \"inverse\": \"#ffffff\"\n },\n \"brand\": {\n \"primary\": \"#0969da\",\n \"primaryText\": \"#fcfcfc\"\n },\n \"state\": {\n \"info\": \"#0969da\",\n \"success\": \"#1a7f37\",\n \"warning\": \"#9a6700\",\n \"danger\": \"#d1242f\",\n \"infoText\": \"#f6f6f6\",\n \"successText\": \"#f8f8f9\",\n \"warningText\": \"#fdfdfd\",\n \"dangerText\": \"#f4f4f4\"\n },\n \"border\": {\n \"default\": \"#d1d9e0\"\n },\n \"accent\": {\n \"link\": \"#0969da\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"\\\"Mona Sans\\\", -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", \\\"Noto Sans\\\", Helvetica, Arial, sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"\\\"Hubot Sans\\\", ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, \\\"Liberation Mono\\\", monospace\"\n },\n \"webFonts\": [\n \"https://github.githubassets.com/assets/mona-sans-webfont.woff2\",\n \"https://github.githubassets.com/assets/hubot-sans-webfont.woff2\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#1a7f37\",\n \"h2\": \"#0969da\",\n \"h3\": \"#0969da\",\n \"h4\": \"#9a6700\",\n \"h5\": \"#1a7f37\",\n \"h6\": \"#d1242f\"\n },\n \"body\": {\n \"primary\": \"#1f2328\",\n \"secondary\": \"#59636e\"\n },\n \"link\": {\n \"default\": \"#0969da\"\n },\n \"selection\": {\n \"fg\": \"#1f2328\",\n \"bg\": \"#b6e3ff\"\n },\n \"blockquote\": {\n \"border\": \"#d1d9e0\",\n \"fg\": \"#59636e\",\n \"bg\": \"#f6f8fa\"\n },\n \"codeInline\": {\n \"fg\": \"#1f2328\",\n \"bg\": \"#f6f8fa\"\n },\n \"codeBlock\": {\n \"fg\": \"#1f2328\",\n \"bg\": \"#f6f8fa\"\n },\n \"table\": {\n \"border\": \"#d1d9e0\",\n \"stripe\": \"#f6f8fa\",\n \"theadBg\": \"#f6f8fa\"\n }\n }\n }\n },\n \"gruvbox-dark-hard\": {\n \"id\": \"gruvbox-dark-hard\",\n \"label\": \"Gruvbox Dark Hard\",\n \"vendor\": \"gruvbox\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#1d2021\",\n \"surface\": \"#282828\",\n \"overlay\": \"#3c3836\"\n },\n \"text\": {\n \"primary\": \"#ebdbb2\",\n \"secondary\": \"#d5c4a1\",\n \"inverse\": \"#1d2021\"\n },\n \"brand\": {\n \"primary\": \"#d79921\",\n \"primaryText\": \"#1d2021\"\n },\n \"state\": {\n \"info\": \"#83a598\",\n \"success\": \"#b8bb26\",\n \"warning\": \"#fabd2f\",\n \"danger\": \"#fb4934\",\n \"infoText\": \"#1d2021\",\n \"successText\": \"#1d2021\",\n \"warningText\": \"#1d2021\",\n \"dangerText\": \"#1d2021\"\n },\n \"border\": {\n \"default\": \"#665c54\"\n },\n \"accent\": {\n \"link\": \"#8eada1\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#b8bb26\",\n \"h2\": \"#83a598\",\n \"h3\": \"#8ec07c\",\n \"h4\": \"#fabd2f\",\n \"h5\": \"#d3869b\",\n \"h6\": \"#fb4934\"\n },\n \"body\": {\n \"primary\": \"#ebdbb2\",\n \"secondary\": \"#d5c4a1\"\n },\n \"link\": {\n \"default\": \"#8eada1\"\n },\n \"selection\": {\n \"fg\": \"#ebdbb2\",\n \"bg\": \"#3c3836\"\n },\n \"blockquote\": {\n \"border\": \"#665c54\",\n \"fg\": \"#d5c4a1\",\n \"bg\": \"#282828\"\n },\n \"codeInline\": {\n \"fg\": \"#fe8625\",\n \"bg\": \"#3c3836\"\n },\n \"codeBlock\": {\n \"fg\": \"#ebdbb2\",\n \"bg\": \"#282828\"\n },\n \"table\": {\n \"border\": \"#665c54\",\n \"stripe\": \"#3c3836\",\n \"theadBg\": \"#282828\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#282828\",\n \"border\": \"#665c54\",\n \"headerBg\": \"#1d2021\",\n \"footerBg\": \"#282828\"\n },\n \"message\": {\n \"bg\": \"#1d2021\",\n \"headerBg\": \"#282828\",\n \"border\": \"#665c54\",\n \"bodyFg\": \"#ebdbb2\"\n },\n \"panel\": {\n \"bg\": \"#282828\",\n \"headerBg\": \"#1d2021\",\n \"headerFg\": \"#ebdbb2\",\n \"border\": \"#665c54\",\n \"blockBg\": \"#1d2021\",\n \"blockHoverBg\": \"#282828\",\n \"blockActiveBg\": \"#3c3836\"\n },\n \"box\": {\n \"bg\": \"#282828\",\n \"border\": \"#665c54\"\n },\n \"notification\": {\n \"bg\": \"#1d2021\",\n \"border\": \"#665c54\"\n },\n \"modal\": {\n \"bg\": \"rgba(29, 32, 33, 0.9)\",\n \"cardBg\": \"#282828\",\n \"headerBg\": \"#1d2021\",\n \"footerBg\": \"#282828\"\n },\n \"dropdown\": {\n \"bg\": \"#282828\",\n \"itemHoverBg\": \"#3c3836\",\n \"border\": \"#665c54\"\n },\n \"tabs\": {\n \"border\": \"#665c54\",\n \"linkBg\": \"#282828\",\n \"linkActiveBg\": \"#1d2021\",\n \"linkHoverBg\": \"#3c3836\"\n }\n }\n }\n },\n \"gruvbox-dark-soft\": {\n \"id\": \"gruvbox-dark-soft\",\n \"label\": \"Gruvbox Dark Soft\",\n \"vendor\": \"gruvbox\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#32302f\",\n \"surface\": \"#3c3836\",\n \"overlay\": \"#504945\"\n },\n \"text\": {\n \"primary\": \"#ebdbb2\",\n \"secondary\": \"#d5c4a1\",\n \"inverse\": \"#32302f\"\n },\n \"brand\": {\n \"primary\": \"#d79921\",\n \"primaryText\": \"#32302f\"\n },\n \"state\": {\n \"info\": \"#83a598\",\n \"success\": \"#b8bb26\",\n \"warning\": \"#fabd2f\",\n \"danger\": \"#fb4934\",\n \"dangerText\": \"#211f1f\",\n \"infoText\": \"#32302f\",\n \"successText\": \"#32302f\",\n \"warningText\": \"#32302f\"\n },\n \"border\": {\n \"default\": \"#665c54\"\n },\n \"accent\": {\n \"link\": \"#adc4bb\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#b8bb26\",\n \"h2\": \"#83a598\",\n \"h3\": \"#8ec07c\",\n \"h4\": \"#fabd2f\",\n \"h5\": \"#d3869b\",\n \"h6\": \"#fb4934\"\n },\n \"body\": {\n \"primary\": \"#ebdbb2\",\n \"secondary\": \"#d5c4a1\"\n },\n \"link\": {\n \"default\": \"#adc4bb\"\n },\n \"selection\": {\n \"fg\": \"#ebdbb2\",\n \"bg\": \"#504945\"\n },\n \"blockquote\": {\n \"border\": \"#665c54\",\n \"fg\": \"#d5c4a1\",\n \"bg\": \"#3c3836\"\n },\n \"codeInline\": {\n \"fg\": \"#feac69\",\n \"bg\": \"#504945\"\n },\n \"codeBlock\": {\n \"fg\": \"#ebdbb2\",\n \"bg\": \"#3c3836\"\n },\n \"table\": {\n \"border\": \"#665c54\",\n \"stripe\": \"#504945\",\n \"theadBg\": \"#3c3836\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#3c3836\",\n \"border\": \"#665c54\",\n \"headerBg\": \"#32302f\",\n \"footerBg\": \"#3c3836\"\n },\n \"message\": {\n \"bg\": \"#32302f\",\n \"headerBg\": \"#3c3836\",\n \"border\": \"#665c54\",\n \"bodyFg\": \"#ebdbb2\"\n },\n \"panel\": {\n \"bg\": \"#3c3836\",\n \"headerBg\": \"#32302f\",\n \"headerFg\": \"#ebdbb2\",\n \"border\": \"#665c54\",\n \"blockBg\": \"#32302f\",\n \"blockHoverBg\": \"#3c3836\",\n \"blockActiveBg\": \"#504945\"\n },\n \"box\": {\n \"bg\": \"#3c3836\",\n \"border\": \"#665c54\"\n },\n \"notification\": {\n \"bg\": \"#32302f\",\n \"border\": \"#665c54\"\n },\n \"modal\": {\n \"bg\": \"rgba(50, 48, 47, 0.9)\",\n \"cardBg\": \"#3c3836\",\n \"headerBg\": \"#32302f\",\n \"footerBg\": \"#3c3836\"\n },\n \"dropdown\": {\n \"bg\": \"#3c3836\",\n \"itemHoverBg\": \"#504945\",\n \"border\": \"#665c54\"\n },\n \"tabs\": {\n \"border\": \"#665c54\",\n \"linkBg\": \"#3c3836\",\n \"linkActiveBg\": \"#32302f\",\n \"linkHoverBg\": \"#504945\"\n }\n }\n }\n },\n \"gruvbox-dark\": {\n \"id\": \"gruvbox-dark\",\n \"label\": \"Gruvbox Dark\",\n \"vendor\": \"gruvbox\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#282828\",\n \"surface\": \"#3c3836\",\n \"overlay\": \"#504945\"\n },\n \"text\": {\n \"primary\": \"#ebdbb2\",\n \"secondary\": \"#d5c4a1\",\n \"inverse\": \"#282828\"\n },\n \"brand\": {\n \"primary\": \"#d79921\",\n \"primaryText\": \"#282828\"\n },\n \"state\": {\n \"info\": \"#83a598\",\n \"success\": \"#b8bb26\",\n \"warning\": \"#fabd2f\",\n \"danger\": \"#fb4934\",\n \"dangerText\": \"#1f1f1f\",\n \"infoText\": \"#282828\",\n \"successText\": \"#282828\",\n \"warningText\": \"#282828\"\n },\n \"border\": {\n \"default\": \"#665c54\"\n },\n \"accent\": {\n \"link\": \"#adc4bb\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#b8bb26\",\n \"h2\": \"#83a598\",\n \"h3\": \"#8ec07c\",\n \"h4\": \"#fabd2f\",\n \"h5\": \"#d3869b\",\n \"h6\": \"#fb4934\"\n },\n \"body\": {\n \"primary\": \"#ebdbb2\",\n \"secondary\": \"#d5c4a1\"\n },\n \"link\": {\n \"default\": \"#adc4bb\"\n },\n \"selection\": {\n \"fg\": \"#ebdbb2\",\n \"bg\": \"#504945\"\n },\n \"blockquote\": {\n \"border\": \"#665c54\",\n \"fg\": \"#d5c4a1\",\n \"bg\": \"#3c3836\"\n },\n \"codeInline\": {\n \"fg\": \"#feac69\",\n \"bg\": \"#504945\"\n },\n \"codeBlock\": {\n \"fg\": \"#ebdbb2\",\n \"bg\": \"#3c3836\"\n },\n \"table\": {\n \"border\": \"#665c54\",\n \"stripe\": \"#504945\",\n \"theadBg\": \"#3c3836\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#3c3836\",\n \"border\": \"#665c54\",\n \"headerBg\": \"#282828\",\n \"footerBg\": \"#3c3836\"\n },\n \"message\": {\n \"bg\": \"#282828\",\n \"headerBg\": \"#3c3836\",\n \"border\": \"#665c54\",\n \"bodyFg\": \"#ebdbb2\"\n },\n \"panel\": {\n \"bg\": \"#3c3836\",\n \"headerBg\": \"#282828\",\n \"headerFg\": \"#ebdbb2\",\n \"border\": \"#665c54\",\n \"blockBg\": \"#282828\",\n \"blockHoverBg\": \"#3c3836\",\n \"blockActiveBg\": \"#504945\"\n },\n \"box\": {\n \"bg\": \"#3c3836\",\n \"border\": \"#665c54\"\n },\n \"notification\": {\n \"bg\": \"#282828\",\n \"border\": \"#665c54\"\n },\n \"modal\": {\n \"bg\": \"rgba(40, 40, 40, 0.9)\",\n \"cardBg\": \"#3c3836\",\n \"headerBg\": \"#282828\",\n \"footerBg\": \"#3c3836\"\n },\n \"dropdown\": {\n \"bg\": \"#3c3836\",\n \"itemHoverBg\": \"#504945\",\n \"border\": \"#665c54\"\n },\n \"tabs\": {\n \"border\": \"#665c54\",\n \"linkBg\": \"#3c3836\",\n \"linkActiveBg\": \"#282828\",\n \"linkHoverBg\": \"#504945\"\n }\n }\n }\n },\n \"gruvbox-light-hard\": {\n \"id\": \"gruvbox-light-hard\",\n \"label\": \"Gruvbox Light Hard\",\n \"vendor\": \"gruvbox\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#f9f5d7\",\n \"surface\": \"#fbf1c7\",\n \"overlay\": \"#ebdbb2\"\n },\n \"text\": {\n \"primary\": \"#3c3836\",\n \"secondary\": \"#504945\",\n \"inverse\": \"#f9f5d7\"\n },\n \"brand\": {\n \"primary\": \"#b57614\",\n \"primaryText\": \"#0f0f0d\"\n },\n \"state\": {\n \"info\": \"#478e9b\",\n \"success\": \"#79740e\",\n \"warning\": \"#b57614\",\n \"danger\": \"#9d0006\",\n \"successText\": \"#fefdf5\",\n \"warningText\": \"#161613\",\n \"infoText\": \"#161613\",\n \"dangerText\": \"#f9f5d7\"\n },\n \"border\": {\n \"default\": \"#bdae93\"\n },\n \"accent\": {\n \"link\": \"#076678\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#79740e\",\n \"h2\": \"#076678\",\n \"h3\": \"#427b58\",\n \"h4\": \"#b57614\",\n \"h5\": \"#8f3f71\",\n \"h6\": \"#9d0006\"\n },\n \"body\": {\n \"primary\": \"#3c3836\",\n \"secondary\": \"#504945\"\n },\n \"link\": {\n \"default\": \"#076678\"\n },\n \"selection\": {\n \"fg\": \"#3c3836\",\n \"bg\": \"#ebdbb2\"\n },\n \"blockquote\": {\n \"border\": \"#bdae93\",\n \"fg\": \"#504945\",\n \"bg\": \"#fbf1c7\"\n },\n \"codeInline\": {\n \"fg\": \"#a83703\",\n \"bg\": \"#ebdbb2\"\n },\n \"codeBlock\": {\n \"fg\": \"#3c3836\",\n \"bg\": \"#fbf1c7\"\n },\n \"table\": {\n \"border\": \"#bdae93\",\n \"stripe\": \"#ebdbb2\",\n \"theadBg\": \"#fbf1c7\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#f9f5d7\",\n \"border\": \"#bdae93\",\n \"headerBg\": \"#fbf1c7\",\n \"footerBg\": \"#fbf1c7\"\n },\n \"message\": {\n \"bg\": \"#fbf1c7\",\n \"headerBg\": \"#f9f5d7\",\n \"border\": \"#bdae93\",\n \"bodyFg\": \"#3c3836\"\n },\n \"panel\": {\n \"bg\": \"#f9f5d7\",\n \"headerBg\": \"#fbf1c7\",\n \"headerFg\": \"#3c3836\",\n \"border\": \"#bdae93\",\n \"blockBg\": \"#fbf1c7\",\n \"blockHoverBg\": \"#f9f5d7\",\n \"blockActiveBg\": \"#ebdbb2\"\n },\n \"box\": {\n \"bg\": \"#f9f5d7\",\n \"border\": \"#bdae93\"\n },\n \"notification\": {\n \"bg\": \"#fbf1c7\",\n \"border\": \"#bdae93\"\n },\n \"modal\": {\n \"bg\": \"rgba(60, 56, 54, 0.86)\",\n \"cardBg\": \"#f9f5d7\",\n \"headerBg\": \"#fbf1c7\",\n \"footerBg\": \"#fbf1c7\"\n },\n \"dropdown\": {\n \"bg\": \"#f9f5d7\",\n \"itemHoverBg\": \"#fbf1c7\",\n \"border\": \"#bdae93\"\n },\n \"tabs\": {\n \"border\": \"#bdae93\",\n \"linkBg\": \"#fbf1c7\",\n \"linkActiveBg\": \"#f9f5d7\",\n \"linkHoverBg\": \"#ebdbb2\"\n }\n }\n }\n },\n \"gruvbox-light-soft\": {\n \"id\": \"gruvbox-light-soft\",\n \"label\": \"Gruvbox Light Soft\",\n \"vendor\": \"gruvbox\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#f2e5bc\",\n \"surface\": \"#ebdbb2\",\n \"overlay\": \"#d5c4a1\"\n },\n \"text\": {\n \"primary\": \"#3c3836\",\n \"secondary\": \"#504945\",\n \"inverse\": \"#f2e5bc\"\n },\n \"brand\": {\n \"primary\": \"#b57614\",\n \"primaryText\": \"#100f0d\"\n },\n \"state\": {\n \"info\": \"#478e9b\",\n \"success\": \"#79740e\",\n \"warning\": \"#b57614\",\n \"danger\": \"#9d0006\",\n \"warningText\": \"#181713\",\n \"successText\": \"#fefdf9\",\n \"infoText\": \"#181713\",\n \"dangerText\": \"#f2e5bc\"\n },\n \"border\": {\n \"default\": \"#bdae93\"\n },\n \"accent\": {\n \"link\": \"#065766\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#79740e\",\n \"h2\": \"#076678\",\n \"h3\": \"#427b58\",\n \"h4\": \"#ac7013\",\n \"h5\": \"#8f3f71\",\n \"h6\": \"#9d0006\"\n },\n \"body\": {\n \"primary\": \"#3c3836\",\n \"secondary\": \"#504945\"\n },\n \"link\": {\n \"default\": \"#065766\"\n },\n \"selection\": {\n \"fg\": \"#3c3836\",\n \"bg\": \"#d5c4a1\"\n },\n \"blockquote\": {\n \"border\": \"#bdae93\",\n \"fg\": \"#504945\",\n \"bg\": \"#ebdbb2\"\n },\n \"codeInline\": {\n \"fg\": \"#8f2f03\",\n \"bg\": \"#d5c4a1\"\n },\n \"codeBlock\": {\n \"fg\": \"#3c3836\",\n \"bg\": \"#ebdbb2\"\n },\n \"table\": {\n \"border\": \"#bdae93\",\n \"stripe\": \"#d5c4a1\",\n \"theadBg\": \"#ebdbb2\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#f2e5bc\",\n \"border\": \"#bdae93\",\n \"headerBg\": \"#ebdbb2\",\n \"footerBg\": \"#ebdbb2\"\n },\n \"message\": {\n \"bg\": \"#ebdbb2\",\n \"headerBg\": \"#f2e5bc\",\n \"border\": \"#bdae93\",\n \"bodyFg\": \"#3c3836\"\n },\n \"panel\": {\n \"bg\": \"#f2e5bc\",\n \"headerBg\": \"#ebdbb2\",\n \"headerFg\": \"#3c3836\",\n \"border\": \"#bdae93\",\n \"blockBg\": \"#ebdbb2\",\n \"blockHoverBg\": \"#f2e5bc\",\n \"blockActiveBg\": \"#d5c4a1\"\n },\n \"box\": {\n \"bg\": \"#f2e5bc\",\n \"border\": \"#bdae93\"\n },\n \"notification\": {\n \"bg\": \"#ebdbb2\",\n \"border\": \"#bdae93\"\n },\n \"modal\": {\n \"bg\": \"rgba(60, 56, 54, 0.86)\",\n \"cardBg\": \"#f2e5bc\",\n \"headerBg\": \"#ebdbb2\",\n \"footerBg\": \"#ebdbb2\"\n },\n \"dropdown\": {\n \"bg\": \"#f2e5bc\",\n \"itemHoverBg\": \"#ebdbb2\",\n \"border\": \"#bdae93\"\n },\n \"tabs\": {\n \"border\": \"#bdae93\",\n \"linkBg\": \"#ebdbb2\",\n \"linkActiveBg\": \"#f2e5bc\",\n \"linkHoverBg\": \"#d5c4a1\"\n }\n }\n }\n },\n \"gruvbox-light\": {\n \"id\": \"gruvbox-light\",\n \"label\": \"Gruvbox Light\",\n \"vendor\": \"gruvbox\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#fbf1c7\",\n \"surface\": \"#ebdbb2\",\n \"overlay\": \"#d5c4a1\"\n },\n \"text\": {\n \"primary\": \"#3c3836\",\n \"secondary\": \"#504945\",\n \"inverse\": \"#fbf1c7\"\n },\n \"brand\": {\n \"primary\": \"#b57614\",\n \"primaryText\": \"#100f0d\"\n },\n \"state\": {\n \"info\": \"#478e9b\",\n \"success\": \"#79740e\",\n \"warning\": \"#b57614\",\n \"danger\": \"#9d0006\",\n \"successText\": \"#fefdf5\",\n \"warningText\": \"#171612\",\n \"infoText\": \"#171612\",\n \"dangerText\": \"#fbf1c7\"\n },\n \"border\": {\n \"default\": \"#bdae93\"\n },\n \"accent\": {\n \"link\": \"#065766\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#79740e\",\n \"h2\": \"#076678\",\n \"h3\": \"#427b58\",\n \"h4\": \"#ac7013\",\n \"h5\": \"#8f3f71\",\n \"h6\": \"#9d0006\"\n },\n \"body\": {\n \"primary\": \"#3c3836\",\n \"secondary\": \"#504945\"\n },\n \"link\": {\n \"default\": \"#065766\"\n },\n \"selection\": {\n \"fg\": \"#3c3836\",\n \"bg\": \"#d5c4a1\"\n },\n \"blockquote\": {\n \"border\": \"#bdae93\",\n \"fg\": \"#504945\",\n \"bg\": \"#ebdbb2\"\n },\n \"codeInline\": {\n \"fg\": \"#8f2f03\",\n \"bg\": \"#d5c4a1\"\n },\n \"codeBlock\": {\n \"fg\": \"#3c3836\",\n \"bg\": \"#ebdbb2\"\n },\n \"table\": {\n \"border\": \"#bdae93\",\n \"stripe\": \"#d5c4a1\",\n \"theadBg\": \"#ebdbb2\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#fbf1c7\",\n \"border\": \"#bdae93\",\n \"headerBg\": \"#ebdbb2\",\n \"footerBg\": \"#ebdbb2\"\n },\n \"message\": {\n \"bg\": \"#ebdbb2\",\n \"headerBg\": \"#fbf1c7\",\n \"border\": \"#bdae93\",\n \"bodyFg\": \"#3c3836\"\n },\n \"panel\": {\n \"bg\": \"#fbf1c7\",\n \"headerBg\": \"#ebdbb2\",\n \"headerFg\": \"#3c3836\",\n \"border\": \"#bdae93\",\n \"blockBg\": \"#ebdbb2\",\n \"blockHoverBg\": \"#fbf1c7\",\n \"blockActiveBg\": \"#d5c4a1\"\n },\n \"box\": {\n \"bg\": \"#fbf1c7\",\n \"border\": \"#bdae93\"\n },\n \"notification\": {\n \"bg\": \"#ebdbb2\",\n \"border\": \"#bdae93\"\n },\n \"modal\": {\n \"bg\": \"rgba(60, 56, 54, 0.86)\",\n \"cardBg\": \"#fbf1c7\",\n \"headerBg\": \"#ebdbb2\",\n \"footerBg\": \"#ebdbb2\"\n },\n \"dropdown\": {\n \"bg\": \"#fbf1c7\",\n \"itemHoverBg\": \"#ebdbb2\",\n \"border\": \"#bdae93\"\n },\n \"tabs\": {\n \"border\": \"#bdae93\",\n \"linkBg\": \"#ebdbb2\",\n \"linkActiveBg\": \"#fbf1c7\",\n \"linkHoverBg\": \"#d5c4a1\"\n }\n }\n }\n },\n \"kanagawa-dragon\": {\n \"id\": \"kanagawa-dragon\",\n \"label\": \"Kanagawa Dragon\",\n \"vendor\": \"kanagawa\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#181616\",\n \"surface\": \"#282727\",\n \"overlay\": \"#393836\"\n },\n \"text\": {\n \"primary\": \"#c5c9c5\",\n \"secondary\": \"#C8C093\",\n \"inverse\": \"#181616\"\n },\n \"brand\": {\n \"primary\": \"#8ba4b0\",\n \"primaryText\": \"#131212\"\n },\n \"state\": {\n \"info\": \"#658594\",\n \"success\": \"#98BB6C\",\n \"warning\": \"#FF9E3B\",\n \"danger\": \"#e82828\",\n \"dangerText\": \"#000000\",\n \"infoText\": \"#131212\",\n \"successText\": \"#181616\",\n \"warningText\": \"#181616\"\n },\n \"border\": {\n \"default\": \"#54546D\"\n },\n \"accent\": {\n \"link\": \"#91a9b4\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#8ba4b0\",\n \"h2\": \"#8992a7\",\n \"h3\": \"#8ea4a2\",\n \"h4\": \"#c4b28a\",\n \"h5\": \"#b6927b\",\n \"h6\": \"#a292a3\"\n },\n \"body\": {\n \"primary\": \"#c5c9c5\",\n \"secondary\": \"#C8C093\"\n },\n \"link\": {\n \"default\": \"#91a9b4\"\n },\n \"selection\": {\n \"fg\": \"#c5c9c5\",\n \"bg\": \"#393836\"\n },\n \"blockquote\": {\n \"border\": \"#54546D\",\n \"fg\": \"#C8C093\",\n \"bg\": \"#282727\"\n },\n \"codeInline\": {\n \"fg\": \"#c4b28a\",\n \"bg\": \"#393836\"\n },\n \"codeBlock\": {\n \"fg\": \"#c5c9c5\",\n \"bg\": \"#0d0c0c\"\n },\n \"table\": {\n \"border\": \"#54546D\",\n \"stripe\": \"#282727\",\n \"theadBg\": \"#393836\"\n }\n }\n }\n },\n \"kanagawa-lotus\": {\n \"id\": \"kanagawa-lotus\",\n \"label\": \"Kanagawa Lotus\",\n \"vendor\": \"kanagawa\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#f2ecbc\",\n \"surface\": \"#e7dba0\",\n \"overlay\": \"#e4d794\"\n },\n \"text\": {\n \"primary\": \"#545464\",\n \"secondary\": \"#43436c\",\n \"inverse\": \"#f2ecbc\"\n },\n \"brand\": {\n \"primary\": \"#4d699b\",\n \"primaryText\": \"#fffffe\"\n },\n \"state\": {\n \"info\": \"#5a7785\",\n \"success\": \"#6f894e\",\n \"warning\": \"#e98a00\",\n \"danger\": \"#e82828\",\n \"warningText\": \"#353429\",\n \"infoText\": \"#fffffe\",\n \"successText\": \"#13130f\",\n \"dangerText\": \"#000000\"\n },\n \"border\": {\n \"default\": \"#716e61\"\n },\n \"accent\": {\n \"link\": \"#425a85\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#4d699b\",\n \"h2\": \"#624c83\",\n \"h3\": \"#597b75\",\n \"h4\": \"#77713f\",\n \"h5\": \"#bc6400\",\n \"h6\": \"#b35b79\"\n },\n \"body\": {\n \"primary\": \"#545464\",\n \"secondary\": \"#43436c\"\n },\n \"link\": {\n \"default\": \"#425a85\"\n },\n \"selection\": {\n \"fg\": \"#545464\",\n \"bg\": \"#cdcfd4\"\n },\n \"blockquote\": {\n \"border\": \"#716e61\",\n \"fg\": \"#43436c\",\n \"bg\": \"#e7dba0\"\n },\n \"codeInline\": {\n \"fg\": \"#624c83\",\n \"bg\": \"#e4d794\"\n },\n \"codeBlock\": {\n \"fg\": \"#545464\",\n \"bg\": \"#e4d794\"\n },\n \"table\": {\n \"border\": \"#716e61\",\n \"stripe\": \"#e7dba0\",\n \"theadBg\": \"#e4d794\"\n }\n }\n }\n },\n \"kanagawa-wave\": {\n \"id\": \"kanagawa-wave\",\n \"label\": \"Kanagawa Wave\",\n \"vendor\": \"kanagawa\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#1F1F28\",\n \"surface\": \"#2A2A37\",\n \"overlay\": \"#363646\"\n },\n \"text\": {\n \"primary\": \"#DCD7BA\",\n \"secondary\": \"#C8C093\",\n \"inverse\": \"#1F1F28\"\n },\n \"brand\": {\n \"primary\": \"#7E9CD8\",\n \"primaryText\": \"#111116\"\n },\n \"state\": {\n \"info\": \"#658594\",\n \"success\": \"#98BB6C\",\n \"warning\": \"#FF9E3B\",\n \"danger\": \"#e82828\",\n \"infoText\": \"#111116\",\n \"dangerText\": \"#000000\",\n \"successText\": \"#1F1F28\",\n \"warningText\": \"#1F1F28\"\n },\n \"border\": {\n \"default\": \"#54546D\"\n },\n \"accent\": {\n \"link\": \"#8aa5dc\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#7E9CD8\",\n \"h2\": \"#957FB8\",\n \"h3\": \"#7AA89F\",\n \"h4\": \"#E6C384\",\n \"h5\": \"#FFA066\",\n \"h6\": \"#D27E99\"\n },\n \"body\": {\n \"primary\": \"#DCD7BA\",\n \"secondary\": \"#C8C093\"\n },\n \"link\": {\n \"default\": \"#8aa5dc\"\n },\n \"selection\": {\n \"fg\": \"#DCD7BA\",\n \"bg\": \"#223249\"\n },\n \"blockquote\": {\n \"border\": \"#54546D\",\n \"fg\": \"#C8C093\",\n \"bg\": \"#2A2A37\"\n },\n \"codeInline\": {\n \"fg\": \"#E6C384\",\n \"bg\": \"#363646\"\n },\n \"codeBlock\": {\n \"fg\": \"#DCD7BA\",\n \"bg\": \"#16161D\"\n },\n \"table\": {\n \"border\": \"#54546D\",\n \"stripe\": \"#2A2A37\",\n \"theadBg\": \"#363646\"\n }\n }\n }\n },\n \"nord\": {\n \"id\": \"nord\",\n \"label\": \"Nord\",\n \"vendor\": \"nord\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#2e3440\",\n \"surface\": \"#3b4252\",\n \"overlay\": \"#434c5e\"\n },\n \"text\": {\n \"primary\": \"#eceff4\",\n \"secondary\": \"#d8dee9\",\n \"inverse\": \"#2e3440\"\n },\n \"brand\": {\n \"primary\": \"#88c0d0\",\n \"primaryText\": \"#0d0f13\"\n },\n \"state\": {\n \"info\": \"#5e81ac\",\n \"success\": \"#a3be8c\",\n \"warning\": \"#ebcb8b\",\n \"danger\": \"#bf616a\",\n \"infoText\": \"#0d0f13\",\n \"dangerText\": \"#0c0d10\",\n \"successText\": \"#2e3440\",\n \"warningText\": \"#2e3440\"\n },\n \"border\": {\n \"default\": \"#4c566a\"\n },\n \"accent\": {\n \"link\": \"#99c9d7\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#8fbcbb\",\n \"h2\": \"#88c0d0\",\n \"h3\": \"#81a1c1\",\n \"h4\": \"#ebcb8b\",\n \"h5\": \"#d08770\",\n \"h6\": \"#b48ead\"\n },\n \"body\": {\n \"primary\": \"#eceff4\",\n \"secondary\": \"#d8dee9\"\n },\n \"link\": {\n \"default\": \"#99c9d7\"\n },\n \"selection\": {\n \"fg\": \"#eceff4\",\n \"bg\": \"#4c566a\"\n },\n \"blockquote\": {\n \"border\": \"#4c566a\",\n \"fg\": \"#d8dee9\",\n \"bg\": \"#3b4252\"\n },\n \"codeInline\": {\n \"fg\": \"#eceff4\",\n \"bg\": \"#434c5e\"\n },\n \"codeBlock\": {\n \"fg\": \"#eceff4\",\n \"bg\": \"#434c5e\"\n },\n \"table\": {\n \"border\": \"#4c566a\",\n \"stripe\": \"#434c5e\",\n \"theadBg\": \"#3b4252\"\n }\n }\n }\n },\n \"one-dark\": {\n \"id\": \"one-dark\",\n \"label\": \"One Dark\",\n \"vendor\": \"one-dark\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#282c34\",\n \"surface\": \"#2c313a\",\n \"overlay\": \"#3e4451\"\n },\n \"text\": {\n \"primary\": \"#afb6c2\",\n \"secondary\": \"#b1b6bf\",\n \"inverse\": \"#282c34\"\n },\n \"brand\": {\n \"primary\": \"#61afef\",\n \"primaryText\": \"#282c34\"\n },\n \"state\": {\n \"info\": \"#56b6c2\",\n \"success\": \"#98c379\",\n \"warning\": \"#e5c07b\",\n \"danger\": \"#e06c75\",\n \"dangerText\": \"#22262d\",\n \"infoText\": \"#282c34\",\n \"successText\": \"#282c34\",\n \"warningText\": \"#282c34\"\n },\n \"border\": {\n \"default\": \"#3e4451\"\n },\n \"accent\": {\n \"link\": \"#7abcf2\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#61afef\",\n \"h2\": \"#c678dd\",\n \"h3\": \"#98c379\",\n \"h4\": \"#e5c07b\",\n \"h5\": \"#d19a66\",\n \"h6\": \"#56b6c2\"\n },\n \"body\": {\n \"primary\": \"#abb2bf\",\n \"secondary\": \"#979da9\"\n },\n \"link\": {\n \"default\": \"#7abcf2\"\n },\n \"selection\": {\n \"fg\": \"#abb2bf\",\n \"bg\": \"#3c414e\"\n },\n \"blockquote\": {\n \"border\": \"#3e4451\",\n \"fg\": \"#979daa\",\n \"bg\": \"#2c313a\"\n },\n \"codeInline\": {\n \"fg\": \"#c980df\",\n \"bg\": \"#2c313a\"\n },\n \"codeBlock\": {\n \"fg\": \"#abb2bf\",\n \"bg\": \"#21252b\"\n },\n \"table\": {\n \"border\": \"#3e4451\",\n \"stripe\": \"#2c313a\",\n \"theadBg\": \"#3c414e\"\n }\n }\n }\n },\n \"one-light\": {\n \"id\": \"one-light\",\n \"label\": \"One Light\",\n \"vendor\": \"one-dark\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#fafafa\",\n \"surface\": \"#f0f0f0\",\n \"overlay\": \"#e5e5e6\"\n },\n \"text\": {\n \"primary\": \"#383a42\",\n \"secondary\": \"#60636c\",\n \"inverse\": \"#fafafa\"\n },\n \"brand\": {\n \"primary\": \"#4078f2\",\n \"primaryText\": \"#080808\"\n },\n \"state\": {\n \"info\": \"#0184bc\",\n \"success\": \"#50a14f\",\n \"warning\": \"#c18401\",\n \"danger\": \"#e45649\",\n \"infoText\": \"#080808\",\n \"successText\": \"#232323\",\n \"warningText\": \"#232323\",\n \"dangerText\": \"#191919\"\n },\n \"border\": {\n \"default\": \"#d0d0d1\"\n },\n \"accent\": {\n \"link\": \"#315ebd\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#4078f2\",\n \"h2\": \"#a626a4\",\n \"h3\": \"#4d9b4c\",\n \"h4\": \"#b97f01\",\n \"h5\": \"#986801\",\n \"h6\": \"#0184bc\"\n },\n \"body\": {\n \"primary\": \"#383a42\",\n \"secondary\": \"#666973\"\n },\n \"link\": {\n \"default\": \"#315ebd\"\n },\n \"selection\": {\n \"fg\": \"#383a42\",\n \"bg\": \"#dfe1e5\"\n },\n \"blockquote\": {\n \"border\": \"#d0d0d1\",\n \"fg\": \"#666973\",\n \"bg\": \"#f0f0f0\"\n },\n \"codeInline\": {\n \"fg\": \"#a626a4\",\n \"bg\": \"#e5e5e6\"\n },\n \"codeBlock\": {\n \"fg\": \"#383a42\",\n \"bg\": \"#e5e5e6\"\n },\n \"table\": {\n \"border\": \"#d0d0d1\",\n \"stripe\": \"#f0f0f0\",\n \"theadBg\": \"#e5e5e6\"\n }\n }\n }\n },\n \"radix-mauve-dark\": {\n \"id\": \"radix-mauve-dark\",\n \"label\": \"Radix Colors Mauve Dark\",\n \"vendor\": \"radix\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#121113\",\n \"surface\": \"#1a191b\",\n \"overlay\": \"#232225\"\n },\n \"text\": {\n \"primary\": \"#eeeef0\",\n \"secondary\": \"#b5b2bc\",\n \"inverse\": \"#121113\"\n },\n \"brand\": {\n \"primary\": \"#0090ff\",\n \"primaryText\": \"#121113\"\n },\n \"state\": {\n \"info\": \"#00a2c7\",\n \"success\": \"#30a46c\",\n \"warning\": \"#ffc53d\",\n \"danger\": \"#e5484d\",\n \"infoText\": \"#121113\",\n \"successText\": \"#121113\",\n \"warningText\": \"#121113\",\n \"dangerText\": \"#121113\"\n },\n \"border\": {\n \"default\": \"#3c393f\"\n },\n \"accent\": {\n \"link\": \"#70b8ff\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#3dd68c\",\n \"h2\": \"#70b8ff\",\n \"h3\": \"#4ccce6\",\n \"h4\": \"#ffca16\",\n \"h5\": \"#baa7ff\",\n \"h6\": \"#ff9592\"\n },\n \"body\": {\n \"primary\": \"#eeeef0\",\n \"secondary\": \"#b5b2bc\"\n },\n \"link\": {\n \"default\": \"#70b8ff\"\n },\n \"selection\": {\n \"fg\": \"#eeeef0\",\n \"bg\": \"#323035\"\n },\n \"blockquote\": {\n \"border\": \"#49474e\",\n \"fg\": \"#eeeef0\",\n \"bg\": \"#1a191b\"\n },\n \"codeInline\": {\n \"fg\": \"#eeeef0\",\n \"bg\": \"#232225\"\n },\n \"codeBlock\": {\n \"fg\": \"#eeeef0\",\n \"bg\": \"#232225\"\n },\n \"table\": {\n \"border\": \"#49474e\",\n \"stripe\": \"#1a191b\",\n \"theadBg\": \"#2b292d\"\n }\n }\n }\n },\n \"radix-mauve-light\": {\n \"id\": \"radix-mauve-light\",\n \"label\": \"Radix Colors Mauve Light\",\n \"vendor\": \"radix\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#fdfcfd\",\n \"surface\": \"#faf9fb\",\n \"overlay\": \"#f2eff3\"\n },\n \"text\": {\n \"primary\": \"#211f26\",\n \"secondary\": \"#65636d\",\n \"inverse\": \"#fdfcfd\"\n },\n \"brand\": {\n \"primary\": \"#0090ff\",\n \"primaryText\": \"#232323\"\n },\n \"state\": {\n \"info\": \"#00a2c7\",\n \"success\": \"#30a46c\",\n \"warning\": \"#ffc53d\",\n \"danger\": \"#e5484d\",\n \"infoText\": \"#211f26\",\n \"successText\": \"#211f26\",\n \"warningText\": \"#211f26\",\n \"dangerText\": \"#121212\"\n },\n \"border\": {\n \"default\": \"#dbd8e0\"\n },\n \"accent\": {\n \"link\": \"#0c6bbe\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#218358\",\n \"h2\": \"#0d74ce\",\n \"h3\": \"#107d98\",\n \"h4\": \"#ab6400\",\n \"h5\": \"#6550b9\",\n \"h6\": \"#ce2c31\"\n },\n \"body\": {\n \"primary\": \"#211f26\",\n \"secondary\": \"#65636d\"\n },\n \"link\": {\n \"default\": \"#0c6bbe\"\n },\n \"selection\": {\n \"fg\": \"#211f26\",\n \"bg\": \"#e3dfe6\"\n },\n \"blockquote\": {\n \"border\": \"#d0cdd7\",\n \"fg\": \"#211f26\",\n \"bg\": \"#faf9fb\"\n },\n \"codeInline\": {\n \"fg\": \"#211f26\",\n \"bg\": \"#f2eff3\"\n },\n \"codeBlock\": {\n \"fg\": \"#211f26\",\n \"bg\": \"#f2eff3\"\n },\n \"table\": {\n \"border\": \"#d0cdd7\",\n \"stripe\": \"#faf9fb\",\n \"theadBg\": \"#eae7ec\"\n }\n }\n }\n },\n \"radix-slate-dark\": {\n \"id\": \"radix-slate-dark\",\n \"label\": \"Radix Colors Slate Dark\",\n \"vendor\": \"radix\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#111113\",\n \"surface\": \"#18191b\",\n \"overlay\": \"#212225\"\n },\n \"text\": {\n \"primary\": \"#edeef0\",\n \"secondary\": \"#b0b4ba\",\n \"inverse\": \"#111113\"\n },\n \"brand\": {\n \"primary\": \"#0090ff\",\n \"primaryText\": \"#111113\"\n },\n \"state\": {\n \"info\": \"#00a2c7\",\n \"success\": \"#30a46c\",\n \"warning\": \"#ffc53d\",\n \"danger\": \"#e5484d\",\n \"infoText\": \"#111113\",\n \"successText\": \"#111113\",\n \"warningText\": \"#111113\",\n \"dangerText\": \"#111113\"\n },\n \"border\": {\n \"default\": \"#363a3f\"\n },\n \"accent\": {\n \"link\": \"#70b8ff\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#3dd68c\",\n \"h2\": \"#70b8ff\",\n \"h3\": \"#4ccce6\",\n \"h4\": \"#ffca16\",\n \"h5\": \"#baa7ff\",\n \"h6\": \"#ff9592\"\n },\n \"body\": {\n \"primary\": \"#edeef0\",\n \"secondary\": \"#b0b4ba\"\n },\n \"link\": {\n \"default\": \"#70b8ff\"\n },\n \"selection\": {\n \"fg\": \"#edeef0\",\n \"bg\": \"#2e3135\"\n },\n \"blockquote\": {\n \"border\": \"#43484e\",\n \"fg\": \"#edeef0\",\n \"bg\": \"#18191b\"\n },\n \"codeInline\": {\n \"fg\": \"#edeef0\",\n \"bg\": \"#212225\"\n },\n \"codeBlock\": {\n \"fg\": \"#edeef0\",\n \"bg\": \"#212225\"\n },\n \"table\": {\n \"border\": \"#43484e\",\n \"stripe\": \"#18191b\",\n \"theadBg\": \"#272a2d\"\n }\n }\n }\n },\n \"radix-slate-light\": {\n \"id\": \"radix-slate-light\",\n \"label\": \"Radix Colors Slate Light\",\n \"vendor\": \"radix\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#fcfcfd\",\n \"surface\": \"#f9f9fb\",\n \"overlay\": \"#f0f0f3\"\n },\n \"text\": {\n \"primary\": \"#1c2024\",\n \"secondary\": \"#60646c\",\n \"inverse\": \"#fcfcfd\"\n },\n \"brand\": {\n \"primary\": \"#0090ff\",\n \"primaryText\": \"#232323\"\n },\n \"state\": {\n \"info\": \"#00a2c7\",\n \"success\": \"#30a46c\",\n \"warning\": \"#ffc53d\",\n \"danger\": \"#e5484d\",\n \"infoText\": \"#1c2024\",\n \"successText\": \"#1c2024\",\n \"warningText\": \"#1c2024\",\n \"dangerText\": \"#121212\"\n },\n \"border\": {\n \"default\": \"#d9d9e0\"\n },\n \"accent\": {\n \"link\": \"#0c6bbe\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#218358\",\n \"h2\": \"#0d74ce\",\n \"h3\": \"#107d98\",\n \"h4\": \"#ab6400\",\n \"h5\": \"#6550b9\",\n \"h6\": \"#ce2c31\"\n },\n \"body\": {\n \"primary\": \"#1c2024\",\n \"secondary\": \"#60646c\"\n },\n \"link\": {\n \"default\": \"#0c6bbe\"\n },\n \"selection\": {\n \"fg\": \"#1c2024\",\n \"bg\": \"#e0e1e6\"\n },\n \"blockquote\": {\n \"border\": \"#cdced6\",\n \"fg\": \"#1c2024\",\n \"bg\": \"#f9f9fb\"\n },\n \"codeInline\": {\n \"fg\": \"#1c2024\",\n \"bg\": \"#f0f0f3\"\n },\n \"codeBlock\": {\n \"fg\": \"#1c2024\",\n \"bg\": \"#f0f0f3\"\n },\n \"table\": {\n \"border\": \"#cdced6\",\n \"stripe\": \"#f9f9fb\",\n \"theadBg\": \"#e8e8ec\"\n }\n }\n }\n },\n \"rose-pine-dawn\": {\n \"id\": \"rose-pine-dawn\",\n \"label\": \"Rosé Pine Dawn\",\n \"vendor\": \"rose-pine\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#faf4ed\",\n \"surface\": \"#fffaf3\",\n \"overlay\": \"#f2e9e1\"\n },\n \"text\": {\n \"primary\": \"#575279\",\n \"secondary\": \"#66637c\",\n \"inverse\": \"#faf4ed\"\n },\n \"brand\": {\n \"primary\": \"#907aa9\",\n \"primaryText\": \"#171615\"\n },\n \"state\": {\n \"info\": \"#56949f\",\n \"success\": \"#286983\",\n \"warning\": \"#ea9d34\",\n \"danger\": \"#b4637a\",\n \"warningText\": \"#3f3d3b\",\n \"infoText\": \"#1e1d1c\",\n \"dangerText\": \"#080707\",\n \"successText\": \"#faf4ed\"\n },\n \"border\": {\n \"default\": \"#dfdad9\"\n },\n \"accent\": {\n \"link\": \"#6f5f84\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#286983\",\n \"h2\": \"#907aa9\",\n \"h3\": \"#56949f\",\n \"h4\": \"#be7f2a\",\n \"h5\": \"#c67874\",\n \"h6\": \"#b4637a\"\n },\n \"body\": {\n \"primary\": \"#575279\",\n \"secondary\": \"#6d6984\"\n },\n \"link\": {\n \"default\": \"#6f5f84\"\n },\n \"selection\": {\n \"fg\": \"#575279\",\n \"bg\": \"#d2d1d2\"\n },\n \"blockquote\": {\n \"border\": \"#cecacd\",\n \"fg\": \"#575279\",\n \"bg\": \"#fffaf3\"\n },\n \"codeInline\": {\n \"fg\": \"#575279\",\n \"bg\": \"#f2e9e1\"\n },\n \"codeBlock\": {\n \"fg\": \"#575279\",\n \"bg\": \"#f2e9e1\"\n },\n \"table\": {\n \"border\": \"#cecacd\",\n \"stripe\": \"#f2e9e1\",\n \"theadBg\": \"#dfdad9\"\n }\n }\n }\n },\n \"rose-pine-moon\": {\n \"id\": \"rose-pine-moon\",\n \"label\": \"Rosé Pine Moon\",\n \"vendor\": \"rose-pine\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#232136\",\n \"surface\": \"#2a273f\",\n \"overlay\": \"#393552\"\n },\n \"text\": {\n \"primary\": \"#e0def4\",\n \"secondary\": \"#a6a3bb\",\n \"inverse\": \"#232136\"\n },\n \"brand\": {\n \"primary\": \"#c4a7e7\",\n \"primaryText\": \"#232136\"\n },\n \"state\": {\n \"info\": \"#9ccfd8\",\n \"success\": \"#3e8fb0\",\n \"warning\": \"#f6c177\",\n \"danger\": \"#eb6f92\",\n \"successText\": \"#1a1828\",\n \"infoText\": \"#232136\",\n \"warningText\": \"#232136\",\n \"dangerText\": \"#232136\"\n },\n \"border\": {\n \"default\": \"#44415a\"\n },\n \"accent\": {\n \"link\": \"#c4a7e7\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#3e8fb0\",\n \"h2\": \"#c4a7e7\",\n \"h3\": \"#9ccfd8\",\n \"h4\": \"#f6c177\",\n \"h5\": \"#ea9a97\",\n \"h6\": \"#eb6f92\"\n },\n \"body\": {\n \"primary\": \"#e0def4\",\n \"secondary\": \"#9591ae\"\n },\n \"link\": {\n \"default\": \"#c4a7e7\"\n },\n \"selection\": {\n \"fg\": \"#e0def4\",\n \"bg\": \"#56526e\"\n },\n \"blockquote\": {\n \"border\": \"#56526e\",\n \"fg\": \"#e0def4\",\n \"bg\": \"#2a273f\"\n },\n \"codeInline\": {\n \"fg\": \"#e0def4\",\n \"bg\": \"#393552\"\n },\n \"codeBlock\": {\n \"fg\": \"#e0def4\",\n \"bg\": \"#393552\"\n },\n \"table\": {\n \"border\": \"#56526e\",\n \"stripe\": \"#393552\",\n \"theadBg\": \"#44415a\"\n }\n }\n }\n },\n \"rose-pine\": {\n \"id\": \"rose-pine\",\n \"label\": \"Rosé Pine\",\n \"vendor\": \"rose-pine\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#191724\",\n \"surface\": \"#1f1d2e\",\n \"overlay\": \"#26233a\"\n },\n \"text\": {\n \"primary\": \"#e0def4\",\n \"secondary\": \"#918dab\",\n \"inverse\": \"#191724\"\n },\n \"brand\": {\n \"primary\": \"#c4a7e7\",\n \"primaryText\": \"#191724\"\n },\n \"state\": {\n \"info\": \"#9ccfd8\",\n \"success\": \"#31748f\",\n \"warning\": \"#f6c177\",\n \"danger\": \"#eb6f92\",\n \"successText\": \"#f6f6f6\",\n \"infoText\": \"#191724\",\n \"warningText\": \"#191724\",\n \"dangerText\": \"#191724\"\n },\n \"border\": {\n \"default\": \"#403d52\"\n },\n \"accent\": {\n \"link\": \"#c4a7e7\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#31748f\",\n \"h2\": \"#c4a7e7\",\n \"h3\": \"#9ccfd8\",\n \"h4\": \"#f6c177\",\n \"h5\": \"#ebbcba\",\n \"h6\": \"#eb6f92\"\n },\n \"body\": {\n \"primary\": \"#e0def4\",\n \"secondary\": \"#908caa\"\n },\n \"link\": {\n \"default\": \"#c4a7e7\"\n },\n \"selection\": {\n \"fg\": \"#e0def4\",\n \"bg\": \"#524f67\"\n },\n \"blockquote\": {\n \"border\": \"#524f67\",\n \"fg\": \"#e0def4\",\n \"bg\": \"#1f1d2e\"\n },\n \"codeInline\": {\n \"fg\": \"#e0def4\",\n \"bg\": \"#26233a\"\n },\n \"codeBlock\": {\n \"fg\": \"#e0def4\",\n \"bg\": \"#26233a\"\n },\n \"table\": {\n \"border\": \"#524f67\",\n \"stripe\": \"#26233a\",\n \"theadBg\": \"#403d52\"\n }\n }\n }\n },\n \"solarized-dark\": {\n \"id\": \"solarized-dark\",\n \"label\": \"Solarized Dark\",\n \"vendor\": \"solarized\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#002b36\",\n \"surface\": \"#073642\",\n \"overlay\": \"#586e75\"\n },\n \"text\": {\n \"primary\": \"#eff2f2\",\n \"secondary\": \"#f0f2f3\",\n \"inverse\": \"#002b36\"\n },\n \"brand\": {\n \"primary\": \"#268bd2\",\n \"primaryText\": \"#001d24\"\n },\n \"state\": {\n \"info\": \"#2aa198\",\n \"success\": \"#859900\",\n \"warning\": \"#b58900\",\n \"danger\": \"#d8312e\",\n \"dangerText\": \"#ffffff\",\n \"infoText\": \"#002b36\",\n \"successText\": \"#002934\",\n \"warningText\": \"#002934\"\n },\n \"border\": {\n \"default\": \"#586e75\"\n },\n \"accent\": {\n \"link\": \"#e9f3fa\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#268bd2\",\n \"h2\": \"#2aa198\",\n \"h3\": \"#859900\",\n \"h4\": \"#b58900\",\n \"h5\": \"#ce5422\",\n \"h6\": \"#d53e87\"\n },\n \"body\": {\n \"primary\": \"#90a0a1\",\n \"secondary\": \"#91a0a6\"\n },\n \"link\": {\n \"default\": \"#e9f3fa\"\n },\n \"selection\": {\n \"fg\": \"#fdf6e3\",\n \"bg\": \"#586e75\"\n },\n \"blockquote\": {\n \"border\": \"#657b83\",\n \"fg\": \"#92a0a2\",\n \"bg\": \"#073642\"\n },\n \"codeInline\": {\n \"fg\": \"#43aca4\",\n \"bg\": \"#073642\"\n },\n \"codeBlock\": {\n \"fg\": \"#93a1a1\",\n \"bg\": \"#073642\"\n },\n \"table\": {\n \"border\": \"#586e75\",\n \"stripe\": \"#073642\",\n \"theadBg\": \"#283336\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#073642\",\n \"border\": \"#586e75\",\n \"headerBg\": \"#002b36\",\n \"footerBg\": \"#073642\"\n },\n \"message\": {\n \"bg\": \"#002b36\",\n \"headerBg\": \"#073642\",\n \"border\": \"#586e75\",\n \"bodyFg\": \"#839496\"\n },\n \"panel\": {\n \"bg\": \"#073642\",\n \"headerBg\": \"#002b36\",\n \"headerFg\": \"#93a1a1\",\n \"border\": \"#586e75\",\n \"blockBg\": \"#002b36\",\n \"blockHoverBg\": \"#073642\",\n \"blockActiveBg\": \"#586e75\"\n },\n \"box\": {\n \"bg\": \"#073642\",\n \"border\": \"#586e75\"\n },\n \"notification\": {\n \"bg\": \"#002b36\",\n \"border\": \"#586e75\"\n },\n \"modal\": {\n \"bg\": \"rgba(0, 43, 54, 0.9)\",\n \"cardBg\": \"#073642\",\n \"headerBg\": \"#002b36\",\n \"footerBg\": \"#073642\"\n },\n \"dropdown\": {\n \"bg\": \"#073642\",\n \"itemHoverBg\": \"#586e75\",\n \"border\": \"#586e75\"\n },\n \"tabs\": {\n \"border\": \"#586e75\",\n \"linkBg\": \"#073642\",\n \"linkActiveBg\": \"#002b36\",\n \"linkHoverBg\": \"#586e75\"\n }\n }\n }\n },\n \"solarized-light\": {\n \"id\": \"solarized-light\",\n \"label\": \"Solarized Light\",\n \"vendor\": \"solarized\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#fdf6e3\",\n \"surface\": \"#eee8d5\",\n \"overlay\": \"#93a1a1\"\n },\n \"text\": {\n \"primary\": \"#293437\",\n \"secondary\": \"#2a3437\",\n \"inverse\": \"#fdf6e3\"\n },\n \"brand\": {\n \"primary\": \"#268bd2\",\n \"primaryText\": \"#191917\"\n },\n \"state\": {\n \"info\": \"#2aa198\",\n \"success\": \"#859900\",\n \"warning\": \"#b58900\",\n \"danger\": \"#d8312e\",\n \"infoText\": \"#262522\",\n \"successText\": \"#262522\",\n \"warningText\": \"#262522\",\n \"dangerText\": \"#fffffe\"\n },\n \"border\": {\n \"default\": \"#93a1a1\"\n },\n \"accent\": {\n \"link\": \"#0e354f\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#268bd2\",\n \"h2\": \"#26938b\",\n \"h3\": \"#7b8c00\",\n \"h4\": \"#a67e00\",\n \"h5\": \"#cb4b16\",\n \"h6\": \"#d33682\"\n },\n \"body\": {\n \"primary\": \"#52686e\",\n \"secondary\": \"#54686e\"\n },\n \"link\": {\n \"default\": \"#0e354f\"\n },\n \"selection\": {\n \"fg\": \"#002b36\",\n \"bg\": \"#93a1a1\"\n },\n \"blockquote\": {\n \"border\": \"#93a1a1\",\n \"fg\": \"#55686f\",\n \"bg\": \"#eee8d5\"\n },\n \"codeInline\": {\n \"fg\": \"#5a5ea4\",\n \"bg\": \"#eee8d5\"\n },\n \"codeBlock\": {\n \"fg\": \"#073642\",\n \"bg\": \"#eee8d5\"\n },\n \"table\": {\n \"border\": \"#93a1a1\",\n \"stripe\": \"#eee8d5\",\n \"theadBg\": \"#eee8d5\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#fdf6e3\",\n \"border\": \"#93a1a1\",\n \"headerBg\": \"#eee8d5\",\n \"footerBg\": \"#eee8d5\"\n },\n \"message\": {\n \"bg\": \"#eee8d5\",\n \"headerBg\": \"#fdf6e3\",\n \"border\": \"#93a1a1\",\n \"bodyFg\": \"#586e75\"\n },\n \"panel\": {\n \"bg\": \"#fdf6e3\",\n \"headerBg\": \"#eee8d5\",\n \"headerFg\": \"#073642\",\n \"border\": \"#93a1a1\",\n \"blockBg\": \"#eee8d5\",\n \"blockHoverBg\": \"#fdf6e3\",\n \"blockActiveBg\": \"#93a1a1\"\n },\n \"box\": {\n \"bg\": \"#fdf6e3\",\n \"border\": \"#93a1a1\"\n },\n \"notification\": {\n \"bg\": \"#eee8d5\",\n \"border\": \"#93a1a1\"\n },\n \"modal\": {\n \"bg\": \"rgba(0, 43, 54, 0.86)\",\n \"cardBg\": \"#fdf6e3\",\n \"headerBg\": \"#eee8d5\",\n \"footerBg\": \"#eee8d5\"\n },\n \"dropdown\": {\n \"bg\": \"#fdf6e3\",\n \"itemHoverBg\": \"#eee8d5\",\n \"border\": \"#93a1a1\"\n },\n \"tabs\": {\n \"border\": \"#93a1a1\",\n \"linkBg\": \"#eee8d5\",\n \"linkActiveBg\": \"#fdf6e3\",\n \"linkHoverBg\": \"#93a1a1\"\n }\n }\n }\n },\n \"terminal\": {\n \"id\": \"terminal\",\n \"label\": \"Terminal\",\n \"vendor\": \"turbo\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#0d0d0d\",\n \"surface\": \"#080808\",\n \"overlay\": \"#111111\"\n },\n \"text\": {\n \"primary\": \"#c8ffc8\",\n \"secondary\": \"#8fbc8f\",\n \"inverse\": \"#0d0d0d\"\n },\n \"brand\": {\n \"primary\": \"#39ff14\",\n \"primaryText\": \"#0d0d0d\"\n },\n \"state\": {\n \"info\": \"#7dd3fc\",\n \"success\": \"#39ff14\",\n \"warning\": \"#ffb000\",\n \"danger\": \"#ff4444\",\n \"infoText\": \"#0d0d0d\",\n \"successText\": \"#0d0d0d\",\n \"warningText\": \"#0d0d0d\",\n \"dangerText\": \"#0d0d0d\"\n },\n \"border\": {\n \"default\": \"#1f3d1f\"\n },\n \"accent\": {\n \"link\": \"#7dd3fc\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"\\\"IBM Plex Mono\\\", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\",\n \"mono\": \"\\\"IBM Plex Mono\\\", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#39ff14\",\n \"h2\": \"#7dd3fc\",\n \"h3\": \"#ffb000\",\n \"h4\": \"#39ff14\",\n \"h5\": \"#8fbc8f\",\n \"h6\": \"#c8ffc8\"\n },\n \"body\": {\n \"primary\": \"#c8ffc8\",\n \"secondary\": \"#8fbc8f\"\n },\n \"link\": {\n \"default\": \"#7dd3fc\"\n },\n \"selection\": {\n \"fg\": \"#0d0d0d\",\n \"bg\": \"#39ff14\"\n },\n \"blockquote\": {\n \"border\": \"#39ff14\",\n \"fg\": \"#8fbc8f\",\n \"bg\": \"#111111\"\n },\n \"codeInline\": {\n \"fg\": \"#ffb000\",\n \"bg\": \"#111111\"\n },\n \"codeBlock\": {\n \"fg\": \"#c8ffc8\",\n \"bg\": \"#080808\"\n },\n \"table\": {\n \"border\": \"#1f3d1f\",\n \"stripe\": \"#111111\",\n \"theadBg\": \"#080808\",\n \"headerFg\": \"#c8ffc8\"\n }\n }\n }\n },\n \"tokyo-night-dark\": {\n \"id\": \"tokyo-night-dark\",\n \"label\": \"Tokyo Night Dark\",\n \"vendor\": \"tokyo-night\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#1a1b26\",\n \"surface\": \"#24283b\",\n \"overlay\": \"#28344a\"\n },\n \"text\": {\n \"primary\": \"#c0caf5\",\n \"secondary\": \"#a9b1d6\",\n \"inverse\": \"#1a1b26\"\n },\n \"brand\": {\n \"primary\": \"#7aa2f7\",\n \"primaryText\": \"#1a1b26\"\n },\n \"state\": {\n \"info\": \"#7dcfff\",\n \"success\": \"#9ece6a\",\n \"warning\": \"#e0af68\",\n \"danger\": \"#f7768e\",\n \"infoText\": \"#1a1b26\",\n \"successText\": \"#1a1b26\",\n \"warningText\": \"#1a1b26\",\n \"dangerText\": \"#1a1b26\"\n },\n \"border\": {\n \"default\": \"#565f89\"\n },\n \"accent\": {\n \"link\": \"#7aa2f7\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#7aa2f7\",\n \"h2\": \"#bb9af7\",\n \"h3\": \"#7dcfff\",\n \"h4\": \"#e0af68\",\n \"h5\": \"#ff9e64\",\n \"h6\": \"#f7768e\"\n },\n \"body\": {\n \"primary\": \"#c0caf5\",\n \"secondary\": \"#a9b1d6\"\n },\n \"link\": {\n \"default\": \"#7aa2f7\"\n },\n \"selection\": {\n \"fg\": \"#c0caf5\",\n \"bg\": \"#28344a\"\n },\n \"blockquote\": {\n \"border\": \"#565f89\",\n \"fg\": \"#a9b1d6\",\n \"bg\": \"#24283b\"\n },\n \"codeInline\": {\n \"fg\": \"#c0caf5\",\n \"bg\": \"#28344a\"\n },\n \"codeBlock\": {\n \"fg\": \"#c0caf5\",\n \"bg\": \"#28344a\"\n },\n \"table\": {\n \"border\": \"#565f89\",\n \"stripe\": \"#24283b\",\n \"theadBg\": \"#28344a\"\n }\n }\n }\n },\n \"tokyo-night-light\": {\n \"id\": \"tokyo-night-light\",\n \"label\": \"Tokyo Night Light\",\n \"vendor\": \"tokyo-night\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#e6e7ed\",\n \"surface\": \"#d5d6dc\",\n \"overlay\": \"#c8d3f5\"\n },\n \"text\": {\n \"primary\": \"#343b58\",\n \"secondary\": \"#40434f\",\n \"inverse\": \"#e6e7ed\"\n },\n \"brand\": {\n \"primary\": \"#2e7de9\",\n \"primaryText\": \"#0b0b0b\"\n },\n \"state\": {\n \"info\": \"#0089a5\",\n \"success\": \"#31876d\",\n \"warning\": \"#8c6c3e\",\n \"danger\": \"#d81159\",\n \"infoText\": \"#0c0c0c\",\n \"successText\": \"#020202\",\n \"warningText\": \"#fdfdfd\",\n \"dangerText\": \"#f7f8f9\"\n },\n \"border\": {\n \"default\": \"#b0b4ca\"\n },\n \"accent\": {\n \"link\": \"#2057a2\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#2c77dd\",\n \"h2\": \"#7847bd\",\n \"h3\": \"#00849e\",\n \"h4\": \"#8c6c3e\",\n \"h5\": \"#bc5e3b\",\n \"h6\": \"#d81159\"\n },\n \"body\": {\n \"primary\": \"#343b58\",\n \"secondary\": \"#40434f\"\n },\n \"link\": {\n \"default\": \"#2057a2\"\n },\n \"selection\": {\n \"fg\": \"#343b58\",\n \"bg\": \"#c8d3f5\"\n },\n \"blockquote\": {\n \"border\": \"#b0b4ca\",\n \"fg\": \"#40434f\",\n \"bg\": \"#e6e7ed\"\n },\n \"codeInline\": {\n \"fg\": \"#343b58\",\n \"bg\": \"#c8d3f5\"\n },\n \"codeBlock\": {\n \"fg\": \"#343b58\",\n \"bg\": \"#c8d3f5\"\n },\n \"table\": {\n \"border\": \"#b0b4ca\",\n \"stripe\": \"#e6e7ed\",\n \"theadBg\": \"#c8d3f5\"\n }\n }\n }\n },\n \"tokyo-night-storm\": {\n \"id\": \"tokyo-night-storm\",\n \"label\": \"Tokyo Night Storm\",\n \"vendor\": \"tokyo-night\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#24283b\",\n \"surface\": \"#28344a\",\n \"overlay\": \"#565f89\"\n },\n \"text\": {\n \"primary\": \"#dbe1f9\",\n \"secondary\": \"#dee1ef\",\n \"inverse\": \"#24283b\"\n },\n \"brand\": {\n \"primary\": \"#7aa2f7\",\n \"primaryText\": \"#24283b\"\n },\n \"state\": {\n \"info\": \"#7dcfff\",\n \"success\": \"#9ece6a\",\n \"warning\": \"#e0af68\",\n \"danger\": \"#f7768e\",\n \"infoText\": \"#24283b\",\n \"successText\": \"#24283b\",\n \"warningText\": \"#24283b\",\n \"dangerText\": \"#24283b\"\n },\n \"border\": {\n \"default\": \"#565f89\"\n },\n \"accent\": {\n \"link\": \"#d6e2fd\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#7aa2f7\",\n \"h2\": \"#bb9af7\",\n \"h3\": \"#7dcfff\",\n \"h4\": \"#e0af68\",\n \"h5\": \"#ff9e64\",\n \"h6\": \"#f7768e\"\n },\n \"body\": {\n \"primary\": \"#c0caf5\",\n \"secondary\": \"#a9b1d6\"\n },\n \"link\": {\n \"default\": \"#d6e2fd\"\n },\n \"selection\": {\n \"fg\": \"#c0caf5\",\n \"bg\": \"#28344a\"\n },\n \"blockquote\": {\n \"border\": \"#565f89\",\n \"fg\": \"#a9b1d6\",\n \"bg\": \"#28344a\"\n },\n \"codeInline\": {\n \"fg\": \"#c0caf5\",\n \"bg\": \"#28344a\"\n },\n \"codeBlock\": {\n \"fg\": \"#c0caf5\",\n \"bg\": \"#28344a\"\n },\n \"table\": {\n \"border\": \"#565f89\",\n \"stripe\": \"#28344a\",\n \"theadBg\": \"#28344a\"\n }\n }\n }\n }\n },\n \"byVendor\": {\n \"ayu\": {\n \"name\": \"Ayu\",\n \"homepage\": \"https://github.com/ayu-theme\",\n \"themes\": [\n \"ayu-dark\",\n \"ayu-light\",\n \"ayu-mirage\"\n ]\n },\n \"bulma\": {\n \"name\": \"Bulma\",\n \"homepage\": \"https://bulma.io/\",\n \"themes\": [\n \"bulma-dark\",\n \"bulma-light\"\n ]\n },\n \"catppuccin\": {\n \"name\": \"Catppuccin (synced)\",\n \"homepage\": \"https://catppuccin.com/palette/\",\n \"themes\": [\n \"catppuccin-frappe\",\n \"catppuccin-latte\",\n \"catppuccin-macchiato\",\n \"catppuccin-mocha\"\n ]\n },\n \"dracula\": {\n \"name\": \"Dracula\",\n \"homepage\": \"https://draculatheme.com/\",\n \"themes\": [\n \"dracula\"\n ]\n },\n \"everforest\": {\n \"name\": \"Everforest\",\n \"homepage\": \"https://github.com/sainnhe/everforest\",\n \"themes\": [\n \"everforest-dark-hard\",\n \"everforest-dark-soft\",\n \"everforest-dark\",\n \"everforest-light-hard\",\n \"everforest-light-soft\",\n \"everforest-light\"\n ]\n },\n \"github\": {\n \"name\": \"GitHub (synced)\",\n \"homepage\": \"https://primer.style/\",\n \"themes\": [\n \"github-dark\",\n \"github-light\"\n ]\n },\n \"gruvbox\": {\n \"name\": \"Gruvbox\",\n \"homepage\": \"https://github.com/morhetz/gruvbox\",\n \"themes\": [\n \"gruvbox-dark-hard\",\n \"gruvbox-dark-soft\",\n \"gruvbox-dark\",\n \"gruvbox-light-hard\",\n \"gruvbox-light-soft\",\n \"gruvbox-light\"\n ]\n },\n \"kanagawa\": {\n \"name\": \"Kanagawa\",\n \"homepage\": \"https://github.com/rebelot/kanagawa.nvim\",\n \"themes\": [\n \"kanagawa-dragon\",\n \"kanagawa-lotus\",\n \"kanagawa-wave\"\n ]\n },\n \"nord\": {\n \"name\": \"Nord\",\n \"homepage\": \"https://www.nordtheme.com/\",\n \"themes\": [\n \"nord\"\n ]\n },\n \"one-dark\": {\n \"name\": \"One\",\n \"homepage\": \"https://github.com/Binaryify/OneDark-Pro\",\n \"themes\": [\n \"one-dark\",\n \"one-light\"\n ]\n },\n \"radix\": {\n \"name\": \"Radix Colors (synced)\",\n \"homepage\": \"https://www.radix-ui.com/colors\",\n \"themes\": [\n \"radix-mauve-dark\",\n \"radix-mauve-light\",\n \"radix-slate-dark\",\n \"radix-slate-light\"\n ]\n },\n \"rose-pine\": {\n \"name\": \"Rosé Pine (synced)\",\n \"homepage\": \"https://rosepinetheme.com/\",\n \"themes\": [\n \"rose-pine-dawn\",\n \"rose-pine-moon\",\n \"rose-pine\"\n ]\n },\n \"solarized\": {\n \"name\": \"Solarized\",\n \"homepage\": \"https://ethanschoonover.com/solarized/\",\n \"themes\": [\n \"solarized-dark\",\n \"solarized-light\"\n ]\n },\n \"turbo\": {\n \"name\": \"Terminal\",\n \"homepage\": \"https://github.com/lgtm-hq/turbo-themes\",\n \"themes\": [\n \"terminal\"\n ]\n },\n \"tokyo-night\": {\n \"name\": \"Tokyo Night\",\n \"homepage\": \"https://github.com/enkia/tokyo-night-vscode-theme\",\n \"themes\": [\n \"tokyo-night-dark\",\n \"tokyo-night-light\",\n \"tokyo-night-storm\"\n ]\n }\n }\n}\n","// SPDX-License-Identifier: MIT\n/**\n * Platform-agnostic design tokens export\n *\n * This module exports pure theme data (colors, typography, etc.) without\n * any DOM, CSS, or platform-specific code. Use this for:\n *\n * - React Native apps\n * - Flutter apps (via JSON export)\n * - iOS/Android native apps\n * - Any platform that needs theme colors\n *\n * For web apps, you can also import the CSS files directly:\n * import '@lgtm-hq/turbo-themes/css/catppuccin-mocha.css'\n */\nexport { THEME_IDS } from '../themes/theme-ids.js';\n// Import tokens data (copied from dist/tokens.json during build)\nimport tokensData from '../themes/tokens.json' with { type: 'json' };\nconst tokens = tokensData;\n/**\n * All available theme flavors as a flat array\n */\nexport const flavors = Object.values(tokens.themes).map((theme) => ({\n id: theme.id,\n label: theme.label,\n vendor: theme.vendor,\n appearance: theme.appearance,\n ...(theme.iconUrl !== undefined && { iconUrl: theme.iconUrl }),\n tokens: theme.tokens,\n}));\n/**\n * Theme flavors indexed by ID for quick lookup\n */\nexport const themesById = /*#__PURE__*/ Object.fromEntries(flavors.map((flavor) => [flavor.id, flavor]));\n/**\n * All available theme packages (grouped by vendor)\n */\nexport const packages = /*#__PURE__*/ Object.fromEntries(Object.entries(tokens.byVendor).map(([vendorId, vendor]) => [\n vendorId,\n {\n id: vendorId,\n name: vendor.name,\n homepage: vendor.homepage,\n flavors: vendor.themes.map((themeId) => themesById[themeId]).filter(Boolean),\n },\n]));\n/**\n * Get a theme by ID\n * @param id - Theme identifier (e.g., 'catppuccin-mocha')\n * @returns The theme flavor or undefined if not found\n */\nexport function getTheme(id) {\n return themesById[id];\n}\n/**\n * Get theme tokens by ID (convenience function)\n * @param id - Theme identifier (e.g., 'catppuccin-mocha')\n * @returns The theme tokens or undefined if not found\n */\nexport function getTokens(id) {\n return themesById[id]?.tokens;\n}\n/**\n * Get all themes matching an appearance (light/dark)\n * @param appearance - 'light' or 'dark'\n * @returns Array of matching theme flavors\n */\nexport function getThemesByAppearance(appearance) {\n return flavors.filter((f) => f.appearance === appearance);\n}\n/**\n * Get all themes from a specific vendor\n * @param vendor - Vendor name (e.g., 'catppuccin', 'github')\n * @returns Array of matching theme flavors\n */\nexport function getThemesByVendor(vendor) {\n return flavors.filter((f) => f.vendor === vendor);\n}\n/**\n * List of all available theme IDs\n */\nexport const themeIds = /*#__PURE__*/ flavors.map((f) => f.id);\n/**\n * List of all available vendors\n */\nexport const vendors = /*#__PURE__*/ [...new Set(flavors.map((f) => f.vendor))];\n//# sourceMappingURL=index.js.map","// SPDX-License-Identifier: MIT\n// AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY\n// Generated from: schema/tokens/themes/*.tokens.json + schema/tokens/_vendors.json\n// Generator: scripts/codegen/generate-metadata.mjs\n// Run: bun run generate:metadata\n/**\n * All theme IDs as a readonly tuple (sorted by token filename).\n * Used to derive the {@link ThemeId} literal union.\n */\nexport const THEME_IDS = [\n 'ayu-dark',\n 'ayu-light',\n 'ayu-mirage',\n 'bulma-dark',\n 'bulma-light',\n 'catppuccin-frappe',\n 'catppuccin-latte',\n 'catppuccin-macchiato',\n 'catppuccin-mocha',\n 'dracula',\n 'everforest-dark-hard',\n 'everforest-dark-soft',\n 'everforest-dark',\n 'everforest-light-hard',\n 'everforest-light-soft',\n 'everforest-light',\n 'github-dark',\n 'github-light',\n 'gruvbox-dark-hard',\n 'gruvbox-dark-soft',\n 'gruvbox-dark',\n 'gruvbox-light-hard',\n 'gruvbox-light-soft',\n 'gruvbox-light',\n 'kanagawa-dragon',\n 'kanagawa-lotus',\n 'kanagawa-wave',\n 'nord',\n 'one-dark',\n 'one-light',\n 'radix-mauve-dark',\n 'radix-mauve-light',\n 'radix-slate-dark',\n 'radix-slate-light',\n 'rose-pine-dawn',\n 'rose-pine-moon',\n 'rose-pine',\n 'solarized-dark',\n 'solarized-light',\n 'terminal',\n 'tokyo-night-dark',\n 'tokyo-night-light',\n 'tokyo-night-storm',\n];\n/**\n * Ordered list of vendor IDs controlling display order in dropdowns.\n * Source: schema/tokens/_vendors.json\n */\nexport const VENDOR_ORDER = [\n 'catppuccin',\n 'dracula',\n 'everforest',\n 'gruvbox',\n 'github',\n 'bulma',\n 'nord',\n 'radix',\n 'solarized',\n 'rose-pine',\n 'tokyo-night',\n 'kanagawa',\n 'one-dark',\n 'ayu',\n 'turbo',\n];\n/** Per-theme human-readable descriptions for UI pickers. */\nexport const THEME_DESCRIPTIONS = {\n \"ayu-dark\": \"Deep Ayu dark theme for low-light environments.\",\n \"ayu-light\": \"Bright Ayu palette designed for comfortable daytime coding.\",\n \"ayu-mirage\": \"Soft dark Ayu variant with subtle, muted accents.\",\n \"bulma-dark\": \"Dark Bulma theme tuned for low-light reading.\",\n \"bulma-light\": \"Classic Bulma look with a bright, neutral palette.\",\n \"catppuccin-frappe\": \"Balanced dark Catppuccin theme for focused work.\",\n \"catppuccin-latte\": \"Light, soft Catppuccin palette for daytime use.\",\n \"catppuccin-macchiato\": \"Deep, atmospheric Catppuccin variant with rich contrast.\",\n \"catppuccin-mocha\": \"Cozy, high-contrast Catppuccin theme for late-night sessions.\",\n \"dracula\": \"Iconic Dracula dark theme with vibrant accents.\",\n \"everforest-dark-hard\": \"Highest contrast dark Everforest palette with deep forest shadows.\",\n \"everforest-dark-soft\": \"Softer dark Everforest palette with reduced contrast.\",\n \"everforest-dark\": \"Classic Everforest dark palette with warm, natural greens.\",\n \"everforest-light-hard\": \"Bright, crisp Everforest light palette with extra contrast.\",\n \"everforest-light-soft\": \"Soft, low-contrast Everforest light palette for long sessions.\",\n \"everforest-light\": \"Classic Everforest light palette with warm paper tones.\",\n \"github-dark\": \"GitHub dark theme optimized for code-heavy views.\",\n \"github-light\": \"GitHub-inspired light theme suited for documentation and UI heavy pages.\",\n \"gruvbox-dark-hard\": \"Highest contrast dark Gruvbox palette with deep shadows.\",\n \"gruvbox-dark-soft\": \"Softer dark Gruvbox palette with reduced contrast.\",\n \"gruvbox-dark\": \"Classic Gruvbox dark palette with warm, muted tones.\",\n \"gruvbox-light-hard\": \"Bright, crisp Gruvbox light palette with extra contrast.\",\n \"gruvbox-light-soft\": \"Soft, low-contrast Gruvbox light palette for long sessions.\",\n \"gruvbox-light\": \"Classic Gruvbox light palette with warm paper tones.\",\n \"kanagawa-dragon\": \"Darker Kanagawa variant for late-night sessions.\",\n \"kanagawa-lotus\": \"Light Kanagawa palette for daytime use.\",\n \"kanagawa-wave\": \"Heart-warming dark Kanagawa palette inspired by The Great Wave.\",\n \"nord\": \"Arctic, north-bluish color palette inspired by the polar night.\",\n \"one-dark\": \"The classic Atom One Dark palette with vivid syntax accents.\",\n \"one-light\": \"Companion One Light palette for bright, daytime editing.\",\n \"radix-mauve-dark\": \"Neutral purple-gray Radix dark theme for accessible UIs.\",\n \"radix-mauve-light\": \"Neutral purple-gray Radix light theme for accessible UIs.\",\n \"radix-slate-dark\": \"Neutral blue-gray Radix dark theme for accessible UIs.\",\n \"radix-slate-light\": \"Neutral blue-gray Radix light theme for accessible UIs.\",\n \"rose-pine-dawn\": \"Light Rosé Pine variant for daytime use.\",\n \"rose-pine-moon\": \"Deeper variant of Rosé Pine with enhanced contrast.\",\n \"rose-pine\": \"Elegant dark theme with natural pine and soho vibes.\",\n \"solarized-dark\": \"Solarized Dark with a balanced, low-contrast palette.\",\n \"solarized-light\": \"Solarized Light tuned for bright, daylight-friendly UIs.\",\n \"terminal\": \"CRT phosphor green on void with IBM Plex Mono.\",\n \"tokyo-night-dark\": \"Deep midnight blues with neon accents.\",\n \"tokyo-night-light\": \"Clean daylight palette inspired by Tokyo mornings.\",\n \"tokyo-night-storm\": \"Stormy variant with richer contrast and depth.\"\n};\n/** Per-theme icon filenames relative to assets/img/. */\nexport const THEME_ICONS = {\n \"ayu-dark\": \"ayu-dark.png\",\n \"ayu-light\": \"ayu-light.png\",\n \"ayu-mirage\": \"ayu-mirage.png\",\n \"bulma-dark\": \"bulma-logo-dark.png\",\n \"bulma-light\": \"bulma-logo.png\",\n \"catppuccin-frappe\": \"catppuccin-logo-macchiato.png\",\n \"catppuccin-latte\": \"catppuccin-logo-latte.png\",\n \"catppuccin-macchiato\": \"catppuccin-logo-macchiato.png\",\n \"catppuccin-mocha\": \"catppuccin-logo-macchiato.png\",\n \"dracula\": \"dracula-logo.png\",\n \"everforest-dark-hard\": \"everforest-dark-hard.png\",\n \"everforest-dark-soft\": \"everforest-dark-soft.png\",\n \"everforest-dark\": \"everforest-dark.png\",\n \"everforest-light-hard\": \"everforest-light-hard.png\",\n \"everforest-light-soft\": \"everforest-light-soft.png\",\n \"everforest-light\": \"everforest-light.png\",\n \"github-dark\": \"github-logo-dark.png\",\n \"github-light\": \"github-logo-light.png\",\n \"gruvbox-dark-hard\": \"gruvbox-dark-hard.png\",\n \"gruvbox-dark-soft\": \"gruvbox-dark-soft.png\",\n \"gruvbox-dark\": \"gruvbox-dark.png\",\n \"gruvbox-light-hard\": \"gruvbox-light-hard.png\",\n \"gruvbox-light-soft\": \"gruvbox-light-soft.png\",\n \"gruvbox-light\": \"gruvbox-light.png\",\n \"kanagawa-dragon\": \"kanagawa-dragon.png\",\n \"kanagawa-lotus\": \"kanagawa-lotus.png\",\n \"kanagawa-wave\": \"kanagawa-wave.png\",\n \"nord\": \"nord.png\",\n \"one-dark\": \"one-dark.png\",\n \"one-light\": \"one-light.png\",\n \"radix-mauve-dark\": \"radix-slate-dark.png\",\n \"radix-mauve-light\": \"radix-slate-light.png\",\n \"radix-slate-dark\": \"radix-slate-dark.png\",\n \"radix-slate-light\": \"radix-slate-light.png\",\n \"rose-pine-dawn\": \"rose-pine.png\",\n \"rose-pine-moon\": \"rose-pine.png\",\n \"rose-pine\": \"rose-pine.png\",\n \"solarized-dark\": \"solarized-dark.png\",\n \"solarized-light\": \"solarized-light.png\",\n \"terminal\": \"terminal.png\",\n \"tokyo-night-dark\": \"tokyo-night.png\",\n \"tokyo-night-light\": \"tokyo-night.png\",\n \"tokyo-night-storm\": \"tokyo-night.png\"\n};\n/** Per-vendor default icons (filename or light/dark pair). */\nexport const VENDOR_ICONS = {\n \"catppuccin\": {\n \"light\": \"catppuccin-logo-latte.png\",\n \"dark\": \"catppuccin-logo-macchiato.png\"\n },\n \"dracula\": \"dracula-logo.png\",\n \"everforest\": {\n \"light\": \"everforest-light.png\",\n \"dark\": \"everforest-dark.png\"\n },\n \"gruvbox\": {\n \"light\": \"gruvbox-light.png\",\n \"dark\": \"gruvbox-dark.png\"\n },\n \"github\": {\n \"light\": \"github-logo-light.png\",\n \"dark\": \"github-logo-dark.png\"\n },\n \"bulma\": {\n \"light\": \"bulma-logo.png\",\n \"dark\": \"bulma-logo-dark.png\"\n },\n \"nord\": \"nord.png\",\n \"radix\": {\n \"light\": \"radix-slate-light.png\",\n \"dark\": \"radix-slate-dark.png\"\n },\n \"solarized\": {\n \"light\": \"solarized-light.png\",\n \"dark\": \"solarized-dark.png\"\n },\n \"rose-pine\": \"rose-pine.png\",\n \"tokyo-night\": \"tokyo-night.png\",\n \"kanagawa\": {\n \"light\": \"kanagawa-lotus.png\",\n \"dark\": \"kanagawa-wave.png\"\n },\n \"one-dark\": {\n \"light\": \"one-light.png\",\n \"dark\": \"one-dark.png\"\n },\n \"ayu\": {\n \"light\": \"ayu-light.png\",\n \"dark\": \"ayu-dark.png\"\n },\n \"turbo\": \"terminal.png\"\n};\n/** Per-vendor family display metadata. */\nexport const VENDOR_FAMILY_META = {\n \"catppuccin\": {\n \"name\": \"Catppuccin\",\n \"description\": \"Soothing pastel themes\"\n },\n \"dracula\": {\n \"name\": \"Dracula\",\n \"description\": \"Dark vampire aesthetic\"\n },\n \"everforest\": {\n \"name\": \"Everforest\",\n \"description\": \"Green-based, nature-inspired palette designed for eye comfort\"\n },\n \"gruvbox\": {\n \"name\": \"Gruvbox\",\n \"description\": \"Retro groove palette with warm, earthy tones\"\n },\n \"github\": {\n \"name\": \"GitHub\",\n \"description\": \"GitHub-inspired themes\"\n },\n \"bulma\": {\n \"name\": \"Bulma\",\n \"description\": \"Classic Bulma themes\"\n },\n \"nord\": {\n \"name\": \"Nord\",\n \"description\": \"Arctic, north-bluish color palette\"\n },\n \"radix\": {\n \"name\": \"Radix Colors\",\n \"description\": \"Accessibility-focused color system with comprehensive scales\"\n },\n \"solarized\": {\n \"name\": \"Solarized\",\n \"description\": \"Precision-balanced light and dark modes\"\n },\n \"rose-pine\": {\n \"name\": \"Rosé Pine\",\n \"description\": \"All natural pine, faux fur and a bit of soho vibes\"\n },\n \"tokyo-night\": {\n \"name\": \"Tokyo Night\",\n \"description\": \"Neon-infused nightscape with crisp contrast\"\n },\n \"kanagawa\": {\n \"name\": \"Kanagawa\",\n \"description\": \"Japanese-inspired palette drawn from The Great Wave off Kanagawa\"\n },\n \"one-dark\": {\n \"name\": \"One\",\n \"description\": \"The iconic Atom editor palette in dark and light\"\n },\n \"ayu\": {\n \"name\": \"Ayu\",\n \"description\": \"Bright colors designed for comfortable all-day coding\"\n },\n \"turbo\": {\n \"name\": \"Terminal\",\n \"description\": \"CRT phosphor green on void\"\n }\n};\n//# sourceMappingURL=metadata.js.map","// SPDX-License-Identifier: MIT\n/**\n * Consolidated theme metadata derived from tokens.json.\n *\n * All display metadata (names, appearances, vendor groups) is computed from\n * the canonical token data at module evaluation time. Consumers should import\n * from here instead of maintaining their own hardcoded copies.\n *\n * Vendor order and ThemeId come from build-time codegen\n * (`packages/core/src/themes/generated/metadata.ts`).\n */\nimport { flavors, themeIds, packages } from '../tokens/index.js';\nimport { VENDOR_ORDER as GENERATED_VENDOR_ORDER } from './generated/metadata.js';\nexport { THEME_IDS, THEME_DESCRIPTIONS, THEME_ICONS, VENDOR_ICONS, VENDOR_FAMILY_META, } from './generated/metadata.js';\n/** Default theme applied when no preference is stored. */\nexport const DEFAULT_THEME = 'catppuccin-mocha';\n/** All valid theme IDs (re-export for convenience). */\nexport const VALID_THEMES = themeIds;\n/** Set of valid theme IDs for O(1) lookup. */\nexport const VALID_THEME_SET = /*#__PURE__*/ new Set(themeIds);\n/** Full human-readable label for each theme (e.g., \"Catppuccin Mocha\"). */\nexport const THEME_NAMES = /*#__PURE__*/ Object.fromEntries(flavors.map((f) => [f.id, f.label]));\n/** Appearance (light/dark) for each theme. */\nexport const THEME_APPEARANCES = \n/*#__PURE__*/ Object.fromEntries(flavors.map((f) => [f.id, f.appearance]));\n/**\n * Ordered list of vendor IDs controlling display order in dropdowns.\n * Generated from schema/tokens/_vendors.json — do not edit by hand.\n */\nexport const VENDOR_ORDER = GENERATED_VENDOR_ORDER;\n/**\n * Ordered array of vendor groups derived from packages + VENDOR_ORDER.\n * The \"(synced)\" suffix is stripped from display names.\n */\n// Dev-time validation: warn if packages has vendors not listed in VENDOR_ORDER\nconst _packageKeys = Object.keys(packages);\nconst _missingFromOrder = _packageKeys.filter((id) => !VENDOR_ORDER.includes(id));\nif (_missingFromOrder.length > 0) {\n console.warn(`[metadata] VENDOR_ORDER is missing vendor IDs present in packages: ${_missingFromOrder.join(', ')}. ` +\n 'Append them to schema/tokens/_vendors.json and regenerate metadata.');\n}\nexport const VENDOR_GROUPS = /*#__PURE__*/ VENDOR_ORDER.filter((id) => id in packages).map((id) => {\n const pkg = packages[id];\n return {\n id,\n displayName: pkg.name.replace(/\\s*\\(synced\\)\\s*/i, ''),\n themeIds: pkg.flavors.flatMap((f) => (f ? [f.id] : [])),\n };\n});\n/** O(1) flavor lookup by ID, built once at module evaluation time. */\nconst flavorById = /*#__PURE__*/ new Map(flavors.map((f) => [f.id, f]));\n/** Cache for computed short labels. */\nconst shortLabelCache = new Map();\n/**\n * Strip the vendor prefix from a theme label to produce a short label.\n *\n * For single-flavor vendors (e.g., \"Dracula\", \"Nord\") the full label is returned.\n * For multi-flavor vendors the vendor name prefix is stripped:\n * \"Catppuccin Mocha\" -> \"Mocha\"\n * \"Gruvbox Dark Hard\" -> \"Dark Hard\"\n *\n * @param themeId - A valid theme ID\n * @returns The short display label, or the full label if the theme is not found\n */\nexport function getShortLabel(themeId) {\n const cached = shortLabelCache.get(themeId);\n if (cached !== undefined)\n return cached;\n const flavor = flavorById.get(themeId);\n if (!flavor)\n return themeId;\n const vendorPkg = packages[flavor.vendor];\n if (!vendorPkg) {\n shortLabelCache.set(themeId, flavor.label);\n return flavor.label;\n }\n // Single-flavor vendors keep their full label\n if (vendorPkg.flavors.length === 1) {\n shortLabelCache.set(themeId, flavor.label);\n return flavor.label;\n }\n // Strip vendor display name prefix (case-insensitive, NFC-normalized for\n // consistent handling of composed/decomposed Unicode accents).\n const displayName = vendorPkg.name.replace(/\\s*\\(synced\\)\\s*/i, '').normalize('NFC');\n const label = flavor.label;\n let result;\n if (label.normalize('NFC').toLowerCase().startsWith(displayName.toLowerCase())) {\n const stripped = label.slice(displayName.length).trim();\n result = stripped || label;\n }\n else {\n result = label;\n }\n shortLabelCache.set(themeId, result);\n return result;\n}\n/** Pre-computed short labels for all themes. */\nexport const THEME_SHORT_LABELS = \n/*#__PURE__*/ Object.fromEntries(flavors.map((f) => [f.id, getShortLabel(f.id)]));\n//# sourceMappingURL=metadata.js.map","// SPDX-License-Identifier: MIT\n/**\n * Consumer theme curation API.\n *\n * `createThemeCatalog()` provides a single, composable surface for selecting a\n * subset of themes. It composes with the existing `flavors` (tokens) and\n * `VENDOR_GROUPS` (metadata) so consumers no longer need to hand-slice arrays.\n *\n * Filter precedence:\n * all themes -> vendors/appearances -> include -> exclude\n *\n * Invalid IDs supplied to `include`/`exclude` warn in development (never\n * throw), so a typo cannot silently drop or duplicate a theme.\n */\nimport { flavors, themeIds as allThemeIds } from '../tokens/index.js';\nimport { VENDOR_GROUPS } from '../themes/metadata.js';\nconst KNOWN_THEME_IDS = new Set(allThemeIds);\n/**\n * Emit a dev-time warning for unknown IDs. The `typeof` guard is safe even\n * when `process` is an undeclared identifier (browsers/workers without a\n * shim), and keeps the contiguous `process.env.NODE_ENV` token sequence so\n * bundler define-replacement and dead-code elimination still apply.\n */\nfunction warnInvalidIds(source, ids) {\n if (ids.length === 0)\n return;\n if (typeof process !== 'undefined' && process.env.NODE_ENV === 'production')\n return;\n console.warn(`[catalog] createThemeCatalog: ignoring unknown ${source} theme ID(s): ${ids.join(', ')}. ` +\n 'Valid IDs come from the exported `themeIds`.');\n}\n/**\n * Build a curated {@link ThemeCatalog} from the full theme set.\n *\n * @param options - Vendor/appearance filters plus explicit include/exclude IDs.\n * @returns A catalog exposing `themeIds`, `flavors`, and `vendorGroups`.\n */\nexport function createThemeCatalog(options = {}) {\n const { vendors, appearances, include = [], exclude = [] } = options;\n const selected = new Set();\n for (const flavor of flavors) {\n if (vendors !== undefined && !vendors.includes(flavor.vendor))\n continue;\n if (appearances !== undefined && !appearances.includes(flavor.appearance))\n continue;\n selected.add(flavor.id);\n }\n const invalidInclude = [];\n for (const id of include) {\n if (KNOWN_THEME_IDS.has(id)) {\n selected.add(id);\n }\n else {\n invalidInclude.push(id);\n }\n }\n warnInvalidIds('include', invalidInclude);\n const invalidExclude = [];\n for (const id of exclude) {\n if (KNOWN_THEME_IDS.has(id)) {\n selected.delete(id);\n }\n else {\n invalidExclude.push(id);\n }\n }\n warnInvalidIds('exclude', invalidExclude);\n const selectedFlavors = flavors.filter((flavor) => selected.has(flavor.id));\n const selectedThemeIds = selectedFlavors.map((flavor) => flavor.id);\n const vendorGroups = VENDOR_GROUPS.map((group) => ({\n ...group,\n themeIds: group.themeIds.filter((id) => selected.has(id)),\n })).filter((group) => group.themeIds.length > 0);\n return {\n themeIds: selectedThemeIds,\n flavors: selectedFlavors,\n vendorGroups,\n };\n}\n//# sourceMappingURL=create.js.map","// SPDX-License-Identifier: MIT\n/**\n * Named theme presets built on top of {@link createThemeCatalog}.\n *\n * These provide opinionated defaults so consumers don't rebuild the same\n * \"minimal\" or \"dark-only\" lists in every app. Per-vendor sets are derived\n * from the `packages` keys, so new vendor variants appear automatically on\n * upgrade for opted-in vendors.\n */\nimport { packages } from '../tokens/index.js';\nimport { createThemeCatalog } from './create.js';\n/**\n * The curated \"minimal\" starter set: one light + one dark theme from the two\n * most common vendors.\n */\nconst MINIMAL_THEME_IDS = [\n 'catppuccin-mocha',\n 'catppuccin-latte',\n 'github-light',\n 'github-dark',\n];\nconst perVendorSets = Object.fromEntries(Object.keys(packages).map((vendor) => [vendor, createThemeCatalog({ vendors: [vendor] })]));\nexport const themeSets = {\n ...perVendorSets,\n minimal: createThemeCatalog({ vendors: [], include: MINIMAL_THEME_IDS }),\n dark: createThemeCatalog({ appearances: ['dark'] }),\n light: createThemeCatalog({ appearances: ['light'] }),\n};\n//# sourceMappingURL=sets.js.map","// SPDX-License-Identifier: MIT\n/**\n * Auto-theme vendor pairings for the Home Assistant adapter.\n *\n * Home Assistant supports \"auto\" themes that switch between a dark and light\n * variant based on the user's system color scheme, via a `modes:` block. Each\n * pairing couples a Turbo dark flavor with its light counterpart.\n */\n\nimport type { ThemeTokens } from '@lgtm-hq/turbo-themes-core/themes/types';\nimport { getTheme } from '@lgtm-hq/turbo-themes-core';\n\n/** A dark/light pairing that becomes a single Home Assistant auto theme. */\nexport interface AutoThemePairing {\n /** Human-readable Home Assistant theme name, e.g. `\"Catppuccin (Auto)\"`. */\n readonly name: string;\n /** Registry id of the dark flavor (also used for the flat top-level keys). */\n readonly dark: string;\n /** Registry id of the light flavor. */\n readonly light: string;\n}\n\n/** A pairing whose dark/light flavors have been resolved to concrete tokens. */\nexport interface ResolvedAutoTheme {\n readonly name: string;\n readonly darkTokens: ThemeTokens;\n readonly lightTokens: ThemeTokens;\n}\n\n/** Dark/light flavor pairings, one per vendor family, emitted as auto themes. */\nexport const AUTO_THEME_PAIRINGS: readonly AutoThemePairing[] = [\n { name: 'Bulma (Auto)', dark: 'bulma-dark', light: 'bulma-light' },\n { name: 'Catppuccin (Auto)', dark: 'catppuccin-mocha', light: 'catppuccin-latte' },\n { name: 'GitHub (Auto)', dark: 'github-dark', light: 'github-light' },\n { name: 'Gruvbox (Auto)', dark: 'gruvbox-dark', light: 'gruvbox-light' },\n { name: 'One (Auto)', dark: 'one-dark', light: 'one-light' },\n { name: 'Rosé Pine (Auto)', dark: 'rose-pine', light: 'rose-pine-dawn' },\n { name: 'Solarized (Auto)', dark: 'solarized-dark', light: 'solarized-light' },\n { name: 'Tokyo Night (Auto)', dark: 'tokyo-night-dark', light: 'tokyo-night-light' },\n] as const;\n\n/**\n * Resolve a pairing to its concrete dark/light tokens, validating as it goes.\n *\n * @param pairing - The pairing to resolve.\n * @returns The pairing name plus the resolved dark and light token sets.\n * @throws If either id is missing from the registry, or an id's appearance does\n * not match the slot it occupies (dark slot must be dark, light slot light).\n */\nexport function resolveAutoTheme(pairing: AutoThemePairing): ResolvedAutoTheme {\n const { name, dark, light } = pairing;\n\n const darkTheme = getTheme(dark);\n if (!darkTheme) {\n throw new Error(`Auto theme \"${name}\" references unknown dark theme id \"${dark}\"`);\n }\n if (darkTheme.appearance !== 'dark') {\n throw new Error(\n `Auto theme \"${name}\" dark slot \"${dark}\" has appearance \"${darkTheme.appearance}\", expected \"dark\"`,\n );\n }\n\n const lightTheme = getTheme(light);\n if (!lightTheme) {\n throw new Error(`Auto theme \"${name}\" references unknown light theme id \"${light}\"`);\n }\n if (lightTheme.appearance !== 'light') {\n throw new Error(\n `Auto theme \"${name}\" light slot \"${light}\" has appearance \"${lightTheme.appearance}\", expected \"light\"`,\n );\n }\n\n return { name, darkTokens: darkTheme.tokens, lightTokens: lightTheme.tokens };\n}\n\n/**\n * Validate every pairing, throwing on the first problem.\n *\n * @param pairings - Pairings to validate (defaults to {@link AUTO_THEME_PAIRINGS}).\n * @throws If any pairing is invalid; see {@link resolveAutoTheme}.\n */\nexport function assertPairingsValid(\n pairings: readonly AutoThemePairing[] = AUTO_THEME_PAIRINGS,\n): void {\n for (const pairing of pairings) {\n resolveAutoTheme(pairing);\n }\n}\n","// SPDX-License-Identifier: MIT\n/**\n * Minimal, dependency-free YAML rendering helpers for the Home Assistant emitter.\n *\n * Only the tiny subset needed to emit Home Assistant themes is implemented:\n * double-quoted scalar values and (optionally) plain-scalar mapping keys.\n */\n\n// A name is safe as an unquoted (plain) YAML mapping key when it starts with an\n// alphanumeric (any Unicode letter/number) and contains only alphanumerics,\n// spaces, and punctuation that carries no meaning in YAML plain scalars.\nconst SAFE_PLAIN_KEY = /^[\\p{L}\\p{N}][\\p{L}\\p{N} ()./-]*$/u;\n\n// Plain scalars that YAML 1.1 loaders (e.g. pyyaml, which Home Assistant uses)\n// resolve to booleans or null even in mapping-key position. These must always be\n// double-quoted to survive as string keys.\nconst YAML11_RESERVED = new Set([\"true\", \"false\", \"yes\", \"no\", \"on\", \"off\", \"null\", \"y\", \"n\", \"~\"]);\n\n// C0 control characters and DEL, which are not representable literally inside a\n// YAML double-quoted scalar.\n// eslint-disable-next-line no-control-regex\nconst CONTROL_CHARS = /[\\x00-\\x1f\\x7f]/g;\n\nconst CONTROL_SHORTHAND: Record<string, string> = {\n \"\\t\": \"\\\\t\",\n \"\\n\": \"\\\\n\",\n \"\\r\": \"\\\\r\",\n \"\\0\": \"\\\\0\",\n};\n\n/** Escape a string for use inside a YAML double-quoted scalar. */\nexport function escapeDoubleQuoted(value: string): string {\n return value\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\"/g, '\\\\\"')\n .replace(CONTROL_CHARS, (char) => {\n const shorthand = CONTROL_SHORTHAND[char];\n if (shorthand) {\n return shorthand;\n }\n return `\\\\x${char.charCodeAt(0).toString(16).padStart(2, \"0\")}`;\n });\n}\n\n/** Whether a mapping key can be emitted as an unquoted YAML plain scalar. */\nexport function isSafePlainKey(name: string): boolean {\n if (YAML11_RESERVED.has(name.toLowerCase())) {\n return false;\n }\n return SAFE_PLAIN_KEY.test(name);\n}\n\n/** Render a mapping key, quoting only when it is not a safe plain scalar. */\nexport function renderKey(name: string): string {\n return isSafePlainKey(name) ? name : `\"${escapeDoubleQuoted(name)}\"`;\n}\n\n/** Render a value as a YAML double-quoted scalar. */\nexport function renderValue(value: string): string {\n return `\"${escapeDoubleQuoted(value)}\"`;\n}\n","// SPDX-License-Identifier: MIT\n/**\n * YAML emitter for the Home Assistant adapter.\n *\n * Hand-rolls a deterministic Home Assistant `themes.yaml` document from the Turbo\n * theme registry. js-yaml is intentionally not used at runtime so the adapter has\n * no serialization dependency; tests parse the output with js-yaml to validate it.\n */\n\nimport { flavors } from '@lgtm-hq/turbo-themes-core';\nimport { mapTokensToHomeAssistant } from './mapping.js';\nimport { AUTO_THEME_PAIRINGS, assertPairingsValid, resolveAutoTheme } from './pairings.js';\nimport { renderKey, renderValue } from './yaml.js';\n\nconst HEADER = [\n '# Generated by @lgtm-hq/turbo-themes/adapters/home-assistant',\n '# Do not edit by hand.',\n].join('\\n');\n\n/**\n * Render a variable mapping as indented `key: \"value\"` lines.\n *\n * The mapping preserves {@link REQUIRED_KEYS} order (produced by\n * {@link mapTokensToHomeAssistant}), so iterating its entries is deterministic.\n *\n * @param mapping - Variable name → value record.\n * @param indent - Leading indent applied to every line.\n */\nfunction renderMapping(mapping: Record<string, string>, indent: string): string[] {\n return Object.entries(mapping).map(\n ([key, value]) => `${indent}${renderKey(key)}: ${renderValue(value)}`,\n );\n}\n\n/** Emit a single flat theme block (top-level keys only). */\nfunction emitFlatTheme(name: string, mapping: Record<string, string>): string {\n return [`${renderKey(name)}:`, ...renderMapping(mapping, ' ')].join('\\n');\n}\n\n/**\n * Emit an auto theme block: the dark mapping at the top level, plus a `modes:`\n * block carrying the full dark and light mappings.\n */\nfunction emitAutoTheme(\n name: string,\n darkMapping: Record<string, string>,\n lightMapping: Record<string, string>,\n): string {\n return [\n `${renderKey(name)}:`,\n ...renderMapping(darkMapping, ' '),\n ' modes:',\n ' dark:',\n ...renderMapping(darkMapping, ' '),\n ' light:',\n ...renderMapping(lightMapping, ' '),\n ].join('\\n');\n}\n\n/**\n * Generate the Home Assistant themes YAML document.\n *\n * Flat themes are emitted first, sorted alphabetically by theme id for\n * determinism, followed by the auto (dark/light paired) themes in\n * {@link AUTO_THEME_PAIRINGS} order.\n *\n * @returns The full YAML document as a string.\n * @throws If any auto-theme pairing is invalid (see {@link assertPairingsValid}).\n */\nexport function generateHomeAssistantThemes(): string {\n assertPairingsValid();\n\n const sorted = [...flavors].sort((a, b) => a.id.localeCompare(b.id, 'en'));\n const blocks = sorted.map((flavor) =>\n emitFlatTheme(flavor.label, mapTokensToHomeAssistant(flavor.tokens)),\n );\n\n for (const pairing of AUTO_THEME_PAIRINGS) {\n const { name, darkTokens, lightTokens } = resolveAutoTheme(pairing);\n blocks.push(\n emitAutoTheme(\n name,\n mapTokensToHomeAssistant(darkTokens),\n mapTokensToHomeAssistant(lightTokens),\n ),\n );\n }\n\n return `${HEADER}\\n${blocks.join('\\n')}\\n`;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["tokensData","VENDOR_ORDER","GENERATED_VENDOR_ORDER","allThemeIds"],"sources":["../src/color.ts","../src/mapping.ts","../../../core/dist/themes/tokens.json","../../../core/dist/tokens/index.js","../../../core/dist/themes/generated/metadata.js","../../../core/dist/themes/metadata.js","../../../core/dist/catalog/create.js","../../../core/dist/catalog/sets.js","../src/pairings.ts","../src/yaml.ts","../src/emitter.ts"],"sourcesContent":["// SPDX-License-Identifier: MIT\n/**\n * Color helpers for the Home Assistant adapter.\n *\n * Home Assistant expects some frontend variables (the `rgb-*` family) to be a\n * bare `\"R, G, B\"` triplet rather than a `rgb()`/hex value, because it composes\n * them into `rgba(var(--rgb-primary-color), 0.5)` style expressions internally.\n */\n\nconst SHORT_HEX = /^#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])$/;\nconst LONG_HEX = /^#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/;\n\n/**\n * Parse a `#rgb` or `#rrggbb` hex string into its red/green/blue components.\n *\n * @param hex - Hex color string, with a leading `#`.\n * @returns The `[r, g, b]` channel values (0-255).\n * @throws If the input is not a valid 3- or 6-digit hex color.\n */\nexport function hexToRgb(hex: string): [number, number, number] {\n if (typeof hex !== 'string') {\n throw new TypeError(`Invalid hex color: expected string, received ${typeof hex}`);\n }\n\n const shortMatch = SHORT_HEX.exec(hex);\n if (shortMatch) {\n const [, r, g, b] = shortMatch;\n // Capture groups type as `string | undefined`, and interpolating an\n // `undefined` here would yield `parseInt('undefinedundefined')` — a silent\n // NaN channel rather than a rejected colour. Take the throw path instead.\n if (r === undefined || g === undefined || b === undefined) {\n throw new Error(`Invalid hex color: \"${hex}\"`);\n }\n return [\n Number.parseInt(`${r}${r}`, 16),\n Number.parseInt(`${g}${g}`, 16),\n Number.parseInt(`${b}${b}`, 16),\n ];\n }\n\n const longMatch = LONG_HEX.exec(hex);\n if (longMatch) {\n const [, r, g, b] = longMatch;\n if (r === undefined || g === undefined || b === undefined) {\n throw new Error(`Invalid hex color: \"${hex}\"`);\n }\n return [Number.parseInt(r, 16), Number.parseInt(g, 16), Number.parseInt(b, 16)];\n }\n\n throw new Error(`Invalid hex color: \"${hex}\"`);\n}\n\n/**\n * Convert a hex color to a bare `\"R, G, B\"` triplet string (no `rgb()` wrapper).\n *\n * @param hex - Hex color string, with a leading `#`.\n * @returns The comma-separated triplet, e.g. `\"137, 180, 250\"`.\n * @throws If the input is not a valid 3- or 6-digit hex color.\n */\nexport function hexToRgbTriplet(hex: string): string {\n const [r, g, b] = hexToRgb(hex);\n return `${r}, ${g}, ${b}`;\n}\n","// SPDX-License-Identifier: MIT\n/**\n * Token → Home Assistant theme variable mapping.\n *\n * Home Assistant themes are a flat set of CSS custom properties (declared without\n * the leading `--`). This module maps the platform-agnostic Turbo tokens onto the\n * Home Assistant frontend variables, producing concrete hex / `R, G, B` values so\n * the generated artifact is self-contained and deterministic.\n */\n\nimport type { ThemeTokens } from '@lgtm-hq/turbo-themes-core/themes/types';\nimport { hexToRgbTriplet } from './color.js';\n\n/**\n * Fixed card-mod hook value. This is an inert marker unless the optional\n * `card-mod` custom component is installed; it never affects core Home Assistant.\n */\nexport const CARD_MOD_THEME = 'turbo-themes';\n\n/**\n * Every Home Assistant variable key emitted per theme, in deterministic order.\n *\n * The emitter walks this list to serialize each theme, and\n * {@link mapTokensToHomeAssistant} produces a record whose keys match this list\n * exactly (verified in tests).\n */\nexport const REQUIRED_KEYS: readonly string[] = [\n // Core palette\n 'primary-color',\n 'accent-color',\n 'dark-primary-color',\n 'light-primary-color',\n 'primary-background-color',\n 'secondary-background-color',\n 'card-background-color',\n 'dialog-background-color',\n 'primary-text-color',\n 'secondary-text-color',\n 'text-primary-color',\n 'disabled-text-color',\n 'divider-color',\n 'border-color',\n // App header\n 'app-header-background-color',\n 'app-header-text-color',\n 'app-header-selection-bar-color',\n // Sidebar\n 'sidebar-background-color',\n 'sidebar-text-color',\n 'sidebar-icon-color',\n 'sidebar-selected-text-color',\n 'sidebar-selected-icon-color',\n 'sidebar-selected-background-color',\n // Switches\n 'switch-checked-color',\n 'switch-checked-button-color',\n 'switch-unchecked-button-color',\n 'switch-unchecked-color',\n // Sliders\n 'slider-color',\n 'slider-secondary-color',\n // Paper items\n 'paper-item-icon-color',\n 'paper-item-icon-active-color',\n // Inputs (legacy paper / ha-form)\n 'input-fill-color',\n 'input-ink-color',\n 'input-label-ink-color',\n 'input-disabled-fill-color',\n 'input-disabled-ink-color',\n 'input-idle-line-color',\n 'input-hover-line-color',\n // Material selects / text fields (ha-select, ha-textfield / MWC)\n 'mdc-select-fill-color',\n 'mdc-select-ink-color',\n 'mdc-select-label-ink-color',\n 'mdc-select-dropdown-icon-color',\n 'mdc-select-idle-line-color',\n 'mdc-select-hover-line-color',\n 'mdc-text-field-fill-color',\n 'mdc-text-field-ink-color',\n 'mdc-text-field-label-ink-color',\n 'mdc-text-field-idle-line-color',\n 'mdc-text-field-hover-line-color',\n // Tables\n 'table-row-background-color',\n 'table-row-alternative-background-color',\n // State colors\n 'info-color',\n 'success-color',\n 'warning-color',\n 'error-color',\n 'state-icon-color',\n 'state-icon-active-color',\n // Lovelace / cards\n 'lovelace-background',\n 'ha-card-background',\n 'ha-card-border-color',\n // rgb-* triplets\n 'rgb-primary-color',\n 'rgb-accent-color',\n 'rgb-card-background-color',\n 'rgb-primary-text-color',\n 'rgb-secondary-text-color',\n 'rgb-text-primary-color',\n 'rgb-info-color',\n 'rgb-success-color',\n 'rgb-warning-color',\n 'rgb-error-color',\n // Material Design Components theme\n 'mdc-theme-primary',\n 'mdc-theme-secondary',\n 'mdc-theme-background',\n 'mdc-theme-surface',\n 'mdc-theme-on-primary',\n 'mdc-theme-on-secondary',\n 'mdc-theme-on-surface',\n 'mdc-theme-on-background',\n 'mdc-theme-text-primary-on-background',\n 'mdc-theme-error',\n // Code editor (CodeMirror)\n 'codemirror-keyword',\n 'codemirror-operator',\n 'codemirror-variable',\n 'codemirror-variable-2',\n 'codemirror-builtin',\n 'codemirror-atom',\n 'codemirror-number',\n 'codemirror-def',\n 'codemirror-string',\n 'codemirror-comment',\n 'codemirror-property',\n 'codemirror-attribute',\n // Energy dashboard\n 'energy-grid-consumption-color',\n 'energy-grid-return-color',\n 'energy-solar-color',\n 'energy-non-fossil-color',\n 'energy-battery-out-color',\n 'energy-battery-in-color',\n 'energy-gas-color',\n 'energy-water-color',\n // Alarm panel\n 'alarm-color-armed',\n 'alarm-color-disarmed',\n 'alarm-color-pending',\n 'alarm-color-triggered',\n // card-mod inert hook\n 'card-mod-theme',\n] as const;\n\n/**\n * Map a single theme's tokens onto Home Assistant frontend variables.\n *\n * All color values are concrete hex strings (no CSS `var()` references), and the\n * `rgb-*` family is emitted as bare `\"R, G, B\"` triplets as Home Assistant expects.\n *\n * @param tokens - The platform-agnostic Turbo theme tokens.\n * @returns A record of Home Assistant variable name → value, ordered to match\n * {@link REQUIRED_KEYS}.\n */\nexport function mapTokensToHomeAssistant(tokens: ThemeTokens): Record<string, string> {\n const { background, text, brand, accent, state, border } = tokens;\n\n return {\n // Core palette\n 'primary-color': brand.primary,\n 'accent-color': accent.link,\n 'dark-primary-color': brand.primary,\n 'light-primary-color': brand.primary,\n 'primary-background-color': background.base,\n 'secondary-background-color': background.overlay,\n 'card-background-color': background.surface,\n 'dialog-background-color': background.surface,\n 'primary-text-color': text.primary,\n 'secondary-text-color': text.secondary,\n 'text-primary-color': text.inverse,\n 'disabled-text-color': text.secondary,\n 'divider-color': border.default,\n 'border-color': border.default,\n // App header\n 'app-header-background-color': background.surface,\n 'app-header-text-color': text.primary,\n 'app-header-selection-bar-color': brand.primary,\n // Sidebar\n 'sidebar-background-color': background.base,\n 'sidebar-text-color': text.primary,\n 'sidebar-icon-color': text.secondary,\n 'sidebar-selected-text-color': brand.primary,\n 'sidebar-selected-icon-color': brand.primary,\n 'sidebar-selected-background-color': background.surface,\n // Switches\n 'switch-checked-color': brand.primary,\n 'switch-checked-button-color': brand.primary,\n 'switch-unchecked-button-color': text.secondary,\n 'switch-unchecked-color': border.default,\n // Sliders\n 'slider-color': brand.primary,\n 'slider-secondary-color': border.default,\n // Paper items\n 'paper-item-icon-color': text.secondary,\n 'paper-item-icon-active-color': brand.primary,\n // Inputs (legacy paper / ha-form)\n 'input-fill-color': background.surface,\n 'input-ink-color': text.primary,\n 'input-label-ink-color': text.secondary,\n 'input-disabled-fill-color': background.overlay,\n 'input-disabled-ink-color': text.secondary,\n 'input-idle-line-color': border.default,\n 'input-hover-line-color': brand.primary,\n // Material selects / text fields (ha-select, ha-textfield / MWC)\n 'mdc-select-fill-color': background.surface,\n 'mdc-select-ink-color': text.primary,\n 'mdc-select-label-ink-color': text.secondary,\n 'mdc-select-dropdown-icon-color': text.secondary,\n 'mdc-select-idle-line-color': border.default,\n 'mdc-select-hover-line-color': brand.primary,\n 'mdc-text-field-fill-color': background.surface,\n 'mdc-text-field-ink-color': text.primary,\n 'mdc-text-field-label-ink-color': text.secondary,\n 'mdc-text-field-idle-line-color': border.default,\n 'mdc-text-field-hover-line-color': brand.primary,\n // Tables\n 'table-row-background-color': background.surface,\n 'table-row-alternative-background-color': background.overlay,\n // State colors\n 'info-color': state.info,\n 'success-color': state.success,\n 'warning-color': state.warning,\n 'error-color': state.danger,\n 'state-icon-color': text.secondary,\n 'state-icon-active-color': brand.primary,\n // Lovelace / cards\n 'lovelace-background': background.base,\n 'ha-card-background': background.surface,\n 'ha-card-border-color': border.default,\n // rgb-* triplets\n 'rgb-primary-color': hexToRgbTriplet(brand.primary),\n 'rgb-accent-color': hexToRgbTriplet(accent.link),\n 'rgb-card-background-color': hexToRgbTriplet(background.surface),\n 'rgb-primary-text-color': hexToRgbTriplet(text.primary),\n 'rgb-secondary-text-color': hexToRgbTriplet(text.secondary),\n 'rgb-text-primary-color': hexToRgbTriplet(text.inverse),\n 'rgb-info-color': hexToRgbTriplet(state.info),\n 'rgb-success-color': hexToRgbTriplet(state.success),\n 'rgb-warning-color': hexToRgbTriplet(state.warning),\n 'rgb-error-color': hexToRgbTriplet(state.danger),\n // Material Design Components theme\n 'mdc-theme-primary': brand.primary,\n 'mdc-theme-secondary': accent.link,\n 'mdc-theme-background': background.base,\n 'mdc-theme-surface': background.surface,\n 'mdc-theme-on-primary': text.inverse,\n 'mdc-theme-on-secondary': text.inverse,\n 'mdc-theme-on-surface': text.primary,\n 'mdc-theme-on-background': text.primary,\n 'mdc-theme-text-primary-on-background': text.primary,\n 'mdc-theme-error': state.danger,\n // Code editor (CodeMirror)\n 'codemirror-keyword': brand.primary,\n 'codemirror-operator': accent.link,\n 'codemirror-variable': text.primary,\n 'codemirror-variable-2': text.secondary,\n 'codemirror-builtin': state.danger,\n 'codemirror-atom': state.danger,\n 'codemirror-number': state.warning,\n 'codemirror-def': text.primary,\n 'codemirror-string': state.success,\n 'codemirror-comment': text.secondary,\n 'codemirror-property': accent.link,\n 'codemirror-attribute': state.warning,\n // Energy dashboard\n 'energy-grid-consumption-color': brand.primary,\n 'energy-grid-return-color': accent.link,\n 'energy-solar-color': state.warning,\n 'energy-non-fossil-color': state.success,\n 'energy-battery-out-color': state.info,\n 'energy-battery-in-color': brand.primary,\n 'energy-gas-color': state.danger,\n 'energy-water-color': state.info,\n // Alarm panel\n 'alarm-color-armed': state.danger,\n 'alarm-color-disarmed': state.success,\n 'alarm-color-pending': state.warning,\n 'alarm-color-triggered': state.danger,\n // card-mod inert hook\n 'card-mod-theme': CARD_MOD_THEME,\n };\n}\n","{\n \"$schema\": \"https://design-tokens.org/schema.json\",\n \"$description\": \"Turbo Themes - Flat tokens for 43 themes\",\n \"$version\": \"0.44.22\",\n \"$generated\": \"bf10a4cff4a798dd502eaa65b810942b8bcf5f5319d50c899c1be7fda048e75e\",\n \"meta\": {\n \"themeIds\": [\n \"ayu-dark\",\n \"ayu-light\",\n \"ayu-mirage\",\n \"bulma-dark\",\n \"bulma-light\",\n \"catppuccin-frappe\",\n \"catppuccin-latte\",\n \"catppuccin-macchiato\",\n \"catppuccin-mocha\",\n \"dracula\",\n \"everforest-dark-hard\",\n \"everforest-dark-soft\",\n \"everforest-dark\",\n \"everforest-light-hard\",\n \"everforest-light-soft\",\n \"everforest-light\",\n \"github-dark\",\n \"github-light\",\n \"gruvbox-dark-hard\",\n \"gruvbox-dark-soft\",\n \"gruvbox-dark\",\n \"gruvbox-light-hard\",\n \"gruvbox-light-soft\",\n \"gruvbox-light\",\n \"kanagawa-dragon\",\n \"kanagawa-lotus\",\n \"kanagawa-wave\",\n \"nord\",\n \"one-dark\",\n \"one-light\",\n \"radix-mauve-dark\",\n \"radix-mauve-light\",\n \"radix-slate-dark\",\n \"radix-slate-light\",\n \"rose-pine-dawn\",\n \"rose-pine-moon\",\n \"rose-pine\",\n \"solarized-dark\",\n \"solarized-light\",\n \"terminal\",\n \"tokyo-night-dark\",\n \"tokyo-night-light\",\n \"tokyo-night-storm\"\n ],\n \"totalThemes\": 43\n },\n \"shared\": {\n \"spacing\": {\n \"xs\": \"0.25rem\",\n \"sm\": \"0.5rem\",\n \"md\": \"1rem\",\n \"lg\": \"1.5rem\",\n \"xl\": \"2rem\"\n },\n \"elevation\": {\n \"none\": \"none\",\n \"sm\": \"0 1px 2px 0 rgba(0, 0, 0, 0.05)\",\n \"md\": \"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)\",\n \"lg\": \"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)\",\n \"xl\": \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\"\n },\n \"animation\": {\n \"durationFast\": \"150ms\",\n \"durationNormal\": \"300ms\",\n \"durationSlow\": \"500ms\",\n \"easingDefault\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"easingEmphasized\": \"cubic-bezier(0.05, 0.7, 0.1, 1)\"\n },\n \"opacity\": {\n \"disabled\": 0.5,\n \"hover\": 0.8,\n \"pressed\": 0.6\n }\n },\n \"themes\": {\n \"ayu-dark\": {\n \"id\": \"ayu-dark\",\n \"label\": \"Ayu Dark\",\n \"vendor\": \"ayu\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#0d1017\",\n \"surface\": \"#141821\",\n \"overlay\": \"#1b1f29\"\n },\n \"text\": {\n \"primary\": \"#bfbdb6\",\n \"secondary\": \"#818b96\",\n \"inverse\": \"#0d1017\"\n },\n \"brand\": {\n \"primary\": \"#e6b450\",\n \"primaryText\": \"#0d1017\"\n },\n \"state\": {\n \"info\": \"#39bae6\",\n \"success\": \"#aad94c\",\n \"warning\": \"#ff8f40\",\n \"danger\": \"#d95757\",\n \"infoText\": \"#0d1017\",\n \"successText\": \"#0d1017\",\n \"warningText\": \"#0d1017\",\n \"dangerText\": \"#0d1017\"\n },\n \"border\": {\n \"default\": \"#1b1f29\"\n },\n \"accent\": {\n \"link\": \"#ffb454\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#ffb454\",\n \"h2\": \"#59c2ff\",\n \"h3\": \"#39bae6\",\n \"h4\": \"#aad94c\",\n \"h5\": \"#d2a6ff\",\n \"h6\": \"#ff8f40\"\n },\n \"body\": {\n \"primary\": \"#bfbdb6\",\n \"secondary\": \"#7c8691\"\n },\n \"link\": {\n \"default\": \"#ffb454\"\n },\n \"selection\": {\n \"fg\": \"#bfbdb6\",\n \"bg\": \"#1c212b\"\n },\n \"blockquote\": {\n \"border\": \"#1b1f29\",\n \"fg\": \"#bfbdb6\",\n \"bg\": \"#141821\"\n },\n \"codeInline\": {\n \"fg\": \"#bfbdb6\",\n \"bg\": \"#1b1f29\"\n },\n \"codeBlock\": {\n \"fg\": \"#bfbdb6\",\n \"bg\": \"#1b1f29\"\n },\n \"table\": {\n \"border\": \"#1b1f29\",\n \"stripe\": \"#141821\",\n \"theadBg\": \"#1b1f29\"\n }\n }\n }\n },\n \"ayu-light\": {\n \"id\": \"ayu-light\",\n \"label\": \"Ayu Light\",\n \"vendor\": \"ayu\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#f8f9fa\",\n \"surface\": \"#fafafa\",\n \"overlay\": \"#e7eaed\"\n },\n \"text\": {\n \"primary\": \"#5c6166\",\n \"secondary\": \"#5e6672\",\n \"inverse\": \"#f8f9fa\"\n },\n \"brand\": {\n \"primary\": \"#f29718\",\n \"primaryText\": \"#343435\"\n },\n \"state\": {\n \"info\": \"#55b4d4\",\n \"success\": \"#86b300\",\n \"warning\": \"#ff7e33\",\n \"danger\": \"#e65050\",\n \"infoText\": \"#39393a\",\n \"successText\": \"#373737\",\n \"warningText\": \"#343435\",\n \"dangerText\": \"#161617\"\n },\n \"border\": {\n \"default\": \"#e7eaed\"\n },\n \"accent\": {\n \"link\": \"#775995\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#c28200\",\n \"h2\": \"#3696db\",\n \"h3\": \"#4899b4\",\n \"h4\": \"#759c00\",\n \"h5\": \"#a37acc\",\n \"h6\": \"#e3702d\"\n },\n \"body\": {\n \"primary\": \"#5c6166\",\n \"secondary\": \"#656f7c\"\n },\n \"link\": {\n \"default\": \"#775995\"\n },\n \"selection\": {\n \"fg\": \"#5c6166\",\n \"bg\": \"#e5e9ed\"\n },\n \"blockquote\": {\n \"border\": \"#e7eaed\",\n \"fg\": \"#5c6166\",\n \"bg\": \"#fafafa\"\n },\n \"codeInline\": {\n \"fg\": \"#5c6166\",\n \"bg\": \"#e7eaed\"\n },\n \"codeBlock\": {\n \"fg\": \"#5c6166\",\n \"bg\": \"#e7eaed\"\n },\n \"table\": {\n \"border\": \"#e7eaed\",\n \"stripe\": \"#fafafa\",\n \"theadBg\": \"#e7eaed\"\n }\n }\n }\n },\n \"ayu-mirage\": {\n \"id\": \"ayu-mirage\",\n \"label\": \"Ayu Mirage\",\n \"vendor\": \"ayu\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#1f2430\",\n \"surface\": \"#282e3b\",\n \"overlay\": \"#293040\"\n },\n \"text\": {\n \"primary\": \"#cccac2\",\n \"secondary\": \"#959daa\",\n \"inverse\": \"#1f2430\"\n },\n \"brand\": {\n \"primary\": \"#ffcc66\",\n \"primaryText\": \"#1f2430\"\n },\n \"state\": {\n \"info\": \"#5ccfe6\",\n \"success\": \"#d5ff80\",\n \"warning\": \"#ffad66\",\n \"danger\": \"#ff6666\",\n \"infoText\": \"#1f2430\",\n \"successText\": \"#1f2430\",\n \"warningText\": \"#1f2430\",\n \"dangerText\": \"#1f2430\"\n },\n \"border\": {\n \"default\": \"#171b24\"\n },\n \"accent\": {\n \"link\": \"#ffd173\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#ffd173\",\n \"h2\": \"#73d0ff\",\n \"h3\": \"#5ccfe6\",\n \"h4\": \"#d5ff80\",\n \"h5\": \"#dfbfff\",\n \"h6\": \"#ffad66\"\n },\n \"body\": {\n \"primary\": \"#cccac2\",\n \"secondary\": \"#929aa8\"\n },\n \"link\": {\n \"default\": \"#ffd173\"\n },\n \"selection\": {\n \"fg\": \"#cccac2\",\n \"bg\": \"#293040\"\n },\n \"blockquote\": {\n \"border\": \"#171b24\",\n \"fg\": \"#cccac2\",\n \"bg\": \"#282e3b\"\n },\n \"codeInline\": {\n \"fg\": \"#cccac2\",\n \"bg\": \"#293040\"\n },\n \"codeBlock\": {\n \"fg\": \"#cccac2\",\n \"bg\": \"#293040\"\n },\n \"table\": {\n \"border\": \"#171b24\",\n \"stripe\": \"#282e3b\",\n \"theadBg\": \"#293040\"\n }\n }\n }\n },\n \"bulma-dark\": {\n \"id\": \"bulma-dark\",\n \"label\": \"Bulma Dark\",\n \"vendor\": \"bulma\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#141414\",\n \"surface\": \"#1f1f1f\",\n \"overlay\": \"#2b2b2b\"\n },\n \"text\": {\n \"primary\": \"#f5f5f5\",\n \"secondary\": \"#dbdbdb\",\n \"inverse\": \"#141414\"\n },\n \"brand\": {\n \"primary\": \"#00d1b2\",\n \"primaryText\": \"#141414\"\n },\n \"state\": {\n \"info\": \"#3e8ed0\",\n \"success\": \"#48c78e\",\n \"warning\": \"#ffe08a\",\n \"danger\": \"#f14668\",\n \"infoText\": \"#141414\",\n \"successText\": \"#141414\",\n \"warningText\": \"#141414\",\n \"dangerText\": \"#141414\"\n },\n \"border\": {\n \"default\": \"#363636\"\n },\n \"accent\": {\n \"link\": \"#8293d9\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"\\\"Nunito Sans\\\", BlinkMacSystemFont, -apple-system, \\\"Segoe UI\\\", Roboto, Oxygen, Ubuntu, Cantarell, \\\"Fira Sans\\\", \\\"Droid Sans\\\", \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif\",\n \"mono\": \"\\\"JetBrains Mono\\\", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,400;0,6..12,600;0,6..12,700;1,6..12,400&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#00d1b2\",\n \"h2\": \"#7289da\",\n \"h3\": \"#5dade2\",\n \"h4\": \"#58d68d\",\n \"h5\": \"#f7dc6f\",\n \"h6\": \"#f1948a\"\n },\n \"body\": {\n \"primary\": \"#dbdbdb\",\n \"secondary\": \"#b5b5b5\"\n },\n \"link\": {\n \"default\": \"#8293d9\"\n },\n \"selection\": {\n \"fg\": \"#f5f5f5\",\n \"bg\": \"#2f6acb\"\n },\n \"blockquote\": {\n \"border\": \"#363636\",\n \"fg\": \"#dbdbdb\",\n \"bg\": \"#1f1f1f\"\n },\n \"codeInline\": {\n \"fg\": \"#f46884\",\n \"bg\": \"#2b2b2b\"\n },\n \"codeBlock\": {\n \"fg\": \"#f5f5f5\",\n \"bg\": \"#2b2b2b\"\n },\n \"table\": {\n \"border\": \"#404040\",\n \"stripe\": \"#1c1c1c\",\n \"theadBg\": \"#2d2d2d\",\n \"cellBg\": \"#1a1a1a\",\n \"headerFg\": \"#f5f5f5\"\n }\n },\n \"spacing\": {\n \"xs\": \"0.25rem\",\n \"sm\": \"0.5rem\",\n \"md\": \"1rem\",\n \"lg\": \"1.5rem\",\n \"xl\": \"2rem\"\n },\n \"elevation\": {\n \"none\": \"none\",\n \"sm\": \"0 1px 2px 0 rgba(0, 0, 0, 0.05)\",\n \"md\": \"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)\",\n \"lg\": \"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)\",\n \"xl\": \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\"\n },\n \"animation\": {\n \"durationFast\": \"150ms\",\n \"durationNormal\": \"300ms\",\n \"durationSlow\": \"500ms\",\n \"easingDefault\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"easingEmphasized\": \"cubic-bezier(0.05, 0.7, 0.1, 1)\"\n },\n \"opacity\": {\n \"disabled\": 0.5,\n \"hover\": 0.8,\n \"pressed\": 0.6\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#1c1c1c\",\n \"border\": \"#3a3a3a\",\n \"headerBg\": \"#252525\",\n \"footerBg\": \"#1f1f1f\"\n },\n \"message\": {\n \"bg\": \"#1f1f1f\",\n \"headerBg\": \"#2a2a2a\",\n \"border\": \"#404040\",\n \"bodyFg\": \"#e0e0e0\"\n },\n \"panel\": {\n \"bg\": \"#1c1c1c\",\n \"headerBg\": \"#2a2a2a\",\n \"headerFg\": \"#f5f5f5\",\n \"border\": \"#3a3a3a\",\n \"blockBg\": \"#1f1f1f\",\n \"blockHoverBg\": \"#262626\",\n \"blockActiveBg\": \"#2d3748\"\n },\n \"box\": {\n \"bg\": \"#1c1c1c\",\n \"border\": \"#3a3a3a\"\n },\n \"notification\": {\n \"bg\": \"#252525\",\n \"border\": \"#404040\"\n },\n \"modal\": {\n \"bg\": \"rgba(0, 0, 0, 0.86)\",\n \"cardBg\": \"#1c1c1c\",\n \"headerBg\": \"#252525\",\n \"footerBg\": \"#1f1f1f\"\n },\n \"dropdown\": {\n \"bg\": \"#1c1c1c\",\n \"itemHoverBg\": \"#2a2a2a\",\n \"border\": \"#404040\"\n },\n \"tabs\": {\n \"border\": \"#404040\",\n \"linkBg\": \"#252525\",\n \"linkActiveBg\": \"#1c1c1c\",\n \"linkHoverBg\": \"#2a2a2a\"\n }\n }\n }\n },\n \"bulma-light\": {\n \"id\": \"bulma-light\",\n \"label\": \"Bulma Light\",\n \"vendor\": \"bulma\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#ffffff\",\n \"surface\": \"#f5f5f5\",\n \"overlay\": \"#eeeeee\"\n },\n \"text\": {\n \"primary\": \"#363636\",\n \"secondary\": \"#4a4a4a\",\n \"inverse\": \"#ffffff\"\n },\n \"brand\": {\n \"primary\": \"#00d1b2\",\n \"primaryText\": \"#1c1c1c\"\n },\n \"state\": {\n \"info\": \"#3e8ed0\",\n \"success\": \"#48c78e\",\n \"warning\": \"#ffe08a\",\n \"danger\": \"#f14668\",\n \"successText\": \"#363636\",\n \"warningText\": \"#363636\",\n \"infoText\": \"#1e1e1e\",\n \"dangerText\": \"#1b1b1b\"\n },\n \"border\": {\n \"default\": \"#dbdbdb\"\n },\n \"accent\": {\n \"link\": \"#485fc7\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"\\\"Nunito Sans\\\", BlinkMacSystemFont, -apple-system, \\\"Segoe UI\\\", Roboto, Oxygen, Ubuntu, Cantarell, \\\"Fira Sans\\\", \\\"Droid Sans\\\", \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif\",\n \"mono\": \"\\\"JetBrains Mono\\\", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,400;0,6..12,600;0,6..12,700;1,6..12,400&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#00a088\",\n \"h2\": \"#485fc7\",\n \"h3\": \"#3e8ed0\",\n \"h4\": \"#399f71\",\n \"h5\": \"#9f8c56\",\n \"h6\": \"#f14668\"\n },\n \"body\": {\n \"primary\": \"#4a4a4a\",\n \"secondary\": \"#6b6b6b\"\n },\n \"link\": {\n \"default\": \"#485fc7\"\n },\n \"selection\": {\n \"fg\": \"#363636\",\n \"bg\": \"#b5d5ff\"\n },\n \"blockquote\": {\n \"border\": \"#dbdbdb\",\n \"fg\": \"#4a4a4a\",\n \"bg\": \"#f5f5f5\"\n },\n \"codeInline\": {\n \"fg\": \"#c23853\",\n \"bg\": \"#f5f5f5\"\n },\n \"codeBlock\": {\n \"fg\": \"#363636\",\n \"bg\": \"#f5f5f5\"\n },\n \"table\": {\n \"border\": \"#dbdbdb\",\n \"stripe\": \"#fafafa\",\n \"theadBg\": \"#f0f0f0\",\n \"cellBg\": \"#ffffff\",\n \"headerFg\": \"#363636\"\n }\n },\n \"spacing\": {\n \"xs\": \"0.25rem\",\n \"sm\": \"0.5rem\",\n \"md\": \"1rem\",\n \"lg\": \"1.5rem\",\n \"xl\": \"2rem\"\n },\n \"elevation\": {\n \"none\": \"none\",\n \"sm\": \"0 1px 2px 0 rgba(0, 0, 0, 0.05)\",\n \"md\": \"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)\",\n \"lg\": \"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)\",\n \"xl\": \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\"\n },\n \"animation\": {\n \"durationFast\": \"150ms\",\n \"durationNormal\": \"300ms\",\n \"durationSlow\": \"500ms\",\n \"easingDefault\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"easingEmphasized\": \"cubic-bezier(0.05, 0.7, 0.1, 1)\"\n },\n \"opacity\": {\n \"disabled\": 0.5,\n \"hover\": 0.8,\n \"pressed\": 0.6\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#ffffff\",\n \"border\": \"#d5d5d5\",\n \"headerBg\": \"#f5f5f5\",\n \"footerBg\": \"#fafafa\"\n },\n \"message\": {\n \"bg\": \"#f8f9fa\",\n \"headerBg\": \"#eef1f4\",\n \"border\": \"#d5dbe1\",\n \"bodyFg\": \"#4a4a4a\"\n },\n \"panel\": {\n \"bg\": \"#ffffff\",\n \"headerBg\": \"#f0f0f0\",\n \"headerFg\": \"#363636\",\n \"border\": \"#d5d5d5\",\n \"blockBg\": \"#fafafa\",\n \"blockHoverBg\": \"#f5f5f5\",\n \"blockActiveBg\": \"#eef6fc\"\n },\n \"box\": {\n \"bg\": \"#ffffff\",\n \"border\": \"#e0e0e0\"\n },\n \"notification\": {\n \"bg\": \"#f5f5f5\",\n \"border\": \"#e0e0e0\"\n },\n \"modal\": {\n \"bg\": \"rgba(10, 10, 10, 0.86)\",\n \"cardBg\": \"#ffffff\",\n \"headerBg\": \"#f5f5f5\",\n \"footerBg\": \"#fafafa\"\n },\n \"dropdown\": {\n \"bg\": \"#ffffff\",\n \"itemHoverBg\": \"#f5f5f5\",\n \"border\": \"#dbdbdb\"\n },\n \"tabs\": {\n \"border\": \"#dbdbdb\",\n \"linkBg\": \"#f5f5f5\",\n \"linkActiveBg\": \"#ffffff\",\n \"linkHoverBg\": \"#eeeeee\"\n }\n }\n }\n },\n \"catppuccin-frappe\": {\n \"id\": \"catppuccin-frappe\",\n \"label\": \"Catppuccin Frappé\",\n \"vendor\": \"catppuccin\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#303446\",\n \"surface\": \"#292c3c\",\n \"overlay\": \"#232634\"\n },\n \"text\": {\n \"primary\": \"#c6d0f5\",\n \"secondary\": \"#a5adce\",\n \"inverse\": \"#303446\"\n },\n \"brand\": {\n \"primary\": \"#8caaee\",\n \"primaryText\": \"#303446\"\n },\n \"state\": {\n \"info\": \"#99d1db\",\n \"success\": \"#a6d189\",\n \"warning\": \"#e5c890\",\n \"danger\": \"#e78284\",\n \"infoText\": \"#303446\",\n \"successText\": \"#303446\",\n \"warningText\": \"#303446\",\n \"dangerText\": \"#2f3244\"\n },\n \"border\": {\n \"default\": \"#737994\"\n },\n \"accent\": {\n \"link\": \"#8caaee\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#a6d189\",\n \"h2\": \"#8caaee\",\n \"h3\": \"#85c1dc\",\n \"h4\": \"#e5c890\",\n \"h5\": \"#ca9ee6\",\n \"h6\": \"#e78284\"\n },\n \"body\": {\n \"primary\": \"#c6d0f5\",\n \"secondary\": \"#a5adce\"\n },\n \"link\": {\n \"default\": \"#8caaee\"\n },\n \"selection\": {\n \"fg\": \"#c6d0f5\",\n \"bg\": \"#515668\"\n },\n \"blockquote\": {\n \"border\": \"#838ba7\",\n \"fg\": \"#c6d0f5\",\n \"bg\": \"#292c3c\"\n },\n \"codeInline\": {\n \"fg\": \"#c6d0f5\",\n \"bg\": \"#414559\"\n },\n \"codeBlock\": {\n \"fg\": \"#c6d0f5\",\n \"bg\": \"#414559\"\n },\n \"table\": {\n \"border\": \"#838ba7\",\n \"stripe\": \"#414559\",\n \"theadBg\": \"#50566c\"\n }\n }\n }\n },\n \"catppuccin-latte\": {\n \"id\": \"catppuccin-latte\",\n \"label\": \"Catppuccin Latte\",\n \"vendor\": \"catppuccin\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#eff1f5\",\n \"surface\": \"#e6e9ef\",\n \"overlay\": \"#dce0e8\"\n },\n \"text\": {\n \"primary\": \"#4c4f69\",\n \"secondary\": \"#5c5f71\",\n \"inverse\": \"#eff1f5\"\n },\n \"brand\": {\n \"primary\": \"#1e66f5\",\n \"primaryText\": \"#fbfbfc\"\n },\n \"state\": {\n \"info\": \"#0378a7\",\n \"success\": \"#40a02b\",\n \"warning\": \"#df8e1d\",\n \"danger\": \"#d20f39\",\n \"infoText\": \"#fbfbfb\",\n \"successText\": \"#212222\",\n \"warningText\": \"#323333\",\n \"dangerText\": \"#eff1f5\"\n },\n \"border\": {\n \"default\": \"#9ca0b0\"\n },\n \"accent\": {\n \"link\": \"#1a57d2\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#3c9829\",\n \"h2\": \"#1e66f5\",\n \"h3\": \"#1d92a7\",\n \"h4\": \"#ba7618\",\n \"h5\": \"#8839ef\",\n \"h6\": \"#d20f39\"\n },\n \"body\": {\n \"primary\": \"#4c4f69\",\n \"secondary\": \"#616477\"\n },\n \"link\": {\n \"default\": \"#1a57d2\"\n },\n \"selection\": {\n \"fg\": \"#4c4f69\",\n \"bg\": \"#c6c8d0\"\n },\n \"blockquote\": {\n \"border\": \"#8c8fa1\",\n \"fg\": \"#4c4f69\",\n \"bg\": \"#e6e9ef\"\n },\n \"codeInline\": {\n \"fg\": \"#4c4f69\",\n \"bg\": \"#ccd0da\"\n },\n \"codeBlock\": {\n \"fg\": \"#4c4f69\",\n \"bg\": \"#ccd0da\"\n },\n \"table\": {\n \"border\": \"#8c8fa1\",\n \"stripe\": \"#ccd0da\",\n \"theadBg\": \"#c4c8d2\"\n }\n }\n }\n },\n \"catppuccin-macchiato\": {\n \"id\": \"catppuccin-macchiato\",\n \"label\": \"Catppuccin Macchiato\",\n \"vendor\": \"catppuccin\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#24273a\",\n \"surface\": \"#1e2030\",\n \"overlay\": \"#181926\"\n },\n \"text\": {\n \"primary\": \"#cad3f5\",\n \"secondary\": \"#a5adcb\",\n \"inverse\": \"#24273a\"\n },\n \"brand\": {\n \"primary\": \"#8aadf4\",\n \"primaryText\": \"#24273a\"\n },\n \"state\": {\n \"info\": \"#91d7e3\",\n \"success\": \"#a6da95\",\n \"warning\": \"#eed49f\",\n \"danger\": \"#ed8796\",\n \"infoText\": \"#24273a\",\n \"successText\": \"#24273a\",\n \"warningText\": \"#24273a\",\n \"dangerText\": \"#24273a\"\n },\n \"border\": {\n \"default\": \"#6e738d\"\n },\n \"accent\": {\n \"link\": \"#8aadf4\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#a6da95\",\n \"h2\": \"#8aadf4\",\n \"h3\": \"#7dc4e4\",\n \"h4\": \"#eed49f\",\n \"h5\": \"#c6a0f6\",\n \"h6\": \"#ed8796\"\n },\n \"body\": {\n \"primary\": \"#cad3f5\",\n \"secondary\": \"#a5adcb\"\n },\n \"link\": {\n \"default\": \"#8aadf4\"\n },\n \"selection\": {\n \"fg\": \"#cad3f5\",\n \"bg\": \"#53576a\"\n },\n \"blockquote\": {\n \"border\": \"#8087a2\",\n \"fg\": \"#cad3f5\",\n \"bg\": \"#1e2030\"\n },\n \"codeInline\": {\n \"fg\": \"#cad3f5\",\n \"bg\": \"#363a4f\"\n },\n \"codeBlock\": {\n \"fg\": \"#cad3f5\",\n \"bg\": \"#363a4f\"\n },\n \"table\": {\n \"border\": \"#8087a2\",\n \"stripe\": \"#363a4f\",\n \"theadBg\": \"#494d64\"\n }\n }\n }\n },\n \"catppuccin-mocha\": {\n \"id\": \"catppuccin-mocha\",\n \"label\": \"Catppuccin Mocha\",\n \"vendor\": \"catppuccin\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#1e1e2e\",\n \"surface\": \"#181825\",\n \"overlay\": \"#11111b\"\n },\n \"text\": {\n \"primary\": \"#cdd6f4\",\n \"secondary\": \"#a6adc8\",\n \"inverse\": \"#1e1e2e\"\n },\n \"brand\": {\n \"primary\": \"#89b4fa\",\n \"primaryText\": \"#1e1e2e\"\n },\n \"state\": {\n \"info\": \"#89dceb\",\n \"success\": \"#a6e3a1\",\n \"warning\": \"#f9e2af\",\n \"danger\": \"#f38ba8\",\n \"infoText\": \"#1e1e2e\",\n \"successText\": \"#1e1e2e\",\n \"warningText\": \"#1e1e2e\",\n \"dangerText\": \"#1e1e2e\"\n },\n \"border\": {\n \"default\": \"#6c7086\"\n },\n \"accent\": {\n \"link\": \"#89b4fa\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#a6e3a1\",\n \"h2\": \"#89b4fa\",\n \"h3\": \"#74c7ec\",\n \"h4\": \"#f9e2af\",\n \"h5\": \"#cba6f7\",\n \"h6\": \"#f38ba8\"\n },\n \"body\": {\n \"primary\": \"#cdd6f4\",\n \"secondary\": \"#a6adc8\"\n },\n \"link\": {\n \"default\": \"#89b4fa\"\n },\n \"selection\": {\n \"fg\": \"#cdd6f4\",\n \"bg\": \"#56596a\"\n },\n \"blockquote\": {\n \"border\": \"#7f849c\",\n \"fg\": \"#cdd6f4\",\n \"bg\": \"#181825\"\n },\n \"codeInline\": {\n \"fg\": \"#cdd6f4\",\n \"bg\": \"#313244\"\n },\n \"codeBlock\": {\n \"fg\": \"#cdd6f4\",\n \"bg\": \"#313244\"\n },\n \"table\": {\n \"border\": \"#7f849c\",\n \"stripe\": \"#313244\",\n \"theadBg\": \"#45475a\"\n }\n }\n }\n },\n \"dracula\": {\n \"id\": \"dracula\",\n \"label\": \"Dracula\",\n \"vendor\": \"dracula\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#282a36\",\n \"surface\": \"#21222c\",\n \"overlay\": \"#44475a\"\n },\n \"text\": {\n \"primary\": \"#f8f8f2\",\n \"secondary\": \"#b3bbd3\",\n \"inverse\": \"#282a36\"\n },\n \"brand\": {\n \"primary\": \"#bd93f9\",\n \"primaryText\": \"#282a36\"\n },\n \"state\": {\n \"info\": \"#8be9fd\",\n \"success\": \"#50fa7b\",\n \"warning\": \"#f1fa8c\",\n \"danger\": \"#ff5555\",\n \"infoText\": \"#282a36\",\n \"successText\": \"#282a36\",\n \"warningText\": \"#282a36\",\n \"dangerText\": \"#242631\"\n },\n \"border\": {\n \"default\": \"#44475a\"\n },\n \"accent\": {\n \"link\": \"#8be9fd\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, sans-serif\",\n \"mono\": \"\\\"Fira Code\\\", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;600&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#ff79c6\",\n \"h2\": \"#bd93f9\",\n \"h3\": \"#8be9fd\",\n \"h4\": \"#50fa7b\",\n \"h5\": \"#ffb86c\",\n \"h6\": \"#f1fa8c\"\n },\n \"body\": {\n \"primary\": \"#f8f8f2\",\n \"secondary\": \"#8995bb\"\n },\n \"link\": {\n \"default\": \"#8be9fd\"\n },\n \"selection\": {\n \"fg\": \"#f8f8f2\",\n \"bg\": \"#44475a\"\n },\n \"blockquote\": {\n \"border\": \"#bd93f9\",\n \"fg\": \"#7f8db5\",\n \"bg\": \"#21222c\"\n },\n \"codeInline\": {\n \"fg\": \"#50fa7b\",\n \"bg\": \"#21222c\"\n },\n \"codeBlock\": {\n \"fg\": \"#f8f8f2\",\n \"bg\": \"#21222c\"\n },\n \"table\": {\n \"border\": \"#44475a\",\n \"stripe\": \"#21222c\",\n \"theadBg\": \"#44475a\",\n \"cellBg\": \"#282a36\",\n \"headerFg\": \"#f8f8f2\"\n }\n },\n \"spacing\": {\n \"xs\": \"0.25rem\",\n \"sm\": \"0.5rem\",\n \"md\": \"1rem\",\n \"lg\": \"1.5rem\",\n \"xl\": \"2rem\"\n },\n \"elevation\": {\n \"none\": \"none\",\n \"sm\": \"0 1px 2px 0 rgba(0, 0, 0, 0.05)\",\n \"md\": \"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)\",\n \"lg\": \"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)\",\n \"xl\": \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\"\n },\n \"animation\": {\n \"durationFast\": \"150ms\",\n \"durationNormal\": \"300ms\",\n \"durationSlow\": \"500ms\",\n \"easingDefault\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"easingEmphasized\": \"cubic-bezier(0.05, 0.7, 0.1, 1)\"\n },\n \"opacity\": {\n \"disabled\": 0.5,\n \"hover\": 0.8,\n \"pressed\": 0.6\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#21222c\",\n \"border\": \"#6272a4\",\n \"headerBg\": \"#282a36\",\n \"footerBg\": \"#21222c\"\n },\n \"message\": {\n \"bg\": \"#282a36\",\n \"headerBg\": \"#44475a\",\n \"border\": \"#6272a4\",\n \"bodyFg\": \"#f8f8f2\"\n },\n \"panel\": {\n \"bg\": \"#21222c\",\n \"headerBg\": \"#44475a\",\n \"headerFg\": \"#f8f8f2\",\n \"border\": \"#6272a4\",\n \"blockBg\": \"#282a36\",\n \"blockHoverBg\": \"#2e303e\",\n \"blockActiveBg\": \"#44475a\"\n },\n \"box\": {\n \"bg\": \"#21222c\",\n \"border\": \"#6272a4\"\n },\n \"notification\": {\n \"bg\": \"#282a36\",\n \"border\": \"#6272a4\"\n },\n \"modal\": {\n \"bg\": \"rgba(40, 42, 54, 0.9)\",\n \"cardBg\": \"#21222c\",\n \"headerBg\": \"#282a36\",\n \"footerBg\": \"#21222c\"\n },\n \"dropdown\": {\n \"bg\": \"#21222c\",\n \"itemHoverBg\": \"#2e303e\",\n \"border\": \"#6272a4\"\n },\n \"tabs\": {\n \"border\": \"#6272a4\",\n \"linkBg\": \"#2e303e\",\n \"linkActiveBg\": \"#21222c\",\n \"linkHoverBg\": \"#44475a\"\n }\n }\n }\n },\n \"everforest-dark-hard\": {\n \"id\": \"everforest-dark-hard\",\n \"label\": \"Everforest Dark Hard\",\n \"vendor\": \"everforest\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#272E33\",\n \"surface\": \"#2E383C\",\n \"overlay\": \"#374145\"\n },\n \"text\": {\n \"primary\": \"#D3C6AA\",\n \"secondary\": \"#a7b2aa\",\n \"inverse\": \"#272E33\"\n },\n \"brand\": {\n \"primary\": \"#A7C080\",\n \"primaryText\": \"#272E33\"\n },\n \"state\": {\n \"info\": \"#7FBBB3\",\n \"success\": \"#A7C080\",\n \"warning\": \"#DBBC7F\",\n \"danger\": \"#E67E80\",\n \"infoText\": \"#272E33\",\n \"successText\": \"#272E33\",\n \"warningText\": \"#272E33\",\n \"dangerText\": \"#272E33\"\n },\n \"border\": {\n \"default\": \"#495156\"\n },\n \"accent\": {\n \"link\": \"#83C092\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#A7C080\",\n \"h2\": \"#7FBBB3\",\n \"h3\": \"#83C092\",\n \"h4\": \"#DBBC7F\",\n \"h5\": \"#D699B6\",\n \"h6\": \"#E67E80\"\n },\n \"body\": {\n \"primary\": \"#D3C6AA\",\n \"secondary\": \"#9DA9A0\"\n },\n \"link\": {\n \"default\": \"#83C092\"\n },\n \"selection\": {\n \"fg\": \"#D3C6AA\",\n \"bg\": \"#374145\"\n },\n \"blockquote\": {\n \"border\": \"#495156\",\n \"fg\": \"#9DA9A0\",\n \"bg\": \"#2E383C\"\n },\n \"codeInline\": {\n \"fg\": \"#e79e7d\",\n \"bg\": \"#374145\"\n },\n \"codeBlock\": {\n \"fg\": \"#D3C6AA\",\n \"bg\": \"#2E383C\"\n },\n \"table\": {\n \"border\": \"#495156\",\n \"stripe\": \"#374145\",\n \"theadBg\": \"#2E383C\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#2E383C\",\n \"border\": \"#495156\",\n \"headerBg\": \"#272E33\",\n \"footerBg\": \"#2E383C\"\n },\n \"message\": {\n \"bg\": \"#272E33\",\n \"headerBg\": \"#2E383C\",\n \"border\": \"#495156\",\n \"bodyFg\": \"#D3C6AA\"\n },\n \"panel\": {\n \"bg\": \"#2E383C\",\n \"headerBg\": \"#272E33\",\n \"headerFg\": \"#D3C6AA\",\n \"border\": \"#495156\",\n \"blockBg\": \"#272E33\",\n \"blockHoverBg\": \"#2E383C\",\n \"blockActiveBg\": \"#374145\"\n },\n \"box\": {\n \"bg\": \"#2E383C\",\n \"border\": \"#495156\"\n },\n \"notification\": {\n \"bg\": \"#272E33\",\n \"border\": \"#495156\"\n },\n \"modal\": {\n \"bg\": \"rgba(39, 46, 51, 0.9)\",\n \"cardBg\": \"#2E383C\",\n \"headerBg\": \"#272E33\",\n \"footerBg\": \"#2E383C\"\n },\n \"dropdown\": {\n \"bg\": \"#2E383C\",\n \"itemHoverBg\": \"#374145\",\n \"border\": \"#495156\"\n },\n \"tabs\": {\n \"border\": \"#495156\",\n \"linkBg\": \"#2E383C\",\n \"linkActiveBg\": \"#272E33\",\n \"linkHoverBg\": \"#374145\"\n }\n }\n }\n },\n \"everforest-dark-soft\": {\n \"id\": \"everforest-dark-soft\",\n \"label\": \"Everforest Dark Soft\",\n \"vendor\": \"everforest\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#333C43\",\n \"surface\": \"#3A464C\",\n \"overlay\": \"#434F55\"\n },\n \"text\": {\n \"primary\": \"#D3C6AA\",\n \"secondary\": \"#bdc5be\",\n \"inverse\": \"#333C43\"\n },\n \"brand\": {\n \"primary\": \"#A7C080\",\n \"primaryText\": \"#333C43\"\n },\n \"state\": {\n \"info\": \"#7FBBB3\",\n \"success\": \"#A7C080\",\n \"warning\": \"#DBBC7F\",\n \"danger\": \"#E67E80\",\n \"dangerText\": \"#2a3238\",\n \"infoText\": \"#333C43\",\n \"successText\": \"#333C43\",\n \"warningText\": \"#333C43\"\n },\n \"border\": {\n \"default\": \"#555F66\"\n },\n \"accent\": {\n \"link\": \"#9dcea9\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#A7C080\",\n \"h2\": \"#7FBBB3\",\n \"h3\": \"#83C092\",\n \"h4\": \"#DBBC7F\",\n \"h5\": \"#D699B6\",\n \"h6\": \"#E67E80\"\n },\n \"body\": {\n \"primary\": \"#D3C6AA\",\n \"secondary\": \"#aeb8b0\"\n },\n \"link\": {\n \"default\": \"#9dcea9\"\n },\n \"selection\": {\n \"fg\": \"#D3C6AA\",\n \"bg\": \"#434F55\"\n },\n \"blockquote\": {\n \"border\": \"#555F66\",\n \"fg\": \"#aeb8b0\",\n \"bg\": \"#3A464C\"\n },\n \"codeInline\": {\n \"fg\": \"#edb79d\",\n \"bg\": \"#434F55\"\n },\n \"codeBlock\": {\n \"fg\": \"#D3C6AA\",\n \"bg\": \"#3A464C\"\n },\n \"table\": {\n \"border\": \"#555F66\",\n \"stripe\": \"#434F55\",\n \"theadBg\": \"#3A464C\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#3A464C\",\n \"border\": \"#555F66\",\n \"headerBg\": \"#333C43\",\n \"footerBg\": \"#3A464C\"\n },\n \"message\": {\n \"bg\": \"#333C43\",\n \"headerBg\": \"#3A464C\",\n \"border\": \"#555F66\",\n \"bodyFg\": \"#D3C6AA\"\n },\n \"panel\": {\n \"bg\": \"#3A464C\",\n \"headerBg\": \"#333C43\",\n \"headerFg\": \"#D3C6AA\",\n \"border\": \"#555F66\",\n \"blockBg\": \"#333C43\",\n \"blockHoverBg\": \"#3A464C\",\n \"blockActiveBg\": \"#434F55\"\n },\n \"box\": {\n \"bg\": \"#3A464C\",\n \"border\": \"#555F66\"\n },\n \"notification\": {\n \"bg\": \"#333C43\",\n \"border\": \"#555F66\"\n },\n \"modal\": {\n \"bg\": \"rgba(51, 60, 67, 0.9)\",\n \"cardBg\": \"#3A464C\",\n \"headerBg\": \"#333C43\",\n \"footerBg\": \"#3A464C\"\n },\n \"dropdown\": {\n \"bg\": \"#3A464C\",\n \"itemHoverBg\": \"#434F55\",\n \"border\": \"#555F66\"\n },\n \"tabs\": {\n \"border\": \"#555F66\",\n \"linkBg\": \"#3A464C\",\n \"linkActiveBg\": \"#333C43\",\n \"linkHoverBg\": \"#434F55\"\n }\n }\n }\n },\n \"everforest-dark\": {\n \"id\": \"everforest-dark\",\n \"label\": \"Everforest Dark\",\n \"vendor\": \"everforest\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#2D353B\",\n \"surface\": \"#343F44\",\n \"overlay\": \"#3D484D\"\n },\n \"text\": {\n \"primary\": \"#D3C6AA\",\n \"secondary\": \"#b2bbb4\",\n \"inverse\": \"#2D353B\"\n },\n \"brand\": {\n \"primary\": \"#A7C080\",\n \"primaryText\": \"#2D353B\"\n },\n \"state\": {\n \"info\": \"#7FBBB3\",\n \"success\": \"#A7C080\",\n \"warning\": \"#DBBC7F\",\n \"danger\": \"#E67E80\",\n \"infoText\": \"#2D353B\",\n \"successText\": \"#2D353B\",\n \"warningText\": \"#2D353B\",\n \"dangerText\": \"#2a3237\"\n },\n \"border\": {\n \"default\": \"#4F585E\"\n },\n \"accent\": {\n \"link\": \"#8ec69c\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#A7C080\",\n \"h2\": \"#7FBBB3\",\n \"h3\": \"#83C092\",\n \"h4\": \"#DBBC7F\",\n \"h5\": \"#D699B6\",\n \"h6\": \"#E67E80\"\n },\n \"body\": {\n \"primary\": \"#D3C6AA\",\n \"secondary\": \"#a4afa7\"\n },\n \"link\": {\n \"default\": \"#8ec69c\"\n },\n \"selection\": {\n \"fg\": \"#D3C6AA\",\n \"bg\": \"#3D484D\"\n },\n \"blockquote\": {\n \"border\": \"#4F585E\",\n \"fg\": \"#a4afa7\",\n \"bg\": \"#343F44\"\n },\n \"codeInline\": {\n \"fg\": \"#eaaa8d\",\n \"bg\": \"#3D484D\"\n },\n \"codeBlock\": {\n \"fg\": \"#D3C6AA\",\n \"bg\": \"#343F44\"\n },\n \"table\": {\n \"border\": \"#4F585E\",\n \"stripe\": \"#3D484D\",\n \"theadBg\": \"#343F44\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#343F44\",\n \"border\": \"#4F585E\",\n \"headerBg\": \"#2D353B\",\n \"footerBg\": \"#343F44\"\n },\n \"message\": {\n \"bg\": \"#2D353B\",\n \"headerBg\": \"#343F44\",\n \"border\": \"#4F585E\",\n \"bodyFg\": \"#D3C6AA\"\n },\n \"panel\": {\n \"bg\": \"#343F44\",\n \"headerBg\": \"#2D353B\",\n \"headerFg\": \"#D3C6AA\",\n \"border\": \"#4F585E\",\n \"blockBg\": \"#2D353B\",\n \"blockHoverBg\": \"#343F44\",\n \"blockActiveBg\": \"#3D484D\"\n },\n \"box\": {\n \"bg\": \"#343F44\",\n \"border\": \"#4F585E\"\n },\n \"notification\": {\n \"bg\": \"#2D353B\",\n \"border\": \"#4F585E\"\n },\n \"modal\": {\n \"bg\": \"rgba(45, 53, 59, 0.9)\",\n \"cardBg\": \"#343F44\",\n \"headerBg\": \"#2D353B\",\n \"footerBg\": \"#343F44\"\n },\n \"dropdown\": {\n \"bg\": \"#343F44\",\n \"itemHoverBg\": \"#3D484D\",\n \"border\": \"#4F585E\"\n },\n \"tabs\": {\n \"border\": \"#4F585E\",\n \"linkBg\": \"#343F44\",\n \"linkActiveBg\": \"#2D353B\",\n \"linkHoverBg\": \"#3D484D\"\n }\n }\n }\n },\n \"everforest-light-hard\": {\n \"id\": \"everforest-light-hard\",\n \"label\": \"Everforest Light Hard\",\n \"vendor\": \"everforest\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#FFFBEF\",\n \"surface\": \"#F8F5E4\",\n \"overlay\": \"#EDEADA\"\n },\n \"text\": {\n \"primary\": \"#5a6870\",\n \"secondary\": \"#5a676e\",\n \"inverse\": \"#FFFBEF\"\n },\n \"brand\": {\n \"primary\": \"#697a01\",\n \"primaryText\": \"#fffefc\"\n },\n \"state\": {\n \"info\": \"#2A7A9E\",\n \"success\": \"#697a01\",\n \"warning\": \"#A87800\",\n \"danger\": \"#D03A38\",\n \"infoText\": \"#fffef9\",\n \"successText\": \"#fffefc\",\n \"warningText\": \"#121211\",\n \"dangerText\": \"#fffdf7\"\n },\n \"border\": {\n \"default\": \"#E8E5D5\"\n },\n \"accent\": {\n \"link\": \"#1D6B4F\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#6B7C01\",\n \"h2\": \"#2A7A9E\",\n \"h3\": \"#1D6B4F\",\n \"h4\": \"#A87800\",\n \"h5\": \"#B84F96\",\n \"h6\": \"#D03A38\"\n },\n \"body\": {\n \"primary\": \"#5C6A72\",\n \"secondary\": \"#606e75\"\n },\n \"link\": {\n \"default\": \"#1D6B4F\"\n },\n \"selection\": {\n \"fg\": \"#5C6A72\",\n \"bg\": \"#f0eddf\"\n },\n \"blockquote\": {\n \"border\": \"#E8E5D5\",\n \"fg\": \"#606e75\",\n \"bg\": \"#F8F5E4\"\n },\n \"codeInline\": {\n \"fg\": \"#a64b10\",\n \"bg\": \"#EDEADA\"\n },\n \"codeBlock\": {\n \"fg\": \"#5C6A72\",\n \"bg\": \"#F8F5E4\"\n },\n \"table\": {\n \"border\": \"#E8E5D5\",\n \"stripe\": \"#EDEADA\",\n \"theadBg\": \"#F8F5E4\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#FFFBEF\",\n \"border\": \"#E8E5D5\",\n \"headerBg\": \"#F8F5E4\",\n \"footerBg\": \"#F8F5E4\"\n },\n \"message\": {\n \"bg\": \"#F8F5E4\",\n \"headerBg\": \"#FFFBEF\",\n \"border\": \"#E8E5D5\",\n \"bodyFg\": \"#5C6A72\"\n },\n \"panel\": {\n \"bg\": \"#FFFBEF\",\n \"headerBg\": \"#F8F5E4\",\n \"headerFg\": \"#5C6A72\",\n \"border\": \"#E8E5D5\",\n \"blockBg\": \"#F8F5E4\",\n \"blockHoverBg\": \"#FFFBEF\",\n \"blockActiveBg\": \"#EDEADA\"\n },\n \"box\": {\n \"bg\": \"#FFFBEF\",\n \"border\": \"#E8E5D5\"\n },\n \"notification\": {\n \"bg\": \"#F8F5E4\",\n \"border\": \"#E8E5D5\"\n },\n \"modal\": {\n \"bg\": \"rgba(92, 106, 114, 0.86)\",\n \"cardBg\": \"#FFFBEF\",\n \"headerBg\": \"#F8F5E4\",\n \"footerBg\": \"#F8F5E4\"\n },\n \"dropdown\": {\n \"bg\": \"#FFFBEF\",\n \"itemHoverBg\": \"#F8F5E4\",\n \"border\": \"#E8E5D5\"\n },\n \"tabs\": {\n \"border\": \"#E8E5D5\",\n \"linkBg\": \"#F8F5E4\",\n \"linkActiveBg\": \"#FFFBEF\",\n \"linkHoverBg\": \"#EDEADA\"\n }\n }\n }\n },\n \"everforest-light-soft\": {\n \"id\": \"everforest-light-soft\",\n \"label\": \"Everforest Light Soft\",\n \"vendor\": \"everforest\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#F3EAD3\",\n \"surface\": \"#EAE4CA\",\n \"overlay\": \"#DDD8BE\"\n },\n \"text\": {\n \"primary\": \"#4f5c63\",\n \"secondary\": \"#4f5c62\",\n \"inverse\": \"#F3EAD3\"\n },\n \"brand\": {\n \"primary\": \"#697a01\",\n \"primaryText\": \"#fffefd\"\n },\n \"state\": {\n \"info\": \"#2A7A9E\",\n \"success\": \"#697a01\",\n \"warning\": \"#A87800\",\n \"danger\": \"#D03A38\",\n \"infoText\": \"#fefefc\",\n \"successText\": \"#fffefd\",\n \"warningText\": \"#11100f\",\n \"dangerText\": \"#fefdfa\"\n },\n \"border\": {\n \"default\": \"#D8D3BA\"\n },\n \"accent\": {\n \"link\": \"#1c664b\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#6B7C01\",\n \"h2\": \"#2A7A9E\",\n \"h3\": \"#1D6B4F\",\n \"h4\": \"#A87800\",\n \"h5\": \"#B84F96\",\n \"h6\": \"#D03A38\"\n },\n \"body\": {\n \"primary\": \"#56646c\",\n \"secondary\": \"#56646a\"\n },\n \"link\": {\n \"default\": \"#1c664b\"\n },\n \"selection\": {\n \"fg\": \"#5C6A72\",\n \"bg\": \"#efede0\"\n },\n \"blockquote\": {\n \"border\": \"#D8D3BA\",\n \"fg\": \"#57646b\",\n \"bg\": \"#EAE4CA\"\n },\n \"codeInline\": {\n \"fg\": \"#92430e\",\n \"bg\": \"#DDD8BE\"\n },\n \"codeBlock\": {\n \"fg\": \"#5a6870\",\n \"bg\": \"#F3EAD3\"\n },\n \"table\": {\n \"border\": \"#D8D3BA\",\n \"stripe\": \"#DDD8BE\",\n \"theadBg\": \"#EAE4CA\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#F3EAD3\",\n \"border\": \"#D8D3BA\",\n \"headerBg\": \"#EAE4CA\",\n \"footerBg\": \"#EAE4CA\"\n },\n \"message\": {\n \"bg\": \"#EAE4CA\",\n \"headerBg\": \"#F3EAD3\",\n \"border\": \"#D8D3BA\",\n \"bodyFg\": \"#5C6A72\"\n },\n \"panel\": {\n \"bg\": \"#F3EAD3\",\n \"headerBg\": \"#EAE4CA\",\n \"headerFg\": \"#5C6A72\",\n \"border\": \"#D8D3BA\",\n \"blockBg\": \"#EAE4CA\",\n \"blockHoverBg\": \"#F3EAD3\",\n \"blockActiveBg\": \"#DDD8BE\"\n },\n \"box\": {\n \"bg\": \"#F3EAD3\",\n \"border\": \"#D8D3BA\"\n },\n \"notification\": {\n \"bg\": \"#EAE4CA\",\n \"border\": \"#D8D3BA\"\n },\n \"modal\": {\n \"bg\": \"rgba(92, 106, 114, 0.86)\",\n \"cardBg\": \"#F3EAD3\",\n \"headerBg\": \"#EAE4CA\",\n \"footerBg\": \"#EAE4CA\"\n },\n \"dropdown\": {\n \"bg\": \"#F3EAD3\",\n \"itemHoverBg\": \"#EAE4CA\",\n \"border\": \"#D8D3BA\"\n },\n \"tabs\": {\n \"border\": \"#D8D3BA\",\n \"linkBg\": \"#EAE4CA\",\n \"linkActiveBg\": \"#F3EAD3\",\n \"linkHoverBg\": \"#DDD8BE\"\n }\n }\n }\n },\n \"everforest-light\": {\n \"id\": \"everforest-light\",\n \"label\": \"Everforest Light\",\n \"vendor\": \"everforest\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#FDF6E3\",\n \"surface\": \"#F4F0D9\",\n \"overlay\": \"#E6E2CC\"\n },\n \"text\": {\n \"primary\": \"#56636a\",\n \"secondary\": \"#566269\",\n \"inverse\": \"#FDF6E3\"\n },\n \"brand\": {\n \"primary\": \"#697a01\",\n \"primaryText\": \"#fffefc\"\n },\n \"state\": {\n \"info\": \"#2A7A9E\",\n \"success\": \"#697a01\",\n \"warning\": \"#A87800\",\n \"danger\": \"#D03A38\",\n \"infoText\": \"#fffefb\",\n \"successText\": \"#fffefc\",\n \"warningText\": \"#121110\",\n \"dangerText\": \"#fffdf8\"\n },\n \"border\": {\n \"default\": \"#BDC3AF\"\n },\n \"accent\": {\n \"link\": \"#1D6B4F\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#6B7C01\",\n \"h2\": \"#2A7A9E\",\n \"h3\": \"#1D6B4F\",\n \"h4\": \"#A87800\",\n \"h5\": \"#B84F96\",\n \"h6\": \"#D03A38\"\n },\n \"body\": {\n \"primary\": \"#5C6A72\",\n \"secondary\": \"#5e6b72\"\n },\n \"link\": {\n \"default\": \"#1D6B4F\"\n },\n \"selection\": {\n \"fg\": \"#5C6A72\",\n \"bg\": \"#f0eddf\"\n },\n \"blockquote\": {\n \"border\": \"#BDC3AF\",\n \"fg\": \"#5d6b72\",\n \"bg\": \"#F4F0D9\"\n },\n \"codeInline\": {\n \"fg\": \"#9c480f\",\n \"bg\": \"#E6E2CC\"\n },\n \"codeBlock\": {\n \"fg\": \"#5C6A72\",\n \"bg\": \"#F4F0D9\"\n },\n \"table\": {\n \"border\": \"#BDC3AF\",\n \"stripe\": \"#E6E2CC\",\n \"theadBg\": \"#F4F0D9\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#FDF6E3\",\n \"border\": \"#BDC3AF\",\n \"headerBg\": \"#F4F0D9\",\n \"footerBg\": \"#F4F0D9\"\n },\n \"message\": {\n \"bg\": \"#F4F0D9\",\n \"headerBg\": \"#FDF6E3\",\n \"border\": \"#BDC3AF\",\n \"bodyFg\": \"#5C6A72\"\n },\n \"panel\": {\n \"bg\": \"#FDF6E3\",\n \"headerBg\": \"#F4F0D9\",\n \"headerFg\": \"#5C6A72\",\n \"border\": \"#BDC3AF\",\n \"blockBg\": \"#F4F0D9\",\n \"blockHoverBg\": \"#FDF6E3\",\n \"blockActiveBg\": \"#E6E2CC\"\n },\n \"box\": {\n \"bg\": \"#FDF6E3\",\n \"border\": \"#BDC3AF\"\n },\n \"notification\": {\n \"bg\": \"#F4F0D9\",\n \"border\": \"#BDC3AF\"\n },\n \"modal\": {\n \"bg\": \"rgba(92, 106, 114, 0.86)\",\n \"cardBg\": \"#FDF6E3\",\n \"headerBg\": \"#F4F0D9\",\n \"footerBg\": \"#F4F0D9\"\n },\n \"dropdown\": {\n \"bg\": \"#FDF6E3\",\n \"itemHoverBg\": \"#F4F0D9\",\n \"border\": \"#BDC3AF\"\n },\n \"tabs\": {\n \"border\": \"#BDC3AF\",\n \"linkBg\": \"#F4F0D9\",\n \"linkActiveBg\": \"#FDF6E3\",\n \"linkHoverBg\": \"#E6E2CC\"\n }\n }\n }\n },\n \"github-dark\": {\n \"id\": \"github-dark\",\n \"label\": \"GitHub Dark\",\n \"vendor\": \"github\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#0d1117\",\n \"surface\": \"#151b23\",\n \"overlay\": \"#010409\"\n },\n \"text\": {\n \"primary\": \"#f0f6fc\",\n \"secondary\": \"#9198a1\",\n \"inverse\": \"#ffffff\"\n },\n \"brand\": {\n \"primary\": \"#1e6de6\",\n \"primaryText\": \"#ffffff\"\n },\n \"state\": {\n \"info\": \"#3573c1\",\n \"success\": \"#3fb950\",\n \"warning\": \"#d29922\",\n \"danger\": \"#f85149\",\n \"successText\": \"#0d1117\",\n \"warningText\": \"#0d1117\",\n \"infoText\": \"#fdfeff\",\n \"dangerText\": \"#0d1117\"\n },\n \"border\": {\n \"default\": \"#3d444d\"\n },\n \"accent\": {\n \"link\": \"#4493f8\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"\\\"Mona Sans\\\", -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", \\\"Noto Sans\\\", Helvetica, Arial, sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"\\\"Hubot Sans\\\", ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, \\\"Liberation Mono\\\", monospace\"\n },\n \"webFonts\": [\n \"https://github.githubassets.com/assets/mona-sans-webfont.woff2\",\n \"https://github.githubassets.com/assets/hubot-sans-webfont.woff2\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#3fb950\",\n \"h2\": \"#4493f8\",\n \"h3\": \"#1f6feb\",\n \"h4\": \"#d29922\",\n \"h5\": \"#3fb950\",\n \"h6\": \"#f85149\"\n },\n \"body\": {\n \"primary\": \"#f0f6fc\",\n \"secondary\": \"#9198a1\"\n },\n \"link\": {\n \"default\": \"#4493f8\"\n },\n \"selection\": {\n \"fg\": \"#f0f6fc\",\n \"bg\": \"#264f78\"\n },\n \"blockquote\": {\n \"border\": \"#3d444d\",\n \"fg\": \"#9198a1\",\n \"bg\": \"#151b23\"\n },\n \"codeInline\": {\n \"fg\": \"#f0f6fc\",\n \"bg\": \"#151b23\"\n },\n \"codeBlock\": {\n \"fg\": \"#f0f6fc\",\n \"bg\": \"#151b23\"\n },\n \"table\": {\n \"border\": \"#3d444d\",\n \"stripe\": \"#151b23\",\n \"theadBg\": \"#151b23\"\n }\n }\n }\n },\n \"github-light\": {\n \"id\": \"github-light\",\n \"label\": \"GitHub Light\",\n \"vendor\": \"github\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#ffffff\",\n \"surface\": \"#f6f8fa\",\n \"overlay\": \"#f6f8fa\"\n },\n \"text\": {\n \"primary\": \"#1f2328\",\n \"secondary\": \"#59636e\",\n \"inverse\": \"#ffffff\"\n },\n \"brand\": {\n \"primary\": \"#0969da\",\n \"primaryText\": \"#fcfcfc\"\n },\n \"state\": {\n \"info\": \"#0969da\",\n \"success\": \"#1a7f37\",\n \"warning\": \"#9a6700\",\n \"danger\": \"#d1242f\",\n \"infoText\": \"#f6f6f6\",\n \"successText\": \"#f8f8f9\",\n \"warningText\": \"#fdfdfd\",\n \"dangerText\": \"#f4f4f4\"\n },\n \"border\": {\n \"default\": \"#d1d9e0\"\n },\n \"accent\": {\n \"link\": \"#0969da\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"\\\"Mona Sans\\\", -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", \\\"Noto Sans\\\", Helvetica, Arial, sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"\\\"Hubot Sans\\\", ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, \\\"Liberation Mono\\\", monospace\"\n },\n \"webFonts\": [\n \"https://github.githubassets.com/assets/mona-sans-webfont.woff2\",\n \"https://github.githubassets.com/assets/hubot-sans-webfont.woff2\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#1a7f37\",\n \"h2\": \"#0969da\",\n \"h3\": \"#0969da\",\n \"h4\": \"#9a6700\",\n \"h5\": \"#1a7f37\",\n \"h6\": \"#d1242f\"\n },\n \"body\": {\n \"primary\": \"#1f2328\",\n \"secondary\": \"#59636e\"\n },\n \"link\": {\n \"default\": \"#0969da\"\n },\n \"selection\": {\n \"fg\": \"#1f2328\",\n \"bg\": \"#b6e3ff\"\n },\n \"blockquote\": {\n \"border\": \"#d1d9e0\",\n \"fg\": \"#59636e\",\n \"bg\": \"#f6f8fa\"\n },\n \"codeInline\": {\n \"fg\": \"#1f2328\",\n \"bg\": \"#f6f8fa\"\n },\n \"codeBlock\": {\n \"fg\": \"#1f2328\",\n \"bg\": \"#f6f8fa\"\n },\n \"table\": {\n \"border\": \"#d1d9e0\",\n \"stripe\": \"#f6f8fa\",\n \"theadBg\": \"#f6f8fa\"\n }\n }\n }\n },\n \"gruvbox-dark-hard\": {\n \"id\": \"gruvbox-dark-hard\",\n \"label\": \"Gruvbox Dark Hard\",\n \"vendor\": \"gruvbox\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#1d2021\",\n \"surface\": \"#282828\",\n \"overlay\": \"#3c3836\"\n },\n \"text\": {\n \"primary\": \"#ebdbb2\",\n \"secondary\": \"#d5c4a1\",\n \"inverse\": \"#1d2021\"\n },\n \"brand\": {\n \"primary\": \"#d79921\",\n \"primaryText\": \"#1d2021\"\n },\n \"state\": {\n \"info\": \"#83a598\",\n \"success\": \"#b8bb26\",\n \"warning\": \"#fabd2f\",\n \"danger\": \"#fb4934\",\n \"infoText\": \"#1d2021\",\n \"successText\": \"#1d2021\",\n \"warningText\": \"#1d2021\",\n \"dangerText\": \"#1d2021\"\n },\n \"border\": {\n \"default\": \"#665c54\"\n },\n \"accent\": {\n \"link\": \"#8eada1\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#b8bb26\",\n \"h2\": \"#83a598\",\n \"h3\": \"#8ec07c\",\n \"h4\": \"#fabd2f\",\n \"h5\": \"#d3869b\",\n \"h6\": \"#fb4934\"\n },\n \"body\": {\n \"primary\": \"#ebdbb2\",\n \"secondary\": \"#d5c4a1\"\n },\n \"link\": {\n \"default\": \"#8eada1\"\n },\n \"selection\": {\n \"fg\": \"#ebdbb2\",\n \"bg\": \"#3c3836\"\n },\n \"blockquote\": {\n \"border\": \"#665c54\",\n \"fg\": \"#d5c4a1\",\n \"bg\": \"#282828\"\n },\n \"codeInline\": {\n \"fg\": \"#fe8625\",\n \"bg\": \"#3c3836\"\n },\n \"codeBlock\": {\n \"fg\": \"#ebdbb2\",\n \"bg\": \"#282828\"\n },\n \"table\": {\n \"border\": \"#665c54\",\n \"stripe\": \"#3c3836\",\n \"theadBg\": \"#282828\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#282828\",\n \"border\": \"#665c54\",\n \"headerBg\": \"#1d2021\",\n \"footerBg\": \"#282828\"\n },\n \"message\": {\n \"bg\": \"#1d2021\",\n \"headerBg\": \"#282828\",\n \"border\": \"#665c54\",\n \"bodyFg\": \"#ebdbb2\"\n },\n \"panel\": {\n \"bg\": \"#282828\",\n \"headerBg\": \"#1d2021\",\n \"headerFg\": \"#ebdbb2\",\n \"border\": \"#665c54\",\n \"blockBg\": \"#1d2021\",\n \"blockHoverBg\": \"#282828\",\n \"blockActiveBg\": \"#3c3836\"\n },\n \"box\": {\n \"bg\": \"#282828\",\n \"border\": \"#665c54\"\n },\n \"notification\": {\n \"bg\": \"#1d2021\",\n \"border\": \"#665c54\"\n },\n \"modal\": {\n \"bg\": \"rgba(29, 32, 33, 0.9)\",\n \"cardBg\": \"#282828\",\n \"headerBg\": \"#1d2021\",\n \"footerBg\": \"#282828\"\n },\n \"dropdown\": {\n \"bg\": \"#282828\",\n \"itemHoverBg\": \"#3c3836\",\n \"border\": \"#665c54\"\n },\n \"tabs\": {\n \"border\": \"#665c54\",\n \"linkBg\": \"#282828\",\n \"linkActiveBg\": \"#1d2021\",\n \"linkHoverBg\": \"#3c3836\"\n }\n }\n }\n },\n \"gruvbox-dark-soft\": {\n \"id\": \"gruvbox-dark-soft\",\n \"label\": \"Gruvbox Dark Soft\",\n \"vendor\": \"gruvbox\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#32302f\",\n \"surface\": \"#3c3836\",\n \"overlay\": \"#504945\"\n },\n \"text\": {\n \"primary\": \"#ebdbb2\",\n \"secondary\": \"#d5c4a1\",\n \"inverse\": \"#32302f\"\n },\n \"brand\": {\n \"primary\": \"#d79921\",\n \"primaryText\": \"#32302f\"\n },\n \"state\": {\n \"info\": \"#83a598\",\n \"success\": \"#b8bb26\",\n \"warning\": \"#fabd2f\",\n \"danger\": \"#fb4934\",\n \"dangerText\": \"#211f1f\",\n \"infoText\": \"#32302f\",\n \"successText\": \"#32302f\",\n \"warningText\": \"#32302f\"\n },\n \"border\": {\n \"default\": \"#665c54\"\n },\n \"accent\": {\n \"link\": \"#adc4bb\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#b8bb26\",\n \"h2\": \"#83a598\",\n \"h3\": \"#8ec07c\",\n \"h4\": \"#fabd2f\",\n \"h5\": \"#d3869b\",\n \"h6\": \"#fb4934\"\n },\n \"body\": {\n \"primary\": \"#ebdbb2\",\n \"secondary\": \"#d5c4a1\"\n },\n \"link\": {\n \"default\": \"#adc4bb\"\n },\n \"selection\": {\n \"fg\": \"#ebdbb2\",\n \"bg\": \"#504945\"\n },\n \"blockquote\": {\n \"border\": \"#665c54\",\n \"fg\": \"#d5c4a1\",\n \"bg\": \"#3c3836\"\n },\n \"codeInline\": {\n \"fg\": \"#feac69\",\n \"bg\": \"#504945\"\n },\n \"codeBlock\": {\n \"fg\": \"#ebdbb2\",\n \"bg\": \"#3c3836\"\n },\n \"table\": {\n \"border\": \"#665c54\",\n \"stripe\": \"#504945\",\n \"theadBg\": \"#3c3836\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#3c3836\",\n \"border\": \"#665c54\",\n \"headerBg\": \"#32302f\",\n \"footerBg\": \"#3c3836\"\n },\n \"message\": {\n \"bg\": \"#32302f\",\n \"headerBg\": \"#3c3836\",\n \"border\": \"#665c54\",\n \"bodyFg\": \"#ebdbb2\"\n },\n \"panel\": {\n \"bg\": \"#3c3836\",\n \"headerBg\": \"#32302f\",\n \"headerFg\": \"#ebdbb2\",\n \"border\": \"#665c54\",\n \"blockBg\": \"#32302f\",\n \"blockHoverBg\": \"#3c3836\",\n \"blockActiveBg\": \"#504945\"\n },\n \"box\": {\n \"bg\": \"#3c3836\",\n \"border\": \"#665c54\"\n },\n \"notification\": {\n \"bg\": \"#32302f\",\n \"border\": \"#665c54\"\n },\n \"modal\": {\n \"bg\": \"rgba(50, 48, 47, 0.9)\",\n \"cardBg\": \"#3c3836\",\n \"headerBg\": \"#32302f\",\n \"footerBg\": \"#3c3836\"\n },\n \"dropdown\": {\n \"bg\": \"#3c3836\",\n \"itemHoverBg\": \"#504945\",\n \"border\": \"#665c54\"\n },\n \"tabs\": {\n \"border\": \"#665c54\",\n \"linkBg\": \"#3c3836\",\n \"linkActiveBg\": \"#32302f\",\n \"linkHoverBg\": \"#504945\"\n }\n }\n }\n },\n \"gruvbox-dark\": {\n \"id\": \"gruvbox-dark\",\n \"label\": \"Gruvbox Dark\",\n \"vendor\": \"gruvbox\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#282828\",\n \"surface\": \"#3c3836\",\n \"overlay\": \"#504945\"\n },\n \"text\": {\n \"primary\": \"#ebdbb2\",\n \"secondary\": \"#d5c4a1\",\n \"inverse\": \"#282828\"\n },\n \"brand\": {\n \"primary\": \"#d79921\",\n \"primaryText\": \"#282828\"\n },\n \"state\": {\n \"info\": \"#83a598\",\n \"success\": \"#b8bb26\",\n \"warning\": \"#fabd2f\",\n \"danger\": \"#fb4934\",\n \"dangerText\": \"#1f1f1f\",\n \"infoText\": \"#282828\",\n \"successText\": \"#282828\",\n \"warningText\": \"#282828\"\n },\n \"border\": {\n \"default\": \"#665c54\"\n },\n \"accent\": {\n \"link\": \"#adc4bb\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#b8bb26\",\n \"h2\": \"#83a598\",\n \"h3\": \"#8ec07c\",\n \"h4\": \"#fabd2f\",\n \"h5\": \"#d3869b\",\n \"h6\": \"#fb4934\"\n },\n \"body\": {\n \"primary\": \"#ebdbb2\",\n \"secondary\": \"#d5c4a1\"\n },\n \"link\": {\n \"default\": \"#adc4bb\"\n },\n \"selection\": {\n \"fg\": \"#ebdbb2\",\n \"bg\": \"#504945\"\n },\n \"blockquote\": {\n \"border\": \"#665c54\",\n \"fg\": \"#d5c4a1\",\n \"bg\": \"#3c3836\"\n },\n \"codeInline\": {\n \"fg\": \"#feac69\",\n \"bg\": \"#504945\"\n },\n \"codeBlock\": {\n \"fg\": \"#ebdbb2\",\n \"bg\": \"#3c3836\"\n },\n \"table\": {\n \"border\": \"#665c54\",\n \"stripe\": \"#504945\",\n \"theadBg\": \"#3c3836\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#3c3836\",\n \"border\": \"#665c54\",\n \"headerBg\": \"#282828\",\n \"footerBg\": \"#3c3836\"\n },\n \"message\": {\n \"bg\": \"#282828\",\n \"headerBg\": \"#3c3836\",\n \"border\": \"#665c54\",\n \"bodyFg\": \"#ebdbb2\"\n },\n \"panel\": {\n \"bg\": \"#3c3836\",\n \"headerBg\": \"#282828\",\n \"headerFg\": \"#ebdbb2\",\n \"border\": \"#665c54\",\n \"blockBg\": \"#282828\",\n \"blockHoverBg\": \"#3c3836\",\n \"blockActiveBg\": \"#504945\"\n },\n \"box\": {\n \"bg\": \"#3c3836\",\n \"border\": \"#665c54\"\n },\n \"notification\": {\n \"bg\": \"#282828\",\n \"border\": \"#665c54\"\n },\n \"modal\": {\n \"bg\": \"rgba(40, 40, 40, 0.9)\",\n \"cardBg\": \"#3c3836\",\n \"headerBg\": \"#282828\",\n \"footerBg\": \"#3c3836\"\n },\n \"dropdown\": {\n \"bg\": \"#3c3836\",\n \"itemHoverBg\": \"#504945\",\n \"border\": \"#665c54\"\n },\n \"tabs\": {\n \"border\": \"#665c54\",\n \"linkBg\": \"#3c3836\",\n \"linkActiveBg\": \"#282828\",\n \"linkHoverBg\": \"#504945\"\n }\n }\n }\n },\n \"gruvbox-light-hard\": {\n \"id\": \"gruvbox-light-hard\",\n \"label\": \"Gruvbox Light Hard\",\n \"vendor\": \"gruvbox\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#f9f5d7\",\n \"surface\": \"#fbf1c7\",\n \"overlay\": \"#ebdbb2\"\n },\n \"text\": {\n \"primary\": \"#3c3836\",\n \"secondary\": \"#504945\",\n \"inverse\": \"#f9f5d7\"\n },\n \"brand\": {\n \"primary\": \"#b57614\",\n \"primaryText\": \"#0f0f0d\"\n },\n \"state\": {\n \"info\": \"#478e9b\",\n \"success\": \"#79740e\",\n \"warning\": \"#b57614\",\n \"danger\": \"#9d0006\",\n \"successText\": \"#fefdf5\",\n \"warningText\": \"#161613\",\n \"infoText\": \"#161613\",\n \"dangerText\": \"#f9f5d7\"\n },\n \"border\": {\n \"default\": \"#bdae93\"\n },\n \"accent\": {\n \"link\": \"#076678\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#79740e\",\n \"h2\": \"#076678\",\n \"h3\": \"#427b58\",\n \"h4\": \"#b57614\",\n \"h5\": \"#8f3f71\",\n \"h6\": \"#9d0006\"\n },\n \"body\": {\n \"primary\": \"#3c3836\",\n \"secondary\": \"#504945\"\n },\n \"link\": {\n \"default\": \"#076678\"\n },\n \"selection\": {\n \"fg\": \"#3c3836\",\n \"bg\": \"#ebdbb2\"\n },\n \"blockquote\": {\n \"border\": \"#bdae93\",\n \"fg\": \"#504945\",\n \"bg\": \"#fbf1c7\"\n },\n \"codeInline\": {\n \"fg\": \"#a83703\",\n \"bg\": \"#ebdbb2\"\n },\n \"codeBlock\": {\n \"fg\": \"#3c3836\",\n \"bg\": \"#fbf1c7\"\n },\n \"table\": {\n \"border\": \"#bdae93\",\n \"stripe\": \"#ebdbb2\",\n \"theadBg\": \"#fbf1c7\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#f9f5d7\",\n \"border\": \"#bdae93\",\n \"headerBg\": \"#fbf1c7\",\n \"footerBg\": \"#fbf1c7\"\n },\n \"message\": {\n \"bg\": \"#fbf1c7\",\n \"headerBg\": \"#f9f5d7\",\n \"border\": \"#bdae93\",\n \"bodyFg\": \"#3c3836\"\n },\n \"panel\": {\n \"bg\": \"#f9f5d7\",\n \"headerBg\": \"#fbf1c7\",\n \"headerFg\": \"#3c3836\",\n \"border\": \"#bdae93\",\n \"blockBg\": \"#fbf1c7\",\n \"blockHoverBg\": \"#f9f5d7\",\n \"blockActiveBg\": \"#ebdbb2\"\n },\n \"box\": {\n \"bg\": \"#f9f5d7\",\n \"border\": \"#bdae93\"\n },\n \"notification\": {\n \"bg\": \"#fbf1c7\",\n \"border\": \"#bdae93\"\n },\n \"modal\": {\n \"bg\": \"rgba(60, 56, 54, 0.86)\",\n \"cardBg\": \"#f9f5d7\",\n \"headerBg\": \"#fbf1c7\",\n \"footerBg\": \"#fbf1c7\"\n },\n \"dropdown\": {\n \"bg\": \"#f9f5d7\",\n \"itemHoverBg\": \"#fbf1c7\",\n \"border\": \"#bdae93\"\n },\n \"tabs\": {\n \"border\": \"#bdae93\",\n \"linkBg\": \"#fbf1c7\",\n \"linkActiveBg\": \"#f9f5d7\",\n \"linkHoverBg\": \"#ebdbb2\"\n }\n }\n }\n },\n \"gruvbox-light-soft\": {\n \"id\": \"gruvbox-light-soft\",\n \"label\": \"Gruvbox Light Soft\",\n \"vendor\": \"gruvbox\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#f2e5bc\",\n \"surface\": \"#ebdbb2\",\n \"overlay\": \"#d5c4a1\"\n },\n \"text\": {\n \"primary\": \"#3c3836\",\n \"secondary\": \"#504945\",\n \"inverse\": \"#f2e5bc\"\n },\n \"brand\": {\n \"primary\": \"#b57614\",\n \"primaryText\": \"#100f0d\"\n },\n \"state\": {\n \"info\": \"#478e9b\",\n \"success\": \"#79740e\",\n \"warning\": \"#b57614\",\n \"danger\": \"#9d0006\",\n \"warningText\": \"#181713\",\n \"successText\": \"#fefdf9\",\n \"infoText\": \"#181713\",\n \"dangerText\": \"#f2e5bc\"\n },\n \"border\": {\n \"default\": \"#bdae93\"\n },\n \"accent\": {\n \"link\": \"#065766\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#79740e\",\n \"h2\": \"#076678\",\n \"h3\": \"#427b58\",\n \"h4\": \"#ac7013\",\n \"h5\": \"#8f3f71\",\n \"h6\": \"#9d0006\"\n },\n \"body\": {\n \"primary\": \"#3c3836\",\n \"secondary\": \"#504945\"\n },\n \"link\": {\n \"default\": \"#065766\"\n },\n \"selection\": {\n \"fg\": \"#3c3836\",\n \"bg\": \"#d5c4a1\"\n },\n \"blockquote\": {\n \"border\": \"#bdae93\",\n \"fg\": \"#504945\",\n \"bg\": \"#ebdbb2\"\n },\n \"codeInline\": {\n \"fg\": \"#8f2f03\",\n \"bg\": \"#d5c4a1\"\n },\n \"codeBlock\": {\n \"fg\": \"#3c3836\",\n \"bg\": \"#ebdbb2\"\n },\n \"table\": {\n \"border\": \"#bdae93\",\n \"stripe\": \"#d5c4a1\",\n \"theadBg\": \"#ebdbb2\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#f2e5bc\",\n \"border\": \"#bdae93\",\n \"headerBg\": \"#ebdbb2\",\n \"footerBg\": \"#ebdbb2\"\n },\n \"message\": {\n \"bg\": \"#ebdbb2\",\n \"headerBg\": \"#f2e5bc\",\n \"border\": \"#bdae93\",\n \"bodyFg\": \"#3c3836\"\n },\n \"panel\": {\n \"bg\": \"#f2e5bc\",\n \"headerBg\": \"#ebdbb2\",\n \"headerFg\": \"#3c3836\",\n \"border\": \"#bdae93\",\n \"blockBg\": \"#ebdbb2\",\n \"blockHoverBg\": \"#f2e5bc\",\n \"blockActiveBg\": \"#d5c4a1\"\n },\n \"box\": {\n \"bg\": \"#f2e5bc\",\n \"border\": \"#bdae93\"\n },\n \"notification\": {\n \"bg\": \"#ebdbb2\",\n \"border\": \"#bdae93\"\n },\n \"modal\": {\n \"bg\": \"rgba(60, 56, 54, 0.86)\",\n \"cardBg\": \"#f2e5bc\",\n \"headerBg\": \"#ebdbb2\",\n \"footerBg\": \"#ebdbb2\"\n },\n \"dropdown\": {\n \"bg\": \"#f2e5bc\",\n \"itemHoverBg\": \"#ebdbb2\",\n \"border\": \"#bdae93\"\n },\n \"tabs\": {\n \"border\": \"#bdae93\",\n \"linkBg\": \"#ebdbb2\",\n \"linkActiveBg\": \"#f2e5bc\",\n \"linkHoverBg\": \"#d5c4a1\"\n }\n }\n }\n },\n \"gruvbox-light\": {\n \"id\": \"gruvbox-light\",\n \"label\": \"Gruvbox Light\",\n \"vendor\": \"gruvbox\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#fbf1c7\",\n \"surface\": \"#ebdbb2\",\n \"overlay\": \"#d5c4a1\"\n },\n \"text\": {\n \"primary\": \"#3c3836\",\n \"secondary\": \"#504945\",\n \"inverse\": \"#fbf1c7\"\n },\n \"brand\": {\n \"primary\": \"#b57614\",\n \"primaryText\": \"#100f0d\"\n },\n \"state\": {\n \"info\": \"#478e9b\",\n \"success\": \"#79740e\",\n \"warning\": \"#b57614\",\n \"danger\": \"#9d0006\",\n \"successText\": \"#fefdf5\",\n \"warningText\": \"#171612\",\n \"infoText\": \"#171612\",\n \"dangerText\": \"#fbf1c7\"\n },\n \"border\": {\n \"default\": \"#bdae93\"\n },\n \"accent\": {\n \"link\": \"#065766\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#79740e\",\n \"h2\": \"#076678\",\n \"h3\": \"#427b58\",\n \"h4\": \"#ac7013\",\n \"h5\": \"#8f3f71\",\n \"h6\": \"#9d0006\"\n },\n \"body\": {\n \"primary\": \"#3c3836\",\n \"secondary\": \"#504945\"\n },\n \"link\": {\n \"default\": \"#065766\"\n },\n \"selection\": {\n \"fg\": \"#3c3836\",\n \"bg\": \"#d5c4a1\"\n },\n \"blockquote\": {\n \"border\": \"#bdae93\",\n \"fg\": \"#504945\",\n \"bg\": \"#ebdbb2\"\n },\n \"codeInline\": {\n \"fg\": \"#8f2f03\",\n \"bg\": \"#d5c4a1\"\n },\n \"codeBlock\": {\n \"fg\": \"#3c3836\",\n \"bg\": \"#ebdbb2\"\n },\n \"table\": {\n \"border\": \"#bdae93\",\n \"stripe\": \"#d5c4a1\",\n \"theadBg\": \"#ebdbb2\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#fbf1c7\",\n \"border\": \"#bdae93\",\n \"headerBg\": \"#ebdbb2\",\n \"footerBg\": \"#ebdbb2\"\n },\n \"message\": {\n \"bg\": \"#ebdbb2\",\n \"headerBg\": \"#fbf1c7\",\n \"border\": \"#bdae93\",\n \"bodyFg\": \"#3c3836\"\n },\n \"panel\": {\n \"bg\": \"#fbf1c7\",\n \"headerBg\": \"#ebdbb2\",\n \"headerFg\": \"#3c3836\",\n \"border\": \"#bdae93\",\n \"blockBg\": \"#ebdbb2\",\n \"blockHoverBg\": \"#fbf1c7\",\n \"blockActiveBg\": \"#d5c4a1\"\n },\n \"box\": {\n \"bg\": \"#fbf1c7\",\n \"border\": \"#bdae93\"\n },\n \"notification\": {\n \"bg\": \"#ebdbb2\",\n \"border\": \"#bdae93\"\n },\n \"modal\": {\n \"bg\": \"rgba(60, 56, 54, 0.86)\",\n \"cardBg\": \"#fbf1c7\",\n \"headerBg\": \"#ebdbb2\",\n \"footerBg\": \"#ebdbb2\"\n },\n \"dropdown\": {\n \"bg\": \"#fbf1c7\",\n \"itemHoverBg\": \"#ebdbb2\",\n \"border\": \"#bdae93\"\n },\n \"tabs\": {\n \"border\": \"#bdae93\",\n \"linkBg\": \"#ebdbb2\",\n \"linkActiveBg\": \"#fbf1c7\",\n \"linkHoverBg\": \"#d5c4a1\"\n }\n }\n }\n },\n \"kanagawa-dragon\": {\n \"id\": \"kanagawa-dragon\",\n \"label\": \"Kanagawa Dragon\",\n \"vendor\": \"kanagawa\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#181616\",\n \"surface\": \"#282727\",\n \"overlay\": \"#393836\"\n },\n \"text\": {\n \"primary\": \"#c5c9c5\",\n \"secondary\": \"#C8C093\",\n \"inverse\": \"#181616\"\n },\n \"brand\": {\n \"primary\": \"#8ba4b0\",\n \"primaryText\": \"#131212\"\n },\n \"state\": {\n \"info\": \"#658594\",\n \"success\": \"#98BB6C\",\n \"warning\": \"#FF9E3B\",\n \"danger\": \"#e82828\",\n \"dangerText\": \"#000000\",\n \"infoText\": \"#131212\",\n \"successText\": \"#181616\",\n \"warningText\": \"#181616\"\n },\n \"border\": {\n \"default\": \"#54546D\"\n },\n \"accent\": {\n \"link\": \"#91a9b4\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#8ba4b0\",\n \"h2\": \"#8992a7\",\n \"h3\": \"#8ea4a2\",\n \"h4\": \"#c4b28a\",\n \"h5\": \"#b6927b\",\n \"h6\": \"#a292a3\"\n },\n \"body\": {\n \"primary\": \"#c5c9c5\",\n \"secondary\": \"#C8C093\"\n },\n \"link\": {\n \"default\": \"#91a9b4\"\n },\n \"selection\": {\n \"fg\": \"#c5c9c5\",\n \"bg\": \"#393836\"\n },\n \"blockquote\": {\n \"border\": \"#54546D\",\n \"fg\": \"#C8C093\",\n \"bg\": \"#282727\"\n },\n \"codeInline\": {\n \"fg\": \"#c4b28a\",\n \"bg\": \"#393836\"\n },\n \"codeBlock\": {\n \"fg\": \"#c5c9c5\",\n \"bg\": \"#0d0c0c\"\n },\n \"table\": {\n \"border\": \"#54546D\",\n \"stripe\": \"#282727\",\n \"theadBg\": \"#393836\"\n }\n }\n }\n },\n \"kanagawa-lotus\": {\n \"id\": \"kanagawa-lotus\",\n \"label\": \"Kanagawa Lotus\",\n \"vendor\": \"kanagawa\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#f2ecbc\",\n \"surface\": \"#e7dba0\",\n \"overlay\": \"#e4d794\"\n },\n \"text\": {\n \"primary\": \"#545464\",\n \"secondary\": \"#43436c\",\n \"inverse\": \"#f2ecbc\"\n },\n \"brand\": {\n \"primary\": \"#4d699b\",\n \"primaryText\": \"#fffffe\"\n },\n \"state\": {\n \"info\": \"#5a7785\",\n \"success\": \"#6f894e\",\n \"warning\": \"#e98a00\",\n \"danger\": \"#e82828\",\n \"warningText\": \"#353429\",\n \"infoText\": \"#fffffe\",\n \"successText\": \"#13130f\",\n \"dangerText\": \"#000000\"\n },\n \"border\": {\n \"default\": \"#716e61\"\n },\n \"accent\": {\n \"link\": \"#425a85\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#4d699b\",\n \"h2\": \"#624c83\",\n \"h3\": \"#597b75\",\n \"h4\": \"#77713f\",\n \"h5\": \"#bc6400\",\n \"h6\": \"#b35b79\"\n },\n \"body\": {\n \"primary\": \"#545464\",\n \"secondary\": \"#43436c\"\n },\n \"link\": {\n \"default\": \"#425a85\"\n },\n \"selection\": {\n \"fg\": \"#545464\",\n \"bg\": \"#cdcfd4\"\n },\n \"blockquote\": {\n \"border\": \"#716e61\",\n \"fg\": \"#43436c\",\n \"bg\": \"#e7dba0\"\n },\n \"codeInline\": {\n \"fg\": \"#624c83\",\n \"bg\": \"#e4d794\"\n },\n \"codeBlock\": {\n \"fg\": \"#545464\",\n \"bg\": \"#e4d794\"\n },\n \"table\": {\n \"border\": \"#716e61\",\n \"stripe\": \"#e7dba0\",\n \"theadBg\": \"#e4d794\"\n }\n }\n }\n },\n \"kanagawa-wave\": {\n \"id\": \"kanagawa-wave\",\n \"label\": \"Kanagawa Wave\",\n \"vendor\": \"kanagawa\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#1F1F28\",\n \"surface\": \"#2A2A37\",\n \"overlay\": \"#363646\"\n },\n \"text\": {\n \"primary\": \"#DCD7BA\",\n \"secondary\": \"#C8C093\",\n \"inverse\": \"#1F1F28\"\n },\n \"brand\": {\n \"primary\": \"#7E9CD8\",\n \"primaryText\": \"#111116\"\n },\n \"state\": {\n \"info\": \"#658594\",\n \"success\": \"#98BB6C\",\n \"warning\": \"#FF9E3B\",\n \"danger\": \"#e82828\",\n \"infoText\": \"#111116\",\n \"dangerText\": \"#000000\",\n \"successText\": \"#1F1F28\",\n \"warningText\": \"#1F1F28\"\n },\n \"border\": {\n \"default\": \"#54546D\"\n },\n \"accent\": {\n \"link\": \"#8aa5dc\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#7E9CD8\",\n \"h2\": \"#957FB8\",\n \"h3\": \"#7AA89F\",\n \"h4\": \"#E6C384\",\n \"h5\": \"#FFA066\",\n \"h6\": \"#D27E99\"\n },\n \"body\": {\n \"primary\": \"#DCD7BA\",\n \"secondary\": \"#C8C093\"\n },\n \"link\": {\n \"default\": \"#8aa5dc\"\n },\n \"selection\": {\n \"fg\": \"#DCD7BA\",\n \"bg\": \"#223249\"\n },\n \"blockquote\": {\n \"border\": \"#54546D\",\n \"fg\": \"#C8C093\",\n \"bg\": \"#2A2A37\"\n },\n \"codeInline\": {\n \"fg\": \"#E6C384\",\n \"bg\": \"#363646\"\n },\n \"codeBlock\": {\n \"fg\": \"#DCD7BA\",\n \"bg\": \"#16161D\"\n },\n \"table\": {\n \"border\": \"#54546D\",\n \"stripe\": \"#2A2A37\",\n \"theadBg\": \"#363646\"\n }\n }\n }\n },\n \"nord\": {\n \"id\": \"nord\",\n \"label\": \"Nord\",\n \"vendor\": \"nord\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#2e3440\",\n \"surface\": \"#3b4252\",\n \"overlay\": \"#434c5e\"\n },\n \"text\": {\n \"primary\": \"#eceff4\",\n \"secondary\": \"#d8dee9\",\n \"inverse\": \"#2e3440\"\n },\n \"brand\": {\n \"primary\": \"#88c0d0\",\n \"primaryText\": \"#0d0f13\"\n },\n \"state\": {\n \"info\": \"#5e81ac\",\n \"success\": \"#a3be8c\",\n \"warning\": \"#ebcb8b\",\n \"danger\": \"#bf616a\",\n \"infoText\": \"#0d0f13\",\n \"dangerText\": \"#0c0d10\",\n \"successText\": \"#2e3440\",\n \"warningText\": \"#2e3440\"\n },\n \"border\": {\n \"default\": \"#4c566a\"\n },\n \"accent\": {\n \"link\": \"#99c9d7\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#8fbcbb\",\n \"h2\": \"#88c0d0\",\n \"h3\": \"#81a1c1\",\n \"h4\": \"#ebcb8b\",\n \"h5\": \"#d08770\",\n \"h6\": \"#b48ead\"\n },\n \"body\": {\n \"primary\": \"#eceff4\",\n \"secondary\": \"#d8dee9\"\n },\n \"link\": {\n \"default\": \"#99c9d7\"\n },\n \"selection\": {\n \"fg\": \"#eceff4\",\n \"bg\": \"#4c566a\"\n },\n \"blockquote\": {\n \"border\": \"#4c566a\",\n \"fg\": \"#d8dee9\",\n \"bg\": \"#3b4252\"\n },\n \"codeInline\": {\n \"fg\": \"#eceff4\",\n \"bg\": \"#434c5e\"\n },\n \"codeBlock\": {\n \"fg\": \"#eceff4\",\n \"bg\": \"#434c5e\"\n },\n \"table\": {\n \"border\": \"#4c566a\",\n \"stripe\": \"#434c5e\",\n \"theadBg\": \"#3b4252\"\n }\n }\n }\n },\n \"one-dark\": {\n \"id\": \"one-dark\",\n \"label\": \"One Dark\",\n \"vendor\": \"one-dark\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#282c34\",\n \"surface\": \"#2c313a\",\n \"overlay\": \"#3e4451\"\n },\n \"text\": {\n \"primary\": \"#afb6c2\",\n \"secondary\": \"#b1b6bf\",\n \"inverse\": \"#282c34\"\n },\n \"brand\": {\n \"primary\": \"#61afef\",\n \"primaryText\": \"#282c34\"\n },\n \"state\": {\n \"info\": \"#56b6c2\",\n \"success\": \"#98c379\",\n \"warning\": \"#e5c07b\",\n \"danger\": \"#e06c75\",\n \"dangerText\": \"#22262d\",\n \"infoText\": \"#282c34\",\n \"successText\": \"#282c34\",\n \"warningText\": \"#282c34\"\n },\n \"border\": {\n \"default\": \"#3e4451\"\n },\n \"accent\": {\n \"link\": \"#7abcf2\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#61afef\",\n \"h2\": \"#c678dd\",\n \"h3\": \"#98c379\",\n \"h4\": \"#e5c07b\",\n \"h5\": \"#d19a66\",\n \"h6\": \"#56b6c2\"\n },\n \"body\": {\n \"primary\": \"#abb2bf\",\n \"secondary\": \"#979da9\"\n },\n \"link\": {\n \"default\": \"#7abcf2\"\n },\n \"selection\": {\n \"fg\": \"#abb2bf\",\n \"bg\": \"#3c414e\"\n },\n \"blockquote\": {\n \"border\": \"#3e4451\",\n \"fg\": \"#979daa\",\n \"bg\": \"#2c313a\"\n },\n \"codeInline\": {\n \"fg\": \"#c980df\",\n \"bg\": \"#2c313a\"\n },\n \"codeBlock\": {\n \"fg\": \"#abb2bf\",\n \"bg\": \"#21252b\"\n },\n \"table\": {\n \"border\": \"#3e4451\",\n \"stripe\": \"#2c313a\",\n \"theadBg\": \"#3c414e\"\n }\n }\n }\n },\n \"one-light\": {\n \"id\": \"one-light\",\n \"label\": \"One Light\",\n \"vendor\": \"one-dark\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#fafafa\",\n \"surface\": \"#f0f0f0\",\n \"overlay\": \"#e5e5e6\"\n },\n \"text\": {\n \"primary\": \"#383a42\",\n \"secondary\": \"#60636c\",\n \"inverse\": \"#fafafa\"\n },\n \"brand\": {\n \"primary\": \"#4078f2\",\n \"primaryText\": \"#080808\"\n },\n \"state\": {\n \"info\": \"#0184bc\",\n \"success\": \"#50a14f\",\n \"warning\": \"#c18401\",\n \"danger\": \"#e45649\",\n \"infoText\": \"#080808\",\n \"successText\": \"#232323\",\n \"warningText\": \"#232323\",\n \"dangerText\": \"#191919\"\n },\n \"border\": {\n \"default\": \"#d0d0d1\"\n },\n \"accent\": {\n \"link\": \"#315ebd\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#4078f2\",\n \"h2\": \"#a626a4\",\n \"h3\": \"#4d9b4c\",\n \"h4\": \"#b97f01\",\n \"h5\": \"#986801\",\n \"h6\": \"#0184bc\"\n },\n \"body\": {\n \"primary\": \"#383a42\",\n \"secondary\": \"#666973\"\n },\n \"link\": {\n \"default\": \"#315ebd\"\n },\n \"selection\": {\n \"fg\": \"#383a42\",\n \"bg\": \"#dfe1e5\"\n },\n \"blockquote\": {\n \"border\": \"#d0d0d1\",\n \"fg\": \"#666973\",\n \"bg\": \"#f0f0f0\"\n },\n \"codeInline\": {\n \"fg\": \"#a626a4\",\n \"bg\": \"#e5e5e6\"\n },\n \"codeBlock\": {\n \"fg\": \"#383a42\",\n \"bg\": \"#e5e5e6\"\n },\n \"table\": {\n \"border\": \"#d0d0d1\",\n \"stripe\": \"#f0f0f0\",\n \"theadBg\": \"#e5e5e6\"\n }\n }\n }\n },\n \"radix-mauve-dark\": {\n \"id\": \"radix-mauve-dark\",\n \"label\": \"Radix Colors Mauve Dark\",\n \"vendor\": \"radix\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#121113\",\n \"surface\": \"#1a191b\",\n \"overlay\": \"#232225\"\n },\n \"text\": {\n \"primary\": \"#eeeef0\",\n \"secondary\": \"#b5b2bc\",\n \"inverse\": \"#121113\"\n },\n \"brand\": {\n \"primary\": \"#0090ff\",\n \"primaryText\": \"#121113\"\n },\n \"state\": {\n \"info\": \"#00a2c7\",\n \"success\": \"#30a46c\",\n \"warning\": \"#ffc53d\",\n \"danger\": \"#e5484d\",\n \"infoText\": \"#121113\",\n \"successText\": \"#121113\",\n \"warningText\": \"#121113\",\n \"dangerText\": \"#121113\"\n },\n \"border\": {\n \"default\": \"#3c393f\"\n },\n \"accent\": {\n \"link\": \"#70b8ff\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#3dd68c\",\n \"h2\": \"#70b8ff\",\n \"h3\": \"#4ccce6\",\n \"h4\": \"#ffca16\",\n \"h5\": \"#baa7ff\",\n \"h6\": \"#ff9592\"\n },\n \"body\": {\n \"primary\": \"#eeeef0\",\n \"secondary\": \"#b5b2bc\"\n },\n \"link\": {\n \"default\": \"#70b8ff\"\n },\n \"selection\": {\n \"fg\": \"#eeeef0\",\n \"bg\": \"#323035\"\n },\n \"blockquote\": {\n \"border\": \"#49474e\",\n \"fg\": \"#eeeef0\",\n \"bg\": \"#1a191b\"\n },\n \"codeInline\": {\n \"fg\": \"#eeeef0\",\n \"bg\": \"#232225\"\n },\n \"codeBlock\": {\n \"fg\": \"#eeeef0\",\n \"bg\": \"#232225\"\n },\n \"table\": {\n \"border\": \"#49474e\",\n \"stripe\": \"#1a191b\",\n \"theadBg\": \"#2b292d\"\n }\n }\n }\n },\n \"radix-mauve-light\": {\n \"id\": \"radix-mauve-light\",\n \"label\": \"Radix Colors Mauve Light\",\n \"vendor\": \"radix\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#fdfcfd\",\n \"surface\": \"#faf9fb\",\n \"overlay\": \"#f2eff3\"\n },\n \"text\": {\n \"primary\": \"#211f26\",\n \"secondary\": \"#65636d\",\n \"inverse\": \"#fdfcfd\"\n },\n \"brand\": {\n \"primary\": \"#0090ff\",\n \"primaryText\": \"#232323\"\n },\n \"state\": {\n \"info\": \"#00a2c7\",\n \"success\": \"#30a46c\",\n \"warning\": \"#ffc53d\",\n \"danger\": \"#e5484d\",\n \"infoText\": \"#211f26\",\n \"successText\": \"#211f26\",\n \"warningText\": \"#211f26\",\n \"dangerText\": \"#121212\"\n },\n \"border\": {\n \"default\": \"#dbd8e0\"\n },\n \"accent\": {\n \"link\": \"#0c6bbe\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#218358\",\n \"h2\": \"#0d74ce\",\n \"h3\": \"#107d98\",\n \"h4\": \"#ab6400\",\n \"h5\": \"#6550b9\",\n \"h6\": \"#ce2c31\"\n },\n \"body\": {\n \"primary\": \"#211f26\",\n \"secondary\": \"#65636d\"\n },\n \"link\": {\n \"default\": \"#0c6bbe\"\n },\n \"selection\": {\n \"fg\": \"#211f26\",\n \"bg\": \"#e3dfe6\"\n },\n \"blockquote\": {\n \"border\": \"#d0cdd7\",\n \"fg\": \"#211f26\",\n \"bg\": \"#faf9fb\"\n },\n \"codeInline\": {\n \"fg\": \"#211f26\",\n \"bg\": \"#f2eff3\"\n },\n \"codeBlock\": {\n \"fg\": \"#211f26\",\n \"bg\": \"#f2eff3\"\n },\n \"table\": {\n \"border\": \"#d0cdd7\",\n \"stripe\": \"#faf9fb\",\n \"theadBg\": \"#eae7ec\"\n }\n }\n }\n },\n \"radix-slate-dark\": {\n \"id\": \"radix-slate-dark\",\n \"label\": \"Radix Colors Slate Dark\",\n \"vendor\": \"radix\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#111113\",\n \"surface\": \"#18191b\",\n \"overlay\": \"#212225\"\n },\n \"text\": {\n \"primary\": \"#edeef0\",\n \"secondary\": \"#b0b4ba\",\n \"inverse\": \"#111113\"\n },\n \"brand\": {\n \"primary\": \"#0090ff\",\n \"primaryText\": \"#111113\"\n },\n \"state\": {\n \"info\": \"#00a2c7\",\n \"success\": \"#30a46c\",\n \"warning\": \"#ffc53d\",\n \"danger\": \"#e5484d\",\n \"infoText\": \"#111113\",\n \"successText\": \"#111113\",\n \"warningText\": \"#111113\",\n \"dangerText\": \"#111113\"\n },\n \"border\": {\n \"default\": \"#363a3f\"\n },\n \"accent\": {\n \"link\": \"#70b8ff\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#3dd68c\",\n \"h2\": \"#70b8ff\",\n \"h3\": \"#4ccce6\",\n \"h4\": \"#ffca16\",\n \"h5\": \"#baa7ff\",\n \"h6\": \"#ff9592\"\n },\n \"body\": {\n \"primary\": \"#edeef0\",\n \"secondary\": \"#b0b4ba\"\n },\n \"link\": {\n \"default\": \"#70b8ff\"\n },\n \"selection\": {\n \"fg\": \"#edeef0\",\n \"bg\": \"#2e3135\"\n },\n \"blockquote\": {\n \"border\": \"#43484e\",\n \"fg\": \"#edeef0\",\n \"bg\": \"#18191b\"\n },\n \"codeInline\": {\n \"fg\": \"#edeef0\",\n \"bg\": \"#212225\"\n },\n \"codeBlock\": {\n \"fg\": \"#edeef0\",\n \"bg\": \"#212225\"\n },\n \"table\": {\n \"border\": \"#43484e\",\n \"stripe\": \"#18191b\",\n \"theadBg\": \"#272a2d\"\n }\n }\n }\n },\n \"radix-slate-light\": {\n \"id\": \"radix-slate-light\",\n \"label\": \"Radix Colors Slate Light\",\n \"vendor\": \"radix\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#fcfcfd\",\n \"surface\": \"#f9f9fb\",\n \"overlay\": \"#f0f0f3\"\n },\n \"text\": {\n \"primary\": \"#1c2024\",\n \"secondary\": \"#60646c\",\n \"inverse\": \"#fcfcfd\"\n },\n \"brand\": {\n \"primary\": \"#0090ff\",\n \"primaryText\": \"#232323\"\n },\n \"state\": {\n \"info\": \"#00a2c7\",\n \"success\": \"#30a46c\",\n \"warning\": \"#ffc53d\",\n \"danger\": \"#e5484d\",\n \"infoText\": \"#1c2024\",\n \"successText\": \"#1c2024\",\n \"warningText\": \"#1c2024\",\n \"dangerText\": \"#121212\"\n },\n \"border\": {\n \"default\": \"#d9d9e0\"\n },\n \"accent\": {\n \"link\": \"#0c6bbe\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#218358\",\n \"h2\": \"#0d74ce\",\n \"h3\": \"#107d98\",\n \"h4\": \"#ab6400\",\n \"h5\": \"#6550b9\",\n \"h6\": \"#ce2c31\"\n },\n \"body\": {\n \"primary\": \"#1c2024\",\n \"secondary\": \"#60646c\"\n },\n \"link\": {\n \"default\": \"#0c6bbe\"\n },\n \"selection\": {\n \"fg\": \"#1c2024\",\n \"bg\": \"#e0e1e6\"\n },\n \"blockquote\": {\n \"border\": \"#cdced6\",\n \"fg\": \"#1c2024\",\n \"bg\": \"#f9f9fb\"\n },\n \"codeInline\": {\n \"fg\": \"#1c2024\",\n \"bg\": \"#f0f0f3\"\n },\n \"codeBlock\": {\n \"fg\": \"#1c2024\",\n \"bg\": \"#f0f0f3\"\n },\n \"table\": {\n \"border\": \"#cdced6\",\n \"stripe\": \"#f9f9fb\",\n \"theadBg\": \"#e8e8ec\"\n }\n }\n }\n },\n \"rose-pine-dawn\": {\n \"id\": \"rose-pine-dawn\",\n \"label\": \"Rosé Pine Dawn\",\n \"vendor\": \"rose-pine\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#faf4ed\",\n \"surface\": \"#fffaf3\",\n \"overlay\": \"#f2e9e1\"\n },\n \"text\": {\n \"primary\": \"#575279\",\n \"secondary\": \"#66637c\",\n \"inverse\": \"#faf4ed\"\n },\n \"brand\": {\n \"primary\": \"#907aa9\",\n \"primaryText\": \"#171615\"\n },\n \"state\": {\n \"info\": \"#56949f\",\n \"success\": \"#286983\",\n \"warning\": \"#ea9d34\",\n \"danger\": \"#b4637a\",\n \"warningText\": \"#3f3d3b\",\n \"infoText\": \"#1e1d1c\",\n \"dangerText\": \"#080707\",\n \"successText\": \"#faf4ed\"\n },\n \"border\": {\n \"default\": \"#dfdad9\"\n },\n \"accent\": {\n \"link\": \"#6f5f84\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#286983\",\n \"h2\": \"#907aa9\",\n \"h3\": \"#56949f\",\n \"h4\": \"#be7f2a\",\n \"h5\": \"#c67874\",\n \"h6\": \"#b4637a\"\n },\n \"body\": {\n \"primary\": \"#575279\",\n \"secondary\": \"#6d6984\"\n },\n \"link\": {\n \"default\": \"#6f5f84\"\n },\n \"selection\": {\n \"fg\": \"#575279\",\n \"bg\": \"#d2d1d2\"\n },\n \"blockquote\": {\n \"border\": \"#cecacd\",\n \"fg\": \"#575279\",\n \"bg\": \"#fffaf3\"\n },\n \"codeInline\": {\n \"fg\": \"#575279\",\n \"bg\": \"#f2e9e1\"\n },\n \"codeBlock\": {\n \"fg\": \"#575279\",\n \"bg\": \"#f2e9e1\"\n },\n \"table\": {\n \"border\": \"#cecacd\",\n \"stripe\": \"#f2e9e1\",\n \"theadBg\": \"#dfdad9\"\n }\n }\n }\n },\n \"rose-pine-moon\": {\n \"id\": \"rose-pine-moon\",\n \"label\": \"Rosé Pine Moon\",\n \"vendor\": \"rose-pine\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#232136\",\n \"surface\": \"#2a273f\",\n \"overlay\": \"#393552\"\n },\n \"text\": {\n \"primary\": \"#e0def4\",\n \"secondary\": \"#a6a3bb\",\n \"inverse\": \"#232136\"\n },\n \"brand\": {\n \"primary\": \"#c4a7e7\",\n \"primaryText\": \"#232136\"\n },\n \"state\": {\n \"info\": \"#9ccfd8\",\n \"success\": \"#3e8fb0\",\n \"warning\": \"#f6c177\",\n \"danger\": \"#eb6f92\",\n \"successText\": \"#1a1828\",\n \"infoText\": \"#232136\",\n \"warningText\": \"#232136\",\n \"dangerText\": \"#232136\"\n },\n \"border\": {\n \"default\": \"#44415a\"\n },\n \"accent\": {\n \"link\": \"#c4a7e7\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#3e8fb0\",\n \"h2\": \"#c4a7e7\",\n \"h3\": \"#9ccfd8\",\n \"h4\": \"#f6c177\",\n \"h5\": \"#ea9a97\",\n \"h6\": \"#eb6f92\"\n },\n \"body\": {\n \"primary\": \"#e0def4\",\n \"secondary\": \"#9591ae\"\n },\n \"link\": {\n \"default\": \"#c4a7e7\"\n },\n \"selection\": {\n \"fg\": \"#e0def4\",\n \"bg\": \"#56526e\"\n },\n \"blockquote\": {\n \"border\": \"#56526e\",\n \"fg\": \"#e0def4\",\n \"bg\": \"#2a273f\"\n },\n \"codeInline\": {\n \"fg\": \"#e0def4\",\n \"bg\": \"#393552\"\n },\n \"codeBlock\": {\n \"fg\": \"#e0def4\",\n \"bg\": \"#393552\"\n },\n \"table\": {\n \"border\": \"#56526e\",\n \"stripe\": \"#393552\",\n \"theadBg\": \"#44415a\"\n }\n }\n }\n },\n \"rose-pine\": {\n \"id\": \"rose-pine\",\n \"label\": \"Rosé Pine\",\n \"vendor\": \"rose-pine\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#191724\",\n \"surface\": \"#1f1d2e\",\n \"overlay\": \"#26233a\"\n },\n \"text\": {\n \"primary\": \"#e0def4\",\n \"secondary\": \"#918dab\",\n \"inverse\": \"#191724\"\n },\n \"brand\": {\n \"primary\": \"#c4a7e7\",\n \"primaryText\": \"#191724\"\n },\n \"state\": {\n \"info\": \"#9ccfd8\",\n \"success\": \"#31748f\",\n \"warning\": \"#f6c177\",\n \"danger\": \"#eb6f92\",\n \"successText\": \"#f6f6f6\",\n \"infoText\": \"#191724\",\n \"warningText\": \"#191724\",\n \"dangerText\": \"#191724\"\n },\n \"border\": {\n \"default\": \"#403d52\"\n },\n \"accent\": {\n \"link\": \"#c4a7e7\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#31748f\",\n \"h2\": \"#c4a7e7\",\n \"h3\": \"#9ccfd8\",\n \"h4\": \"#f6c177\",\n \"h5\": \"#ebbcba\",\n \"h6\": \"#eb6f92\"\n },\n \"body\": {\n \"primary\": \"#e0def4\",\n \"secondary\": \"#908caa\"\n },\n \"link\": {\n \"default\": \"#c4a7e7\"\n },\n \"selection\": {\n \"fg\": \"#e0def4\",\n \"bg\": \"#524f67\"\n },\n \"blockquote\": {\n \"border\": \"#524f67\",\n \"fg\": \"#e0def4\",\n \"bg\": \"#1f1d2e\"\n },\n \"codeInline\": {\n \"fg\": \"#e0def4\",\n \"bg\": \"#26233a\"\n },\n \"codeBlock\": {\n \"fg\": \"#e0def4\",\n \"bg\": \"#26233a\"\n },\n \"table\": {\n \"border\": \"#524f67\",\n \"stripe\": \"#26233a\",\n \"theadBg\": \"#403d52\"\n }\n }\n }\n },\n \"solarized-dark\": {\n \"id\": \"solarized-dark\",\n \"label\": \"Solarized Dark\",\n \"vendor\": \"solarized\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#002b36\",\n \"surface\": \"#073642\",\n \"overlay\": \"#586e75\"\n },\n \"text\": {\n \"primary\": \"#eff2f2\",\n \"secondary\": \"#f0f2f3\",\n \"inverse\": \"#002b36\"\n },\n \"brand\": {\n \"primary\": \"#268bd2\",\n \"primaryText\": \"#001d24\"\n },\n \"state\": {\n \"info\": \"#2aa198\",\n \"success\": \"#859900\",\n \"warning\": \"#b58900\",\n \"danger\": \"#d8312e\",\n \"dangerText\": \"#ffffff\",\n \"infoText\": \"#002b36\",\n \"successText\": \"#002934\",\n \"warningText\": \"#002934\"\n },\n \"border\": {\n \"default\": \"#586e75\"\n },\n \"accent\": {\n \"link\": \"#e9f3fa\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#268bd2\",\n \"h2\": \"#2aa198\",\n \"h3\": \"#859900\",\n \"h4\": \"#b58900\",\n \"h5\": \"#ce5422\",\n \"h6\": \"#d53e87\"\n },\n \"body\": {\n \"primary\": \"#90a0a1\",\n \"secondary\": \"#91a0a6\"\n },\n \"link\": {\n \"default\": \"#e9f3fa\"\n },\n \"selection\": {\n \"fg\": \"#fdf6e3\",\n \"bg\": \"#586e75\"\n },\n \"blockquote\": {\n \"border\": \"#657b83\",\n \"fg\": \"#92a0a2\",\n \"bg\": \"#073642\"\n },\n \"codeInline\": {\n \"fg\": \"#43aca4\",\n \"bg\": \"#073642\"\n },\n \"codeBlock\": {\n \"fg\": \"#93a1a1\",\n \"bg\": \"#073642\"\n },\n \"table\": {\n \"border\": \"#586e75\",\n \"stripe\": \"#073642\",\n \"theadBg\": \"#283336\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#073642\",\n \"border\": \"#586e75\",\n \"headerBg\": \"#002b36\",\n \"footerBg\": \"#073642\"\n },\n \"message\": {\n \"bg\": \"#002b36\",\n \"headerBg\": \"#073642\",\n \"border\": \"#586e75\",\n \"bodyFg\": \"#839496\"\n },\n \"panel\": {\n \"bg\": \"#073642\",\n \"headerBg\": \"#002b36\",\n \"headerFg\": \"#93a1a1\",\n \"border\": \"#586e75\",\n \"blockBg\": \"#002b36\",\n \"blockHoverBg\": \"#073642\",\n \"blockActiveBg\": \"#586e75\"\n },\n \"box\": {\n \"bg\": \"#073642\",\n \"border\": \"#586e75\"\n },\n \"notification\": {\n \"bg\": \"#002b36\",\n \"border\": \"#586e75\"\n },\n \"modal\": {\n \"bg\": \"rgba(0, 43, 54, 0.9)\",\n \"cardBg\": \"#073642\",\n \"headerBg\": \"#002b36\",\n \"footerBg\": \"#073642\"\n },\n \"dropdown\": {\n \"bg\": \"#073642\",\n \"itemHoverBg\": \"#586e75\",\n \"border\": \"#586e75\"\n },\n \"tabs\": {\n \"border\": \"#586e75\",\n \"linkBg\": \"#073642\",\n \"linkActiveBg\": \"#002b36\",\n \"linkHoverBg\": \"#586e75\"\n }\n }\n }\n },\n \"solarized-light\": {\n \"id\": \"solarized-light\",\n \"label\": \"Solarized Light\",\n \"vendor\": \"solarized\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#fdf6e3\",\n \"surface\": \"#eee8d5\",\n \"overlay\": \"#93a1a1\"\n },\n \"text\": {\n \"primary\": \"#293437\",\n \"secondary\": \"#2a3437\",\n \"inverse\": \"#fdf6e3\"\n },\n \"brand\": {\n \"primary\": \"#268bd2\",\n \"primaryText\": \"#191917\"\n },\n \"state\": {\n \"info\": \"#2aa198\",\n \"success\": \"#859900\",\n \"warning\": \"#b58900\",\n \"danger\": \"#d8312e\",\n \"infoText\": \"#262522\",\n \"successText\": \"#262522\",\n \"warningText\": \"#262522\",\n \"dangerText\": \"#fffffe\"\n },\n \"border\": {\n \"default\": \"#93a1a1\"\n },\n \"accent\": {\n \"link\": \"#0e354f\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#268bd2\",\n \"h2\": \"#26938b\",\n \"h3\": \"#7b8c00\",\n \"h4\": \"#a67e00\",\n \"h5\": \"#cb4b16\",\n \"h6\": \"#d33682\"\n },\n \"body\": {\n \"primary\": \"#52686e\",\n \"secondary\": \"#54686e\"\n },\n \"link\": {\n \"default\": \"#0e354f\"\n },\n \"selection\": {\n \"fg\": \"#002b36\",\n \"bg\": \"#93a1a1\"\n },\n \"blockquote\": {\n \"border\": \"#93a1a1\",\n \"fg\": \"#55686f\",\n \"bg\": \"#eee8d5\"\n },\n \"codeInline\": {\n \"fg\": \"#5a5ea4\",\n \"bg\": \"#eee8d5\"\n },\n \"codeBlock\": {\n \"fg\": \"#073642\",\n \"bg\": \"#eee8d5\"\n },\n \"table\": {\n \"border\": \"#93a1a1\",\n \"stripe\": \"#eee8d5\",\n \"theadBg\": \"#eee8d5\"\n }\n },\n \"components\": {\n \"card\": {\n \"bg\": \"#fdf6e3\",\n \"border\": \"#93a1a1\",\n \"headerBg\": \"#eee8d5\",\n \"footerBg\": \"#eee8d5\"\n },\n \"message\": {\n \"bg\": \"#eee8d5\",\n \"headerBg\": \"#fdf6e3\",\n \"border\": \"#93a1a1\",\n \"bodyFg\": \"#586e75\"\n },\n \"panel\": {\n \"bg\": \"#fdf6e3\",\n \"headerBg\": \"#eee8d5\",\n \"headerFg\": \"#073642\",\n \"border\": \"#93a1a1\",\n \"blockBg\": \"#eee8d5\",\n \"blockHoverBg\": \"#fdf6e3\",\n \"blockActiveBg\": \"#93a1a1\"\n },\n \"box\": {\n \"bg\": \"#fdf6e3\",\n \"border\": \"#93a1a1\"\n },\n \"notification\": {\n \"bg\": \"#eee8d5\",\n \"border\": \"#93a1a1\"\n },\n \"modal\": {\n \"bg\": \"rgba(0, 43, 54, 0.86)\",\n \"cardBg\": \"#fdf6e3\",\n \"headerBg\": \"#eee8d5\",\n \"footerBg\": \"#eee8d5\"\n },\n \"dropdown\": {\n \"bg\": \"#fdf6e3\",\n \"itemHoverBg\": \"#eee8d5\",\n \"border\": \"#93a1a1\"\n },\n \"tabs\": {\n \"border\": \"#93a1a1\",\n \"linkBg\": \"#eee8d5\",\n \"linkActiveBg\": \"#fdf6e3\",\n \"linkHoverBg\": \"#93a1a1\"\n }\n }\n }\n },\n \"terminal\": {\n \"id\": \"terminal\",\n \"label\": \"Terminal\",\n \"vendor\": \"turbo\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#0d0d0d\",\n \"surface\": \"#080808\",\n \"overlay\": \"#111111\"\n },\n \"text\": {\n \"primary\": \"#c8ffc8\",\n \"secondary\": \"#8fbc8f\",\n \"inverse\": \"#0d0d0d\"\n },\n \"brand\": {\n \"primary\": \"#39ff14\",\n \"primaryText\": \"#0d0d0d\"\n },\n \"state\": {\n \"info\": \"#7dd3fc\",\n \"success\": \"#39ff14\",\n \"warning\": \"#ffb000\",\n \"danger\": \"#ff4444\",\n \"infoText\": \"#0d0d0d\",\n \"successText\": \"#0d0d0d\",\n \"warningText\": \"#0d0d0d\",\n \"dangerText\": \"#0d0d0d\"\n },\n \"border\": {\n \"default\": \"#1f3d1f\"\n },\n \"accent\": {\n \"link\": \"#7dd3fc\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"\\\"IBM Plex Mono\\\", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\",\n \"mono\": \"\\\"IBM Plex Mono\\\", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#39ff14\",\n \"h2\": \"#7dd3fc\",\n \"h3\": \"#ffb000\",\n \"h4\": \"#39ff14\",\n \"h5\": \"#8fbc8f\",\n \"h6\": \"#c8ffc8\"\n },\n \"body\": {\n \"primary\": \"#c8ffc8\",\n \"secondary\": \"#8fbc8f\"\n },\n \"link\": {\n \"default\": \"#7dd3fc\"\n },\n \"selection\": {\n \"fg\": \"#0d0d0d\",\n \"bg\": \"#39ff14\"\n },\n \"blockquote\": {\n \"border\": \"#39ff14\",\n \"fg\": \"#8fbc8f\",\n \"bg\": \"#111111\"\n },\n \"codeInline\": {\n \"fg\": \"#ffb000\",\n \"bg\": \"#111111\"\n },\n \"codeBlock\": {\n \"fg\": \"#c8ffc8\",\n \"bg\": \"#080808\"\n },\n \"table\": {\n \"border\": \"#1f3d1f\",\n \"stripe\": \"#111111\",\n \"theadBg\": \"#080808\",\n \"headerFg\": \"#c8ffc8\"\n }\n }\n }\n },\n \"tokyo-night-dark\": {\n \"id\": \"tokyo-night-dark\",\n \"label\": \"Tokyo Night Dark\",\n \"vendor\": \"tokyo-night\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#1a1b26\",\n \"surface\": \"#24283b\",\n \"overlay\": \"#28344a\"\n },\n \"text\": {\n \"primary\": \"#c0caf5\",\n \"secondary\": \"#a9b1d6\",\n \"inverse\": \"#1a1b26\"\n },\n \"brand\": {\n \"primary\": \"#7aa2f7\",\n \"primaryText\": \"#1a1b26\"\n },\n \"state\": {\n \"info\": \"#7dcfff\",\n \"success\": \"#9ece6a\",\n \"warning\": \"#e0af68\",\n \"danger\": \"#f7768e\",\n \"infoText\": \"#1a1b26\",\n \"successText\": \"#1a1b26\",\n \"warningText\": \"#1a1b26\",\n \"dangerText\": \"#1a1b26\"\n },\n \"border\": {\n \"default\": \"#565f89\"\n },\n \"accent\": {\n \"link\": \"#7aa2f7\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#7aa2f7\",\n \"h2\": \"#bb9af7\",\n \"h3\": \"#7dcfff\",\n \"h4\": \"#e0af68\",\n \"h5\": \"#ff9e64\",\n \"h6\": \"#f7768e\"\n },\n \"body\": {\n \"primary\": \"#c0caf5\",\n \"secondary\": \"#a9b1d6\"\n },\n \"link\": {\n \"default\": \"#7aa2f7\"\n },\n \"selection\": {\n \"fg\": \"#c0caf5\",\n \"bg\": \"#28344a\"\n },\n \"blockquote\": {\n \"border\": \"#565f89\",\n \"fg\": \"#a9b1d6\",\n \"bg\": \"#24283b\"\n },\n \"codeInline\": {\n \"fg\": \"#c0caf5\",\n \"bg\": \"#28344a\"\n },\n \"codeBlock\": {\n \"fg\": \"#c0caf5\",\n \"bg\": \"#28344a\"\n },\n \"table\": {\n \"border\": \"#565f89\",\n \"stripe\": \"#24283b\",\n \"theadBg\": \"#28344a\"\n }\n }\n }\n },\n \"tokyo-night-light\": {\n \"id\": \"tokyo-night-light\",\n \"label\": \"Tokyo Night Light\",\n \"vendor\": \"tokyo-night\",\n \"appearance\": \"light\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#e6e7ed\",\n \"surface\": \"#d5d6dc\",\n \"overlay\": \"#c8d3f5\"\n },\n \"text\": {\n \"primary\": \"#343b58\",\n \"secondary\": \"#40434f\",\n \"inverse\": \"#e6e7ed\"\n },\n \"brand\": {\n \"primary\": \"#2e7de9\",\n \"primaryText\": \"#0b0b0b\"\n },\n \"state\": {\n \"info\": \"#0089a5\",\n \"success\": \"#31876d\",\n \"warning\": \"#8c6c3e\",\n \"danger\": \"#d81159\",\n \"infoText\": \"#0c0c0c\",\n \"successText\": \"#020202\",\n \"warningText\": \"#fdfdfd\",\n \"dangerText\": \"#f7f8f9\"\n },\n \"border\": {\n \"default\": \"#b0b4ca\"\n },\n \"accent\": {\n \"link\": \"#2057a2\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#2c77dd\",\n \"h2\": \"#7847bd\",\n \"h3\": \"#00849e\",\n \"h4\": \"#8c6c3e\",\n \"h5\": \"#bc5e3b\",\n \"h6\": \"#d81159\"\n },\n \"body\": {\n \"primary\": \"#343b58\",\n \"secondary\": \"#40434f\"\n },\n \"link\": {\n \"default\": \"#2057a2\"\n },\n \"selection\": {\n \"fg\": \"#343b58\",\n \"bg\": \"#c8d3f5\"\n },\n \"blockquote\": {\n \"border\": \"#b0b4ca\",\n \"fg\": \"#40434f\",\n \"bg\": \"#e6e7ed\"\n },\n \"codeInline\": {\n \"fg\": \"#343b58\",\n \"bg\": \"#c8d3f5\"\n },\n \"codeBlock\": {\n \"fg\": \"#343b58\",\n \"bg\": \"#c8d3f5\"\n },\n \"table\": {\n \"border\": \"#b0b4ca\",\n \"stripe\": \"#e6e7ed\",\n \"theadBg\": \"#c8d3f5\"\n }\n }\n }\n },\n \"tokyo-night-storm\": {\n \"id\": \"tokyo-night-storm\",\n \"label\": \"Tokyo Night Storm\",\n \"vendor\": \"tokyo-night\",\n \"appearance\": \"dark\",\n \"tokens\": {\n \"background\": {\n \"base\": \"#24283b\",\n \"surface\": \"#28344a\",\n \"overlay\": \"#565f89\"\n },\n \"text\": {\n \"primary\": \"#dbe1f9\",\n \"secondary\": \"#dee1ef\",\n \"inverse\": \"#24283b\"\n },\n \"brand\": {\n \"primary\": \"#7aa2f7\",\n \"primaryText\": \"#24283b\"\n },\n \"state\": {\n \"info\": \"#7dcfff\",\n \"success\": \"#9ece6a\",\n \"warning\": \"#e0af68\",\n \"danger\": \"#f7768e\",\n \"infoText\": \"#24283b\",\n \"successText\": \"#24283b\",\n \"warningText\": \"#24283b\",\n \"dangerText\": \"#24283b\"\n },\n \"border\": {\n \"default\": \"#565f89\"\n },\n \"accent\": {\n \"link\": \"#d6e2fd\"\n },\n \"typography\": {\n \"fonts\": {\n \"sans\": \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\n \"mono\": \"JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\"\n },\n \"webFonts\": [\n \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap\",\n \"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap\"\n ]\n },\n \"content\": {\n \"heading\": {\n \"h1\": \"#7aa2f7\",\n \"h2\": \"#bb9af7\",\n \"h3\": \"#7dcfff\",\n \"h4\": \"#e0af68\",\n \"h5\": \"#ff9e64\",\n \"h6\": \"#f7768e\"\n },\n \"body\": {\n \"primary\": \"#c0caf5\",\n \"secondary\": \"#a9b1d6\"\n },\n \"link\": {\n \"default\": \"#d6e2fd\"\n },\n \"selection\": {\n \"fg\": \"#c0caf5\",\n \"bg\": \"#28344a\"\n },\n \"blockquote\": {\n \"border\": \"#565f89\",\n \"fg\": \"#a9b1d6\",\n \"bg\": \"#28344a\"\n },\n \"codeInline\": {\n \"fg\": \"#c0caf5\",\n \"bg\": \"#28344a\"\n },\n \"codeBlock\": {\n \"fg\": \"#c0caf5\",\n \"bg\": \"#28344a\"\n },\n \"table\": {\n \"border\": \"#565f89\",\n \"stripe\": \"#28344a\",\n \"theadBg\": \"#28344a\"\n }\n }\n }\n }\n },\n \"byVendor\": {\n \"ayu\": {\n \"name\": \"Ayu\",\n \"homepage\": \"https://github.com/ayu-theme\",\n \"themes\": [\n \"ayu-dark\",\n \"ayu-light\",\n \"ayu-mirage\"\n ]\n },\n \"bulma\": {\n \"name\": \"Bulma\",\n \"homepage\": \"https://bulma.io/\",\n \"themes\": [\n \"bulma-dark\",\n \"bulma-light\"\n ]\n },\n \"catppuccin\": {\n \"name\": \"Catppuccin (synced)\",\n \"homepage\": \"https://catppuccin.com/palette/\",\n \"themes\": [\n \"catppuccin-frappe\",\n \"catppuccin-latte\",\n \"catppuccin-macchiato\",\n \"catppuccin-mocha\"\n ]\n },\n \"dracula\": {\n \"name\": \"Dracula\",\n \"homepage\": \"https://draculatheme.com/\",\n \"themes\": [\n \"dracula\"\n ]\n },\n \"everforest\": {\n \"name\": \"Everforest\",\n \"homepage\": \"https://github.com/sainnhe/everforest\",\n \"themes\": [\n \"everforest-dark-hard\",\n \"everforest-dark-soft\",\n \"everforest-dark\",\n \"everforest-light-hard\",\n \"everforest-light-soft\",\n \"everforest-light\"\n ]\n },\n \"github\": {\n \"name\": \"GitHub (synced)\",\n \"homepage\": \"https://primer.style/\",\n \"themes\": [\n \"github-dark\",\n \"github-light\"\n ]\n },\n \"gruvbox\": {\n \"name\": \"Gruvbox\",\n \"homepage\": \"https://github.com/morhetz/gruvbox\",\n \"themes\": [\n \"gruvbox-dark-hard\",\n \"gruvbox-dark-soft\",\n \"gruvbox-dark\",\n \"gruvbox-light-hard\",\n \"gruvbox-light-soft\",\n \"gruvbox-light\"\n ]\n },\n \"kanagawa\": {\n \"name\": \"Kanagawa\",\n \"homepage\": \"https://github.com/rebelot/kanagawa.nvim\",\n \"themes\": [\n \"kanagawa-dragon\",\n \"kanagawa-lotus\",\n \"kanagawa-wave\"\n ]\n },\n \"nord\": {\n \"name\": \"Nord\",\n \"homepage\": \"https://www.nordtheme.com/\",\n \"themes\": [\n \"nord\"\n ]\n },\n \"one-dark\": {\n \"name\": \"One\",\n \"homepage\": \"https://github.com/Binaryify/OneDark-Pro\",\n \"themes\": [\n \"one-dark\",\n \"one-light\"\n ]\n },\n \"radix\": {\n \"name\": \"Radix Colors (synced)\",\n \"homepage\": \"https://www.radix-ui.com/colors\",\n \"themes\": [\n \"radix-mauve-dark\",\n \"radix-mauve-light\",\n \"radix-slate-dark\",\n \"radix-slate-light\"\n ]\n },\n \"rose-pine\": {\n \"name\": \"Rosé Pine (synced)\",\n \"homepage\": \"https://rosepinetheme.com/\",\n \"themes\": [\n \"rose-pine-dawn\",\n \"rose-pine-moon\",\n \"rose-pine\"\n ]\n },\n \"solarized\": {\n \"name\": \"Solarized\",\n \"homepage\": \"https://ethanschoonover.com/solarized/\",\n \"themes\": [\n \"solarized-dark\",\n \"solarized-light\"\n ]\n },\n \"turbo\": {\n \"name\": \"Terminal\",\n \"homepage\": \"https://github.com/lgtm-hq/turbo-themes\",\n \"themes\": [\n \"terminal\"\n ]\n },\n \"tokyo-night\": {\n \"name\": \"Tokyo Night\",\n \"homepage\": \"https://github.com/enkia/tokyo-night-vscode-theme\",\n \"themes\": [\n \"tokyo-night-dark\",\n \"tokyo-night-light\",\n \"tokyo-night-storm\"\n ]\n }\n }\n}\n","// SPDX-License-Identifier: MIT\n/**\n * Platform-agnostic design tokens export\n *\n * This module exports pure theme data (colors, typography, etc.) without\n * any DOM, CSS, or platform-specific code. Use this for:\n *\n * - React Native apps\n * - Flutter apps (via JSON export)\n * - iOS/Android native apps\n * - Any platform that needs theme colors\n *\n * For web apps, you can also import the CSS files directly:\n * import '@lgtm-hq/turbo-themes/css/catppuccin-mocha.css'\n */\nexport { THEME_IDS } from '../themes/theme-ids.js';\n// Import tokens data (copied from dist/tokens.json during build)\nimport tokensData from '../themes/tokens.json' with { type: 'json' };\nconst tokens = tokensData;\n/**\n * All available theme flavors as a flat array\n */\nexport const flavors = Object.values(tokens.themes).map((theme) => ({\n id: theme.id,\n label: theme.label,\n vendor: theme.vendor,\n appearance: theme.appearance,\n ...(theme.iconUrl !== undefined && { iconUrl: theme.iconUrl }),\n tokens: theme.tokens,\n}));\n/**\n * Theme flavors indexed by ID for quick lookup\n */\nexport const themesById = /*#__PURE__*/ Object.fromEntries(flavors.map((flavor) => [flavor.id, flavor]));\n/**\n * All available theme packages (grouped by vendor)\n */\nexport const packages = /*#__PURE__*/ Object.fromEntries(Object.entries(tokens.byVendor).map(([vendorId, vendor]) => [\n vendorId,\n {\n id: vendorId,\n name: vendor.name,\n homepage: vendor.homepage,\n flavors: vendor.themes.map((themeId) => themesById[themeId]).filter(Boolean),\n },\n]));\n/**\n * Get a theme by ID\n * @param id - Theme identifier (e.g., 'catppuccin-mocha')\n * @returns The theme flavor or undefined if not found\n */\nexport function getTheme(id) {\n return themesById[id];\n}\n/**\n * Get theme tokens by ID (convenience function)\n * @param id - Theme identifier (e.g., 'catppuccin-mocha')\n * @returns The theme tokens or undefined if not found\n */\nexport function getTokens(id) {\n return themesById[id]?.tokens;\n}\n/**\n * Get all themes matching an appearance (light/dark)\n * @param appearance - 'light' or 'dark'\n * @returns Array of matching theme flavors\n */\nexport function getThemesByAppearance(appearance) {\n return flavors.filter((f) => f.appearance === appearance);\n}\n/**\n * Get all themes from a specific vendor\n * @param vendor - Vendor name (e.g., 'catppuccin', 'github')\n * @returns Array of matching theme flavors\n */\nexport function getThemesByVendor(vendor) {\n return flavors.filter((f) => f.vendor === vendor);\n}\n/**\n * List of all available theme IDs\n */\nexport const themeIds = /*#__PURE__*/ flavors.map((f) => f.id);\n/**\n * List of all available vendors\n */\nexport const vendors = /*#__PURE__*/ [...new Set(flavors.map((f) => f.vendor))];\n//# sourceMappingURL=index.js.map","// SPDX-License-Identifier: MIT\n// AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY\n// Generated from: schema/tokens/themes/*.tokens.json + schema/tokens/_vendors.json\n// Generator: scripts/codegen/generate-metadata.mjs\n// Run: bun run generate:metadata\n/**\n * All theme IDs as a readonly tuple (sorted by token filename).\n * Used to derive the {@link ThemeId} literal union.\n */\nexport const THEME_IDS = [\n 'ayu-dark',\n 'ayu-light',\n 'ayu-mirage',\n 'bulma-dark',\n 'bulma-light',\n 'catppuccin-frappe',\n 'catppuccin-latte',\n 'catppuccin-macchiato',\n 'catppuccin-mocha',\n 'dracula',\n 'everforest-dark-hard',\n 'everforest-dark-soft',\n 'everforest-dark',\n 'everforest-light-hard',\n 'everforest-light-soft',\n 'everforest-light',\n 'github-dark',\n 'github-light',\n 'gruvbox-dark-hard',\n 'gruvbox-dark-soft',\n 'gruvbox-dark',\n 'gruvbox-light-hard',\n 'gruvbox-light-soft',\n 'gruvbox-light',\n 'kanagawa-dragon',\n 'kanagawa-lotus',\n 'kanagawa-wave',\n 'nord',\n 'one-dark',\n 'one-light',\n 'radix-mauve-dark',\n 'radix-mauve-light',\n 'radix-slate-dark',\n 'radix-slate-light',\n 'rose-pine-dawn',\n 'rose-pine-moon',\n 'rose-pine',\n 'solarized-dark',\n 'solarized-light',\n 'terminal',\n 'tokyo-night-dark',\n 'tokyo-night-light',\n 'tokyo-night-storm',\n];\n/**\n * Ordered list of vendor IDs controlling display order in dropdowns.\n * Source: schema/tokens/_vendors.json\n */\nexport const VENDOR_ORDER = [\n 'catppuccin',\n 'dracula',\n 'everforest',\n 'gruvbox',\n 'github',\n 'bulma',\n 'nord',\n 'radix',\n 'solarized',\n 'rose-pine',\n 'tokyo-night',\n 'kanagawa',\n 'one-dark',\n 'ayu',\n 'turbo',\n];\n/** Per-theme human-readable descriptions for UI pickers. */\nexport const THEME_DESCRIPTIONS = {\n \"ayu-dark\": \"Deep Ayu dark theme for low-light environments.\",\n \"ayu-light\": \"Bright Ayu palette designed for comfortable daytime coding.\",\n \"ayu-mirage\": \"Soft dark Ayu variant with subtle, muted accents.\",\n \"bulma-dark\": \"Dark Bulma theme tuned for low-light reading.\",\n \"bulma-light\": \"Classic Bulma look with a bright, neutral palette.\",\n \"catppuccin-frappe\": \"Balanced dark Catppuccin theme for focused work.\",\n \"catppuccin-latte\": \"Light, soft Catppuccin palette for daytime use.\",\n \"catppuccin-macchiato\": \"Deep, atmospheric Catppuccin variant with rich contrast.\",\n \"catppuccin-mocha\": \"Cozy, high-contrast Catppuccin theme for late-night sessions.\",\n \"dracula\": \"Iconic Dracula dark theme with vibrant accents.\",\n \"everforest-dark-hard\": \"Highest contrast dark Everforest palette with deep forest shadows.\",\n \"everforest-dark-soft\": \"Softer dark Everforest palette with reduced contrast.\",\n \"everforest-dark\": \"Classic Everforest dark palette with warm, natural greens.\",\n \"everforest-light-hard\": \"Bright, crisp Everforest light palette with extra contrast.\",\n \"everforest-light-soft\": \"Soft, low-contrast Everforest light palette for long sessions.\",\n \"everforest-light\": \"Classic Everforest light palette with warm paper tones.\",\n \"github-dark\": \"GitHub dark theme optimized for code-heavy views.\",\n \"github-light\": \"GitHub-inspired light theme suited for documentation and UI heavy pages.\",\n \"gruvbox-dark-hard\": \"Highest contrast dark Gruvbox palette with deep shadows.\",\n \"gruvbox-dark-soft\": \"Softer dark Gruvbox palette with reduced contrast.\",\n \"gruvbox-dark\": \"Classic Gruvbox dark palette with warm, muted tones.\",\n \"gruvbox-light-hard\": \"Bright, crisp Gruvbox light palette with extra contrast.\",\n \"gruvbox-light-soft\": \"Soft, low-contrast Gruvbox light palette for long sessions.\",\n \"gruvbox-light\": \"Classic Gruvbox light palette with warm paper tones.\",\n \"kanagawa-dragon\": \"Darker Kanagawa variant for late-night sessions.\",\n \"kanagawa-lotus\": \"Light Kanagawa palette for daytime use.\",\n \"kanagawa-wave\": \"Heart-warming dark Kanagawa palette inspired by The Great Wave.\",\n \"nord\": \"Arctic, north-bluish color palette inspired by the polar night.\",\n \"one-dark\": \"The classic Atom One Dark palette with vivid syntax accents.\",\n \"one-light\": \"Companion One Light palette for bright, daytime editing.\",\n \"radix-mauve-dark\": \"Neutral purple-gray Radix dark theme for accessible UIs.\",\n \"radix-mauve-light\": \"Neutral purple-gray Radix light theme for accessible UIs.\",\n \"radix-slate-dark\": \"Neutral blue-gray Radix dark theme for accessible UIs.\",\n \"radix-slate-light\": \"Neutral blue-gray Radix light theme for accessible UIs.\",\n \"rose-pine-dawn\": \"Light Rosé Pine variant for daytime use.\",\n \"rose-pine-moon\": \"Deeper variant of Rosé Pine with enhanced contrast.\",\n \"rose-pine\": \"Elegant dark theme with natural pine and soho vibes.\",\n \"solarized-dark\": \"Solarized Dark with a balanced, low-contrast palette.\",\n \"solarized-light\": \"Solarized Light tuned for bright, daylight-friendly UIs.\",\n \"terminal\": \"CRT phosphor green on void with IBM Plex Mono.\",\n \"tokyo-night-dark\": \"Deep midnight blues with neon accents.\",\n \"tokyo-night-light\": \"Clean daylight palette inspired by Tokyo mornings.\",\n \"tokyo-night-storm\": \"Stormy variant with richer contrast and depth.\"\n};\n/** Per-theme icon filenames relative to assets/img/. */\nexport const THEME_ICONS = {\n \"ayu-dark\": \"ayu-dark.png\",\n \"ayu-light\": \"ayu-light.png\",\n \"ayu-mirage\": \"ayu-mirage.png\",\n \"bulma-dark\": \"bulma-logo-dark.png\",\n \"bulma-light\": \"bulma-logo.png\",\n \"catppuccin-frappe\": \"catppuccin-logo-macchiato.png\",\n \"catppuccin-latte\": \"catppuccin-logo-latte.png\",\n \"catppuccin-macchiato\": \"catppuccin-logo-macchiato.png\",\n \"catppuccin-mocha\": \"catppuccin-logo-macchiato.png\",\n \"dracula\": \"dracula-logo.png\",\n \"everforest-dark-hard\": \"everforest-dark-hard.png\",\n \"everforest-dark-soft\": \"everforest-dark-soft.png\",\n \"everforest-dark\": \"everforest-dark.png\",\n \"everforest-light-hard\": \"everforest-light-hard.png\",\n \"everforest-light-soft\": \"everforest-light-soft.png\",\n \"everforest-light\": \"everforest-light.png\",\n \"github-dark\": \"github-logo-dark.png\",\n \"github-light\": \"github-logo-light.png\",\n \"gruvbox-dark-hard\": \"gruvbox-dark-hard.png\",\n \"gruvbox-dark-soft\": \"gruvbox-dark-soft.png\",\n \"gruvbox-dark\": \"gruvbox-dark.png\",\n \"gruvbox-light-hard\": \"gruvbox-light-hard.png\",\n \"gruvbox-light-soft\": \"gruvbox-light-soft.png\",\n \"gruvbox-light\": \"gruvbox-light.png\",\n \"kanagawa-dragon\": \"kanagawa-dragon.png\",\n \"kanagawa-lotus\": \"kanagawa-lotus.png\",\n \"kanagawa-wave\": \"kanagawa-wave.png\",\n \"nord\": \"nord.png\",\n \"one-dark\": \"one-dark.png\",\n \"one-light\": \"one-light.png\",\n \"radix-mauve-dark\": \"radix-slate-dark.png\",\n \"radix-mauve-light\": \"radix-slate-light.png\",\n \"radix-slate-dark\": \"radix-slate-dark.png\",\n \"radix-slate-light\": \"radix-slate-light.png\",\n \"rose-pine-dawn\": \"rose-pine.png\",\n \"rose-pine-moon\": \"rose-pine.png\",\n \"rose-pine\": \"rose-pine.png\",\n \"solarized-dark\": \"solarized-dark.png\",\n \"solarized-light\": \"solarized-light.png\",\n \"terminal\": \"terminal.png\",\n \"tokyo-night-dark\": \"tokyo-night.png\",\n \"tokyo-night-light\": \"tokyo-night.png\",\n \"tokyo-night-storm\": \"tokyo-night.png\"\n};\n/** Per-vendor default icons (filename or light/dark pair). */\nexport const VENDOR_ICONS = {\n \"catppuccin\": {\n \"light\": \"catppuccin-logo-latte.png\",\n \"dark\": \"catppuccin-logo-macchiato.png\"\n },\n \"dracula\": \"dracula-logo.png\",\n \"everforest\": {\n \"light\": \"everforest-light.png\",\n \"dark\": \"everforest-dark.png\"\n },\n \"gruvbox\": {\n \"light\": \"gruvbox-light.png\",\n \"dark\": \"gruvbox-dark.png\"\n },\n \"github\": {\n \"light\": \"github-logo-light.png\",\n \"dark\": \"github-logo-dark.png\"\n },\n \"bulma\": {\n \"light\": \"bulma-logo.png\",\n \"dark\": \"bulma-logo-dark.png\"\n },\n \"nord\": \"nord.png\",\n \"radix\": {\n \"light\": \"radix-slate-light.png\",\n \"dark\": \"radix-slate-dark.png\"\n },\n \"solarized\": {\n \"light\": \"solarized-light.png\",\n \"dark\": \"solarized-dark.png\"\n },\n \"rose-pine\": \"rose-pine.png\",\n \"tokyo-night\": \"tokyo-night.png\",\n \"kanagawa\": {\n \"light\": \"kanagawa-lotus.png\",\n \"dark\": \"kanagawa-wave.png\"\n },\n \"one-dark\": {\n \"light\": \"one-light.png\",\n \"dark\": \"one-dark.png\"\n },\n \"ayu\": {\n \"light\": \"ayu-light.png\",\n \"dark\": \"ayu-dark.png\"\n },\n \"turbo\": \"terminal.png\"\n};\n/** Per-vendor family display metadata. */\nexport const VENDOR_FAMILY_META = {\n \"catppuccin\": {\n \"name\": \"Catppuccin\",\n \"description\": \"Soothing pastel themes\"\n },\n \"dracula\": {\n \"name\": \"Dracula\",\n \"description\": \"Dark vampire aesthetic\"\n },\n \"everforest\": {\n \"name\": \"Everforest\",\n \"description\": \"Green-based, nature-inspired palette designed for eye comfort\"\n },\n \"gruvbox\": {\n \"name\": \"Gruvbox\",\n \"description\": \"Retro groove palette with warm, earthy tones\"\n },\n \"github\": {\n \"name\": \"GitHub\",\n \"description\": \"GitHub-inspired themes\"\n },\n \"bulma\": {\n \"name\": \"Bulma\",\n \"description\": \"Classic Bulma themes\"\n },\n \"nord\": {\n \"name\": \"Nord\",\n \"description\": \"Arctic, north-bluish color palette\"\n },\n \"radix\": {\n \"name\": \"Radix Colors\",\n \"description\": \"Accessibility-focused color system with comprehensive scales\"\n },\n \"solarized\": {\n \"name\": \"Solarized\",\n \"description\": \"Precision-balanced light and dark modes\"\n },\n \"rose-pine\": {\n \"name\": \"Rosé Pine\",\n \"description\": \"All natural pine, faux fur and a bit of soho vibes\"\n },\n \"tokyo-night\": {\n \"name\": \"Tokyo Night\",\n \"description\": \"Neon-infused nightscape with crisp contrast\"\n },\n \"kanagawa\": {\n \"name\": \"Kanagawa\",\n \"description\": \"Japanese-inspired palette drawn from The Great Wave off Kanagawa\"\n },\n \"one-dark\": {\n \"name\": \"One\",\n \"description\": \"The iconic Atom editor palette in dark and light\"\n },\n \"ayu\": {\n \"name\": \"Ayu\",\n \"description\": \"Bright colors designed for comfortable all-day coding\"\n },\n \"turbo\": {\n \"name\": \"Terminal\",\n \"description\": \"CRT phosphor green on void\"\n }\n};\n//# sourceMappingURL=metadata.js.map","// SPDX-License-Identifier: MIT\n/**\n * Consolidated theme metadata derived from tokens.json.\n *\n * All display metadata (names, appearances, vendor groups) is computed from\n * the canonical token data at module evaluation time. Consumers should import\n * from here instead of maintaining their own hardcoded copies.\n *\n * Vendor order and ThemeId come from build-time codegen\n * (`packages/core/src/themes/generated/metadata.ts`).\n */\nimport { flavors, themeIds, packages } from '../tokens/index.js';\nimport { VENDOR_ORDER as GENERATED_VENDOR_ORDER } from './generated/metadata.js';\nexport { THEME_IDS, THEME_DESCRIPTIONS, THEME_ICONS, VENDOR_ICONS, VENDOR_FAMILY_META, } from './generated/metadata.js';\n/** Default theme applied when no preference is stored. */\nexport const DEFAULT_THEME = 'catppuccin-mocha';\n/** All valid theme IDs (re-export for convenience). */\nexport const VALID_THEMES = themeIds;\n/** Set of valid theme IDs for O(1) lookup. */\nexport const VALID_THEME_SET = /*#__PURE__*/ new Set(themeIds);\n/** Full human-readable label for each theme (e.g., \"Catppuccin Mocha\"). */\nexport const THEME_NAMES = /*#__PURE__*/ Object.fromEntries(flavors.map((f) => [f.id, f.label]));\n/** Appearance (light/dark) for each theme. */\nexport const THEME_APPEARANCES = \n/*#__PURE__*/ Object.fromEntries(flavors.map((f) => [f.id, f.appearance]));\n/**\n * Ordered list of vendor IDs controlling display order in dropdowns.\n * Generated from schema/tokens/_vendors.json — do not edit by hand.\n */\nexport const VENDOR_ORDER = GENERATED_VENDOR_ORDER;\n/**\n * Ordered array of vendor groups derived from packages + VENDOR_ORDER.\n * The \"(synced)\" suffix is stripped from display names.\n */\n// Dev-time validation: warn if packages has vendors not listed in VENDOR_ORDER\nconst _packageKeys = Object.keys(packages);\nconst _missingFromOrder = _packageKeys.filter((id) => !VENDOR_ORDER.includes(id));\nif (_missingFromOrder.length > 0) {\n console.warn(`[metadata] VENDOR_ORDER is missing vendor IDs present in packages: ${_missingFromOrder.join(', ')}. ` +\n 'Append them to schema/tokens/_vendors.json and regenerate metadata.');\n}\nexport const VENDOR_GROUPS = /*#__PURE__*/ VENDOR_ORDER.filter((id) => id in packages).map((id) => {\n const pkg = packages[id];\n return {\n id,\n displayName: pkg.name.replace(/\\s*\\(synced\\)\\s*/i, ''),\n themeIds: pkg.flavors.flatMap((f) => (f ? [f.id] : [])),\n };\n});\n/** O(1) flavor lookup by ID, built once at module evaluation time. */\nconst flavorById = /*#__PURE__*/ new Map(flavors.map((f) => [f.id, f]));\n/** Cache for computed short labels. */\nconst shortLabelCache = new Map();\n/**\n * Strip the vendor prefix from a theme label to produce a short label.\n *\n * For single-flavor vendors (e.g., \"Dracula\", \"Nord\") the full label is returned.\n * For multi-flavor vendors the vendor name prefix is stripped:\n * \"Catppuccin Mocha\" -> \"Mocha\"\n * \"Gruvbox Dark Hard\" -> \"Dark Hard\"\n *\n * @param themeId - A valid theme ID\n * @returns The short display label, or the full label if the theme is not found\n */\nexport function getShortLabel(themeId) {\n const cached = shortLabelCache.get(themeId);\n if (cached !== undefined)\n return cached;\n const flavor = flavorById.get(themeId);\n if (!flavor)\n return themeId;\n const vendorPkg = packages[flavor.vendor];\n if (!vendorPkg) {\n shortLabelCache.set(themeId, flavor.label);\n return flavor.label;\n }\n // Single-flavor vendors keep their full label\n if (vendorPkg.flavors.length === 1) {\n shortLabelCache.set(themeId, flavor.label);\n return flavor.label;\n }\n // Strip vendor display name prefix (case-insensitive, NFC-normalized for\n // consistent handling of composed/decomposed Unicode accents).\n const displayName = vendorPkg.name.replace(/\\s*\\(synced\\)\\s*/i, '').normalize('NFC');\n const label = flavor.label;\n let result;\n if (label.normalize('NFC').toLowerCase().startsWith(displayName.toLowerCase())) {\n const stripped = label.slice(displayName.length).trim();\n result = stripped || label;\n }\n else {\n result = label;\n }\n shortLabelCache.set(themeId, result);\n return result;\n}\n/** Pre-computed short labels for all themes. */\nexport const THEME_SHORT_LABELS = \n/*#__PURE__*/ Object.fromEntries(flavors.map((f) => [f.id, getShortLabel(f.id)]));\n//# sourceMappingURL=metadata.js.map","// SPDX-License-Identifier: MIT\n/**\n * Consumer theme curation API.\n *\n * `createThemeCatalog()` provides a single, composable surface for selecting a\n * subset of themes. It composes with the existing `flavors` (tokens) and\n * `VENDOR_GROUPS` (metadata) so consumers no longer need to hand-slice arrays.\n *\n * Filter precedence:\n * all themes -> vendors/appearances -> include -> exclude\n *\n * Invalid IDs supplied to `include`/`exclude` warn in development (never\n * throw), so a typo cannot silently drop or duplicate a theme.\n */\nimport { flavors, themeIds as allThemeIds } from '../tokens/index.js';\nimport { VENDOR_GROUPS } from '../themes/metadata.js';\nconst KNOWN_THEME_IDS = new Set(allThemeIds);\n/**\n * Emit a dev-time warning for unknown IDs. The `typeof` guard is safe even\n * when `process` is an undeclared identifier (browsers/workers without a\n * shim), and keeps the contiguous `process.env.NODE_ENV` token sequence so\n * bundler define-replacement and dead-code elimination still apply.\n */\nfunction warnInvalidIds(source, ids) {\n if (ids.length === 0)\n return;\n if (typeof process !== 'undefined' && process.env.NODE_ENV === 'production')\n return;\n console.warn(`[catalog] createThemeCatalog: ignoring unknown ${source} theme ID(s): ${ids.join(', ')}. ` +\n 'Valid IDs come from the exported `themeIds`.');\n}\n/**\n * Build a curated {@link ThemeCatalog} from the full theme set.\n *\n * @param options - Vendor/appearance filters plus explicit include/exclude IDs.\n * @returns A catalog exposing `themeIds`, `flavors`, and `vendorGroups`.\n */\nexport function createThemeCatalog(options = {}) {\n const { vendors, appearances, include = [], exclude = [] } = options;\n const selected = new Set();\n for (const flavor of flavors) {\n if (vendors !== undefined && !vendors.includes(flavor.vendor))\n continue;\n if (appearances !== undefined && !appearances.includes(flavor.appearance))\n continue;\n selected.add(flavor.id);\n }\n const invalidInclude = [];\n for (const id of include) {\n if (KNOWN_THEME_IDS.has(id)) {\n selected.add(id);\n }\n else {\n invalidInclude.push(id);\n }\n }\n warnInvalidIds('include', invalidInclude);\n const invalidExclude = [];\n for (const id of exclude) {\n if (KNOWN_THEME_IDS.has(id)) {\n selected.delete(id);\n }\n else {\n invalidExclude.push(id);\n }\n }\n warnInvalidIds('exclude', invalidExclude);\n const selectedFlavors = flavors.filter((flavor) => selected.has(flavor.id));\n const selectedThemeIds = selectedFlavors.map((flavor) => flavor.id);\n const vendorGroups = VENDOR_GROUPS.map((group) => ({\n ...group,\n themeIds: group.themeIds.filter((id) => selected.has(id)),\n })).filter((group) => group.themeIds.length > 0);\n return {\n themeIds: selectedThemeIds,\n flavors: selectedFlavors,\n vendorGroups,\n };\n}\n//# sourceMappingURL=create.js.map","// SPDX-License-Identifier: MIT\n/**\n * Named theme presets built on top of {@link createThemeCatalog}.\n *\n * These provide opinionated defaults so consumers don't rebuild the same\n * \"minimal\" or \"dark-only\" lists in every app. Per-vendor sets are derived\n * from the `packages` keys, so new vendor variants appear automatically on\n * upgrade for opted-in vendors.\n */\nimport { packages } from '../tokens/index.js';\nimport { createThemeCatalog } from './create.js';\n/**\n * The curated \"minimal\" starter set: one light + one dark theme from the two\n * most common vendors.\n */\nconst MINIMAL_THEME_IDS = [\n 'catppuccin-mocha',\n 'catppuccin-latte',\n 'github-light',\n 'github-dark',\n];\nconst perVendorSets = Object.fromEntries(Object.keys(packages).map((vendor) => [vendor, createThemeCatalog({ vendors: [vendor] })]));\nexport const themeSets = {\n ...perVendorSets,\n minimal: createThemeCatalog({ vendors: [], include: MINIMAL_THEME_IDS }),\n dark: createThemeCatalog({ appearances: ['dark'] }),\n light: createThemeCatalog({ appearances: ['light'] }),\n};\n//# sourceMappingURL=sets.js.map","// SPDX-License-Identifier: MIT\n/**\n * Auto-theme vendor pairings for the Home Assistant adapter.\n *\n * Home Assistant supports \"auto\" themes that switch between a dark and light\n * variant based on the user's system color scheme, via a `modes:` block. Each\n * pairing couples a Turbo dark flavor with its light counterpart.\n */\n\nimport type { ThemeTokens } from '@lgtm-hq/turbo-themes-core/themes/types';\nimport { getTheme } from '@lgtm-hq/turbo-themes-core';\n\n/** A dark/light pairing that becomes a single Home Assistant auto theme. */\nexport interface AutoThemePairing {\n /** Human-readable Home Assistant theme name, e.g. `\"Catppuccin (Auto)\"`. */\n readonly name: string;\n /** Registry id of the dark flavor (also used for the flat top-level keys). */\n readonly dark: string;\n /** Registry id of the light flavor. */\n readonly light: string;\n}\n\n/** A pairing whose dark/light flavors have been resolved to concrete tokens. */\nexport interface ResolvedAutoTheme {\n readonly name: string;\n readonly darkTokens: ThemeTokens;\n readonly lightTokens: ThemeTokens;\n}\n\n/** Dark/light flavor pairings, one per vendor family, emitted as auto themes. */\nexport const AUTO_THEME_PAIRINGS: readonly AutoThemePairing[] = [\n { name: 'Bulma (Auto)', dark: 'bulma-dark', light: 'bulma-light' },\n { name: 'Catppuccin (Auto)', dark: 'catppuccin-mocha', light: 'catppuccin-latte' },\n { name: 'GitHub (Auto)', dark: 'github-dark', light: 'github-light' },\n { name: 'Gruvbox (Auto)', dark: 'gruvbox-dark', light: 'gruvbox-light' },\n { name: 'One (Auto)', dark: 'one-dark', light: 'one-light' },\n { name: 'Rosé Pine (Auto)', dark: 'rose-pine', light: 'rose-pine-dawn' },\n { name: 'Solarized (Auto)', dark: 'solarized-dark', light: 'solarized-light' },\n { name: 'Tokyo Night (Auto)', dark: 'tokyo-night-dark', light: 'tokyo-night-light' },\n] as const;\n\n/**\n * Resolve a pairing to its concrete dark/light tokens, validating as it goes.\n *\n * @param pairing - The pairing to resolve.\n * @returns The pairing name plus the resolved dark and light token sets.\n * @throws If either id is missing from the registry, or an id's appearance does\n * not match the slot it occupies (dark slot must be dark, light slot light).\n */\nexport function resolveAutoTheme(pairing: AutoThemePairing): ResolvedAutoTheme {\n const { name, dark, light } = pairing;\n\n const darkTheme = getTheme(dark);\n if (!darkTheme) {\n throw new Error(`Auto theme \"${name}\" references unknown dark theme id \"${dark}\"`);\n }\n if (darkTheme.appearance !== 'dark') {\n throw new Error(\n `Auto theme \"${name}\" dark slot \"${dark}\" has appearance \"${darkTheme.appearance}\", expected \"dark\"`,\n );\n }\n\n const lightTheme = getTheme(light);\n if (!lightTheme) {\n throw new Error(`Auto theme \"${name}\" references unknown light theme id \"${light}\"`);\n }\n if (lightTheme.appearance !== 'light') {\n throw new Error(\n `Auto theme \"${name}\" light slot \"${light}\" has appearance \"${lightTheme.appearance}\", expected \"light\"`,\n );\n }\n\n return { name, darkTokens: darkTheme.tokens, lightTokens: lightTheme.tokens };\n}\n\n/**\n * Validate every pairing, throwing on the first problem.\n *\n * @param pairings - Pairings to validate (defaults to {@link AUTO_THEME_PAIRINGS}).\n * @throws If any pairing is invalid; see {@link resolveAutoTheme}.\n */\nexport function assertPairingsValid(\n pairings: readonly AutoThemePairing[] = AUTO_THEME_PAIRINGS,\n): void {\n for (const pairing of pairings) {\n resolveAutoTheme(pairing);\n }\n}\n","// SPDX-License-Identifier: MIT\n/**\n * Minimal, dependency-free YAML rendering helpers for the Home Assistant emitter.\n *\n * Only the tiny subset needed to emit Home Assistant themes is implemented:\n * double-quoted scalar values and (optionally) plain-scalar mapping keys.\n */\n\n// A name is safe as an unquoted (plain) YAML mapping key when it starts with an\n// alphanumeric (any Unicode letter/number) and contains only alphanumerics,\n// spaces, and punctuation that carries no meaning in YAML plain scalars.\nconst SAFE_PLAIN_KEY = /^[\\p{L}\\p{N}][\\p{L}\\p{N} ()./-]*$/u;\n\n// Plain scalars that YAML 1.1 loaders (e.g. pyyaml, which Home Assistant uses)\n// resolve to booleans or null even in mapping-key position. These must always be\n// double-quoted to survive as string keys.\nconst YAML11_RESERVED = new Set([\"true\", \"false\", \"yes\", \"no\", \"on\", \"off\", \"null\", \"y\", \"n\", \"~\"]);\n\n// C0 control characters and DEL, which are not representable literally inside a\n// YAML double-quoted scalar.\n// eslint-disable-next-line no-control-regex\nconst CONTROL_CHARS = /[\\x00-\\x1f\\x7f]/g;\n\nconst CONTROL_SHORTHAND: Record<string, string> = {\n \"\\t\": \"\\\\t\",\n \"\\n\": \"\\\\n\",\n \"\\r\": \"\\\\r\",\n \"\\0\": \"\\\\0\",\n};\n\n/** Escape a string for use inside a YAML double-quoted scalar. */\nexport function escapeDoubleQuoted(value: string): string {\n return value\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\"/g, '\\\\\"')\n .replace(CONTROL_CHARS, (char) => {\n const shorthand = CONTROL_SHORTHAND[char];\n if (shorthand) {\n return shorthand;\n }\n return `\\\\x${char.charCodeAt(0).toString(16).padStart(2, \"0\")}`;\n });\n}\n\n/** Whether a mapping key can be emitted as an unquoted YAML plain scalar. */\nexport function isSafePlainKey(name: string): boolean {\n if (YAML11_RESERVED.has(name.toLowerCase())) {\n return false;\n }\n return SAFE_PLAIN_KEY.test(name);\n}\n\n/** Render a mapping key, quoting only when it is not a safe plain scalar. */\nexport function renderKey(name: string): string {\n return isSafePlainKey(name) ? name : `\"${escapeDoubleQuoted(name)}\"`;\n}\n\n/** Render a value as a YAML double-quoted scalar. */\nexport function renderValue(value: string): string {\n return `\"${escapeDoubleQuoted(value)}\"`;\n}\n","// SPDX-License-Identifier: MIT\n/**\n * YAML emitter for the Home Assistant adapter.\n *\n * Hand-rolls a deterministic Home Assistant `themes.yaml` document from the Turbo\n * theme registry. js-yaml is intentionally not used at runtime so the adapter has\n * no serialization dependency; tests parse the output with js-yaml to validate it.\n */\n\nimport { flavors } from '@lgtm-hq/turbo-themes-core';\nimport { mapTokensToHomeAssistant } from './mapping.js';\nimport { AUTO_THEME_PAIRINGS, assertPairingsValid, resolveAutoTheme } from './pairings.js';\nimport { renderKey, renderValue } from './yaml.js';\n\nconst HEADER = [\n '# Generated by @lgtm-hq/turbo-themes/adapters/home-assistant',\n '# Do not edit by hand.',\n].join('\\n');\n\n/**\n * Render a variable mapping as indented `key: \"value\"` lines.\n *\n * The mapping preserves {@link REQUIRED_KEYS} order (produced by\n * {@link mapTokensToHomeAssistant}), so iterating its entries is deterministic.\n *\n * @param mapping - Variable name → value record.\n * @param indent - Leading indent applied to every line.\n */\nfunction renderMapping(mapping: Record<string, string>, indent: string): string[] {\n return Object.entries(mapping).map(\n ([key, value]) => `${indent}${renderKey(key)}: ${renderValue(value)}`,\n );\n}\n\n/** Emit a single flat theme block (top-level keys only). */\nfunction emitFlatTheme(name: string, mapping: Record<string, string>): string {\n return [`${renderKey(name)}:`, ...renderMapping(mapping, ' ')].join('\\n');\n}\n\n/**\n * Emit an auto theme block: the dark mapping at the top level, plus a `modes:`\n * block carrying the full dark and light mappings.\n */\nfunction emitAutoTheme(\n name: string,\n darkMapping: Record<string, string>,\n lightMapping: Record<string, string>,\n): string {\n return [\n `${renderKey(name)}:`,\n ...renderMapping(darkMapping, ' '),\n ' modes:',\n ' dark:',\n ...renderMapping(darkMapping, ' '),\n ' light:',\n ...renderMapping(lightMapping, ' '),\n ].join('\\n');\n}\n\n/**\n * Generate the Home Assistant themes YAML document.\n *\n * Flat themes are emitted first, sorted alphabetically by theme id for\n * determinism, followed by the auto (dark/light paired) themes in\n * {@link AUTO_THEME_PAIRINGS} order.\n *\n * @returns The full YAML document as a string.\n * @throws If any auto-theme pairing is invalid (see {@link assertPairingsValid}).\n */\nexport function generateHomeAssistantThemes(): string {\n assertPairingsValid();\n\n const sorted = [...flavors].sort((a, b) => a.id.localeCompare(b.id, 'en'));\n const blocks = sorted.map((flavor) =>\n emitFlatTheme(flavor.label, mapTokensToHomeAssistant(flavor.tokens)),\n );\n\n for (const pairing of AUTO_THEME_PAIRINGS) {\n const { name, darkTokens, lightTokens } = resolveAutoTheme(pairing);\n blocks.push(\n emitAutoTheme(\n name,\n mapTokensToHomeAssistant(darkTokens),\n mapTokensToHomeAssistant(lightTokens),\n ),\n );\n }\n\n return `${HEADER}\\n${blocks.join('\\n')}\\n`;\n}\n"],"mappings":"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"}
|