/* ========================================================================
   ANALYTIC ENDEAVORS - GUIDE PAGE CODE BLOCKS
   DAX syntax highlighting (AE brand palette)
   Load order: After guide-components.css, before guide-diagrams.css

   Token color scheme:
     Functions  = teal (--teal)        e.g. SUM, CALCULATE, SWITCH
     Strings    = orange (--orange)    e.g. 'Trades' (table refs)
     Text vals  = warm red            e.g. "High", "Bikes" (quoted values)
     Keywords   = blue                 e.g. VAR, RETURN, TRUE, IF
     Comments   = green                e.g. // comment
     Operators  = light gray           e.g. =, &, +, >
     Measures   = teal-green (def)     e.g. Total Revenue =
     Measure refs = purple             e.g. [Total Revenue]
     Variables  = light blue           e.g. Rev (after VAR)
     Column refs = light blue          e.g. [Credits], [Date]
   ======================================================================== */

/* ========== Dark Mode (Default) ========== */

.code-block {
  background: rgba(8,18,32,0.92);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
  font-size: 0.9rem;
  line-height: 1.6;
  overflow-x: auto;
  margin: 0.75rem 0;
  border: 1px solid rgba(61,61,92,0.5);
  color: #e0e0e0;
}

/* Token colors (AE DAX palette) */
.code-block .keyword      { color: #569cd6; }  /* VAR, RETURN, TRUE, IF, YEAR */
.code-block .function     { color: #007a7a; }  /* CALCULATE, SUM, SWITCH, SELECTEDVALUE (dark teal) */
.code-block .string       { color: var(--orange, #FF8C42); }  /* Table refs ('Trades'), string literals */
.code-block .comment      { color: #6a9955; }  /* Comments */
.code-block .operator     { color: #d4d4d4; }  /* =, &, +, > */
.code-block .measure-name { color: #4ec9b0; }  /* Measure definitions (Total Revenue =) */
.code-block .measure-ref  { color: #c586c0; }  /* Measure refs inside formulas [Total Revenue] */
.code-block .var-name     { color: #4a8abf; }  /* Variable names after VAR (darker blue, near keyword) */
.code-block .column-ref   { color: #9cdcfe; }  /* Column refs like [Credits], [Date] */
.code-block .text-value   { color: #d16969; }  /* Quoted text values like "High", "Bikes", "Premium" */
.code-block .boolean      { color: #007a7a; }  /* TRUE(), FALSE(), BLANK() constants (same as functions) */

/* Standalone .var-name (used in variable stepper, not inside .code-block) */
.var-name { color: #4a8abf; }

/* ========== Custom Formula Containers ==========
   Some guide pages use non-.code-block containers for formula displays.
   Extend ALL token colors so they render consistently everywhere. */

.ct-formula .keyword,
.fw-measure-formula .keyword,
.cg-formula .keyword,
.iter-formula .keyword        { color: #569cd6; }

.ct-formula .function,
.fw-measure-formula .function,
.cg-formula .function,
.iter-formula .function       { color: #007a7a; }

.ct-formula .string,
.fw-measure-formula .string,
.cg-formula .string,
.iter-formula .string         { color: var(--orange, #FF8C42); }

.ct-formula .comment,
.fw-measure-formula .comment,
.cg-formula .comment,
.iter-formula .comment        { color: #6a9955; }

.ct-formula .operator,
.fw-measure-formula .operator,
.cg-formula .operator,
.iter-formula .operator       { color: #d4d4d4; }

.ct-formula .measure-name,
.fw-measure-formula .measure-name,
.cg-formula .measure-name,
.iter-formula .measure-name   { color: #4ec9b0; }

.ct-formula .measure-ref,
.fw-measure-formula .measure-ref,
.cg-formula .measure-ref,
.iter-formula .measure-ref    { color: #c586c0; }

.ct-formula .var-name,
.fw-measure-formula .var-name,
.cg-formula .var-name,
.iter-formula .var-name       { color: #4a8abf; }

.ct-formula .column-ref,
.fw-measure-formula .column-ref,
.cg-formula .column-ref,
.iter-formula .column-ref     { color: #9cdcfe; }

.ct-formula .text-value,
.fw-measure-formula .text-value,
.cg-formula .text-value,
.iter-formula .text-value     { color: #d16969; }

.ct-formula .boolean,
.fw-measure-formula .boolean,
.cg-formula .boolean,
.iter-formula .boolean        { color: #007a7a; }

/* ========== Light Mode ========== */

[data-theme="light"] .code-block {
  background: #f4f4f8;
  border-color: #d8d8e4;
  color: #1a1a2e;
}

[data-theme="light"] .code-block .keyword      { color: #0000ff; }
[data-theme="light"] .code-block .function     { color: #007a7a; }
[data-theme="light"] .code-block .string       { color: #b85a00; }
[data-theme="light"] .code-block .comment      { color: #008000; }
[data-theme="light"] .code-block .operator     { color: #1a1a2e; }
[data-theme="light"] .code-block .measure-name { color: #267f99; }
[data-theme="light"] .code-block .measure-ref  { color: #af00db; }
[data-theme="light"] .code-block .var-name     { color: #0070c1; }
[data-theme="light"] .code-block .column-ref   { color: #001080; }
[data-theme="light"] .code-block .text-value   { color: #a31515; }
[data-theme="light"] .code-block .boolean      { color: #007a7a; }

[data-theme="light"] .var-name { color: #0070c1; }

/* Light mode for custom formula containers */
[data-theme="light"] .ct-formula .keyword,
[data-theme="light"] .fw-measure-formula .keyword,
[data-theme="light"] .cg-formula .keyword,
[data-theme="light"] .iter-formula .keyword        { color: #0000ff; }

[data-theme="light"] .ct-formula .function,
[data-theme="light"] .fw-measure-formula .function,
[data-theme="light"] .cg-formula .function,
[data-theme="light"] .iter-formula .function       { color: #007a7a; }

[data-theme="light"] .ct-formula .string,
[data-theme="light"] .fw-measure-formula .string,
[data-theme="light"] .cg-formula .string,
[data-theme="light"] .iter-formula .string         { color: #b85a00; }

[data-theme="light"] .ct-formula .comment,
[data-theme="light"] .fw-measure-formula .comment,
[data-theme="light"] .cg-formula .comment,
[data-theme="light"] .iter-formula .comment        { color: #008000; }

[data-theme="light"] .ct-formula .operator,
[data-theme="light"] .fw-measure-formula .operator,
[data-theme="light"] .cg-formula .operator,
[data-theme="light"] .iter-formula .operator       { color: #1a1a2e; }

[data-theme="light"] .ct-formula .measure-name,
[data-theme="light"] .fw-measure-formula .measure-name,
[data-theme="light"] .cg-formula .measure-name,
[data-theme="light"] .iter-formula .measure-name   { color: #267f99; }

[data-theme="light"] .ct-formula .measure-ref,
[data-theme="light"] .fw-measure-formula .measure-ref,
[data-theme="light"] .cg-formula .measure-ref,
[data-theme="light"] .iter-formula .measure-ref    { color: #af00db; }

[data-theme="light"] .ct-formula .var-name,
[data-theme="light"] .fw-measure-formula .var-name,
[data-theme="light"] .cg-formula .var-name,
[data-theme="light"] .iter-formula .var-name       { color: #0070c1; }

[data-theme="light"] .ct-formula .column-ref,
[data-theme="light"] .fw-measure-formula .column-ref,
[data-theme="light"] .cg-formula .column-ref,
[data-theme="light"] .iter-formula .column-ref     { color: #001080; }

[data-theme="light"] .ct-formula .text-value,
[data-theme="light"] .fw-measure-formula .text-value,
[data-theme="light"] .cg-formula .text-value,
[data-theme="light"] .iter-formula .text-value     { color: #a31515; }

[data-theme="light"] .ct-formula .boolean,
[data-theme="light"] .fw-measure-formula .boolean,
[data-theme="light"] .cg-formula .boolean,
[data-theme="light"] .iter-formula .boolean        { color: #007a7a; }
