figure table {
    display: block;
    max-width: 100%;
}

body.quine {
    background: #f1efea;
}

table.tufte {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;        /* no cell borders */
    border-spacing: 0;
    line-height: 1.5;
    color: #111;
    padding: 8px;
    background: transparent;
    /*background: #fff;*/

    /* booktabs-like top & bottom rules */
    /*border: 1px solid #111;*/
    /*border-bottom: 2px solid #111;*/
}

article {
    padding-block-end: 32px !important;
}

table.tufte caption {
    caption-side: top;
    margin: 0 0 0.5rem 0;
    font-size: 0.9rem;
    color: #555;
    text-align: left;
}

table.tufte thead th {
    font-weight: 600;
    text-align: left;
    padding: 0.35rem 0.5rem 0.1rem;
    vertical-align: bottom;
    /* midrule */
    border-bottom: 2px solid #111;
}

table.tufte tfoot {
    border-top: 1px solid #111;
}

table.tufte tbody td,
table.tufte tfoot td {
    padding: 0.35rem 0.5rem;
}

/* No vertical rules anywhere */
table.tufte th,
table.tufte td {
    border: 0;
}

/* Subtle row hover (optional, keep very light) */
/*table.tufte {*/
/*    background: #f7f7f7;*/
/*}*/

/* Right-align numerics with tabular figures */
table.tufte td.num,
table.tufte th.num {
    text-align: right;
    font-variant-numeric: tabular-nums lining-nums;
    font-feature-settings: "tnum" 1, "lnum" 1;
}

/* Notes / secondary text */
table.tufte .note {
    color: #666;
    font-size: 0.85em;
}

/* Compact variant (optional) */
table.tufte.compact td,
table.tufte.compact th {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

table.tufte th.center,
table.tufte td.center {
    text-align: center;
}

table.tufte th.right,
table.tufte td.right {
    text-align: right;
}

table.tufte .pad {
    padding-top: 0.35rem;
}

@media (max-width: 768px) {
    table.tufte {
        font-size: 0.85rem;
    }

    table.tufte th,
    table.tufte td {
        padding: 0.25rem 0.4rem;
    }

    table.tufte thead th {
        padding: 0.25rem 0.4rem 0.3rem;
    }

    table.tufte caption {
        font-size: 0.8rem;
        margin-bottom: 0.4rem;
    }
}