/*
 * Hand-written site CSS that is NOT part of the compiled Tailwind artifact.
 *
 * output.css is a pre-compiled, minified file whose tail contains an unclosed
 * @keyframes block, which makes browsers discard every rule that comes after
 * it — so custom rules must NEVER be appended to that file. Anything
 * hand-written belongs here; this file is linked after output.css in
 * base.html so it wins the cascade.
 */

/* Wide markdown tables (benchmark logs) are wrapped in .table-scroll by the
   renderer (scripts/utils.py postprocess_html) so they scroll in place on
   small screens instead of stretching the page. */
.table-scroll {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Flex items refuse to shrink below their content's min-content width, so a
   wide table inside .page-container (a flex container) would force the whole
   page wide no matter what wrappers say. Allow children to shrink; the table
   wrapper then scrolls the overflow in place. */
.page-container > * {
    min-width: 0;
}

/* Safety net: nothing may stretch the document horizontally. clip (unlike
   hidden) creates no scroll container, so sticky elements keep working. */
main#main-content {
    overflow-x: clip;
}
