@layer reset {

    *,
    *::before,
    *::after {
        box-sizing: border-box;
    }

    html {
        -moz-text-size-adjust: none;
        -webkit-text-size-adjust: none;
        text-size-adjust: none;

        font-family: var(--font-family-base);
        color-scheme: light dark;
        interpolate-size: allow-keywords;
    }

    body {
        min-height: 100vh;
        margin: 0;
        color: var(--color-gray-900);
        fill: var(--color-gray-900);
    }

    /* Media responsive */
    img,
    picture,
    video {
        display: block;
        max-width: 100%;
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        text-wrap: balance;
        margin-block-start: 0;
    }

    input,
    button,
    textarea,
    select {
        font-family: inherit;
        font-size: inherit;
    }

    textarea:not([rows]) {
        min-height: 10em;
    }

    p {
        max-width: 75ch;
        text-wrap: pretty;
    }

    h1,
    h2,
    h3,
    h4,
    p,
    figure,
    blockquote,
    dl,
    dd {
        margin-block-end: 0;
    }

    td,
    math,
    time[datetime*=":"] {
        font-variant-numeric: tabular-nums lining-nums;
    }

    table {
        border-collapse: collapse;
    }

    :target {
        scroll-margin-block: 32px;
        scroll-margin-block: 5rlh;
    }
}