// CodeBlock — pretty wrapper for a `
` fragment with an
// optional filename header, language label, and a one-click copy
// button. Three rendering modes, in priority order:
//   1. `html` set     → render pre-highlighted Shiki HTML verbatim.
//                       (The docs app's MDX pipeline pre-renders code
//                       fences at build time and feeds them here.)
//   2. `code` + `language` matching SHIKI_LANGS → lazy-load Shiki and
//                       highlight at runtime via .
//                       Until the WASM lands, the body falls back to
//                       plain escaped code so layout doesn't jump.
//   3. `code` only    → plain 
, no highlighting.
//
// Browser-only behaviour (copy button) is opt-in: when `interactive:
// 'islands'` strips the rest of the JS, the button stays a static
// 
        {html ? (
          
) : code && asShikiLang(language) ? ( ) : (
{code}
)}
) }