/* Site style overrides layered on the Material theme.
 *
 * Loaded via `extra_css` in mkdocs.yml, after the theme's own sheets. The theme
 * already holds table links to whole tokens — `table:not([class]) a
 * { word-break: normal }` — so these rules borrow that selector shape and carry
 * the same treatment to code.
 */

/* Reference tables set a column of identifiers beside a column of prose. The
 * theme's `word-break: break-word` on inline code is the legacy alias for
 * `overflow-wrap: anywhere` — the one wrap value that feeds min-content
 * sizing. An identifier column therefore reports a min-content of one
 * character, and the table algorithm hands it the 5rem `th` floor, breaking
 * KEYSTONE_DOCKER_COMPOSE_PROJECT across three lines.
 *
 * `normal` puts min-content back at the longest token. The inherited
 * `overflow-wrap: break-word` does not feed sizing, so a token still breaks
 * where it cannot fit a line of its own.
 *
 * Tables only: prose has no column to squeeze, and there the theme's aggressive
 * break is what keeps a long path inside the measure.
 */
.md-typeset table:not([class]) code {
  word-break: normal;
}

/* A hyphen is a wrap opportunity too, so a hyphenated key reports only its
 * longest segment as min-content and the column settles there — `xmp-metadata`
 * split after `xmp-`. The leading column names the thing, so hold it whole; no
 * key carries a space. A viewport too narrow for the whole key scrolls the
 * table in the theme's scrollwrap instead.
 */
.md-typeset table:not([class]) td:first-child code {
  white-space: nowrap;
}
