@codextheme/cli 0.2.3 → 0.2.4

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/README.md CHANGED
@@ -5,22 +5,24 @@ Fixed-version, one-command curated and private custom skins for Codex Desktop on
5
5
  Apply a catalog skin:
6
6
 
7
7
  ```sh
8
- npx --yes @codextheme/cli@0.2.3 apply cathedral-nocturne
8
+ npx --yes @codextheme/cli@0.2.4 apply cathedral-nocturne
9
9
  ```
10
10
 
11
11
  The custom skin studio at [codextheme.tech](https://codextheme.tech) creates an expiring private command:
12
12
 
13
13
  ```sh
14
- npx --yes @codextheme/cli@0.2.3 apply-private <private-id>
14
+ npx --yes @codextheme/cli@0.2.4 apply-private <private-id>
15
15
  ```
16
16
 
17
17
  Private packages are downloaded only from the fixed `https://codextheme.tech` origin, bounded, integrity-checked, schema-validated, safety-linted, and cached locally with owner-only permissions. The temporary server link expires after 24 hours; `reapply` uses the validated local cache and works after that link expires.
18
18
 
19
+ The CLI emits and applies only CodexTheme-owned package and renderer names. Historical cached packages are normalized by the runtime compatibility layer without exposing the former namespace in normal command output.
20
+
19
21
  ```sh
20
- npx --yes @codextheme/cli@0.2.3 reapply
21
- npx --yes @codextheme/cli@0.2.3 restore
22
+ npx --yes @codextheme/cli@0.2.4 reapply
23
+ npx --yes @codextheme/cli@0.2.4 restore
22
24
  ```
23
25
 
24
- The CLI has no install scripts, does not use `sudo`, and does not modify the Codex application bundle. Requirements: macOS, Node.js 22.4+, and Codex Desktop. A running Codex process is never closed or reopened without an explicit `y` confirmation. After confirmation, version 0.2.3 uses an owner-only detached one-shot worker so an apply started inside Codex survives that restart; it does not install a persistent service.
26
+ The CLI has no install scripts, does not use `sudo`, and does not modify the Codex application bundle. Requirements: macOS, Node.js 22.4+, and Codex Desktop. A running Codex process is never closed or reopened without an explicit `y` confirmation. After confirmation, version 0.2.4 uses an owner-only detached one-shot worker so an apply started inside Codex survives that restart; it does not install a persistent service.
25
27
 
26
28
  CodexTheme is an independent project and is not affiliated with or endorsed by OpenAI.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codextheme/cli",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "description": "One-command curated and private custom skins for Codex Desktop on macOS.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -18,7 +18,7 @@
18
18
  "test": "node --test"
19
19
  },
20
20
  "dependencies": {
21
- "@codextheme/runtime": "0.1.0"
21
+ "@codextheme/runtime": "0.1.1"
22
22
  },
23
23
  "engines": {
24
24
  "node": ">=22.4"
package/src/lifecycle.mjs CHANGED
@@ -9,11 +9,11 @@ export class CliError extends Error {
9
9
  function mappedError(error) {
10
10
  if (error instanceof CliError || String(error?.code ?? "").startsWith("E_")) return error;
11
11
  switch (error?.code) {
12
- case "CODEDROBE_RESTART_REQUIRED":
12
+ case "CODEXTHEME_RESTART_REQUIRED":
13
13
  return new CliError("E_RESTART_REQUIRED", "需要得到你的确认后才能重新打开 Codex。");
14
- case "CODEDROBE_DOM_INCOMPATIBLE":
14
+ case "CODEXTHEME_DOM_INCOMPATIBLE":
15
15
  return new CliError("E_DOM_INCOMPATIBLE", "当前 Codex 界面结构与该主题暂不兼容。");
16
- case "CODEDROBE_VERIFY_FAILED":
16
+ case "CODEXTHEME_VERIFY_FAILED":
17
17
  return new CliError("E_CORE_VERIFY", "主题应用后的完整性验证失败,已尝试回滚。");
18
18
  default:
19
19
  return new CliError("E_DOM_INCOMPATIBLE", "Codex 主题运行时未能完成本次操作。");
@@ -62,7 +62,7 @@ async function applyResolvedTheme({ theme, nextState, runtime, stateStore, promp
62
62
  try {
63
63
  result = await runtime.apply({ theme, restartExisting });
64
64
  } catch (error) {
65
- if (error?.code === "CODEDROBE_RESTART_REQUIRED" && !restartExisting) {
65
+ if (error?.code === "CODEXTHEME_RESTART_REQUIRED" && !restartExisting) {
66
66
  await requireRestartConsent(promptRestart);
67
67
  if (restartHandoff) return delegateRestart({ theme, nextState, restartHandoff });
68
68
  restartExisting = true;
@@ -141,7 +141,7 @@ export async function reapplyTheme(options) {
141
141
  }
142
142
 
143
143
  const RENDERER_ABSENT_CODES = new Set([
144
- "CODEDROBE_TARGET_TIMEOUT",
144
+ "CODEXTHEME_TARGET_TIMEOUT",
145
145
  "ECONNREFUSED",
146
146
  ]);
147
147
 
package/src/main.mjs CHANGED
@@ -7,9 +7,9 @@ import { confirmRestart } from "./prompt.mjs";
7
7
  import { runtime as productionRuntime } from "./runtime.mjs";
8
8
  import { createStateStore } from "./state.mjs";
9
9
 
10
- export const VERSION = "0.2.3";
11
- const REAPPLY = "npx --yes @codextheme/cli@0.2.3 reapply";
12
- const RESTORE = "npx --yes @codextheme/cli@0.2.3 restore";
10
+ export const VERSION = "0.2.4";
11
+ const REAPPLY = "npx --yes @codextheme/cli@0.2.4 reapply";
12
+ const RESTORE = "npx --yes @codextheme/cli@0.2.4 restore";
13
13
 
14
14
  const HELP = `CodexTheme ${VERSION}
15
15
 
package/src/runtime.mjs CHANGED
@@ -1,10 +1,10 @@
1
1
  import * as runtimeCore from "@codextheme/runtime";
2
2
  import { themeFilename } from "./catalog.mjs";
3
3
 
4
- const RENDERER_ABSENT_CODES = new Set(["CODEDROBE_TARGET_TIMEOUT", "ECONNREFUSED"]);
4
+ const RENDERER_ABSENT_CODES = new Set(["CODEXTHEME_TARGET_TIMEOUT", "ECONNREFUSED"]);
5
5
  const PRIVATE_THEME_ID = /^private-[a-z0-9]{20}$/;
6
- const LEGACY_PRIVATE_HOME_RULE = /html\.codedrobe-codex-skin \.dream-home \{\n position: relative;\n isolation: isolate;\n background-image: (linear-gradient\(rgba\(5, 6, 10, (?:0|1)\.\d{2}\), rgba\(5, 6, 10, (?:0|1)\.\d{2}\)\), var\(--codedrobe-image-hero\)) !important;\n background-position: \d{1,3}% \d{1,3}% !important;\n background-size: cover !important;\n\}/;
7
- const PRIVATE_WINDOW_RULE = /html\.codedrobe-codex-skin body::before \{[\s\S]*?\n\}/;
6
+ const HISTORICAL_PRIVATE_HOME_RULE = /html\.codextheme-codex-skin \.dream-home \{\n position: relative;\n isolation: isolate;\n background-image: (linear-gradient\(rgba\(5, 6, 10, (?:0|1)\.\d{2}\), rgba\(5, 6, 10, (?:0|1)\.\d{2}\)\), var\(--codextheme-image-hero\)) !important;\n background-position: \d{1,3}% \d{1,3}% !important;\n background-size: cover !important;\n\}/;
7
+ const PRIVATE_WINDOW_RULE = /html\.codextheme-codex-skin body::before \{[\s\S]*?\n\}/;
8
8
 
9
9
  function migratePrivateBackgroundAnchor(bundle) {
10
10
  const target = bundle?.targets?.codex;
@@ -15,15 +15,15 @@ function migratePrivateBackgroundAnchor(bundle) {
15
15
  || target.css.includes("body:has(.dream-home)::before")
16
16
  ) return bundle;
17
17
 
18
- const legacyHome = target.css.match(LEGACY_PRIVATE_HOME_RULE);
18
+ const legacyHome = target.css.match(HISTORICAL_PRIVATE_HOME_RULE);
19
19
  const windowRule = target.css.match(PRIVATE_WINDOW_RULE);
20
20
  if (!legacyHome || !windowRule) return bundle;
21
21
 
22
- const homeWindow = `${windowRule[0]}\n\nhtml.codedrobe-codex-skin body:has(.dream-home)::before {\n background-image: ${legacyHome[1]};\n}`;
23
- const homeSurface = "html.codedrobe-codex-skin .dream-home {\n position: relative;\n isolation: isolate;\n background: transparent !important;\n}";
22
+ const homeWindow = `${windowRule[0]}\n\nhtml.codextheme-codex-skin body:has(.dream-home)::before {\n background-image: ${legacyHome[1]};\n}`;
23
+ const homeSurface = "html.codextheme-codex-skin .dream-home {\n position: relative;\n isolation: isolate;\n background: transparent !important;\n}";
24
24
  const css = target.css
25
25
  .replace(PRIVATE_WINDOW_RULE, homeWindow)
26
- .replace(LEGACY_PRIVATE_HOME_RULE, homeSurface);
26
+ .replace(HISTORICAL_PRIVATE_HOME_RULE, homeSurface);
27
27
 
28
28
  return {
29
29
  ...bundle,
@@ -47,10 +47,10 @@ export function createRuntime({ core = runtimeCore, platform = process.platform
47
47
 
48
48
  function resolveSafeTheme(bundle) {
49
49
  try {
50
- core.validateThemePackage(bundle);
51
- if (core.lintThemePackage(bundle).length) throw new Error("lint");
52
- const migrated = migratePrivateBackgroundAnchor(bundle);
53
- if (migrated !== bundle) {
50
+ const normalized = core.validateThemePackage(bundle);
51
+ if (core.lintThemePackage(normalized).length) throw new Error("lint");
52
+ const migrated = migratePrivateBackgroundAnchor(normalized);
53
+ if (migrated !== normalized) {
54
54
  core.validateThemePackage(migrated);
55
55
  if (core.lintThemePackage(migrated).length) throw new Error("lint");
56
56
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "format": "codedrobe-theme",
2
+ "format": "codextheme-theme",
3
3
  "schemaVersion": 1,
4
4
  "exportedAt": "2026-07-18T00:00:00.000Z",
5
5
  "theme": {
@@ -18,7 +18,7 @@
18
18
  },
19
19
  "targets": {
20
20
  "codex": {
21
- "css": ":root.codedrobe-codex-skin {\n color-scheme: dark !important;\n --codextheme-accent: var(--color-token-primary, #9b7bff);\n --codextheme-surface: var(--color-token-bg-primary, #10111a);\n --codextheme-panel: color-mix(in srgb, var(--codextheme-surface) 94%, white 6%);\n --codextheme-panel-soft: color-mix(in srgb, var(--codextheme-surface) 88%, transparent);\n --codextheme-line: color-mix(in srgb, var(--codextheme-accent) 32%, transparent);\n}\n\nhtml.codedrobe-codex-skin body {\n background: #07080d !important;\n color: var(--color-token-text-primary, #f5f3ff) !important;\n}\n\nhtml.codedrobe-codex-skin body::before {\n content: \"\";\n position: fixed;\n inset: 0;\n z-index: 0;\n pointer-events: none;\n background-image:\n linear-gradient(110deg, rgba(5, 6, 10, .38), rgba(5, 6, 10, .72)),\n var(--codedrobe-image-session-bg);\n background-position: center;\n background-size: cover;\n filter: saturate(.92) contrast(1.04);\n}\n\nhtml.codedrobe-codex-skin body > * {\n position: relative;\n z-index: 1;\n}\n\nhtml.codedrobe-codex-skin aside.app-shell-left-panel {\n background: color-mix(in srgb, var(--codextheme-surface) 96%, transparent) !important;\n border-color: var(--codextheme-line) !important;\n box-shadow: 18px 0 42px rgba(0, 0, 0, .25) !important;\n backdrop-filter: blur(18px) saturate(1.08) !important;\n}\n\nhtml.codedrobe-codex-skin main.main-surface {\n background: color-mix(in srgb, var(--codextheme-surface) 90%, transparent) !important;\n border-color: var(--codextheme-line) !important;\n box-shadow: inset 0 1px rgba(255, 255, 255, .035), -12px 0 40px rgba(0, 0, 0, .18) !important;\n backdrop-filter: blur(14px) saturate(1.03) !important;\n}\n\nhtml.codedrobe-codex-skin main.main-surface > header.app-header-tint {\n background: color-mix(in srgb, var(--codextheme-panel) 96%, transparent) !important;\n border-bottom-color: var(--codextheme-line) !important;\n backdrop-filter: blur(18px) !important;\n}\n\nhtml.codedrobe-codex-skin .composer-surface-chrome {\n background: var(--codextheme-panel) !important;\n border: 1px solid var(--codextheme-line) !important;\n box-shadow: 0 18px 50px rgba(0, 0, 0, .28), inset 0 1px rgba(255, 255, 255, .05) !important;\n backdrop-filter: blur(20px) saturate(1.08) !important;\n}\n\nhtml.codedrobe-codex-skin :is(pre, code, [data-language]) {\n background-color: color-mix(in srgb, var(--codextheme-surface) 97%, black 3%) !important;\n}\n\nhtml.codedrobe-codex-skin :is(button, a, input, textarea, [tabindex]):focus-visible {\n outline: 2px solid var(--codextheme-accent) !important;\n outline-offset: 2px !important;\n}\n\nhtml.codedrobe-codex-skin .dream-home {\n position: relative;\n isolation: isolate;\n background:\n linear-gradient(90deg, color-mix(in srgb, var(--codextheme-surface) 94%, transparent), transparent 68%),\n var(--codedrobe-image-hero) center / cover no-repeat !important;\n}\n\nhtml.codedrobe-codex-skin .dream-home::after {\n content: \"\";\n position: absolute;\n inset: 22px;\n z-index: -1;\n border: 1px solid var(--codextheme-line);\n border-radius: 28px;\n pointer-events: none;\n box-shadow: inset 0 0 80px rgba(0, 0, 0, .18);\n}\n\n#codedrobe-codex-skin-chrome {\n pointer-events: none;\n color: var(--color-token-text-primary, #f5f3ff);\n}\n\n#codedrobe-codex-skin-chrome .dream-brand,\n#codedrobe-codex-skin-chrome .dream-signature {\n color: var(--codextheme-accent);\n text-shadow: 0 2px 18px rgba(0, 0, 0, .75);\n}\n\n#codedrobe-codex-skin-chrome .dream-polaroid,\n#codedrobe-codex-skin-chrome .dream-ribbon,\n#codedrobe-codex-skin-chrome .dream-sparkles {\n display: none !important;\n}\n\n@media (prefers-reduced-motion: reduce) {\n html.codedrobe-codex-skin *,\n html.codedrobe-codex-skin *::before,\n html.codedrobe-codex-skin *::after {\n animation-duration: .001ms !important;\n animation-iteration-count: 1 !important;\n scroll-behavior: auto !important;\n transition-duration: .001ms !important;\n }\n}\n",
21
+ "css": ":root.codextheme-codex-skin {\n color-scheme: dark !important;\n --codextheme-accent: var(--color-token-primary, #9b7bff);\n --codextheme-surface: var(--color-token-bg-primary, #10111a);\n --codextheme-panel: color-mix(in srgb, var(--codextheme-surface) 94%, white 6%);\n --codextheme-panel-soft: color-mix(in srgb, var(--codextheme-surface) 88%, transparent);\n --codextheme-line: color-mix(in srgb, var(--codextheme-accent) 32%, transparent);\n}\n\nhtml.codextheme-codex-skin body {\n background: #07080d !important;\n color: var(--color-token-text-primary, #f5f3ff) !important;\n}\n\nhtml.codextheme-codex-skin body::before {\n content: \"\";\n position: fixed;\n inset: 0;\n z-index: 0;\n pointer-events: none;\n background-image:\n linear-gradient(90deg, rgba(5, 6, 10, .68) 0%, rgba(5, 6, 10, .28) 46%, rgba(5, 6, 10, .08) 100%),\n var(--codextheme-image-session-bg);\n background-position: center;\n background-size: cover;\n filter: saturate(.92) contrast(1.04);\n}\n\nhtml.codextheme-codex-skin body:has(.dream-home)::before {\n background-image:\n linear-gradient(90deg, color-mix(in srgb, var(--codextheme-surface) 94%, transparent), transparent 68%),\n var(--codextheme-image-hero);\n}\n\nhtml.codextheme-codex-skin body > * {\n position: relative;\n z-index: 1;\n}\n\nhtml.codextheme-codex-skin aside.app-shell-left-panel {\n background: color-mix(in srgb, var(--codextheme-surface) 82%, transparent) !important;\n border-color: var(--codextheme-line) !important;\n box-shadow: 18px 0 42px rgba(0, 0, 0, .25) !important;\n backdrop-filter: blur(18px) saturate(1.08) !important;\n}\n\nhtml.codextheme-codex-skin main.main-surface {\n background: color-mix(in srgb, var(--codextheme-surface) 38%, transparent) !important;\n border-color: var(--codextheme-line) !important;\n box-shadow: inset 0 1px rgba(255, 255, 255, .035), -12px 0 40px rgba(0, 0, 0, .18) !important;\n backdrop-filter: blur(14px) saturate(1.03) !important;\n}\n\nhtml.codextheme-codex-skin main.main-surface > header.app-header-tint {\n background: color-mix(in srgb, var(--codextheme-panel) 62%, transparent) !important;\n border-bottom-color: var(--codextheme-line) !important;\n backdrop-filter: blur(18px) !important;\n}\n\nhtml.codextheme-codex-skin .composer-surface-chrome {\n background: var(--codextheme-panel) !important;\n border: 1px solid var(--codextheme-line) !important;\n box-shadow: 0 18px 50px rgba(0, 0, 0, .28), inset 0 1px rgba(255, 255, 255, .05) !important;\n backdrop-filter: blur(20px) saturate(1.08) !important;\n}\n\nhtml.codextheme-codex-skin :is(pre, code, [data-language]) {\n background-color: color-mix(in srgb, var(--codextheme-surface) 97%, black 3%) !important;\n}\n\nhtml.codextheme-codex-skin :is(button, a, input, textarea, [tabindex]):focus-visible {\n outline: 2px solid var(--codextheme-accent) !important;\n outline-offset: 2px !important;\n}\n\nhtml.codextheme-codex-skin .dream-home {\n position: relative;\n isolation: isolate;\n background: transparent !important;\n}\n\nhtml.codextheme-codex-skin .dream-home::after {\n content: \"\";\n position: absolute;\n inset: 22px;\n z-index: -1;\n border: 1px solid var(--codextheme-line);\n border-radius: 28px;\n pointer-events: none;\n box-shadow: inset 0 0 80px rgba(0, 0, 0, .18);\n}\n\n#codextheme-codex-skin-chrome {\n pointer-events: none;\n color: var(--color-token-text-primary, #f5f3ff);\n}\n\n#codextheme-codex-skin-chrome .dream-brand,\n#codextheme-codex-skin-chrome .dream-signature {\n color: var(--codextheme-accent);\n text-shadow: 0 2px 18px rgba(0, 0, 0, .75);\n}\n\n#codextheme-codex-skin-chrome .dream-polaroid,\n#codextheme-codex-skin-chrome .dream-ribbon,\n#codextheme-codex-skin-chrome .dream-sparkles {\n display: none !important;\n}\n\n@media (prefers-reduced-motion: reduce) {\n html.codextheme-codex-skin *,\n html.codextheme-codex-skin *::before,\n html.codextheme-codex-skin *::after {\n animation-duration: .001ms !important;\n animation-iteration-count: 1 !important;\n scroll-behavior: auto !important;\n transition-duration: .001ms !important;\n }\n}\n",
22
22
  "options": {
23
23
  "rendererProfile": "codex-theme-v1",
24
24
  "baseTheme": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "format": "codedrobe-theme",
2
+ "format": "codextheme-theme",
3
3
  "schemaVersion": 1,
4
4
  "exportedAt": "2026-07-18T00:00:00.000Z",
5
5
  "theme": {
@@ -18,7 +18,7 @@
18
18
  },
19
19
  "targets": {
20
20
  "codex": {
21
- "css": ":root.codedrobe-codex-skin {\n color-scheme: dark !important;\n --codextheme-accent: var(--color-token-primary, #9b7bff);\n --codextheme-surface: var(--color-token-bg-primary, #10111a);\n --codextheme-panel: color-mix(in srgb, var(--codextheme-surface) 94%, white 6%);\n --codextheme-panel-soft: color-mix(in srgb, var(--codextheme-surface) 88%, transparent);\n --codextheme-line: color-mix(in srgb, var(--codextheme-accent) 32%, transparent);\n}\n\nhtml.codedrobe-codex-skin body {\n background: #07080d !important;\n color: var(--color-token-text-primary, #f5f3ff) !important;\n}\n\nhtml.codedrobe-codex-skin body::before {\n content: \"\";\n position: fixed;\n inset: 0;\n z-index: 0;\n pointer-events: none;\n background-image:\n linear-gradient(90deg, rgba(5, 6, 10, .68) 0%, rgba(5, 6, 10, .28) 46%, rgba(5, 6, 10, .08) 100%),\n var(--codedrobe-image-session-bg);\n background-position: center;\n background-size: cover;\n filter: saturate(.92) contrast(1.04);\n}\n\nhtml.codedrobe-codex-skin body:has(.dream-home)::before {\n background-image:\n linear-gradient(90deg, color-mix(in srgb, var(--codextheme-surface) 94%, transparent), transparent 68%),\n var(--codedrobe-image-hero);\n}\n\nhtml.codedrobe-codex-skin body > * {\n position: relative;\n z-index: 1;\n}\n\nhtml.codedrobe-codex-skin aside.app-shell-left-panel {\n background: color-mix(in srgb, var(--codextheme-surface) 82%, transparent) !important;\n border-color: var(--codextheme-line) !important;\n box-shadow: 18px 0 42px rgba(0, 0, 0, .25) !important;\n backdrop-filter: blur(18px) saturate(1.08) !important;\n}\n\nhtml.codedrobe-codex-skin main.main-surface {\n background: color-mix(in srgb, var(--codextheme-surface) 38%, transparent) !important;\n border-color: var(--codextheme-line) !important;\n box-shadow: inset 0 1px rgba(255, 255, 255, .035), -12px 0 40px rgba(0, 0, 0, .18) !important;\n backdrop-filter: blur(14px) saturate(1.03) !important;\n}\n\nhtml.codedrobe-codex-skin main.main-surface > header.app-header-tint {\n background: color-mix(in srgb, var(--codextheme-panel) 62%, transparent) !important;\n border-bottom-color: var(--codextheme-line) !important;\n backdrop-filter: blur(18px) !important;\n}\n\nhtml.codedrobe-codex-skin .composer-surface-chrome {\n background: var(--codextheme-panel) !important;\n border: 1px solid var(--codextheme-line) !important;\n box-shadow: 0 18px 50px rgba(0, 0, 0, .28), inset 0 1px rgba(255, 255, 255, .05) !important;\n backdrop-filter: blur(20px) saturate(1.08) !important;\n}\n\nhtml.codedrobe-codex-skin :is(pre, code, [data-language]) {\n background-color: color-mix(in srgb, var(--codextheme-surface) 97%, black 3%) !important;\n}\n\nhtml.codedrobe-codex-skin :is(button, a, input, textarea, [tabindex]):focus-visible {\n outline: 2px solid var(--codextheme-accent) !important;\n outline-offset: 2px !important;\n}\n\nhtml.codedrobe-codex-skin .dream-home {\n position: relative;\n isolation: isolate;\n background: transparent !important;\n}\n\nhtml.codedrobe-codex-skin .dream-home::after {\n content: \"\";\n position: absolute;\n inset: 22px;\n z-index: -1;\n border: 1px solid var(--codextheme-line);\n border-radius: 28px;\n pointer-events: none;\n box-shadow: inset 0 0 80px rgba(0, 0, 0, .18);\n}\n\n#codedrobe-codex-skin-chrome {\n pointer-events: none;\n color: var(--color-token-text-primary, #f5f3ff);\n}\n\n#codedrobe-codex-skin-chrome .dream-brand,\n#codedrobe-codex-skin-chrome .dream-signature {\n color: var(--codextheme-accent);\n text-shadow: 0 2px 18px rgba(0, 0, 0, .75);\n}\n\n#codedrobe-codex-skin-chrome .dream-polaroid,\n#codedrobe-codex-skin-chrome .dream-ribbon,\n#codedrobe-codex-skin-chrome .dream-sparkles {\n display: none !important;\n}\n\n@media (prefers-reduced-motion: reduce) {\n html.codedrobe-codex-skin *,\n html.codedrobe-codex-skin *::before,\n html.codedrobe-codex-skin *::after {\n animation-duration: .001ms !important;\n animation-iteration-count: 1 !important;\n scroll-behavior: auto !important;\n transition-duration: .001ms !important;\n }\n}\n",
21
+ "css": ":root.codextheme-codex-skin {\n color-scheme: dark !important;\n --codextheme-accent: var(--color-token-primary, #9b7bff);\n --codextheme-surface: var(--color-token-bg-primary, #10111a);\n --codextheme-panel: color-mix(in srgb, var(--codextheme-surface) 94%, white 6%);\n --codextheme-panel-soft: color-mix(in srgb, var(--codextheme-surface) 88%, transparent);\n --codextheme-line: color-mix(in srgb, var(--codextheme-accent) 32%, transparent);\n}\n\nhtml.codextheme-codex-skin body {\n background: #07080d !important;\n color: var(--color-token-text-primary, #f5f3ff) !important;\n}\n\nhtml.codextheme-codex-skin body::before {\n content: \"\";\n position: fixed;\n inset: 0;\n z-index: 0;\n pointer-events: none;\n background-image:\n linear-gradient(90deg, rgba(5, 6, 10, .68) 0%, rgba(5, 6, 10, .28) 46%, rgba(5, 6, 10, .08) 100%),\n var(--codextheme-image-session-bg);\n background-position: center;\n background-size: cover;\n filter: saturate(.92) contrast(1.04);\n}\n\nhtml.codextheme-codex-skin body:has(.dream-home)::before {\n background-image:\n linear-gradient(90deg, color-mix(in srgb, var(--codextheme-surface) 94%, transparent), transparent 68%),\n var(--codextheme-image-hero);\n}\n\nhtml.codextheme-codex-skin body > * {\n position: relative;\n z-index: 1;\n}\n\nhtml.codextheme-codex-skin aside.app-shell-left-panel {\n background: color-mix(in srgb, var(--codextheme-surface) 82%, transparent) !important;\n border-color: var(--codextheme-line) !important;\n box-shadow: 18px 0 42px rgba(0, 0, 0, .25) !important;\n backdrop-filter: blur(18px) saturate(1.08) !important;\n}\n\nhtml.codextheme-codex-skin main.main-surface {\n background: color-mix(in srgb, var(--codextheme-surface) 38%, transparent) !important;\n border-color: var(--codextheme-line) !important;\n box-shadow: inset 0 1px rgba(255, 255, 255, .035), -12px 0 40px rgba(0, 0, 0, .18) !important;\n backdrop-filter: blur(14px) saturate(1.03) !important;\n}\n\nhtml.codextheme-codex-skin main.main-surface > header.app-header-tint {\n background: color-mix(in srgb, var(--codextheme-panel) 62%, transparent) !important;\n border-bottom-color: var(--codextheme-line) !important;\n backdrop-filter: blur(18px) !important;\n}\n\nhtml.codextheme-codex-skin .composer-surface-chrome {\n background: var(--codextheme-panel) !important;\n border: 1px solid var(--codextheme-line) !important;\n box-shadow: 0 18px 50px rgba(0, 0, 0, .28), inset 0 1px rgba(255, 255, 255, .05) !important;\n backdrop-filter: blur(20px) saturate(1.08) !important;\n}\n\nhtml.codextheme-codex-skin :is(pre, code, [data-language]) {\n background-color: color-mix(in srgb, var(--codextheme-surface) 97%, black 3%) !important;\n}\n\nhtml.codextheme-codex-skin :is(button, a, input, textarea, [tabindex]):focus-visible {\n outline: 2px solid var(--codextheme-accent) !important;\n outline-offset: 2px !important;\n}\n\nhtml.codextheme-codex-skin .dream-home {\n position: relative;\n isolation: isolate;\n background: transparent !important;\n}\n\nhtml.codextheme-codex-skin .dream-home::after {\n content: \"\";\n position: absolute;\n inset: 22px;\n z-index: -1;\n border: 1px solid var(--codextheme-line);\n border-radius: 28px;\n pointer-events: none;\n box-shadow: inset 0 0 80px rgba(0, 0, 0, .18);\n}\n\n#codextheme-codex-skin-chrome {\n pointer-events: none;\n color: var(--color-token-text-primary, #f5f3ff);\n}\n\n#codextheme-codex-skin-chrome .dream-brand,\n#codextheme-codex-skin-chrome .dream-signature {\n color: var(--codextheme-accent);\n text-shadow: 0 2px 18px rgba(0, 0, 0, .75);\n}\n\n#codextheme-codex-skin-chrome .dream-polaroid,\n#codextheme-codex-skin-chrome .dream-ribbon,\n#codextheme-codex-skin-chrome .dream-sparkles {\n display: none !important;\n}\n\n@media (prefers-reduced-motion: reduce) {\n html.codextheme-codex-skin *,\n html.codextheme-codex-skin *::before,\n html.codextheme-codex-skin *::after {\n animation-duration: .001ms !important;\n animation-iteration-count: 1 !important;\n scroll-behavior: auto !important;\n transition-duration: .001ms !important;\n }\n}\n",
22
22
  "options": {
23
23
  "rendererProfile": "codex-theme-v1",
24
24
  "baseTheme": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "format": "codedrobe-theme",
2
+ "format": "codextheme-theme",
3
3
  "schemaVersion": 1,
4
4
  "exportedAt": "2026-07-18T00:00:00.000Z",
5
5
  "theme": {
@@ -18,7 +18,7 @@
18
18
  },
19
19
  "targets": {
20
20
  "codex": {
21
- "css": ":root.codedrobe-codex-skin {\n color-scheme: dark !important;\n --codextheme-accent: var(--color-token-primary, #9b7bff);\n --codextheme-surface: var(--color-token-bg-primary, #10111a);\n --codextheme-panel: color-mix(in srgb, var(--codextheme-surface) 94%, white 6%);\n --codextheme-panel-soft: color-mix(in srgb, var(--codextheme-surface) 88%, transparent);\n --codextheme-line: color-mix(in srgb, var(--codextheme-accent) 32%, transparent);\n}\n\nhtml.codedrobe-codex-skin body {\n background: #07080d !important;\n color: var(--color-token-text-primary, #f5f3ff) !important;\n}\n\nhtml.codedrobe-codex-skin body::before {\n content: \"\";\n position: fixed;\n inset: 0;\n z-index: 0;\n pointer-events: none;\n background-image:\n linear-gradient(110deg, rgba(5, 6, 10, .38), rgba(5, 6, 10, .72)),\n var(--codedrobe-image-session-bg);\n background-position: center;\n background-size: cover;\n filter: saturate(.92) contrast(1.04);\n}\n\nhtml.codedrobe-codex-skin body > * {\n position: relative;\n z-index: 1;\n}\n\nhtml.codedrobe-codex-skin aside.app-shell-left-panel {\n background: color-mix(in srgb, var(--codextheme-surface) 96%, transparent) !important;\n border-color: var(--codextheme-line) !important;\n box-shadow: 18px 0 42px rgba(0, 0, 0, .25) !important;\n backdrop-filter: blur(18px) saturate(1.08) !important;\n}\n\nhtml.codedrobe-codex-skin main.main-surface {\n background: color-mix(in srgb, var(--codextheme-surface) 90%, transparent) !important;\n border-color: var(--codextheme-line) !important;\n box-shadow: inset 0 1px rgba(255, 255, 255, .035), -12px 0 40px rgba(0, 0, 0, .18) !important;\n backdrop-filter: blur(14px) saturate(1.03) !important;\n}\n\nhtml.codedrobe-codex-skin main.main-surface > header.app-header-tint {\n background: color-mix(in srgb, var(--codextheme-panel) 96%, transparent) !important;\n border-bottom-color: var(--codextheme-line) !important;\n backdrop-filter: blur(18px) !important;\n}\n\nhtml.codedrobe-codex-skin .composer-surface-chrome {\n background: var(--codextheme-panel) !important;\n border: 1px solid var(--codextheme-line) !important;\n box-shadow: 0 18px 50px rgba(0, 0, 0, .28), inset 0 1px rgba(255, 255, 255, .05) !important;\n backdrop-filter: blur(20px) saturate(1.08) !important;\n}\n\nhtml.codedrobe-codex-skin :is(pre, code, [data-language]) {\n background-color: color-mix(in srgb, var(--codextheme-surface) 97%, black 3%) !important;\n}\n\nhtml.codedrobe-codex-skin :is(button, a, input, textarea, [tabindex]):focus-visible {\n outline: 2px solid var(--codextheme-accent) !important;\n outline-offset: 2px !important;\n}\n\nhtml.codedrobe-codex-skin .dream-home {\n position: relative;\n isolation: isolate;\n background:\n linear-gradient(90deg, color-mix(in srgb, var(--codextheme-surface) 94%, transparent), transparent 68%),\n var(--codedrobe-image-hero) center / cover no-repeat !important;\n}\n\nhtml.codedrobe-codex-skin .dream-home::after {\n content: \"\";\n position: absolute;\n inset: 22px;\n z-index: -1;\n border: 1px solid var(--codextheme-line);\n border-radius: 28px;\n pointer-events: none;\n box-shadow: inset 0 0 80px rgba(0, 0, 0, .18);\n}\n\n#codedrobe-codex-skin-chrome {\n pointer-events: none;\n color: var(--color-token-text-primary, #f5f3ff);\n}\n\n#codedrobe-codex-skin-chrome .dream-brand,\n#codedrobe-codex-skin-chrome .dream-signature {\n color: var(--codextheme-accent);\n text-shadow: 0 2px 18px rgba(0, 0, 0, .75);\n}\n\n#codedrobe-codex-skin-chrome .dream-polaroid,\n#codedrobe-codex-skin-chrome .dream-ribbon,\n#codedrobe-codex-skin-chrome .dream-sparkles {\n display: none !important;\n}\n\n@media (prefers-reduced-motion: reduce) {\n html.codedrobe-codex-skin *,\n html.codedrobe-codex-skin *::before,\n html.codedrobe-codex-skin *::after {\n animation-duration: .001ms !important;\n animation-iteration-count: 1 !important;\n scroll-behavior: auto !important;\n transition-duration: .001ms !important;\n }\n}\n",
21
+ "css": ":root.codextheme-codex-skin {\n color-scheme: dark !important;\n --codextheme-accent: var(--color-token-primary, #9b7bff);\n --codextheme-surface: var(--color-token-bg-primary, #10111a);\n --codextheme-panel: color-mix(in srgb, var(--codextheme-surface) 94%, white 6%);\n --codextheme-panel-soft: color-mix(in srgb, var(--codextheme-surface) 88%, transparent);\n --codextheme-line: color-mix(in srgb, var(--codextheme-accent) 32%, transparent);\n}\n\nhtml.codextheme-codex-skin body {\n background: #07080d !important;\n color: var(--color-token-text-primary, #f5f3ff) !important;\n}\n\nhtml.codextheme-codex-skin body::before {\n content: \"\";\n position: fixed;\n inset: 0;\n z-index: 0;\n pointer-events: none;\n background-image:\n linear-gradient(90deg, rgba(5, 6, 10, .68) 0%, rgba(5, 6, 10, .28) 46%, rgba(5, 6, 10, .08) 100%),\n var(--codextheme-image-session-bg);\n background-position: center;\n background-size: cover;\n filter: saturate(.92) contrast(1.04);\n}\n\nhtml.codextheme-codex-skin body:has(.dream-home)::before {\n background-image:\n linear-gradient(90deg, color-mix(in srgb, var(--codextheme-surface) 94%, transparent), transparent 68%),\n var(--codextheme-image-hero);\n}\n\nhtml.codextheme-codex-skin body > * {\n position: relative;\n z-index: 1;\n}\n\nhtml.codextheme-codex-skin aside.app-shell-left-panel {\n background: color-mix(in srgb, var(--codextheme-surface) 82%, transparent) !important;\n border-color: var(--codextheme-line) !important;\n box-shadow: 18px 0 42px rgba(0, 0, 0, .25) !important;\n backdrop-filter: blur(18px) saturate(1.08) !important;\n}\n\nhtml.codextheme-codex-skin main.main-surface {\n background: color-mix(in srgb, var(--codextheme-surface) 38%, transparent) !important;\n border-color: var(--codextheme-line) !important;\n box-shadow: inset 0 1px rgba(255, 255, 255, .035), -12px 0 40px rgba(0, 0, 0, .18) !important;\n backdrop-filter: blur(14px) saturate(1.03) !important;\n}\n\nhtml.codextheme-codex-skin main.main-surface > header.app-header-tint {\n background: color-mix(in srgb, var(--codextheme-panel) 62%, transparent) !important;\n border-bottom-color: var(--codextheme-line) !important;\n backdrop-filter: blur(18px) !important;\n}\n\nhtml.codextheme-codex-skin .composer-surface-chrome {\n background: var(--codextheme-panel) !important;\n border: 1px solid var(--codextheme-line) !important;\n box-shadow: 0 18px 50px rgba(0, 0, 0, .28), inset 0 1px rgba(255, 255, 255, .05) !important;\n backdrop-filter: blur(20px) saturate(1.08) !important;\n}\n\nhtml.codextheme-codex-skin :is(pre, code, [data-language]) {\n background-color: color-mix(in srgb, var(--codextheme-surface) 97%, black 3%) !important;\n}\n\nhtml.codextheme-codex-skin :is(button, a, input, textarea, [tabindex]):focus-visible {\n outline: 2px solid var(--codextheme-accent) !important;\n outline-offset: 2px !important;\n}\n\nhtml.codextheme-codex-skin .dream-home {\n position: relative;\n isolation: isolate;\n background: transparent !important;\n}\n\nhtml.codextheme-codex-skin .dream-home::after {\n content: \"\";\n position: absolute;\n inset: 22px;\n z-index: -1;\n border: 1px solid var(--codextheme-line);\n border-radius: 28px;\n pointer-events: none;\n box-shadow: inset 0 0 80px rgba(0, 0, 0, .18);\n}\n\n#codextheme-codex-skin-chrome {\n pointer-events: none;\n color: var(--color-token-text-primary, #f5f3ff);\n}\n\n#codextheme-codex-skin-chrome .dream-brand,\n#codextheme-codex-skin-chrome .dream-signature {\n color: var(--codextheme-accent);\n text-shadow: 0 2px 18px rgba(0, 0, 0, .75);\n}\n\n#codextheme-codex-skin-chrome .dream-polaroid,\n#codextheme-codex-skin-chrome .dream-ribbon,\n#codextheme-codex-skin-chrome .dream-sparkles {\n display: none !important;\n}\n\n@media (prefers-reduced-motion: reduce) {\n html.codextheme-codex-skin *,\n html.codextheme-codex-skin *::before,\n html.codextheme-codex-skin *::after {\n animation-duration: .001ms !important;\n animation-iteration-count: 1 !important;\n scroll-behavior: auto !important;\n transition-duration: .001ms !important;\n }\n}\n",
22
22
  "options": {
23
23
  "rendererProfile": "codex-theme-v1",
24
24
  "baseTheme": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "format": "codedrobe-theme",
2
+ "format": "codextheme-theme",
3
3
  "schemaVersion": 1,
4
4
  "exportedAt": "2026-07-18T00:00:00.000Z",
5
5
  "theme": {
@@ -18,7 +18,7 @@
18
18
  },
19
19
  "targets": {
20
20
  "codex": {
21
- "css": ":root.codedrobe-codex-skin {\n color-scheme: dark !important;\n --codextheme-accent: var(--color-token-primary, #9b7bff);\n --codextheme-surface: var(--color-token-bg-primary, #10111a);\n --codextheme-panel: color-mix(in srgb, var(--codextheme-surface) 94%, white 6%);\n --codextheme-panel-soft: color-mix(in srgb, var(--codextheme-surface) 88%, transparent);\n --codextheme-line: color-mix(in srgb, var(--codextheme-accent) 32%, transparent);\n}\n\nhtml.codedrobe-codex-skin body {\n background: #07080d !important;\n color: var(--color-token-text-primary, #f5f3ff) !important;\n}\n\nhtml.codedrobe-codex-skin body::before {\n content: \"\";\n position: fixed;\n inset: 0;\n z-index: 0;\n pointer-events: none;\n background-image:\n linear-gradient(90deg, rgba(5, 6, 10, .68) 0%, rgba(5, 6, 10, .28) 46%, rgba(5, 6, 10, .08) 100%),\n var(--codedrobe-image-session-bg);\n background-position: center;\n background-size: cover;\n filter: saturate(.92) contrast(1.04);\n}\n\nhtml.codedrobe-codex-skin body:has(.dream-home)::before {\n background-image:\n linear-gradient(90deg, color-mix(in srgb, var(--codextheme-surface) 94%, transparent), transparent 68%),\n var(--codedrobe-image-hero);\n}\n\nhtml.codedrobe-codex-skin body > * {\n position: relative;\n z-index: 1;\n}\n\nhtml.codedrobe-codex-skin aside.app-shell-left-panel {\n background: color-mix(in srgb, var(--codextheme-surface) 82%, transparent) !important;\n border-color: var(--codextheme-line) !important;\n box-shadow: 18px 0 42px rgba(0, 0, 0, .25) !important;\n backdrop-filter: blur(18px) saturate(1.08) !important;\n}\n\nhtml.codedrobe-codex-skin main.main-surface {\n background: color-mix(in srgb, var(--codextheme-surface) 38%, transparent) !important;\n border-color: var(--codextheme-line) !important;\n box-shadow: inset 0 1px rgba(255, 255, 255, .035), -12px 0 40px rgba(0, 0, 0, .18) !important;\n backdrop-filter: blur(14px) saturate(1.03) !important;\n}\n\nhtml.codedrobe-codex-skin main.main-surface > header.app-header-tint {\n background: color-mix(in srgb, var(--codextheme-panel) 62%, transparent) !important;\n border-bottom-color: var(--codextheme-line) !important;\n backdrop-filter: blur(18px) !important;\n}\n\nhtml.codedrobe-codex-skin .composer-surface-chrome {\n background: var(--codextheme-panel) !important;\n border: 1px solid var(--codextheme-line) !important;\n box-shadow: 0 18px 50px rgba(0, 0, 0, .28), inset 0 1px rgba(255, 255, 255, .05) !important;\n backdrop-filter: blur(20px) saturate(1.08) !important;\n}\n\nhtml.codedrobe-codex-skin :is(pre, code, [data-language]) {\n background-color: color-mix(in srgb, var(--codextheme-surface) 97%, black 3%) !important;\n}\n\nhtml.codedrobe-codex-skin :is(button, a, input, textarea, [tabindex]):focus-visible {\n outline: 2px solid var(--codextheme-accent) !important;\n outline-offset: 2px !important;\n}\n\nhtml.codedrobe-codex-skin .dream-home {\n position: relative;\n isolation: isolate;\n background: transparent !important;\n}\n\nhtml.codedrobe-codex-skin .dream-home::after {\n content: \"\";\n position: absolute;\n inset: 22px;\n z-index: -1;\n border: 1px solid var(--codextheme-line);\n border-radius: 28px;\n pointer-events: none;\n box-shadow: inset 0 0 80px rgba(0, 0, 0, .18);\n}\n\n#codedrobe-codex-skin-chrome {\n pointer-events: none;\n color: var(--color-token-text-primary, #f5f3ff);\n}\n\n#codedrobe-codex-skin-chrome .dream-brand,\n#codedrobe-codex-skin-chrome .dream-signature {\n color: var(--codextheme-accent);\n text-shadow: 0 2px 18px rgba(0, 0, 0, .75);\n}\n\n#codedrobe-codex-skin-chrome .dream-polaroid,\n#codedrobe-codex-skin-chrome .dream-ribbon,\n#codedrobe-codex-skin-chrome .dream-sparkles {\n display: none !important;\n}\n\n@media (prefers-reduced-motion: reduce) {\n html.codedrobe-codex-skin *,\n html.codedrobe-codex-skin *::before,\n html.codedrobe-codex-skin *::after {\n animation-duration: .001ms !important;\n animation-iteration-count: 1 !important;\n scroll-behavior: auto !important;\n transition-duration: .001ms !important;\n }\n}\n",
21
+ "css": ":root.codextheme-codex-skin {\n color-scheme: dark !important;\n --codextheme-accent: var(--color-token-primary, #9b7bff);\n --codextheme-surface: var(--color-token-bg-primary, #10111a);\n --codextheme-panel: color-mix(in srgb, var(--codextheme-surface) 94%, white 6%);\n --codextheme-panel-soft: color-mix(in srgb, var(--codextheme-surface) 88%, transparent);\n --codextheme-line: color-mix(in srgb, var(--codextheme-accent) 32%, transparent);\n}\n\nhtml.codextheme-codex-skin body {\n background: #07080d !important;\n color: var(--color-token-text-primary, #f5f3ff) !important;\n}\n\nhtml.codextheme-codex-skin body::before {\n content: \"\";\n position: fixed;\n inset: 0;\n z-index: 0;\n pointer-events: none;\n background-image:\n linear-gradient(90deg, rgba(5, 6, 10, .68) 0%, rgba(5, 6, 10, .28) 46%, rgba(5, 6, 10, .08) 100%),\n var(--codextheme-image-session-bg);\n background-position: center;\n background-size: cover;\n filter: saturate(.92) contrast(1.04);\n}\n\nhtml.codextheme-codex-skin body:has(.dream-home)::before {\n background-image:\n linear-gradient(90deg, color-mix(in srgb, var(--codextheme-surface) 94%, transparent), transparent 68%),\n var(--codextheme-image-hero);\n}\n\nhtml.codextheme-codex-skin body > * {\n position: relative;\n z-index: 1;\n}\n\nhtml.codextheme-codex-skin aside.app-shell-left-panel {\n background: color-mix(in srgb, var(--codextheme-surface) 82%, transparent) !important;\n border-color: var(--codextheme-line) !important;\n box-shadow: 18px 0 42px rgba(0, 0, 0, .25) !important;\n backdrop-filter: blur(18px) saturate(1.08) !important;\n}\n\nhtml.codextheme-codex-skin main.main-surface {\n background: color-mix(in srgb, var(--codextheme-surface) 38%, transparent) !important;\n border-color: var(--codextheme-line) !important;\n box-shadow: inset 0 1px rgba(255, 255, 255, .035), -12px 0 40px rgba(0, 0, 0, .18) !important;\n backdrop-filter: blur(14px) saturate(1.03) !important;\n}\n\nhtml.codextheme-codex-skin main.main-surface > header.app-header-tint {\n background: color-mix(in srgb, var(--codextheme-panel) 62%, transparent) !important;\n border-bottom-color: var(--codextheme-line) !important;\n backdrop-filter: blur(18px) !important;\n}\n\nhtml.codextheme-codex-skin .composer-surface-chrome {\n background: var(--codextheme-panel) !important;\n border: 1px solid var(--codextheme-line) !important;\n box-shadow: 0 18px 50px rgba(0, 0, 0, .28), inset 0 1px rgba(255, 255, 255, .05) !important;\n backdrop-filter: blur(20px) saturate(1.08) !important;\n}\n\nhtml.codextheme-codex-skin :is(pre, code, [data-language]) {\n background-color: color-mix(in srgb, var(--codextheme-surface) 97%, black 3%) !important;\n}\n\nhtml.codextheme-codex-skin :is(button, a, input, textarea, [tabindex]):focus-visible {\n outline: 2px solid var(--codextheme-accent) !important;\n outline-offset: 2px !important;\n}\n\nhtml.codextheme-codex-skin .dream-home {\n position: relative;\n isolation: isolate;\n background: transparent !important;\n}\n\nhtml.codextheme-codex-skin .dream-home::after {\n content: \"\";\n position: absolute;\n inset: 22px;\n z-index: -1;\n border: 1px solid var(--codextheme-line);\n border-radius: 28px;\n pointer-events: none;\n box-shadow: inset 0 0 80px rgba(0, 0, 0, .18);\n}\n\n#codextheme-codex-skin-chrome {\n pointer-events: none;\n color: var(--color-token-text-primary, #f5f3ff);\n}\n\n#codextheme-codex-skin-chrome .dream-brand,\n#codextheme-codex-skin-chrome .dream-signature {\n color: var(--codextheme-accent);\n text-shadow: 0 2px 18px rgba(0, 0, 0, .75);\n}\n\n#codextheme-codex-skin-chrome .dream-polaroid,\n#codextheme-codex-skin-chrome .dream-ribbon,\n#codextheme-codex-skin-chrome .dream-sparkles {\n display: none !important;\n}\n\n@media (prefers-reduced-motion: reduce) {\n html.codextheme-codex-skin *,\n html.codextheme-codex-skin *::before,\n html.codextheme-codex-skin *::after {\n animation-duration: .001ms !important;\n animation-iteration-count: 1 !important;\n scroll-behavior: auto !important;\n transition-duration: .001ms !important;\n }\n}\n",
22
22
  "options": {
23
23
  "rendererProfile": "codex-theme-v1",
24
24
  "baseTheme": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "format": "codedrobe-theme",
2
+ "format": "codextheme-theme",
3
3
  "schemaVersion": 1,
4
4
  "exportedAt": "2026-07-18T00:00:00.000Z",
5
5
  "theme": {
@@ -18,7 +18,7 @@
18
18
  },
19
19
  "targets": {
20
20
  "codex": {
21
- "css": ":root.codedrobe-codex-skin {\n color-scheme: dark !important;\n --codextheme-accent: var(--color-token-primary, #9b7bff);\n --codextheme-surface: var(--color-token-bg-primary, #10111a);\n --codextheme-panel: color-mix(in srgb, var(--codextheme-surface) 94%, white 6%);\n --codextheme-panel-soft: color-mix(in srgb, var(--codextheme-surface) 88%, transparent);\n --codextheme-line: color-mix(in srgb, var(--codextheme-accent) 32%, transparent);\n}\n\nhtml.codedrobe-codex-skin body {\n background: #07080d !important;\n color: var(--color-token-text-primary, #f5f3ff) !important;\n}\n\nhtml.codedrobe-codex-skin body::before {\n content: \"\";\n position: fixed;\n inset: 0;\n z-index: 0;\n pointer-events: none;\n background-image:\n linear-gradient(110deg, rgba(5, 6, 10, .38), rgba(5, 6, 10, .72)),\n var(--codedrobe-image-session-bg);\n background-position: center;\n background-size: cover;\n filter: saturate(.92) contrast(1.04);\n}\n\nhtml.codedrobe-codex-skin body > * {\n position: relative;\n z-index: 1;\n}\n\nhtml.codedrobe-codex-skin aside.app-shell-left-panel {\n background: color-mix(in srgb, var(--codextheme-surface) 96%, transparent) !important;\n border-color: var(--codextheme-line) !important;\n box-shadow: 18px 0 42px rgba(0, 0, 0, .25) !important;\n backdrop-filter: blur(18px) saturate(1.08) !important;\n}\n\nhtml.codedrobe-codex-skin main.main-surface {\n background: color-mix(in srgb, var(--codextheme-surface) 90%, transparent) !important;\n border-color: var(--codextheme-line) !important;\n box-shadow: inset 0 1px rgba(255, 255, 255, .035), -12px 0 40px rgba(0, 0, 0, .18) !important;\n backdrop-filter: blur(14px) saturate(1.03) !important;\n}\n\nhtml.codedrobe-codex-skin main.main-surface > header.app-header-tint {\n background: color-mix(in srgb, var(--codextheme-panel) 96%, transparent) !important;\n border-bottom-color: var(--codextheme-line) !important;\n backdrop-filter: blur(18px) !important;\n}\n\nhtml.codedrobe-codex-skin .composer-surface-chrome {\n background: var(--codextheme-panel) !important;\n border: 1px solid var(--codextheme-line) !important;\n box-shadow: 0 18px 50px rgba(0, 0, 0, .28), inset 0 1px rgba(255, 255, 255, .05) !important;\n backdrop-filter: blur(20px) saturate(1.08) !important;\n}\n\nhtml.codedrobe-codex-skin :is(pre, code, [data-language]) {\n background-color: color-mix(in srgb, var(--codextheme-surface) 97%, black 3%) !important;\n}\n\nhtml.codedrobe-codex-skin :is(button, a, input, textarea, [tabindex]):focus-visible {\n outline: 2px solid var(--codextheme-accent) !important;\n outline-offset: 2px !important;\n}\n\nhtml.codedrobe-codex-skin .dream-home {\n position: relative;\n isolation: isolate;\n background:\n linear-gradient(90deg, color-mix(in srgb, var(--codextheme-surface) 94%, transparent), transparent 68%),\n var(--codedrobe-image-hero) center / cover no-repeat !important;\n}\n\nhtml.codedrobe-codex-skin .dream-home::after {\n content: \"\";\n position: absolute;\n inset: 22px;\n z-index: -1;\n border: 1px solid var(--codextheme-line);\n border-radius: 28px;\n pointer-events: none;\n box-shadow: inset 0 0 80px rgba(0, 0, 0, .18);\n}\n\n#codedrobe-codex-skin-chrome {\n pointer-events: none;\n color: var(--color-token-text-primary, #f5f3ff);\n}\n\n#codedrobe-codex-skin-chrome .dream-brand,\n#codedrobe-codex-skin-chrome .dream-signature {\n color: var(--codextheme-accent);\n text-shadow: 0 2px 18px rgba(0, 0, 0, .75);\n}\n\n#codedrobe-codex-skin-chrome .dream-polaroid,\n#codedrobe-codex-skin-chrome .dream-ribbon,\n#codedrobe-codex-skin-chrome .dream-sparkles {\n display: none !important;\n}\n\n@media (prefers-reduced-motion: reduce) {\n html.codedrobe-codex-skin *,\n html.codedrobe-codex-skin *::before,\n html.codedrobe-codex-skin *::after {\n animation-duration: .001ms !important;\n animation-iteration-count: 1 !important;\n scroll-behavior: auto !important;\n transition-duration: .001ms !important;\n }\n}\n",
21
+ "css": ":root.codextheme-codex-skin {\n color-scheme: dark !important;\n --codextheme-accent: var(--color-token-primary, #9b7bff);\n --codextheme-surface: var(--color-token-bg-primary, #10111a);\n --codextheme-panel: color-mix(in srgb, var(--codextheme-surface) 94%, white 6%);\n --codextheme-panel-soft: color-mix(in srgb, var(--codextheme-surface) 88%, transparent);\n --codextheme-line: color-mix(in srgb, var(--codextheme-accent) 32%, transparent);\n}\n\nhtml.codextheme-codex-skin body {\n background: #07080d !important;\n color: var(--color-token-text-primary, #f5f3ff) !important;\n}\n\nhtml.codextheme-codex-skin body::before {\n content: \"\";\n position: fixed;\n inset: 0;\n z-index: 0;\n pointer-events: none;\n background-image:\n linear-gradient(90deg, rgba(5, 6, 10, .68) 0%, rgba(5, 6, 10, .28) 46%, rgba(5, 6, 10, .08) 100%),\n var(--codextheme-image-session-bg);\n background-position: center;\n background-size: cover;\n filter: saturate(.92) contrast(1.04);\n}\n\nhtml.codextheme-codex-skin body:has(.dream-home)::before {\n background-image:\n linear-gradient(90deg, color-mix(in srgb, var(--codextheme-surface) 94%, transparent), transparent 68%),\n var(--codextheme-image-hero);\n}\n\nhtml.codextheme-codex-skin body > * {\n position: relative;\n z-index: 1;\n}\n\nhtml.codextheme-codex-skin aside.app-shell-left-panel {\n background: color-mix(in srgb, var(--codextheme-surface) 82%, transparent) !important;\n border-color: var(--codextheme-line) !important;\n box-shadow: 18px 0 42px rgba(0, 0, 0, .25) !important;\n backdrop-filter: blur(18px) saturate(1.08) !important;\n}\n\nhtml.codextheme-codex-skin main.main-surface {\n background: color-mix(in srgb, var(--codextheme-surface) 38%, transparent) !important;\n border-color: var(--codextheme-line) !important;\n box-shadow: inset 0 1px rgba(255, 255, 255, .035), -12px 0 40px rgba(0, 0, 0, .18) !important;\n backdrop-filter: blur(14px) saturate(1.03) !important;\n}\n\nhtml.codextheme-codex-skin main.main-surface > header.app-header-tint {\n background: color-mix(in srgb, var(--codextheme-panel) 62%, transparent) !important;\n border-bottom-color: var(--codextheme-line) !important;\n backdrop-filter: blur(18px) !important;\n}\n\nhtml.codextheme-codex-skin .composer-surface-chrome {\n background: var(--codextheme-panel) !important;\n border: 1px solid var(--codextheme-line) !important;\n box-shadow: 0 18px 50px rgba(0, 0, 0, .28), inset 0 1px rgba(255, 255, 255, .05) !important;\n backdrop-filter: blur(20px) saturate(1.08) !important;\n}\n\nhtml.codextheme-codex-skin :is(pre, code, [data-language]) {\n background-color: color-mix(in srgb, var(--codextheme-surface) 97%, black 3%) !important;\n}\n\nhtml.codextheme-codex-skin :is(button, a, input, textarea, [tabindex]):focus-visible {\n outline: 2px solid var(--codextheme-accent) !important;\n outline-offset: 2px !important;\n}\n\nhtml.codextheme-codex-skin .dream-home {\n position: relative;\n isolation: isolate;\n background: transparent !important;\n}\n\nhtml.codextheme-codex-skin .dream-home::after {\n content: \"\";\n position: absolute;\n inset: 22px;\n z-index: -1;\n border: 1px solid var(--codextheme-line);\n border-radius: 28px;\n pointer-events: none;\n box-shadow: inset 0 0 80px rgba(0, 0, 0, .18);\n}\n\n#codextheme-codex-skin-chrome {\n pointer-events: none;\n color: var(--color-token-text-primary, #f5f3ff);\n}\n\n#codextheme-codex-skin-chrome .dream-brand,\n#codextheme-codex-skin-chrome .dream-signature {\n color: var(--codextheme-accent);\n text-shadow: 0 2px 18px rgba(0, 0, 0, .75);\n}\n\n#codextheme-codex-skin-chrome .dream-polaroid,\n#codextheme-codex-skin-chrome .dream-ribbon,\n#codextheme-codex-skin-chrome .dream-sparkles {\n display: none !important;\n}\n\n@media (prefers-reduced-motion: reduce) {\n html.codextheme-codex-skin *,\n html.codextheme-codex-skin *::before,\n html.codextheme-codex-skin *::after {\n animation-duration: .001ms !important;\n animation-iteration-count: 1 !important;\n scroll-behavior: auto !important;\n transition-duration: .001ms !important;\n }\n}\n",
22
22
  "options": {
23
23
  "rendererProfile": "codex-theme-v1",
24
24
  "baseTheme": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "format": "codedrobe-theme",
2
+ "format": "codextheme-theme",
3
3
  "schemaVersion": 1,
4
4
  "exportedAt": "2026-07-18T00:00:00.000Z",
5
5
  "theme": {
@@ -18,7 +18,7 @@
18
18
  },
19
19
  "targets": {
20
20
  "codex": {
21
- "css": ":root.codedrobe-codex-skin {\n color-scheme: dark !important;\n --codextheme-accent: var(--color-token-primary, #9b7bff);\n --codextheme-surface: var(--color-token-bg-primary, #10111a);\n --codextheme-panel: color-mix(in srgb, var(--codextheme-surface) 94%, white 6%);\n --codextheme-panel-soft: color-mix(in srgb, var(--codextheme-surface) 88%, transparent);\n --codextheme-line: color-mix(in srgb, var(--codextheme-accent) 32%, transparent);\n}\n\nhtml.codedrobe-codex-skin body {\n background: #07080d !important;\n color: var(--color-token-text-primary, #f5f3ff) !important;\n}\n\nhtml.codedrobe-codex-skin body::before {\n content: \"\";\n position: fixed;\n inset: 0;\n z-index: 0;\n pointer-events: none;\n background-image:\n linear-gradient(90deg, rgba(5, 6, 10, .68) 0%, rgba(5, 6, 10, .28) 46%, rgba(5, 6, 10, .08) 100%),\n var(--codedrobe-image-session-bg);\n background-position: center;\n background-size: cover;\n filter: saturate(.92) contrast(1.04);\n}\n\nhtml.codedrobe-codex-skin body:has(.dream-home)::before {\n background-image:\n linear-gradient(90deg, color-mix(in srgb, var(--codextheme-surface) 94%, transparent), transparent 68%),\n var(--codedrobe-image-hero);\n}\n\nhtml.codedrobe-codex-skin body > * {\n position: relative;\n z-index: 1;\n}\n\nhtml.codedrobe-codex-skin aside.app-shell-left-panel {\n background: color-mix(in srgb, var(--codextheme-surface) 82%, transparent) !important;\n border-color: var(--codextheme-line) !important;\n box-shadow: 18px 0 42px rgba(0, 0, 0, .25) !important;\n backdrop-filter: blur(18px) saturate(1.08) !important;\n}\n\nhtml.codedrobe-codex-skin main.main-surface {\n background: color-mix(in srgb, var(--codextheme-surface) 38%, transparent) !important;\n border-color: var(--codextheme-line) !important;\n box-shadow: inset 0 1px rgba(255, 255, 255, .035), -12px 0 40px rgba(0, 0, 0, .18) !important;\n backdrop-filter: blur(14px) saturate(1.03) !important;\n}\n\nhtml.codedrobe-codex-skin main.main-surface > header.app-header-tint {\n background: color-mix(in srgb, var(--codextheme-panel) 62%, transparent) !important;\n border-bottom-color: var(--codextheme-line) !important;\n backdrop-filter: blur(18px) !important;\n}\n\nhtml.codedrobe-codex-skin .composer-surface-chrome {\n background: var(--codextheme-panel) !important;\n border: 1px solid var(--codextheme-line) !important;\n box-shadow: 0 18px 50px rgba(0, 0, 0, .28), inset 0 1px rgba(255, 255, 255, .05) !important;\n backdrop-filter: blur(20px) saturate(1.08) !important;\n}\n\nhtml.codedrobe-codex-skin :is(pre, code, [data-language]) {\n background-color: color-mix(in srgb, var(--codextheme-surface) 97%, black 3%) !important;\n}\n\nhtml.codedrobe-codex-skin :is(button, a, input, textarea, [tabindex]):focus-visible {\n outline: 2px solid var(--codextheme-accent) !important;\n outline-offset: 2px !important;\n}\n\nhtml.codedrobe-codex-skin .dream-home {\n position: relative;\n isolation: isolate;\n background: transparent !important;\n}\n\nhtml.codedrobe-codex-skin .dream-home::after {\n content: \"\";\n position: absolute;\n inset: 22px;\n z-index: -1;\n border: 1px solid var(--codextheme-line);\n border-radius: 28px;\n pointer-events: none;\n box-shadow: inset 0 0 80px rgba(0, 0, 0, .18);\n}\n\n#codedrobe-codex-skin-chrome {\n pointer-events: none;\n color: var(--color-token-text-primary, #f5f3ff);\n}\n\n#codedrobe-codex-skin-chrome .dream-brand,\n#codedrobe-codex-skin-chrome .dream-signature {\n color: var(--codextheme-accent);\n text-shadow: 0 2px 18px rgba(0, 0, 0, .75);\n}\n\n#codedrobe-codex-skin-chrome .dream-polaroid,\n#codedrobe-codex-skin-chrome .dream-ribbon,\n#codedrobe-codex-skin-chrome .dream-sparkles {\n display: none !important;\n}\n\n@media (prefers-reduced-motion: reduce) {\n html.codedrobe-codex-skin *,\n html.codedrobe-codex-skin *::before,\n html.codedrobe-codex-skin *::after {\n animation-duration: .001ms !important;\n animation-iteration-count: 1 !important;\n scroll-behavior: auto !important;\n transition-duration: .001ms !important;\n }\n}\n",
21
+ "css": ":root.codextheme-codex-skin {\n color-scheme: dark !important;\n --codextheme-accent: var(--color-token-primary, #9b7bff);\n --codextheme-surface: var(--color-token-bg-primary, #10111a);\n --codextheme-panel: color-mix(in srgb, var(--codextheme-surface) 94%, white 6%);\n --codextheme-panel-soft: color-mix(in srgb, var(--codextheme-surface) 88%, transparent);\n --codextheme-line: color-mix(in srgb, var(--codextheme-accent) 32%, transparent);\n}\n\nhtml.codextheme-codex-skin body {\n background: #07080d !important;\n color: var(--color-token-text-primary, #f5f3ff) !important;\n}\n\nhtml.codextheme-codex-skin body::before {\n content: \"\";\n position: fixed;\n inset: 0;\n z-index: 0;\n pointer-events: none;\n background-image:\n linear-gradient(90deg, rgba(5, 6, 10, .68) 0%, rgba(5, 6, 10, .28) 46%, rgba(5, 6, 10, .08) 100%),\n var(--codextheme-image-session-bg);\n background-position: center;\n background-size: cover;\n filter: saturate(.92) contrast(1.04);\n}\n\nhtml.codextheme-codex-skin body:has(.dream-home)::before {\n background-image:\n linear-gradient(90deg, color-mix(in srgb, var(--codextheme-surface) 94%, transparent), transparent 68%),\n var(--codextheme-image-hero);\n}\n\nhtml.codextheme-codex-skin body > * {\n position: relative;\n z-index: 1;\n}\n\nhtml.codextheme-codex-skin aside.app-shell-left-panel {\n background: color-mix(in srgb, var(--codextheme-surface) 82%, transparent) !important;\n border-color: var(--codextheme-line) !important;\n box-shadow: 18px 0 42px rgba(0, 0, 0, .25) !important;\n backdrop-filter: blur(18px) saturate(1.08) !important;\n}\n\nhtml.codextheme-codex-skin main.main-surface {\n background: color-mix(in srgb, var(--codextheme-surface) 38%, transparent) !important;\n border-color: var(--codextheme-line) !important;\n box-shadow: inset 0 1px rgba(255, 255, 255, .035), -12px 0 40px rgba(0, 0, 0, .18) !important;\n backdrop-filter: blur(14px) saturate(1.03) !important;\n}\n\nhtml.codextheme-codex-skin main.main-surface > header.app-header-tint {\n background: color-mix(in srgb, var(--codextheme-panel) 62%, transparent) !important;\n border-bottom-color: var(--codextheme-line) !important;\n backdrop-filter: blur(18px) !important;\n}\n\nhtml.codextheme-codex-skin .composer-surface-chrome {\n background: var(--codextheme-panel) !important;\n border: 1px solid var(--codextheme-line) !important;\n box-shadow: 0 18px 50px rgba(0, 0, 0, .28), inset 0 1px rgba(255, 255, 255, .05) !important;\n backdrop-filter: blur(20px) saturate(1.08) !important;\n}\n\nhtml.codextheme-codex-skin :is(pre, code, [data-language]) {\n background-color: color-mix(in srgb, var(--codextheme-surface) 97%, black 3%) !important;\n}\n\nhtml.codextheme-codex-skin :is(button, a, input, textarea, [tabindex]):focus-visible {\n outline: 2px solid var(--codextheme-accent) !important;\n outline-offset: 2px !important;\n}\n\nhtml.codextheme-codex-skin .dream-home {\n position: relative;\n isolation: isolate;\n background: transparent !important;\n}\n\nhtml.codextheme-codex-skin .dream-home::after {\n content: \"\";\n position: absolute;\n inset: 22px;\n z-index: -1;\n border: 1px solid var(--codextheme-line);\n border-radius: 28px;\n pointer-events: none;\n box-shadow: inset 0 0 80px rgba(0, 0, 0, .18);\n}\n\n#codextheme-codex-skin-chrome {\n pointer-events: none;\n color: var(--color-token-text-primary, #f5f3ff);\n}\n\n#codextheme-codex-skin-chrome .dream-brand,\n#codextheme-codex-skin-chrome .dream-signature {\n color: var(--codextheme-accent);\n text-shadow: 0 2px 18px rgba(0, 0, 0, .75);\n}\n\n#codextheme-codex-skin-chrome .dream-polaroid,\n#codextheme-codex-skin-chrome .dream-ribbon,\n#codextheme-codex-skin-chrome .dream-sparkles {\n display: none !important;\n}\n\n@media (prefers-reduced-motion: reduce) {\n html.codextheme-codex-skin *,\n html.codextheme-codex-skin *::before,\n html.codextheme-codex-skin *::after {\n animation-duration: .001ms !important;\n animation-iteration-count: 1 !important;\n scroll-behavior: auto !important;\n transition-duration: .001ms !important;\n }\n}\n",
22
22
  "options": {
23
23
  "rendererProfile": "codex-theme-v1",
24
24
  "baseTheme": {