/* ============================================================================
   theme_monokai.css — Monokai syntax theme for Silicon doc-gen
   To swap themes: create a new theme_*.css with the same variable names
   and update the <link> in config.json.
   ========================================================================== */

/* ── Dark (default) ──────────────────────────────────────────────────────── */
:root {
    --m-bg:     #272822;
    --m-fg:     #f8f8f2;
    --m-pink:   #f92672;
    --m-green:  #a6e22e;
    --m-blue:   #66d9ef;
    --m-yellow: #e6db74;
    --m-gray:   #75715e;
    --m-purple: #ae81ff;
    --m-orange: #fd971f;
    --m-teal:   #a1efe4;

    --badge-struct:    #4e8fce33;
    --badge-struct-fg: #4e8fce;
    --badge-enum:      #a6e22e33;
    --badge-enum-fg:   #a6e22e;
    --badge-proc:      #f9267233;
    --badge-proc-fg:   #f92672;
    --badge-union:     #ae81ff33;
    --badge-union-fg:  #ae81ff;
}

/* ── Syntax tokens ───────────────────────────────────────────────────────── */
.hl-cm  { color: var(--m-gray);   font-style: italic; }   /* comments        */
.hl-str { color: var(--m-yellow);                    }     /* strings         */
.hl-kw  { color: var(--m-pink);   font-weight: 600;  }    /* keywords        */
.hl-ty  { color: var(--m-blue);                      }     /* types           */
.hl-fn  { color: var(--m-green);                     }     /* proc names      */
.hl-bi  { color: var(--m-teal);   font-style: italic;}    /* built-ins       */
.hl-bl  { color: var(--m-purple);                    }     /* true/false/nil  */
.hl-nm  { color: var(--m-purple);                    }     /* numbers         */
.hl-dr  { color: var(--m-orange);                    }     /* directives #    */
.hl-at  { color: var(--m-orange); font-style: italic;}    /* attributes @    */
.hl-op  { color: var(--m-fg);     opacity: 0.55;     }    /* operators       */
.hl-dc  { color: var(--m-pink);   opacity: 0.7;      }    /* ::              */
.hl-as  { color: var(--m-pink);   opacity: 0.7;      }    /* :=              */
.hl-pt  { color: var(--m-pink);   opacity: 0.75;     }    /* ^ pointer       */
.hl-ar  { color: var(--m-teal);   opacity: 0.9;      }    /* -> return type  */
