/* Keep the complete table model and form controls available while the browser
   skips layout/paint of cell contents outside the viewport (both axes).
   Table cells retain their intrinsic table geometry; do not add size containment.
   https://www.w3.org/TR/css-contain-2/#content-visibility
   Article maintenance keeps its existing bounded row window as well. */
@supports (content-visibility:auto){
 :root body main table.table-viewport-ready>:is(tbody,tfoot)>tr{height:var(--table-viewport-row-height)}
 :root body main table.table-viewport-ready>:is(tbody,tfoot)>tr>:is(th,td){content-visibility:auto}
 /* Hovered cells are already in the viewport: keep containment stable so row
    highlighting does not relayout the whole table. Editors, open menus and
    nested tables still need to let their content leave the cell box. Headers
    retain their existing sticky/diagonal layout and resize handles. */
 :root body main table.table-viewport-ready>:is(tbody,tfoot)>tr>:is(th,td):is(:focus-within,:has(table,details[open],dialog[open],[aria-expanded="true"],[role="listbox"]:not([hidden]))){content-visibility:visible}
}
@media print{
 :root body main table.table-viewport-ready>:is(tbody,tfoot)>tr>:is(th,td){content-visibility:visible}
}
