/* Per-page opt-in: pages with `body_class: wrap-code` in front-matter
   wrap long inline-code tokens inside tables so the table fits the viewport.
   No other pages are affected. */

   body.wrap-code .md-typeset table:not([class]) td,
   body.wrap-code .md-typeset table:not([class]) th {
     word-break: break-word;
     overflow-wrap: anywhere;
   }
   
   body.wrap-code .md-typeset table:not([class]) code {
     white-space: normal;
     word-break: break-word;
     overflow-wrap: anywhere;
   }
   
   /* If any table cells contain fenced code blocks, wrap those too. */
   body.wrap-code .md-typeset table:not([class]) pre,
   body.wrap-code .md-typeset table:not([class]) pre code {
     white-space: pre-wrap;
     overflow-wrap: anywhere;
     word-break: break-word;
   }
   
   /* Give the four-column reference tables explicit column widths so the
      browser's auto-layout algorithm doesn't over-allocate space to the
      short "Default" column once wrapping is enabled. */
   body.wrap-code .md-typeset table:not([class]) th:nth-child(1),
   body.wrap-code .md-typeset table:not([class]) td:nth-child(1) {
     width: 30%;
   }
   body.wrap-code .md-typeset table:not([class]) th:nth-child(2),
   body.wrap-code .md-typeset table:not([class]) td:nth-child(2) {
     width: 8%;
   }
   body.wrap-code .md-typeset table:not([class]) th:nth-child(3),
   body.wrap-code .md-typeset table:not([class]) td:nth-child(3) {
     width: 25%;
   }
   body.wrap-code .md-typeset table:not([class]) th:nth-child(4),
   body.wrap-code .md-typeset table:not([class]) td:nth-child(4) {
     width: 45%;
   }