@layer lime {
    .virtual-scroll {
        flex: 1;
        overflow-y: scroll;
        display: grid;
        grid-template-columns: 1fr;
    }

    .virtual-scroll>.scroll-body {
        display: grid;
        grid-template-columns: subgrid;
        grid-column: 1 / -1;
        contain: style size;
        /* cannot use other contains, cause it turns the subgrid into grid */
        padding-top: var(--virtual-padding-top);
        padding-bottom: var(--virtual-padding-bottom);
        grid-auto-rows: min-content;
    }
}