/* tokens.css (Codex-scoped) — two token sets for the deck editor.
   Deck tokens (slide colours/scale) stay on :root because the editor's JS writes
   them onto <html> at runtime via applyDeckTheme(); their names do NOT collide
   with any Codex token, so :root is safe. Chrome tokens (panel/border/text/...)
   are scoped to .cdx-deck-editor and now ALIAS the shared Codex tokens, so the
   editor chrome rides the one Codex light/dark system (no private palette); the
   aliases cascade DOWN to the editor subtree only. The slide canvas (--paper)
   stays white in both themes. */

:root {
  /* deck / slide tokens (runtime-overwritten on <html> by applyDeckTheme) */
  --teal: #14b8a6; --teal-d: #0d9488; --teal-l: #5eead4;
  --ink: #134e4a; --ink2: #115e59; --paper: #ffffff; --motif: #14b8a6;
  --fontScale: 1;
  --canvas-w: 1280px; --canvas-h: 720px;
}

/* Editor CHROME tokens — thin references to the SHARED Codex tokens
   (backstage/css/theme.css + codex/css/tokens.css), so the editor chrome rides the
   one Codex light/dark system instead of a private palette. The old separate light
   block is gone: the shared tokens already carry their own [data-theme="dark"]
   overrides, so one definition flips both ways. --border and --danger are
   intentionally NOT redefined here — the chrome inherits the shared ones directly (a
   local `--border: var(--border)` would be a self-referential cycle). The slide
   CONTENT palette (:root --teal/--ink/--paper/... above) stays private and is
   runtime-driven by applyDeckTheme; the canvas (--paper) stays white in both themes. */
.cdx-deck-editor {
  --bg: var(--background);
  --panel: var(--surface);
  --panel-2: var(--background);
  --btn-bg: var(--surface);
  --btn-bd: var(--border);
  --btn-hover: var(--cdx-card-hover-bg);
  --text: var(--text-primary);
  --muted: var(--text-secondary);
  --muted-2: var(--text-secondary);
  --pop-bd: var(--border);
  --stage-grad-1: var(--surface);
  --stage-grad-2: var(--background);
  --overlay-strong: var(--cdx-backdrop);
}
