*:where(
        :not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)
    ) {
    all: unset;
    display: revert;
}

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

html {
    font-size: 16px;
    line-height: 1.3;
    -webkit-text-size-adjust: 100%;
}

a,
button {
    cursor: revert;
}

ol,
ul,
menu {
    list-style: none;
}

img {
    max-inline-size: 100%;
    max-block-size: 100%;
}

table {
    border-collapse: collapse;
}

input,
textarea {
    -webkit-user-select: auto;
    user-select: auto;
}

textarea {
    white-space: revert;
}

meter {
    -webkit-appearance: revert;
    appearance: revert;
}

:where(pre) {
    all: revert;
}

::placeholder {
    color: unset;
}

::marker {
    content: initial;
}

:where([hidden]) {
    display: none;
}

:where([contenteditable]:not([contenteditable="false"])) {
    -moz-user-modify: read-write;
    -webkit-user-modify: read-write;
    overflow-wrap: break-word;
    -webkit-line-break: after-white-space;
    line-break: after-white-space;
    -webkit-user-select: auto;
    user-select: auto;
}

:where([draggable="true"]) {
    -webkit-user-drag: element;
}

:where(dialog:modal) {
    all: revert;
}

/* Global font sizes */

:root {
    --font-weight-bold: 700;
    --font-weight-medium: 600;
    --font-weight-normal: 400;

    --size-1: clamp(2.25rem, 5.5vw, 5rem);
    --size-2: clamp(2rem, 4.2vw, 4rem);
    --size-3: clamp(1.5rem, 3.1vw, 3rem);
    --size-4: clamp(1.25rem, 3vw, 2.25rem);
    --size-5: clamp(1.125rem, 1.45vw, 1.5rem);
    --size-6: 1.125rem;
    --size-7: 1rem;

    --size-p-1: clamp(1rem, 2vw, 1.5rem);
    --size-p-2: clamp(0.875rem, 1.5vw, 1.25rem);
    --size-p-3: clamp(0.75rem, 1.25vw, 1rem);
}

h1 {
    font-size: var(--size-2);
}

h2 {
    font-size: var(--size-3);
}

h3 {
    font-size: var(--size-4);
}

p,
li {
    font-size: var(--size-p-1);
    font-weight: var(--font-weight-normal);
}

small {
    font-size: var(--size-5);
}

h1,
h2 {
    font-weight: var(--font-weight-bold);
}

h3,
h4,
h5,
h6 {
    font-weight: var(--font-weight-medium);
}

@keyframes gradient {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}
