.console-block {
    --tab-gap: 6px;
    --tab-gap-forced-colors: calc(2 * var(--tab-gap));
    --tab-padding-block: 4px;
    --tab-padding-inline: 8px;
    --tab-row-end-margin: 0; /* Inset for panel border radius if needed. */

    --tab-label-font: inherit;
    --tab-label-size: inherit;
    --tab-label-color: color-mix(
        in oklch,
        currentColor 70%,
        var(--tab-background-color)
    );
    --tab-background-color: transparent;
    --tab-border-radius: 8px;
    --tab-border-width: 1px;
    --tab-border-color: transparent;

    --tab-active-label-color: currentColor;
    --tab-active-background-color: transparent;
    --tab-active-border-color: color-mix(
        in oklch,
        currentColor 20%,
        var(--tab-active-background-color)
    );
    --tab-active-border-width: 2px;
    --tab-active-highlight-width: 4px;
    --tab-active-highlight-color: #ab5603;

    --tab-focus-outline: 2px solid #0066cc;
    --tab-focus-outline-offset: 2px;

    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: flex-end;
    column-gap: var(--tab-gap);
    @media (forced-colors: active) {
        /* Forced colors uses the same color for the tab borders and focus
         * ring. Provide some additional visual separation. */
        column-gap: var(--tab-gap-forced-colors);
    }

    > input[type="radio"] {
        /* Hide the radio button visually but not from keyboard navigation.
         * From https://v1.tailwindcss.com/docs/screen-readers sr-only. */
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border-width: 0;
    }

    > label {
        &:last-of-type {
            margin-inline-end: var(--tab-row-end-margin);
        }

        padding-block: var(--tab-padding-block);
        padding-inline: var(--tab-padding-inline);

        font-family: var(--tab-label-font);
        font-size: var(--tab-label-size);

        color: var(--tab-label-color);
        background-color: var(--tab-background-color);

        border-color: var(--tab-border-color);
        border-width: var(--tab-border-width);
        border-style: solid;
        border-block-end-width: 0;
        border-start-start-radius: var(--tab-border-radius);
        border-start-end-radius: var(--tab-border-radius);

        cursor: pointer;
        -webkit-user-select: none;
        user-select: none;

        /* Stack above tab content to avoid clipping focus outline. */
        position: relative;
        z-index: 1;
    }

    > input[type="radio"]:checked + label {
        color: var(--tab-active-label-color, #555);
        background-color: var(--tab-active-background-color);
        border-color: var(--tab-active-border-color);
        border-inline-width: var(--tab-active-border-width);
        border-block-start-width: var(--tab-active-highlight-width);
        border-block-start-color: var(--tab-active-highlight-color);
        /* Keep borders from shifting when switching tabs. */
        padding-inline: calc(
            var(--tab-padding-inline) -
            var(--tab-active-border-width) +
            var(--tab-border-width)
        );
    }

    > input[type="radio"]:focus-visible + label {
        outline: var(--tab-focus-outline);
        outline-offset: var(--tab-focus-outline-offset);
    }

    > section {
        box-sizing: border-box;
        max-width: 100%;
        overflow-x: auto;
        /* Place the panel on its own row and hide it until active. */
        flex-basis: 100%;
        display: none;
    }

    > .c-tab-unix:checked ~ section.c-content-unix,
    > .c-tab-win:checked ~ section.c-content-win {
        display: block;
    }

    pre {
        margin-block-start: 0;
    }
}
