
    /* Material 9.6.23+ lays md-code__content out as a grid, which turns
       every token span of a flat highlight stream into its own grid row;
       our blocks are flat token streams, so force normal flow */
    .md-typeset .sail-source pre > code { display: block !important; }
    .sail-source .autorefs { color: inherit; border-bottom: 1px dotted currentcolor; }
    .sail-source .autorefs:hover { border-bottom-style: solid; }
    .doc-sail-kind { font-size: 0.65em; font-weight: 400; opacity: 0.7; margin-right: 0.4em; }
    /* multi-line hover previews (signature + body) in Material tooltips */
    .md-tooltip__inner { white-space: pre-line; font-family: var(--md-code-font-family, monospace); font-size: 0.6rem; }
    /* IDE-style hover cards (positioned by sail-hover.js) */
    .sail-hovercard-float { position: fixed; z-index: 20; max-width: 42rem; max-height: 22rem; overflow: auto;
      background: var(--md-default-bg-color); color: var(--md-default-fg-color);
      border: 1px solid var(--md-default-fg-color--lightest); border-radius: 0.2rem;
      box-shadow: var(--md-shadow-z2, 0 0.2rem 0.5rem rgba(0,0,0,.2)); padding: 0.5rem 0.7rem; font-size: 0.7rem; }
    .sail-hovercard-float .sail-hovercard-doc { margin-bottom: 0.3rem; }
    /* EIP cards use the page's own typography (md-typeset) and a fixed
       box, applied at creation so every hover is the same size and is
       positioned exactly once */
    .sail-hovercard-float.sail-hovercard-eip { width: min(48rem, 92vw);
      height: min(30rem, 72vh); max-width: none; max-height: none; font-size: 0.8rem; }
    .sail-hovercard-float.sail-hovercard-eip table { display: block; overflow-x: auto; }
    .sail-hovercard-float.sail-hovercard-eip h2 { margin-top: 0; }
    .sail-hovercard-float pre { margin: 0; white-space: pre; overflow-x: auto; }
    /* live EIP cards highlight code client-side (highlight.js); map its
       token classes onto Material's code palette so they match the page */
    .sail-hovercard-eip .hljs-keyword, .sail-hovercard-eip .hljs-literal,
    .sail-hovercard-eip .hljs-built_in { color: var(--md-code-hl-keyword-color); }
    .sail-hovercard-eip .hljs-string, .sail-hovercard-eip .hljs-regexp { color: var(--md-code-hl-string-color); }
    .sail-hovercard-eip .hljs-number { color: var(--md-code-hl-number-color); }
    .sail-hovercard-eip .hljs-comment, .sail-hovercard-eip .hljs-doctag { color: var(--md-code-hl-comment-color); }
    .sail-hovercard-eip .hljs-title, .sail-hovercard-eip .hljs-title.function_,
    .sail-hovercard-eip .hljs-title.class_ { color: var(--md-code-hl-function-color); }
    .sail-hovercard-eip .hljs-type, .sail-hovercard-eip .hljs-symbol,
    .sail-hovercard-eip .hljs-meta { color: var(--md-code-hl-special-color); }
    .sail-hovercard-eip .hljs-attr, .sail-hovercard-eip .hljs-variable,
    .sail-hovercard-eip .hljs-params { color: var(--md-code-hl-variable-color); }
    .sail-hovercard-eip .hljs-operator, .sail-hovercard-eip .hljs-punctuation { color: var(--md-code-hl-operator-color); }
    